summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-10-31 17:18:38 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-10-31 17:18:38 +0000
commit42fcedcf0efdf36beb423cfb44874ac0a5685a10 (patch)
treecb85edefc751b37c8423d78c5e5888f42cc01e4b
parentInitial commit. (diff)
downloadgnome-session-upstream.tar.xz
gnome-session-upstream.zip
Adding upstream version 43.0.upstream/43.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--AUTHORS22
-rw-r--r--COPYING339
-rw-r--r--ChangeLog50
-rw-r--r--ChangeLog-200202122587
-rw-r--r--ChangeLog-200803101598
-rw-r--r--ChangeLog.pre-git4082
-rw-r--r--HACKING31
-rw-r--r--MAINTAINERS24
-rw-r--r--NEWS102
-rw-r--r--README45
-rw-r--r--data/gnome-custom-session.desktop.in.in5
-rw-r--r--data/gnome-dummy.session.desktop.in.in2
-rw-r--r--data/gnome-launched-override.scope.conf6
-rw-r--r--data/gnome-session-failed.service.in19
-rw-r--r--data/gnome-session-failed.target12
-rw-r--r--data/gnome-session-initialized.target19
-rw-r--r--data/gnome-session-manager.target12
-rw-r--r--data/gnome-session-manager@.service.in19
-rw-r--r--data/gnome-session-monitor.service.in15
-rw-r--r--data/gnome-session-pre.target14
-rw-r--r--data/gnome-session-restart-dbus.service.in11
-rw-r--r--data/gnome-session-shutdown.target33
-rw-r--r--data/gnome-session-signal-init.service.in8
-rw-r--r--data/gnome-session-wayland.target13
-rw-r--r--data/gnome-session-wayland@.target20
-rw-r--r--data/gnome-session-x11-services-ready.target8
-rw-r--r--data/gnome-session-x11-services.target11
-rw-r--r--data/gnome-session-x11.target16
-rw-r--r--data/gnome-session-x11@.target22
-rw-r--r--data/gnome-session.convert3
-rw-r--r--data/gnome-session.target15
-rw-r--r--data/gnome-session@.target16
-rw-r--r--data/gnome-wayland.desktop.in.in8
-rw-r--r--data/gnome-xorg.desktop.in.in8
-rw-r--r--data/gnome.desktop.in.in8
-rw-r--r--data/gnome.session.conf.in5
-rw-r--r--data/gnome.session.desktop.in.in4
-rw-r--r--data/hardware-compatibility32
-rw-r--r--data/meson.build197
-rw-r--r--data/org.gnome.SessionManager.gschema.xml.in24
-rw-r--r--data/session-selector.ui195
-rw-r--r--doc/dbus/config.xsl6
-rw-r--r--doc/dbus/dbus-introspect-docs.dtd32
-rw-r--r--doc/dbus/docbook.css78
-rw-r--r--doc/dbus/gnome-session.xml.in52
-rw-r--r--doc/dbus/meson.build46
-rw-r--r--doc/dbus/spec-to-docbook.xsl555
-rw-r--r--doc/man/gnome-session-inhibit.xml106
-rw-r--r--doc/man/gnome-session-quit.134
-rw-r--r--doc/man/gnome-session-selector.xml52
-rw-r--r--doc/man/gnome-session.1184
-rw-r--r--doc/man/meson.build43
-rw-r--r--doc/meson.build9
-rw-r--r--gnome-session.doap58
-rw-r--r--gnome-session/README69
-rw-r--r--gnome-session/gdm-log.c205
-rw-r--r--gnome-session/gdm-log.h50
-rwxr-xr-xgnome-session/gnome-session.in32
-rw-r--r--gnome-session/gsm-app.c593
-rw-r--r--gnome-session/gsm-app.h119
-rw-r--r--gnome-session/gsm-autostart-app.c1511
-rw-r--r--gnome-session/gsm-autostart-app.h61
-rw-r--r--gnome-session/gsm-client.c583
-rw-r--r--gnome-session/gsm-client.h140
-rw-r--r--gnome-session/gsm-consolekit.c972
-rw-r--r--gnome-session/gsm-consolekit.h59
-rw-r--r--gnome-session/gsm-dbus-client.c441
-rw-r--r--gnome-session/gsm-dbus-client.h35
-rw-r--r--gnome-session/gsm-fail-whale-dialog.c461
-rw-r--r--gnome-session/gsm-fail-whale-dialog.h36
-rw-r--r--gnome-session/gsm-fail-whale.c66
-rw-r--r--gnome-session/gsm-fail-whale.h34
-rw-r--r--gnome-session/gsm-icon-names.h28
-rw-r--r--gnome-session/gsm-inhibitor-flag.h36
-rw-r--r--gnome-session/gsm-inhibitor.c649
-rw-r--r--gnome-session/gsm-inhibitor.h88
-rw-r--r--gnome-session/gsm-manager-logout-mode.h34
-rw-r--r--gnome-session/gsm-manager.c3928
-rw-r--r--gnome-session/gsm-manager.h121
-rw-r--r--gnome-session/gsm-presence-flag.h33
-rw-r--r--gnome-session/gsm-presence.c542
-rw-r--r--gnome-session/gsm-presence.h75
-rw-r--r--gnome-session/gsm-process-helper.c113
-rw-r--r--gnome-session/gsm-process-helper.h32
-rw-r--r--gnome-session/gsm-session-fill.c334
-rw-r--r--gnome-session/gsm-session-fill.h32
-rw-r--r--gnome-session/gsm-session-save.c293
-rw-r--r--gnome-session/gsm-session-save.h34
-rw-r--r--gnome-session/gsm-shell-extensions.c199
-rw-r--r--gnome-session/gsm-shell-extensions.h61
-rw-r--r--gnome-session/gsm-shell.c507
-rw-r--r--gnome-session/gsm-shell.h87
-rw-r--r--gnome-session/gsm-store.c408
-rw-r--r--gnome-session/gsm-store.h96
-rw-r--r--gnome-session/gsm-system.c288
-rw-r--r--gnome-session/gsm-system.h130
-rw-r--r--gnome-session/gsm-systemd.c1183
-rw-r--r--gnome-session/gsm-systemd.h59
-rw-r--r--gnome-session/gsm-util.c863
-rw-r--r--gnome-session/gsm-util.h69
-rw-r--r--gnome-session/gsm-xsmp-client.c1359
-rw-r--r--gnome-session/gsm-xsmp-client.h89
-rw-r--r--gnome-session/gsm-xsmp-server.c746
-rw-r--r--gnome-session/gsm-xsmp-server.h40
-rw-r--r--gnome-session/main.c636
-rw-r--r--gnome-session/meson.build111
-rw-r--r--gnome-session/org.gnome.SessionManager.App.xml43
-rw-r--r--gnome-session/org.gnome.SessionManager.Client.xml73
-rw-r--r--gnome-session/org.gnome.SessionManager.ClientPrivate.xml123
-rw-r--r--gnome-session/org.gnome.SessionManager.Inhibitor.xml66
-rw-r--r--gnome-session/org.gnome.SessionManager.Presence.xml95
-rw-r--r--gnome-session/org.gnome.SessionManager.xml492
-rw-r--r--gnome-session/test-client-dbus.c265
-rw-r--r--gnome-session/test-inhibit.c197
-rw-r--r--gnome-session/test-process-helper.c56
-rw-r--r--meson.build222
-rw-r--r--meson_options.txt8
-rw-r--r--meson_post_install.py26
-rw-r--r--po/ChangeLog.pre-git7382
-rw-r--r--po/LINGUAS114
-rw-r--r--po/POTFILES.in21
-rw-r--r--po/POTFILES.skip9
-rw-r--r--po/ab.po357
-rw-r--r--po/af.po807
-rw-r--r--po/am.po486
-rw-r--r--po/an.po525
-rw-r--r--po/ar.po573
-rw-r--r--po/as.po492
-rw-r--r--po/ast.po632
-rw-r--r--po/az.po484
-rw-r--r--po/be.po364
-rw-r--r--po/be@latin.po558
-rw-r--r--po/bg.po387
-rw-r--r--po/bn.po611
-rw-r--r--po/bn_IN.po575
-rw-r--r--po/br.po505
-rw-r--r--po/bs.po315
-rw-r--r--po/ca.po1312
-rw-r--r--po/ca@valencia.po1243
-rw-r--r--po/ckb.po331
-rw-r--r--po/crh.po921
-rw-r--r--po/cs.po380
-rw-r--r--po/csb.po478
-rw-r--r--po/cy.po522
-rw-r--r--po/da.po805
-rw-r--r--po/de.po391
-rw-r--r--po/dz.po649
-rw-r--r--po/el.po822
-rw-r--r--po/en@shaw.po532
-rw-r--r--po/en_CA.po657
-rw-r--r--po/en_GB.po1148
-rw-r--r--po/eo.po660
-rw-r--r--po/es.po877
-rw-r--r--po/et.po548
-rw-r--r--po/eu.po642
-rw-r--r--po/fa.po644
-rw-r--r--po/fi.po756
-rw-r--r--po/fr.po388
-rw-r--r--po/fur.po937
-rw-r--r--po/fy.po657
-rw-r--r--po/ga.po531
-rw-r--r--po/gd.po568
-rw-r--r--po/gl.po385
-rw-r--r--po/gu.po566
-rw-r--r--po/ha.po811
-rw-r--r--po/he.po1101
-rw-r--r--po/hi.po701
-rw-r--r--po/hr.po434
-rw-r--r--po/hu.po377
-rw-r--r--po/hy.po492
-rw-r--r--po/id.po374
-rw-r--r--po/ig.po801
-rw-r--r--po/is.po707
-rw-r--r--po/it.po378
-rw-r--r--po/ja.po397
-rw-r--r--po/ka.po366
-rw-r--r--po/kab.po297
-rw-r--r--po/kk.po493
-rw-r--r--po/km.po530
-rw-r--r--po/kn.po494
-rw-r--r--po/ko.po367
-rw-r--r--po/ku.po879
-rw-r--r--po/lt.po480
-rw-r--r--po/lv.po399
-rw-r--r--po/mai.po511
-rw-r--r--po/meson.build1
-rw-r--r--po/mg.po488
-rw-r--r--po/mi.po459
-rw-r--r--po/mjw.po303
-rw-r--r--po/mk.po590
-rw-r--r--po/ml.po565
-rw-r--r--po/mn.po496
-rw-r--r--po/mr.po655
-rw-r--r--po/ms.po725
-rw-r--r--po/nb.po356
-rw-r--r--po/nds.po509
-rw-r--r--po/ne.po785
-rw-r--r--po/nl.po479
-rw-r--r--po/nn.po1137
-rw-r--r--po/nso.po497
-rw-r--r--po/oc.po614
-rw-r--r--po/or.po670
-rw-r--r--po/pa.po861
-rw-r--r--po/pl.po376
-rw-r--r--po/ps.po549
-rw-r--r--po/pt.po1235
-rw-r--r--po/pt_BR.po632
-rw-r--r--po/ro.po738
-rw-r--r--po/ru.po384
-rw-r--r--po/rw.po567
-rw-r--r--po/si.po587
-rw-r--r--po/sk.po547
-rw-r--r--po/sl.po651
-rw-r--r--po/sq.po647
-rw-r--r--po/sr.po486
-rw-r--r--po/sr@latin.po427
-rw-r--r--po/sv.po377
-rw-r--r--po/ta.po740
-rw-r--r--po/te.po413
-rw-r--r--po/tg.po512
-rw-r--r--po/th.po1054
-rw-r--r--po/tk.po459
-rw-r--r--po/tr.po376
-rw-r--r--po/ug.po784
-rw-r--r--po/uk.po373
-rw-r--r--po/uz.po523
-rw-r--r--po/uz@cyrillic.po523
-rw-r--r--po/vi.po403
-rw-r--r--po/wa.po499
-rw-r--r--po/xh.po501
-rw-r--r--po/yo.po803
-rw-r--r--po/zh_CN.po629
-rw-r--r--po/zh_HK.po557
-rw-r--r--po/zh_TW.po595
-rw-r--r--po/zu.po494
-rw-r--r--tools/gnome-session-check-accelerated-common.h29
-rw-r--r--tools/gnome-session-check-accelerated-gl-helper.c517
-rw-r--r--tools/gnome-session-check-accelerated-gles-helper.c201
-rw-r--r--tools/gnome-session-check-accelerated.c318
-rw-r--r--tools/gnome-session-ctl.c304
-rwxr-xr-xtools/gnome-session-custom-session4
-rw-r--r--tools/gnome-session-inhibit.c411
-rw-r--r--tools/gnome-session-quit.c216
-rw-r--r--tools/gnome-session-selector.c698
-rw-r--r--tools/meson.build71
245 files changed, 107687 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..509accf
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,22 @@
+new code base authors
+---------------------
+
+Dan Winship <danw@gnome.org>
+Lucas Rocha <lucasr@gnome.org>
+William Jon McCann <jmccann@redhat.com>
+
+original gnome-session authors
+------------------------------
+
+Tom Tromey <tromey@cygnus.com>
+Felix Bellaby <felix@pooh.u-net.com>
+
+smproxy authors
+---------------
+
+Ralph Mor, X Consortium
+
+with modifications from
+
+Tom Tromey <tromey@cygnus.com>
+Felix Bellaby <felix@pooh.u-net.com>
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/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..f329195
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,50 @@
+=== ChangeLog discontinued ===
+
+ With the move to git, this module is switching from a ChangeLog file to
+ relying on commit messages to provide change history. Please write commit
+ messages in the format described at http://live.gnome.org/Git/CommitMessages
+
+ Below is a copy of this format:
+
+=== begin example commit ===
+tag: Short explanation of the commit
+
+Longer explanation explaining exactly what's changed, whether any
+external or private interfaces changed, what bugs were fixed (with bug
+tracker reference if applicable) and so forth. Be concise but not too brief.
+=== end example commit ===
+
+ - The commit message is mainly for the other people, so they should be able
+ to understand it now and six months later.
+
+ - Always add a brief description of the commit to the _first_ line of the
+ commit and terminate by two newlines (it will work without the second
+ newline, but that is not nice for the interfaces).
+
+ - First line (the brief description) must only be one sentence and should
+ start with a capital letter unless it starts with a lowercase symbol or
+ identifier. Don't use a trailing period either. Don't exceed 72 characters.
+
+ - You can prefix the first line with one tag, to make it easier to know to
+ which part of the module the commit applies. For example, a commit with
+ "fish: Make it work with newer fortune" in the gnome-panel module clearly
+ applies to the fish applet.
+
+ - The main description (the body) is normal prose and should use normal
+ punctuation and capital letters where appropriate. Normally, for patches
+ sent to a mailing list, the body is copied from there. This main
+ description can be empty if the change is self-explanatory (eg: "Add DOAP
+ file").
+
+ - When committing code on behalf of others use the --author option, e.g. git
+ commit -a --author "Joe Coder <joe@coder.org>".
+
+ - When referring to a bug, you can use this form: bgo#12345. Use bgo for
+ bugzilla.gnome.org, but you can also reference bugs in other bug trackers:
+ rh means bugzilla.redhat.com, bnc means bugzilla.novell.com, lp means
+ launchpad.net, etc. Whenever possible, use the full URL of the bug, though.
+
+ - When a commit closes a bug, the commit message should contain a line like:
+ Closes: http://bugzilla.gnome.org/show_bug.cgi?id=12345
+ or simply:
+ http://bugzilla.gnome.org/show_bug.cgi?id=12345
diff --git a/ChangeLog-20020212 b/ChangeLog-20020212
new file mode 100644
index 0000000..36ee3e1
--- /dev/null
+++ b/ChangeLog-20020212
@@ -0,0 +1,2587 @@
+2002-02-12 Alfons Hoogervorst <alfons@proteus.demon.nl>
+
+ reviewed by: Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add -lz to png check.
+
+2002-02-12 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * configure.in: removed GNOME_COMMON_INIT,
+ GNOME_PLATFORM_GNOME_2 -- obsolete.
+ GNOME_COMPILE_WARNINGS does not take arguments.
+ * TRANSLATABLE_FILES: removed, intltool handles all of them.
+
+2002-02-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.8
+
+ * configure.in: update required versions to
+ recent versions. Check version of gtk-doc.
+
+2002-02-11 Mark McLoughlin <mark@skynet.ie>
+
+ * Makefile.am: add man directory.
+
+ * configure.in: remove gnome-terminal.
+
+2002-02-11 Mark McLoughlin <mark@skynet.ie>
+
+ * Makefile.am: (SUBDIRS): remove gnome-terminal. See
+ the profterm module for the Gnome 2.0 terminal.
+
+2002-02-11 Mark McLoughlin <mark@skynet.ie>
+
+ * Netscape.desktop.in: just point at netscape. We don't
+ ship gnome-moz-remote anymore.
+
+2002-02-10 John Fleck <jfleck@inkstain.net>
+
+ * applets/gen_util/help/C/mailcheck:
+ * added mailcheck-C.omf, legal.xml
+ * removed mailcheck.sgml, mailcheck_applet.sgml,
+ mailcheck_applet-C.omf
+ modified:
+ * configure.in, applets/gen_util/help/C/Makefile.am,
+ mailcheck.xml, Makefile.am
+
+ adding build stuff for mailcheck docs
+
+2002-02-11 Jorn Baayen <jorn@nl.linux.org>
+
+ * applets/gen_util/pager.c:
+ * applets/gen_util/tasklist.c: replace the "pressed" signal on the Done
+ buttons in the preference dialogs with the "clicked" signal. Fixes an
+ odd bug where the button would be pressed on hover the next time you
+ opened the dialog.
+
+2002-02-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * man/*: Added man pages from Christian Marillat.
+ * configure.in: Create Makefile in man/
+
+2002-02-10 John Fleck <jfleck@inkstain.net>
+
+ * applets/gen_util/help/C/clock/clock.xml, clock/figures/*.png
+ update figures and text of clock applet
+
+2002-02-09 John Fleck <jfleck@inkstain.net>
+
+ * configure.in
+ * applets/gen_util/help/Makefile.am
+ * applets/gen_util/help/C/Makefile.am
+ * applets/gen_util/help/C/clock/Makefile.am, clock.xml
+ added
+ * applets/gen_util/help/C/legal.xml, clock-C.omf
+ removed
+ * clock_applet.xml clock_applet.sgml clock.sgml clock_applet-C.omf
+ updated
+ adding clock applet docs build stuff
+
+2002-02-04 John Fleck <jfleck@inkstain.net>
+ * configure.in
+ * applets/gen_util/help/C/Makefile.am
+ added:
+ * applets/gen_util/help/C/tasklist/legal.xml
+ * applets/gen_util/help/C/tasklist/Makefile.am
+ * applets/gen_util/help/C/tasklist/tasklist.xml
+ * applets/gen_util/help/C/tasklist/tasklist-C.omf
+ adding initial documentation for tasklist applet
+
+2002-02-04 Mark McLoughlin <mark@skynet.ie>
+
+ * Version 1.5.7
+
+2002-02-03 John Fleck <jfleck@inkstain.net>
+
+ * configure.in
+ * applets/gen_util/Makefile.am
+ * applets/gen_util/help/Makefile.am
+ * applets/gen_util/help/C/Makefile.am
+ added:
+ * applets/gen_util/help/C/pager/legal.xml
+ * applets/gen_util/help/C/pager/Makefile.am
+ * applets/gen_util/help/C/pager/pager.xml
+ * applets/gen_util/help/C/pager/pager-C.omf
+ adding initial documentation for pager applet
+
+2002-02-02 Seth Nickell <snickell@stanford.edu>
+
+ * pixmaps/gnome-globe.png:
+
+ Use a more photorealistic, colourful
+ globe.
+
+ * pixmaps/gnome-settings.png:
+
+ Use the Control Center icon.
+
+2002-02-02 The Icon Butcher <snickell@stanford.edu>
+
+ * pixmaps/gnome-multimedia.png:
+
+ Butcher a few jimmac/tigert icons and slap
+ 'em together to get what I'm looking for :-)
+
+2002-01-30 Mark McLoughlin <mark@skynet.ie>
+
+ * Version 1.5.6
+
+2002-01-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: use AM_GCONF_SOURCE_2.
+
+2002-01-29 Glynn Foster <glynn.foster@sun.com>
+
+ * Version 1.5.5
+
+2002-01-28 Glynn Foster <glynn.foster@sun.com>
+
+ * configure.in: Add new pkg-config check for libpanel_applet.
+
+2002-01-20 John Fleck
+
+ * Makefile.am
+ * configure.in
+ * applets/Makefile.am
+ * core-docs/Makefile.am
+ * core-docs/fdl/C/Makefile.am
+ * core-docs/fdl/C/fdl-C.omf
+ * core-docs/gpl/C/Makefile.am
+ * core-docs/gpl/C/gpl-C.omf
+ * core-docs/lgpl/C/Makefile.am
+ * core-docs/lgpl/C/lgpl-C.omf
+
+ add core-docs into the build with xml versions of gpl, fdl and
+ lgpl, remove the old tasklist applet from the build as it was
+ screwing up distcheck
+
+2002-01-19 Seth Nickell <snickell@stanford.edu>
+
+ * pixmaps/Makefile.am:
+ * pixmaps/gnome-panel-type-corner.png:
+ * pixmaps/gnome-panel-type-edge.png:
+ * pixmaps/gnome-panel-type-floating.png:
+ * pixmaps/gnome-panel-type-menu.png:
+ * pixmaps/gnome-panel-type-sliding.png:
+
+ Add new icons for the "Create panel->"
+ items of the panel context menu.
+
+2002-01-19 Seth Nickell <snickell@stanford.edu>
+
+ * pixmaps/Makefile.am:
+ * pixmaps/gnome-workspace.png:
+
+ Add a new icon for the "Workspace List" applet.
+
+2002-01-16 John Fleck <jfleck@inkstain.net>
+
+ * core-docs - update lgpl.xml, gpl.xml and fdl.xml
+ so the xml validates - they're not yet in the build
+
+2002-01-14 Mark McLoughlin <mark@skynet.ie>
+
+ * Version 1.5.4
+
+2002-01-12 Glynn Foster <glynn.foster@sun.com>
+
+ * configure.in: Add libglade dependancy on wncklet applets. Thanks to
+ MCArkan for pointing this out.
+
+2002-01-03 Glynn Foster <glynn.foster@sun.com>
+
+ * configure.in: Make gnome-core build on Solaris again. Don't know
+ how this was left out. Thanks to Laca for patch.
+
+2001-12-24 Seth Nickell <snickell@stanford.edu>
+
+ * pixmaps/gnome-panel.png:
+
+ Off with the hand!
+
+2001-12-21 Anders Carlsson <andersca@gnu.org>
+
+ * configure.in: Add libpng check.
+
+Wed Dec 19 20:18:53 2001 George Lebl <jirka@5z.com>
+
+ * pixmaps/Makefile.am, pixmaps/gnome-day.png, pixmaps/gnome-month.png,
+ pixmaps/gnome-set-time.png, pixmaps/gnome-week.png: add some
+ icons from "Dennis M. Cranston" <dennis_cranston@yahoo.com>
+
+Sun Dec 09 2001 Miles Lane <miles@megapathdsl.net>
+
+ * configure.in: Add gnome-vfs-module-2.0 to the
+ PANELCONFIG definition so that the panel code builds
+ again. There are new dependencies on gnome-vfs-mime.h.
+ Approved by seth.
+
+Sun Dec 09 02:19:46 2001 George Lebl <jirka@5z.com>
+
+ * configure.in: require libwnck for the panel also
+
+2001-12-08 Alex Larsson <alexl@redhat.com>
+
+ * doc/panel-session-handling.txt:
+ * doc/Makefile.am:
+ Added the new panel session handling proposal.
+
+2001-12-08 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * Makefile.am: (SUBDIRS): remove intl
+ * various other Makefile.am: (INCLUDES): remove intl
+ (*_LDADD): remove INTLLIBS
+
+2001-12-07 Glynn Foster <glynn.foster@sun.com>
+
+ * configure.in: Bump up version number to
+ 1.5.3
+
+2001-12-07 Glynn Foster <glynn.foster@sun.com>
+
+ * panel/Makefile.am:
+
+ Fix stuff..again.
+
+2001-12-07 Glynn Foster <glynn.foster@sun.com>
+
+ * gnome-terminal/Makefile.am:
+ * panel/Makefile.am:
+
+ Fix up stuff for distcheck.
+
+Sun Dec 2 13:14:22 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add .pc file for gnome-desktop-2.0.
+
+2001-11-29 Stephen Browne <stephen.browne@sun.com>
+
+ *configure.in
+
+ Added pkgcheck for gnome-panel-properties
+ Got rid of LIBCAPPLET stuff - no more libcapplet
+
+2001-11-29 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: version 1.5.2.
+
+2001-11-28 Seth Nickell <snickell@stanford.edu>
+
+ * Makefile.am:
+ * configure.in:
+
+ Generate desktop-links/Makefile, and recurse into it.
+
+2001-11-27 Alexander Larsson <alla@lysator.liu.se>
+
+ * configure.in:
+ Added WNCKLET_CFLAGS/LIBS for applets that link against libwnck.
+
+ * applets/gen_util/pager.[ch]:
+ New files, implement a pager using libwnck.
+
+ * applets/gen_util/GNOME_GenUtilApplet_Factory.server.in.in:
+ * applets/gen_util/Makefile.am:
+ * applets/gen_util/main.c:
+ Add Pager applet
+
+2001-11-27 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: version 1.5.1.
+
+2001-11-27 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: generate libpanel-applet/Makefile and
+ libpanel-applet/libpanelapplet-2.0.pc
+
+ * Makefile.am (SUBDIRS): add libpanel-applet.
+
+2001-11-27 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * all files containing main(): always get translated messages in
+ UTF-8.
+
+2001-11-26 Mark McLoughlin <mark@skynet.ie>
+
+ * doc/reference/panel-applet/Makefile.am: fixup.
+
+2001-11-26 Mark McLoughlin <mark@skynet.ie>
+
+ * AUTHORS, BUGS, NEWS, README, DEPENDS, HACKING: try to bring
+ some way up to date.
+
+ * COPYING.LIB: add LGPL file.
+
+ * Makefile.am: add doc to SUNDIRS.
+
+ * configure.in: build doc/ Makefiles
+
+ * doc/Makefile.am, doc/reference/Makefile.am: new files.
+
+2001-11-25 Sander Vesik <sander.vesik@sun.com>
+
+ * panel/quick-desktop-reader.c,
+ gnome-desktop/gnome-desktop-item.c:
+ Remove libgnomevfs/gnome-vfs-mime-utils.h that neither
+ exists nor is needed any more.
+
+2001-11-23 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: enable gnome-core/panel/doc/Makefile.am,
+ gnome-core/panel/doc/reference/Makefile.am.
+
+2001-11-21 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: re-enable applets/Makefile and
+ applets/fish/Makefile.
+
+ * applet/Makefile.am: enable fish/ subdir.
+
+Mon, 19 Nov 2001 02:06:20 -0500 Frank Belew <frb@ximian.com>
+
+ * Makefile.am: replaced xml-i18n-* with intltool-*
+ cleaned up EXTRA_SUBDIRS
+ * configure.in: removed AM_PROG_XML_I18N_TOOLS
+ added GETTEXT_PACKAGE definition, and added AC_SUBST
+ and AC_DEFINE_UNQUOTED to complete the change
+ * acconfig.h: added #undef GETTEXT_PACKAGE
+
+2001-11-09 Fatih Demir <kabalak@gtranslator.org>
+
+ * configure.in: Added "ms" to the languages list.
+
+2001-11-08 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add gconf stuff.
+
+2001-11-05 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: pull in gnome-vfs-module-2.0 for
+ gnome-desktop-item.
+
+2001-10-25 Joe Shaw <joe@ximian.com>
+
+ * configure.in: Remove the bonobo-conf dependency.
+
+2001-10-24 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add maximum compile warnings.
+
+2001-10-20 Seth Nickell <snickell@stanford.edu>
+
+ * configure.in:
+
+ Invoke INTLTOOL since we use INTLTOOL_SERVER_RULE
+ for the Panel's .server file.
+
+2001-10-20 Seth Nickell <snickell@stanford.edu>
+
+ * configure.in:
+
+ Fetch the IDL flags for Bonobo Activation for use
+ with orbit-idl2 on GNOME_Panel.idl.
+
+ * panel/main.c:
+
+ Remove inclusion of "panel-unique-factory.h" which
+ Jacob probably forgot to cvs add. Fixes the build.
+
+2001-10-19 Mark McLoughlin <mark@skynet.ie>
+
+ * Makefile.am, configure.in, pixmaps/Makefile.am:
+ install pixmaps again. Don't install tiles, though.
+
+2001-10-13 Seth Nickell <snickell@stanford.edu>
+
+ * configure.in:
+
+ And actually generate gnome-about/Makefile so there's
+ something for make to do when it reaches gnome-about ;-)
+
+2001-10-12 Alex Larsson <alexl@redhat.com>
+
+ * configure.in:
+ Added GNOME_ABOUT_CFLAGS/LIBS.
+
+ * Makefile.am:
+ build gnome-about
+
+2001-10-05 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: removed lots of unused cruft.
+
+ * gnome-terminal/Makefile.am, gsm/Makefile.am,
+ panel/Makefile.am: cleaned up generated file handling.
+
+2001-09-27 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add -lm to libpng check for non-glibc systems.
+
+2001-09-20 Wang Jian <lark@linux.net.cn>
+
+ * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN.
+
+2001-09-14 jacob berkman <jacob@ximian.com>
+
+ * configure.in: look for libglade-convert, and error out if it
+ isn't present
+
+2001-09-12 jacob berkman <jacob@ximian.com>
+
+ * configure.in:
+ * Makefile.am (SUBDIRS): build gsm/ and smproxy/
+
+2001-09-04 Abel Cheung <maddog@linux.org.hk>
+
+ * (recursive)*.desktop, *.directory, *.soundlist, *.hint: Rename zh_TW.Big5 to zh_TW .
+
+2001-09-01 Darin Adler <darin@bentspoon.com>
+
+ * Makefile.am:
+ * configure.in:
+ Don't bother with intl directory.
+
+2001-08-30 jacob berkman <jacob@ximian.com>
+
+ * Makefile.am (SUBDIRS):
+ * configure.in: build gnome-terminal
+ : update things to not need gnome1-compat - at least until the
+ libgnome* thing is more stabilized
+ : check if libgnomeui was linked against -lSM (for gnome-session,
+ which i won't be comimtting yet)
+
+2001-08-22 Abel Cheung <maddog@linux.org.hk>
+
+ * configure.in (ALL_LINGUAS): zh_TW.Big5 -> zh_TW .
+
+2001-08-18 Martin Baulig <baulig@suse.de>
+
+ * configure.in (MAINT): Define and AC_SUBST this.
+
+2001-08-17 Martin Baulig <baulig@suse.de>
+
+ * configure.in (GNOME_DESKTOP): Require bonobo-config.
+
+2001-08-09 Martin Baulig <baulig@suse.de>
+
+ * configure.in (PANEL): Require libgnome1-compat.
+
+2001-08-06 Gregory Leblanc <gleblanc@linuxweasel.com>
+
+ * gnome-core.spec.in: a few tiny updates, preparing for a
+ flamewar, err, discussion, about this strategy.
+
+2001-08-06 Martin Baulig <baulig@suse.de>
+
+ * configure.in (GNOME_DESKTOP): Added pkg-config checks for the
+ gnome-desktop directory.
+
+2001-08-06 Martin Baulig <baulig@suse.de>
+
+ * configure.in, autogen.sh: Updated for the GNOME 2 platform.
+
+ * Makefile.am: Disabled all subdirs except idl, gnome-ditem and panel.
+
+2001-08-06 Martin Baulig <baulig@suse.de>
+
+ * gnome-desktop/: New directory. This is the ditem code which was
+ in libgnome/monikers and libgnome/libgnome/gnome-ditem.[ch].
+
+2001-08-06 Martin Baulig <baulig@suse.de>
+
+ gnome-core has been branched for GNOME 1.4 - please use the gnome-core-1-4
+ branch for GNOME 1.4 - the HEAD is for GNOME 2.0.
+
+ If you have a checked out copy of gnome-core, do a
+
+ cvs update -r gnome-core-1-4
+
+ To check out the gnome-core-1-4 branch, do a
+
+ cvs co -r gnome-core-1-4 gnome-core
+
+ * README.STABLE_BRANCH: Updated to point to gnome-core-1.4.
+
+2001-07-31 Malcolm Tredinnick <malcolm@commsecure.com.au>
+
+ * applets/gen_util/help/es/printer/figures/*:
+ * applets/gen_util/help/es/printer/printer.sgml: moved PNG
+ files here from the parent directory for consistency with other
+ doc dirs. Changed sgml file to use the right images.
+ * applets/gen_util/help/es/mailcheck/figures/mailcheck-applet.png:
+ Added. Required to make build work (and no translation required).
+ * help-browser/help/es/Makefile.am, default-page.html: use the
+ gnome foot image from the 'C' subdir. No need to put a copy in
+ each translation dir.
+ * app-docs.am.template, app-docs.make, applet-docs.make, Makefile.am:
+ Remove these old ways of buiding docs. They have been obsoleted by
+ sgmldocs.make.
+ * Updated various .cvsignore files to ignore generated
+ documentation related files.
+
+
+2001-07-29 Manuel de Vega Barreiro <mbarreiro@red.madritel.es>
+
+ Some Spanish translation updates and bug fixes
+ * */help/es/*
+ * configure.in
+
+2001-07-28 Dan Mueth <d-mueth@uchicago.edu>
+
+ Updating doc build stuff to use jw on RH 7.1 and any other dist which
+ has moved to docbook-utils.
+
+ * configure.in:
+ * sgmldocs.make:
+
+2001-07-28 Dan Mueth <d-mueth@uchicago.edu>
+
+ Moving a couple screenshots and removing one from a Makefile
+ which doesn't actually exist so that make dist will work.
+
+ * applets/gen_util/help/es/mailcheck/Makefile.am:
+ * applets/gen_util/help/es/mailcheck/figures/mailcheck-properties-m
+ ailbox.png:
+ * applets/gen_util/help/es/mailcheck/figures/mailcheck-properties-m
+ ailcheck.png:
+ * applets/gen_util/help/es/mailcheck/mailcheck-properties-mailbox.p
+ ng:
+ * applets/gen_util/help/es/mailcheck/mailcheck-properties-mailcheck
+ .png:
+
+2001-07-15 Manuel de Vega Barreiro <mbarreiro@red.madritel.es>
+
+ New Sanish translation.
+ * applets/tasklist/help/es/*
+ * applets/tasklist/help/Makefile.am
+ * configure.in
+
+2001-07-05 Manuel de Vega Barreiro <mbarreiro@red.madritel.es>
+
+ * panel/help: New Sanish translation.
+ * configure.in: add panel/help/es/Makefile
+
+2001-07-06 Marius Andreiana <mandreiana@yahoo.com>
+
+ * gnome-about/contributors.h: Added myself (with Dan's blessing)
+
+2001-06-23 Manuel de Vega Barreiro <mbarreiro@red.madritel.es>
+
+ * confifure.in : Included es for mailcheck
+ * applets/gen_util/help/Makefile.am: Included es for mailcheck
+ Spanish Translation.
+ * applets/gen_util/help/es/mailcheck: Spanish Translation
+
+Tue Jun 05 02:21:42 2001 George Lebl <jirka@5z.com>
+
+ * configure.in, acconfig.h: Optionally check for gnome-print (we
+ already sort of did). If found we'll compile the print code
+ in the screenshooter thinige in the panel.
+
+Wed May 30 22:53:47 2001 George Lebl <jirka@5z.com>
+
+ * configure.in: check for libpng (PNG_LIBS) and setup GLADE_LIBS/CFLAGS
+
+Wed May 30 04:09:10 2001 George Lebl <jirka@5z.com>
+
+ * configure.in, gnome-core.spec.in: By the fact that no one yelled
+ when I forgot to commit this it seems not many people actually
+ build gnome-core HEAD :) This adds the config dir in the panel
+ makefile
+
+2001-05-27 Stanislav Brabec <utx@penguin.cz>
+
+ * applets/*/*.directory, */*/*.desktop, */*/*/*.desktop,
+ */*/*/*.soundlist: Updated from 1-2 branch and completed
+ Czech. Alphabetical resort of languages, removed duplicated
+ translations.
+
+Sat May 19 16:54:24 2001 George Lebl <jirka@5z.com>
+
+ * configure.in, acconfig.h: add xinerama check (if it ain't installed,
+ nothing happens) and niceify the help output
+
+2001-05-15 Jacob "Ulysses" Berkman <jacob@helixcode.com>
+
+ * configure.in: disable libice check since it's probably
+ unnecessary
+
+2001-05-04 Dan Mueth <dan@eazel.com>
+
+ Fixed URL for help document. Before it was broken because it
+ used "launcher.html" instead of "launchers.html".
+
+ * panel/launcher.c: (window_clicked):
+
+2001-04-26 Dan Mueth <dan@eazel.com>
+
+ Adding a few contributors who were missing.
+
+ * gnome-about/contributors.h:
+
+2001-04-19 Dan Mueth <dan@eazel.com>
+
+ Adding Sasha's doc, "Reporting GNOME bugs and other feedback"
+ Alexander Kirillov <kirillov@math.sunysb.edu>
+
+ * configure.in:
+ * core-docs/Makefile.am:
+ * core-docs/gnome-feedback/C/Makefile.am:
+ * core-docs/gnome-feedback/C/gnome-feedback-C.omf:
+ * core-docs/gnome-feedback/C/gnome-feedback.sgml:
+ * core-docs/gnome-feedback/Makefile.am:
+
+2001-04-18 Stanislav Brabec <utx@penguin.cz>
+
+ * configure.in, acconfig.h: Added test for
+ zvt_term_set_del_is_del. Needed for gnome-terminal del_is_del
+ support.
+
+2001-04-03 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * configure.in (AC_OUTPUT): added italian documentation for fish
+ and desk-guide.
+
+2001-04-02 Gregory Leblanc <gleblanc@cu-portland.edu>
+
+ * gnome-core.spec.in: Fixed %files section to include some
+ directories as well as their contents.
+ Updated to do the scrollkeeper ditty.
+
+2001-03-28 Gregory Leblanc <gleblanc@cu-portland.edu>
+
+ Reviewed by: George Lebl <jirka@5z.com>
+
+ * configure.in: updates to make dependancy tracking easier
+ * gnome-core.spec.in: dependancy tracking updates, huge cleanup,
+ complete re-write of the %files section. See enclosed changelog
+ for details.
+
+2001-03-28 Dan Mueth <dan@eazel.com>
+
+ Linking GNOME hint capplet to doc
+
+ * gnome-hint/gnome-hint-properties.c: (help):
+
+2001-03-26 Darin Adler <darin@eazel.com>
+
+ * omf-install/.cvsignore: Quick fix to ignore .omf files.
+
+2001-03-25 Dan Mueth <dan@eazel.com>
+
+ Updated index page for gnome-help-browser to point to current
+ GNOME User's Guide.
+
+ * help-browser/help/C/default-page.html:
+ * help-browser/help/ca/default-page.html:
+ * help-browser/help/da/default-page.html:
+ * help-browser/help/de/default-page.html:
+ * help-browser/help/el/default-page.html:
+ * help-browser/help/es/default-page.html:
+ * help-browser/help/et/default-page.html:
+ * help-browser/help/fr/default-page.html:
+ * help-browser/help/gl/default-page.html:
+ * help-browser/help/hu/default-page.html:
+ * help-browser/help/it/default-page.html:
+ * help-browser/help/ja/default-page.html:
+ * help-browser/help/ko/default-page.html:
+ * help-browser/help/lt/default-page.html:
+ * help-browser/help/no/default-page.html:
+ * help-browser/help/uk/default-page.html:
+ * help-browser/help/wa/default-page.html:
+
+2001-03-25 Jens Finke <jens@gnome.org>
+
+ * gnome.spec.in: Include gnome-terminal datadir stuff. Make use
+ of rpm macros.
+
+2001-03-23 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * configure.in: Generate Makefile of Japanese gsm help.
+
+2001-03-23 Dan Mueth <dan@eazel.com>
+
+ Fixed error in metadata, placing it in the wrong locale.
+
+ * panel/help/ja/panel-ja.omf:
+
+2001-03-22 Dan Mueth <dan@eazel.com>
+
+ A couple bug fixes from the previous huge commit.
+
+ * applets/desk-guide/help/C/Makefile.am:
+ * applets/desk-guide/help/de/Makefile.am:
+
+2001-03-22 Dan Mueth <dan@eazel.com>
+
+ Updating doc build stuff to use sgmldocs.make. Making sure
+ screenshots are in figures directory. A few other small
+ doc fixes.
+
+ * applets/desk-guide/help/C/Makefile.am:
+ * applets/desk-guide/help/C/desk-guide.sgml:
+ * applets/desk-guide/help/C/deskguide-fig.png:
+ * applets/desk-guide/help/C/deskguide-properties-advanced-fig.png:
+ * applets/desk-guide/help/C/deskguide-properties-geometry-fig.png:
+ * applets/desk-guide/help/C/deskguide-properties-tasks-fig.png:
+ * applets/desk-guide/help/C/deskguide-properties.png:
+ * applets/desk-guide/help/C/deskguide-tasklist-fig.png:
+ * applets/desk-guide/help/C/figures/deskguide-fig.png:
+ * applets/desk-guide/help/C/figures/deskguide-properties-advanced-f
+ ig.png:
+ * applets/desk-guide/help/C/figures/deskguide-properties-geometry-f
+ ig.png:
+ * applets/desk-guide/help/C/figures/deskguide-properties-tasks-fig.
+ png:
+ * applets/desk-guide/help/C/figures/deskguide-properties.png:
+ * applets/desk-guide/help/C/figures/deskguide-tasklist-fig.png:
+ * applets/desk-guide/help/de/Makefile.am:
+ * applets/desk-guide/help/de/desk-guide.sgml:
+ * applets/desk-guide/help/de/deskguide-fig.png:
+ * applets/desk-guide/help/de/deskguide-properties-advanced-fig.png:
+ * applets/desk-guide/help/de/deskguide-properties-geometry-fig.png:
+ * applets/desk-guide/help/de/deskguide-properties-tasks-fig.png:
+ * applets/desk-guide/help/de/deskguide-properties.png:
+ * applets/desk-guide/help/de/deskguide-tasklist-fig.png:
+ * applets/desk-guide/help/de/figures/deskguide-fig.png:
+ * applets/desk-guide/help/de/figures/deskguide-properties-advanced-
+ fig.png:
+ * applets/desk-guide/help/de/figures/deskguide-properties-geometry-
+ fig.png:
+ * applets/desk-guide/help/de/figures/deskguide-properties-tasks-fig
+ .png:
+ * applets/desk-guide/help/de/figures/deskguide-properties.png:
+ * applets/desk-guide/help/de/figures/deskguide-tasklist-fig.png:
+ * applets/desk-guide/help/es/Makefile.am:
+ * applets/desk-guide/help/es/desk-guide.sgml:
+ * applets/desk-guide/help/es/desk-guide_applet-es.omf:
+ * applets/desk-guide/help/es/figures/deskguide-fig.png:
+ * applets/desk-guide/help/es/figures/deskguide-properties-advanced-
+ fig.png:
+ * applets/desk-guide/help/es/figures/deskguide-properties-geometry-
+ fig.png:
+ * applets/desk-guide/help/es/figures/deskguide-properties-tasks-fig
+ .png:
+ * applets/desk-guide/help/es/figures/deskguide-properties.png:
+ * applets/desk-guide/help/es/figures/deskguide-tasklist-fig.png:
+ * applets/fish/help/C/Makefile.am:
+ * applets/fish/help/C/figures/fish_applet.png:
+ * applets/fish/help/C/figures/fish_settings.png:
+ * applets/fish/help/C/fish.sgml:
+ * applets/fish/help/C/fish_applet.png:
+ * applets/fish/help/C/fish_settings.png:
+ * applets/fish/help/da/Makefile.am:
+ * applets/fish/help/da/figures/fish_applet.png:
+ * applets/fish/help/da/figures/fish_settings.png:
+ * applets/fish/help/da/fish.sgml:
+ * applets/fish/help/da/fish_applet.png:
+ * applets/fish/help/da/fish_settings.png:
+ * applets/fish/help/no/Makefile.am:
+ * applets/fish/help/no/figures/fish_applet.png:
+ * applets/fish/help/no/figures/fish_settings.png:
+ * applets/fish/help/no/fish.sgml:
+ * applets/fish/help/no/fish_applet.png:
+ * applets/fish/help/no/fish_settings.png:
+ * applets/gen_util/help/C/clock/Makefile.am:
+ * applets/gen_util/help/C/clock/clock.sgml:
+ * applets/gen_util/help/C/clock/clock_applet.png:
+ * applets/gen_util/help/C/clock/clock_settings.png:
+ * applets/gen_util/help/C/clock/figures/clock_applet.png:
+ * applets/gen_util/help/C/clock/figures/clock_settings.png:
+ * applets/gen_util/help/C/mailcheck/Makefile.am:
+ * applets/gen_util/help/C/mailcheck/figures/mailcheck-applet.png:
+ * applets/gen_util/help/C/mailcheck/figures/mailcheck-properties-ma
+ ilbox.png:
+ * applets/gen_util/help/C/mailcheck/figures/mailcheck-properties-ma
+ ilcheck.png:
+ * applets/gen_util/help/C/mailcheck/mailcheck-applet.png:
+ * applets/gen_util/help/C/mailcheck/mailcheck-properties-mailbox.pn
+ g:
+ * applets/gen_util/help/C/mailcheck/mailcheck-properties-mailcheck.
+ png:
+ * applets/gen_util/help/C/mailcheck/mailcheck.sgml:
+ * applets/gen_util/help/C/printer/Makefile.am:
+ * applets/gen_util/help/C/printer/figures/printer-fig.png:
+ * applets/gen_util/help/C/printer/figures/printer-properties.png:
+ * applets/gen_util/help/C/printer/printer-fig.png:
+ * applets/gen_util/help/C/printer/printer-properties.png:
+ * applets/gen_util/help/C/printer/printer.sgml:
+ * applets/gen_util/help/da/clock/Makefile.am:
+ * applets/gen_util/help/da/clock/clock.sgml:
+ * applets/gen_util/help/da/clock/clock_applet.png:
+ * applets/gen_util/help/da/clock/clock_settings.png:
+ * applets/gen_util/help/da/clock/figures/clock_applet.png:
+ * applets/gen_util/help/da/clock/figures/clock_settings.png:
+ * applets/gen_util/help/da/mailcheck/Makefile.am:
+ * applets/gen_util/help/da/mailcheck/figures/mailcheck-applet.png:
+ * applets/gen_util/help/da/mailcheck/figures/mailcheck-properties-m
+ ailbox.png:
+ * applets/gen_util/help/da/mailcheck/figures/mailcheck-properties-m
+ ailcheck.png:
+ * applets/gen_util/help/da/mailcheck/mailcheck-applet.png:
+ * applets/gen_util/help/da/mailcheck/mailcheck-properties-mailbox.p
+ ng:
+ * applets/gen_util/help/da/mailcheck/mailcheck-properties-mailcheck
+ .png:
+ * applets/gen_util/help/da/mailcheck/mailcheck.sgml:
+ * applets/gen_util/help/da/printer/Makefile.am:
+ * applets/gen_util/help/da/printer/figures/printer-fig.png:
+ * applets/gen_util/help/da/printer/figures/printer-properties.png:
+ * applets/gen_util/help/da/printer/printer-fig.png:
+ * applets/gen_util/help/da/printer/printer-properties.png:
+ * applets/gen_util/help/da/printer/printer.sgml:
+ * applets/tasklist/help/C/Makefile.am:
+ * applets/tasklist/help/C/figures/tasklist-fig.png:
+ * applets/tasklist/help/C/figures/tasklist-properties-size.png:
+ * applets/tasklist/help/C/figures/tasklist-properties.png:
+ * applets/tasklist/help/C/figures/tasklist-rightclick-fig.png:
+ * applets/tasklist/help/C/tasklist-fig.png:
+ * applets/tasklist/help/C/tasklist-properties-size.png:
+ * applets/tasklist/help/C/tasklist-properties.png:
+ * applets/tasklist/help/C/tasklist-rightclick-fig.png:
+ * applets/tasklist/help/C/tasklist.sgml:
+ * core-docs/fdl/C/Makefile.am:
+ * core-docs/gpl/C/Makefile.am:
+ * core-docs/lgpl/C/Makefile.am:
+ * gnome-terminal/C/Makefile.am:
+ * gnome-terminal/da/gnome-terminal.sgml:
+ * gnome-terminal/de/Makefile.am:
+ * gnome-terminal/es/Makefile.am:
+ * gsm/help/C/Makefile.am:
+ * gsm/help/C/button_remove.png:
+ * gsm/help/C/figures/button_remove.png:
+ * gsm/help/C/figures/session-properties.png:
+ * gsm/help/C/figures/stock_exec.png:
+ * gsm/help/C/figures/stock_help.png:
+ * gsm/help/C/figures/stock_preferences.png:
+ * gsm/help/C/figures/stock_refresh.png:
+ * gsm/help/C/figures/stock_save.png:
+ * gsm/help/C/figures/stock_timer.png:
+ * gsm/help/C/figures/stock_trash.png:
+ * gsm/help/C/session-properties.png:
+ * gsm/help/C/session.sgml:
+ * gsm/help/C/stock_exec.png:
+ * gsm/help/C/stock_help.png:
+ * gsm/help/C/stock_preferences.png:
+ * gsm/help/C/stock_refresh.png:
+ * gsm/help/C/stock_save.png:
+ * gsm/help/C/stock_timer.png:
+ * gsm/help/C/stock_trash.png:
+ * panel/help/C/Makefile.am:
+ * panel/help/de/Makefile.am:
+ * panel/help/it/Makefile.am:
+ * panel/help/ja/Makefile.am:
+ * panel/help/no/Makefile.am:
+
+2001-03-20 Dan Mueth <dan@eazel.com>
+
+ Update some of the build stuff to the latest state of
+ OMF/SK system. Plus, added ScrollKeeper stuff into configure.in
+ and added sgmldocs.make so we can start using that to stay
+ uniform with other packages.
+
+ * Makefile.am:
+ * configure.in:
+ * omf-install/Makefile.am:
+ * sgmldocs.make:
+
+2001-03-09 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Generate Makefile for the japanese panel docs.
+
+2001-03-07 jacob berkman <jacob@ximian.com>
+
+ * pixmaps: use some of tigert's nice icons
+
+Tue Mar 06 18:36:33 2001 George Lebl <jirka@5z.com>
+
+ * configure.in, acconfig.h: Add a with argument for the KDE
+ documentation path
+
+2001-03-02 Christian Schaller <Uraeus@linuxrising.org>
+ * Norwegian Nynorsk translation
+
+2001-02-28 Martin Baulig <baulig@suse.de>
+
+ * configure.in (configure.in): Added applets/gen_util/help/es.
+
+Tue Feb 27 02:15:15 2001 George Lebl <jirka@5z.com>
+
+ * configure.in: give a useful message when the canvas gdkpixbuf
+ thingie isn't found
+
+2001-02-26 Dan Mueth <dan@eazel.com>
+
+ Include FDL as required by the FDL, and l10n of categories for
+ OMF metadata.
+
+ * COPYING-DOCS: Added this file - the FDL
+ * Makefile.am: Include COPYING-DOCS
+ * applets/fish/help/no/fish_applet-no.omf: l10n of category
+ * applets/gen_util/help/no/gen_util_applet-no.omf: l10n of category
+
+2001-02-25 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * configure.in: don't create grdb Makefiles.
+
+2001-02-19 Dan Mueth <dan@eazel.com>
+
+ * Localized categories in OMF metadata for:
+ applets/fish/help/da/fish_applet-da.omf
+ applets/gen_util/help/da/clock/clock_applet-da.omf
+ applets/gen_util/help/da/mailcheck/mailcheck_applet-da.omf
+ applets/gen_util/help/da/printer/printer_applet-da.omf
+ gnome-terminal/es/gnome-termainal-es.omf
+
+Sat Feb 17 23:28:01 2001 George Lebl <jirka@5z.com>
+
+ * gnome-core.spec.in: update so that /var/lib files are installed
+ properly
+
+2001-02-15 Dan Mueth <dan@eazel.com>
+
+ * omf-install/Makefile.am: Changed to install under
+ $(datadir)/omf/ instead of $(prefix)/doc/omf because
+ this is The Right Way, and scrollkeeper was recently fixed
+ to work this way.
+
+2001-02-14 Christophe Merlet <redfox@eikonex.org>
+
+ * */*.desktop: Updated French translations.
+
+2001-02-13 Dan Mueth <dan@eazel.com>
+
+ * core-docs/lgpl/C/lgpl.sgml: Added a </para> to make it
+ validate with nsgmls and produce a valid TOC. Now it has
+ an extra <para> somewhere, which is lame, but at least
+ it validates and makes a good TOC. Finding the extra
+ <para> and removing it is left as an excercise for the reader.
+
+ * applet-docs.make: Less broken OMF bits than before
+
+2001-02-13 Dan Mueth <dan@eazel.com>
+
+ * app-docs.make: Fixed(TM)
+ * applet-docs.make: Fixed(TM)
+
+2001-02-13 Dan Mueth <dan@eazel.com>
+
+ * applet-docs.make: fixing previous non-fix
+ * app-docs.make: fixing previous non-fix
+
+2001-02-13 Dan Mueth <dan@eazel.com>
+
+ * OMF files: Updated to new category list in scrollkeeper-0.0.6
+
+2001-02-12 Dan Mueth <dan@eazel.com>
+
+ * applet-docs.make: Fixed to do directories without OMF files
+ correctly.
+
+2001-02-12 Dan Mueth <dan@eazel.com>
+
+ * app-docs.make: Fixed to do directories without OMF files
+ correctly.
+
+2001-02-08 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Added Norwegian (nynorsk) to ALL_LINGUAS.
+
+2001-02-06 Dan Mueth <dan@eazel.com>
+
+ * Commented out the OMF files for 3 translations of gnome-terminal
+ because the SGML is broken, preventing TOC extraction
+
+2001-02-06 Dan Mueth <dan@eazel.com>
+
+ * Modified Makefile.am's to register the new OMF files
+ * Added many OMF files:
+ applets/desk-guide/help/C/desk-guide_applet-C.omf
+ applets/desk-guide/help/de/desk-guide_applet-de.omf
+ applets/fish/help/C/fish_applet-C.omf
+ applets/fish/help/da/fish_applet-da.omf
+ applets/fish/help/no/fish_applet-no.omf
+ applets/gen_util/help/C/clock/clock_applet-C.omf
+ applets/gen_util/help/C/mailcheck/mailcheck_applet-C.omf
+ applets/gen_util/help/C/printer/printer_applet-C.omf
+ applets/gen_util/help/da/clock/clock_applet-da.omf
+ applets/gen_util/help/da/mailcheck/mailcheck_applet-da.omf
+ applets/gen_util/help/da/printer/printer_applet-da.omf
+ applets/gen_util/help/de/clock-de.omf
+ applets/gen_util/help/de/gen_util_applet-de.omf
+ applets/gen_util/help/de/mailcheck-de.omf
+ applets/gen_util/help/no/mailcheck-no.omf
+ applets/gen_util/help/no/gen_util_applet-no.omf
+ applets/tasklist/help/C/tasklist_applet-C.omf
+ core-docs/fdl/C/fdl-C.omf
+ core-docs/gpl/C/gpl-C.omf
+ core-docs/lgpl/C/lgpl-C.omf
+ gnome-terminal/C/gnome-terminal-C.omf
+ gnome-terminal/da/gnome-terminal-da.omf
+ gnome-terminal/de/gnome-terminal-de.omf
+ gnome-terminal/es/gnome-terminal-es.omf
+ gnome-terminal/it/gnome-terminal-it.omf
+ gnome-terminal/no/gnome-terminal-no.omf
+ gsm/help/C/session-C.omf
+ panel/help/C/panel-C.omf
+ panel/help/de/panel-de.omf
+ panel/help/it/panel-it.omf
+ panel/help/no/panel-no.omf
+
+
+2001-02-06 Dan Mueth <dan@eazel.com>
+
+ * po/POTFILES.in: Removed lines for mini-commander. It seems that
+ mini-commander is now in gnome-applets, so having these two lines
+ was breaking the build.
+
+2001-02-06 Dan Mueth <dan@eazel.com>
+
+ (initial setup of SK - just doing for Panel Manual for now)
+ * omf-install/: created this directory
+ * omf-install/Makefile.am: new
+ * app-docs.make: updated for scrollkeeper(SK)
+ * applet-docs.make: updated for scrollkeeper(SK)
+ * configure.in: updated for scrollkeeper(SK)
+ * Makefile.am: updated for scrollkeeper(SK)
+ * panel/help/C/panel-C.omf: added
+ * panel/help/C/Makefile.am: updated for SK
+
+2001-02-05 Eric Baudais <baudais@okstate.edu>
+
+ * configure.in: Added core-docs/lgpl/Makefile and
+ core-docs/lgpl/C/Makefile to AC_OUPUT.
+
+2001-02-04 jacob berkman <jacob@ximian.com>
+
+ * Makefile.am:
+ * configure.in:
+ * grdb: remove grdb
+
+Sat Feb 03 19:36:34 2001 George Lebl <jirka@5z.com>
+
+ * Makefile.am: Cleanup some OOOOOOOLD cruft
+
+ * configure.in, Makefile.am, po/POTFILES.in, grdb/**/*:
+ Integrate grdb. The author fell of the face of the planet and
+ didn't integrate it as was planned apparently, so here it goes,
+ still needs to get called from gsm, and either control-center
+ or something else monitoring theme changes
+
+Wed Jan 31 20:36:25 2001 George Lebl <jirka@5z.com>
+
+ * configure.in: s/Gnumeric/gnome-core/ fix some cut'n'paste fun
+
+2001-01-26 Marius Andreiana <mandreiana@yahoo.com>
+
+ * configure.in: Added ro (Romanian) to ALL_LINGUAS.
+
+2001-01-18 Gregory Leblanc <gleblanc@cu-portland.edu>
+
+ * applets/desk-guide/help/C/desk-guide.sgml:
+ * applets/desk-guide/help/de/desk-guide.sgml:
+ * applets/fish/help/C/fish.sgml:
+ * applets/fish/help/da/fish.sgml:
+ * applets/fish/help/da/fish_applet.sgml:
+ * applets/fish/help/no/fish_applet.sgml:
+ * applets/gen_util/help/C/clock/clock.sgml:
+ * applets/gen_util/help/C/mailcheck/mailcheck.sgml:
+ * applets/gen_util/help/da/clock/clock.sgml:
+ * applets/gen_util/help/da/mailcheck/mailcheck.sgml:
+ * applets/gen_util/help/da/mailcheck/mailcheck_applet.sgml:
+ * applets/gen_util/help/da/printer/printer.sgml:
+ * applets/gen_util/help/da/printer/printer_applet.sgml:
+ * applets/gen_util/help/de/clock.sgml:
+ * applets/gen_util/help/de/gen_util_applet.sgml:
+ * applets/gen_util/help/de/mailcheck.sgml:
+ * applets/gen_util/help/no/gen_util_applet.sgml:
+ * applets/gen_util/help/no/mailcheck.sgml:
+ * applets/tasklist/help/C/tasklist.sgml:
+ * gnome-terminal/C/gnome-terminal.sgml:
+ * gnome-terminal/de/gnome-terminal.sgml:
+ * gnome-terminal/es/gnome-terminal.sgml:
+ * gsm/help/C/session.sgml:
+ * panel/help/C/panel.sgml:
+ * panel/help/de/panel.sgml:
+ * panel/help/it/panel.sgml:
+ * panel/help/no/panel.sgml: Final pass of nautilizing. I can't
+ wait for Alan to get back and help out with this some more.
+
+2001-01-11 Miguel de Icaza <miguel@ximian.com>
+
+ * configure.in: Add glade detection. Customize the gnome-terminal
+ ldflags/cflags to be perfect.
+
+Wed Jan 10 11:15:02 2001 George Lebl <jirka@5z.com>
+
+ * configure.in: Make sure GNOME_ICONDIR gets expand it to the
+ datadir corectly
+
+2000-12-11 Marius Andreiana <mandreiana@yahoo.com>
+
+ * *.desktop, *.directory: Added Romanian (ro) translations
+
+2000-12-08 John E. Gotts <jgotts@linuxsavvy.com>
+
+ * pixmaps/gnome-gnomoku.png: Extracted from Red Hat Linux 7.0.
+
+ * pixmaps/Makefile.am: Updated.
+
+2000-11-20 Dan Mueth <d-mueth@uchicago.edu>
+
+ * applet-docs.make: Have it install GIF's in stylesheet-images/
+ * app-docs.make: Have it install GIF's in stylesheet-images/
+ (I'm not sure why it is trying to install PNG's and leaving
+ out the GIF's which these normally are. However we need
+ this to work both for people who like their system to work
+ properly and also so that we can actually test that other
+ parts of the system and the help browser are not broken.)
+
+2000-11-10 Gregory Leblanc <gleblanc@cu-portland.edu>
+
+ * *.sgml: Updates to all docs for compliance with the doc
+ standards for GNOME 1.4
+
+2000-11-09 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * *.desktop, *.directory: Add Slovak translation from
+ Stanislav Visnovsky.
+
+Mon Nov 6 13:08:18 2000 Jonathan Blandford <jrb@redhat.com>
+
+ * *-applet.sgml: Removed all these files, and renamed them to
+ _applet.sgml on the server.
+
+2000-11-06 Dan Mueth <d-mueth@uchicago.edu>
+
+ * Nautilus requires that the doc names match the directory names:
+ .../gnome/help/<appname>/<lang>/<appname>.sgml where one would
+ type "gnome-help:<appname>" in Nautilus. It is currently broken
+ for all applets, since we use
+ .../gnome/help/<name>_applet/<lang>/<name>-applet.sgml.
+ Thus, we have to change all <name>-applet.sgml to
+ <name>_applet.sgml.
+ * First, jrb is renaming the files as described above:
+ applets/gen_util/help/C/clock/clock-applet.sgml
+ applets/gen_util/help/da/clock/clock-applet.sgml
+ applets/desk-guide/help/C/desk-guide-applet.sgml
+ applets/desk-guide/help/de/desk-guide-applet.sgml
+ applets/fish/help/C/fish-applet.sgml
+ applets/fish/help/da/fish-applet.sgml
+ applets/fish/help/no/fish-applet.sgml
+ applets/gen_util/help/de/gen_util-applet.sgml
+ applets/gen_util/help/no/gen_util-applet.sgml
+ applets/gen_util/help/C/mailcheck/mailcheck-applet.sgml
+ applets/gen_util/help/da/mailcheck/mailcheck-applet.sgml
+ applets/gen_util/help/C/printer/printer-applet.sgml
+ applets/gen_util/help/da/printer/printer-applet.sgml
+ applets/tasklist/help/C/tasklist-applet.sgml
+ * applet-docs.make: Change all "-applet" to "_applet"
+
+2000-11-04 Dan Mueth <d-mueth@uchicago.edu>
+
+ * app-docs.make: Have it install $(app).sgml
+ * applet-docs.make: Fixed one bug. Have it install $(sgml_files).
+
+2000-11-03 Jacob "Ulysses" Berkman <jacob@helixcode.com>
+
+ * configure.in: do the libICE check only on Solaris
+
+2000-11-03 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * applets/fish/fish_applet.desktop
+ * applets/gen_util/mailcheck.soundlist
+ * desktop-links/GIMP.desktop
+ * desktop-links/gaspell.desktop
+ Finnish entries added or changed.
+
+2000-10-26 Robert Brady <robert@suse.co.uk>
+
+ * configure.in: Added ta (Tamil).
+
+2000-10-21 Dan Mueth <d-mueth@uchicago.edu>
+
+ * Reactivating core-docs with FSF licenses in it
+
+2000-09-26 Jacob Berkman <jacob@helixcode.com>
+
+ * core-docs/:
+ * gemvt/: remove these obsolete directories
+
+2000-09-25 Christophe Merlet <christophe@merlet.net>
+
+ * applets/applet-dirs/*,desktop-links/*,gnome-hint/*.desktop,
+ panel/g*.desktop: added various French strings
+
+2000-09-03 Matt Wilson <msw@redhat.com>
+
+ * acconfig.h: added HAVE_LIBBZ2_1_0, set to 1 if 1.0 is present
+
+ * configure.in (BZ_LIBS): add check for bzip2-1.0 library
+
+Sun Sep 03 06:31:46 2000 George Lebl <jirka@5z.com>
+
+ * configure.in: Add an explicit check for capplet module (finally)
+
+2000-08-30 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * applets/applet-dirs/*,desktop-links/*: added various Greek strings
+
+2000-06-17 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * configure.in,po/sp.po,po/sr.po: Added Serbian language files
+ (Cyrillic (sp) and Latin2 (sr))
+
+2000-05-25 Pauli Virtanen <pauli.virtanen@saunalahti.fi>
+
+ * Finnish update on files:
+ applets/desk-guide/deskguide_applet.desktop
+ applets/fish/fish_applet.desktop
+ applets/gen_util/mailcheck_applet.desktop
+ applets/gen_util/clock_applet.desktop
+ applets/gen_util/printer.desktop
+ applets/tasklist/tasklist_applet.desktop
+ applets/applet-dirs/Amusements.directory
+ applets/applet-dirs/Clocks.directory
+ applets/applet-dirs/Monitors.directory
+ applets/applet-dirs/Multimedia.directory
+ applets/applet-dirs/Network.directory
+ applets/applet-dirs/Utility.directory
+ desktop-links/Emacs.desktop
+ desktop-links/Eterm.desktop
+ desktop-links/GIMP.desktop
+ desktop-links/Gmc.desktop
+ desktop-links/Imlib_config.desktop
+ desktop-links/Kterm.desktop
+ desktop-links/Netscape.desktop
+ desktop-links/XMcd.desktop
+ desktop-links/Tkrat.desktop
+ desktop-links/UNIX-regular.desktop
+ desktop-links/UNIX.desktop
+ desktop-links/Vim.desktop
+ desktop-links/Vnterm.desktop
+ desktop-links/FileRunner.desktop
+ desktop-links/GXanim.desktop
+ desktop-links/TkSETI.desktop
+ desktop-links/WordPerfect.desktop
+ desktop-links/XEphem.desktop
+ desktop-links/Xemacs.desktop
+ desktop-links/gaspell.desktop
+ desktop-links/lynx.desktop
+ desktop-links/realplayer.desktop
+ desktop-links/rxvt.desktop
+ desktop-links/xbmbrowser.desktop
+ desktop-links/xcolsel.desktop
+ desktop-links/xmix.desktop
+ desktop-links/xv.desktop
+ desktop-links/Applications.directory
+ desktop-links/Development.directory
+ desktop-links/Games.directory
+ desktop-links/Graphics.directory
+ desktop-links/Internet.directory
+ desktop-links/Multimedia.directory
+ desktop-links/Root.directory
+ desktop-links/Settings.directory
+ desktop-links/System.directory
+ desktop-links/Utilities.directory
+ gmenu/gmenu.desktop
+ gnome-hint/gnome-hint-properties.desktop
+ gnome-hint/gnome-hint.desktop
+ gnome-terminal/gnome-terminal.desktop
+ gsm/save-session.desktop
+ gsm/session.desktop
+ help-browser/gnome-help.desktop
+ panel/gnome-panel-properties.desktop
+
+
+2000-05-18 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * panel/menu.c: small change to make the strings in authors[]
+ translatable
+ * gnome-about/contributors.h: use N_( ) to tag some names, so
+ they can be "translated" for languages using the proper charsets
+ * gnome-about/gnome-about.c: corrected i18n support (the StarTrek-like
+ list of people is now displayed using a gdk_fontset instead of gdk_font
+ allowing for CJK displaying)
+
+2000-05-11 Miguel de Icaza <miguel@helixcode.com>
+
+ * configure.in (AC_OUTPUT): Add galician
+
+ * acconfig.h: Added HAVE_ICELISTENFORWELLKNOWNCONNECTIONS
+
+ * configure.in: Test for IceListenForWellKnownConnections
+
+2000-05-09 Dan Mueth <d-mueth@uchicago.edu>
+
+ * Fixing configure.in for da translation of gen_util applet
+ * Replacing C docs for gen_util which accidentally got written
+ over with translations.
+
+2000-05-09 Kenneth Christiansen <kenneth@gnome.org>
+
+ * desktop-links/*desktop: added some new desktop
+ files after talking to George.
+ * desktop-links/Makefile.am: added the new files
+
+ Andreas Hydn is now testing then, and will submit
+ changes if there are errors
+
+2000-05-04 Jacob Berkman <jacob@helixcode.com>
+
+ * misc stuff: support the icon stuff
+
+ * pixmaps/gnome-ccbackground.png: new tigert icon
+
+ * configure.in (LDFLAGS): check for new gnome-libs
+
+2000-04-24 Dan Mueth <d-mueth@uchicago.edu>
+
+ * panel.hints: Fixed typo that displayed an it hint for english users
+
+2000-04-23 Martin Baulig <baulig@suse.de>
+
+ * pixmaps/gnome-suse.png: Added SuSE logo.
+ * pixmaps/Makefile.am (BITMAPS): Added gnome-suse.png.
+
+2000-04-20 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/gnome-applications.png: "I hate hippies." -- Eric Cartman
+
+ * pixmaps/Makefile.am (BITMAPS): add gnome-interface.png
+
+ * app-docs.make (install-data-am): copy png's from the non-figures dir
+
+ * pixmaps/Makefile.am (BITMAPS): new applets and gmenu icons
+ by tigert
+ (BITMAPS): i wonder why gnome-session was never included
+
+ * gnome-core.spec.in (Requires): new gdk-pixbuf
+
+ * applet-docs.make (install-data-am):
+ * app-docs.make (install-data-am): copy the topic.dat
+
+ * configure.in: 1.1.9
+
+2000-04-20 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * configure.in: added Makefile for italian docs
+
+2000-04-18 Karl EICHWALDER <ke@suse.de>
+
+ * configure.in: Check for GdkPixbuf library >= 0.7.0.
+
+2000-04-17 Eric Baudais <baudais@okstate.edu>
+
+ * configure.in: Added Makefiles for help docs.
+
+2000-04-16 Karl EICHWALDER <ke@suse.de>
+
+ * README: Add some requirements.
+
+Thu Apr 13 22:29:05 2000 George Lebl <jirka@5z.com>
+
+ * configure.in,gsm/Makefile.am,gsm/help/Makefile.am,
+ gsm/help/C/Makefile.am: add makefiles for help docs
+
+2000-04-11 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-multimedia.png: WE ARE ICON ARTIST OF BORG.
+ THE MULTIMEDIA ICON MUST DIE. (new one)
+
+2000-04-04 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/Makefile.am (BITMAPS): revert last commit, no
+ patch was mailed to me
+
+2000-04-04 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-about-gnome.png: Added.
+
+ * pixmaps/Makefile.am: Updated.
+
+2000-04-04 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/Makefile.am (BITMAPS): rename emacs.png
+ to gnome-emacs.png since RH 6.2's emacs has its own
+ png
+
+2000-04-03 Jacob Berkman <jacob@helixcode.com>
+
+ * gnome-core.spec.in: pass --disable-gtkhtml-help to configure
+
+ * configure.in: add some checking for gtkhtml
+
+ * app-docs.make:
+ * applet-docs.make: some rules for doc building
+
+ * app-docs.am.template: template for apps with docs
+
+2000-03-30 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/Makefile.am (BITMAPS): add gnome-run.png
+
+2000-03-27 Jacob Berkman <jacob@helixcode.com>
+
+ * configure.in: pass 'capplet' to GNOME_INIT
+
+Sat Mar 04 18:35:59 2000 George Lebl <jirka@5z.com>
+
+ * **/*: applied patch from Pavel Cholakov <pavel@linux.home.bg> to
+ add bulgarian translations
+
+2000-02-28 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/Makefile.am (BITMAPS): add a couple of new pixmaps
+
+2000-02-26 Gregory McLean <gregm@comstar.net>
+
+ * New and improved (tm) spec file.
+
+2000-02-26 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-settings.png: Updated.
+
+2000-02-26 Christopher R. Gabriel <cgabriel@firenze.linux.it>
+
+ * configure.in: added gnome-terminal/it/Makefile for
+ italian translation of the Gnome Terminal User's Guide.
+
+2000-02-17 Cody Russell <bratsche@dfw.net>
+ * configure.in: Added CANVAS_PIXBUF_CFLAGS and CANVAS_PIXBUF_LIBS.
+
+2000-02-15 Jacob Berkman <jacob@helixcode.com>
+
+ * configure.in: generate some doc Makefiles
+
+ * configure.in:
+ * Makefile.am: don't make in core-docs and more
+
+2000-02-13 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-monitor.png: Improved.
+
+2000-02-12 Fatih Demir <kabalak@gmx.net>
+
+ * configure.in : Added tr to ALL_LINGUAS .
+
+2000-2-11 Tomasz Koczko <kloczek@pld.org.pl>
+ * desktop-links/balsa.desktop
+ * pixmaps/gnome-balsa2.png: moved to balsa module,
+
+2000-02-10 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/Makefile.am
+ * pixmaps/gnome-settings.png: Settings icon added.
+
+2000-02-03 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/Makefile.am
+ * pixmaps/debian.png: added a logo for the debian menu in panel..
+
+2000-01-31 Yuan-Chung Cheng <platin@linux.org.tw>
+
+ * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
+
+2000-01-30 Timur I. Bakeyev <timur@gnu.org>
+
+ * configure.in: AM_GNU_GETTEXT changed to AM_GNOME_GETTEXT - that
+ makes proper substitution for INTLLIBS variable.
+
+2000-01-27 Jacob Berkman <jacob@helixcode.com>
+
+ * pixmaps/Makefile.am (BITMAPS): remove gnome-splash
+
+2000-01-27 Russell Steinthal <rms39@columbia.edu>
+
+ * configure.in: Add help-browser/help/uk/Makefile to AC_OUTPUT to
+ fix build
+
+2000-01-24 Jacob Berkman <jacob@helixcode.com>
+
+ * configure.in: 1.1.1 release
+
+2000-01-09 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-monitor.png: Slightly improved.
+
+ * pixmaps/gnome-favorites.png: Slightly improved.
+
+2000-01-05 Kjartan Maraas <kmaraas@online.no>
+
+ * TRANSLATABLE: Added a list of files containing translatable
+ strings.
+
+1999-12-23 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-applications.png: Added in all the appropriate places.
+
+ * pixmaps/gnome-multimedia.png: Added in all the appropriate places.
+
+1999-12-16 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-graphics.png: I added a new version of the
+ graphics icon - I hope you like it. The paintbrush alone should
+ scale down better than the image of the whole artist palette.
+
+1999-12-12 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-joystick.png: New joystick icon for games.. Also from
+ Anaconda..
+
+ * pixmaps/Makefile.am (BITMAPS)
+ * pixmaps/gnome-computer.png
+ * desktop-links/System.directory (Icon): new icon for "System" -menu
+ since the laptop was not too clear on the small size..
+ The icon is from Anaconda, the Redhat installer.
+
+1999-12-07 Birger Langkjer <birger.langkjer@image.dk>
+
+ * made pixmaps/vnterm.png from pixmaps/vnterm.xpm after
+ reading Gnome Icon Status Report #11. Didn't change Vnterm.desktop
+
+1999-12-04 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-devel.png: Added.
+ * desktop-links/Development.directory: Used here.
+
+1999-11-28 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-amusements.png: Added.
+
+1999-11-20 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: generate help-browser/help/el/Makefile
+
+1999-11-19 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * */*.desktop: added Greek descriptions from
+ Simos Xenitellis <simos@hellug.gr> to the menu files
+
+1999-11-09 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/gnome-ee.png: Removed. This icon comes with EE, so no
+ reason to ship it with gnome-core. Besides, it kept on overwriting
+ the all-new shaped one.
+
+1999-11-05 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in (ALL_LINGUAS): add uk dir
+
+1999-10-31 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/emacs.png: Updated the emacs icon with a version by
+ Garrett LeSage <garrett@linux.com> which I subsequently edited a
+ bit to add the shadow - I also scaled it down a bit to fit better
+ in the panel buttons.
+
+1999-10-30 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * gnome-core.spec.in: I guess specs don't like
+ emacs/cvs style changelog dates
+
+ * README.specfile: add this file
+
+ * gnome-core.spec.in: maybe this will work
+ updates and patch from Ned Rhudy <nrhudy@pabus.com>
+
+1999-10-23 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: make gnome-terminal/es/Makefile
+
+1999-10-22 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: bump to 1.1.0, added a warning message
+
+1999-10-21 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: added gl to ALL_LINGUAS
+
+ * core-docs/Makefile.am (EXTRA_DIST): don't dist these
+ docs any more
+
+ * core-docs/README: new file
+
+1999-10-19 Elliot Lee <sopwith@redhat.com>
+ * configure.in, acconfig.h: Check for TCP Wrappers
+ * gsm/ice.c,gsm/Makefile.am: Use TCP Wrappers if available.
+ Also set our own IceErrorHandler (to just close the connection).
+
+1999-10-16 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: bump version to 1.1.0-pre1
+
+1999-10-14 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/Makefile.am: added gnome-mailcheck.png
+
+1999-10-11 Elliot Lee <sopwith@redhat.com>
+ * configure.in: Revert gdk-pixbuf usage.
+
+Sun Oct 10 22:52:39 1999 George Lebl <jirka@5z.com>
+
+ * configure.in, panel/Makefile.am: check for gdk-pixbuf and
+ use it for panel
+
+1999-10-05 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * configure.in: (ALL_LINGUAS) Added Galician (gl)
+
+1999-10-03 Matthias Warkus <mawa@iname.com>
+
+ * pixmaps/Makefile.am: added gnome-monitor.png
+
+1999-09-29 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * pixmaps/Makefile.am (BITMAPS): add gnome-favorite.png
+
+1999-09-24 Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
+
+ * configure.in: add Brazilian Portuguese (pt_BR) to ALL_LINGUAS
+
+1999-09-22 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * help-browser/help/ja/.cvsignore:
+ * help-browser/help/et/.cvsignore:
+ * help-browser/help/ca/.cvsignore:
+ * core-docs/gnome-intro/es/.cvsignore:
+ * core-docs/gnome-intro/it/.cvsignore:
+ * core-docs/gnome-intro/C/.cvsignore:
+ * core-docs/gnome-intro/.cvsignore: added files
+
+ * gnome-edit/.cvsignore: updated file
+
+1999-09-18 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * pixmaps/Makefile.am (BITMAPS): add gnome-panel.png
+
+1999-09-12 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in (LIBS): generate help-browser/help/et/Makefile
+
+1999-09-10 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * configure.in,po/et.po: added Estonian language file
+
+1999-09-04 Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>
+
+ * */*.directory, */*.desktop, */*.soundlist:
+ Added Polish translations.
+
+1999-09-03 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * pixmaps/Makefile.am (BITMAPS): add the squeaker
+
+ * pixmaps/gnome-squeak.png: squeeeeeeeeaaaaaak!!!!!!!!
+
+1999-09-02 Miguel de Icaza <miguel@gnu.org>
+
+ * gnome-edit/gnome-edit.c (g_box, main): Make the thing display a
+ message to the user. There is little point in sending this to
+ stdout, where the user does not see it.
+
+1999-09-01 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * configure.in, po/es_*.po: removed the es_??.po files;
+ the string that was different is no longer in the sources.
+
+1999-08-20 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * acconfig.h: #undef KDE_ICONDIR, KDE_MINI_ICONDIR
+
+ * configure.in (LIBS): define KDE_ICONDIR, KDE_MINI_ICONDIR
+
+1999-07-28 Peter Teichman <peter@tortoise.dorm.duke.edu>
+
+ * configure.in (LIBS): generate help-browser/help/ja/Makefile
+
+1999-07-10 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * configure.in: do not generate Makefiles for applets which are
+ now in ngome-applets. Also, removed checks for things such as
+ glibtop and ghttp since only the applets used them
+
+Sat Jun 26 13:09:35 1999 Yuan-Chung Cheng <platin@linux.org.tw>
+
+ * configure.in: added zh_TW.Big5
+
+Sat Jun 26 01:21:12 1999 Tim Janik <timj@gtk.org>
+
+ * configure.in: create applets/desk-guide/Makefile
+
+1999-05-15 Jacob Berkman <jberk+@cmu.edu>
+
+ * pixmaps/Makefile.am (BITMAPS): added entries for gnome-xterm.png
+ and gnome-terminal.png
+
+ * pixmaps/gnome-xterm.png: New xterm icon
+
+ * pixmaps/gnome-terminal.png new gnome-terminal icon
+
+Mon May 10 14:10:51 1999 George Lebl <jirka@5z.com>
+
+ * configure.in: added sk
+
+ * po/sk.po: added Slovak translations from Bobo Rajec <bobo@bspc.sk>
+
+1999-05-05 Mark Crichton <crichton@gimp.org>
+
+ * configure.in: Added help-browser/help/eu/Makefile to include
+ building of some translations.
+
+1999-05-04 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-ccdialog.png: Dialog settings icon..
+
+ * pixmaps/gnome-ccbackground.png gnome-ccthemes.png
+ gnome-ccscreensaver.png gnome-ccwindowmanager.png: Updated the icons
+ once again..
+
+1999-05-03 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-folder.png: New folder icon for panel - I also added
+ a matching one to gmc.. I hope you like them. If not, too bad 8-)
+
+1999-05-02 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * gnome-ccbackground.png
+ * gnome-ccthemes.png
+ * gnome-ccscreensaver.png
+ * gnome-ccwindowmanager.png
+ * pixmaps/Makefile.am: Added some icons for control-center menus..
+
+1999-04-16 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/apple-green.png: new icon
+ * pixmaps/apple-green.png new icon (both in the cute&fun section :)
+ * pixmaps/Makefile.am (pixmapdir): Added those in the list to be
+ installed..
+
+1999-04-15 Michael Zucchi <zucchi@zzedzone.mmc.com.au>
+
+ * configure.in: Added help-browser/help/wa/Makefile to include
+ building of the Walloon translations.
+
+1999-04-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 1.0.5.
+
+1999-04-08 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in acconfig.h: Add a --with-kde-datadir flag
+ so you can point at KDE menus in a different location.
+ (Should thus just be --with-kde-dir?)
+
+1999-04-07 Vie Ptsi <drc@gnu.org>
+
+ * pixmaps/tile-drc-4-up.png: New tile.
+ * pixmaps/tile-drc-4-down.png: New tile.
+ * pixmaps/Makefile.am: Added tiles.
+
+1999-04-01 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-cardgame.png: Added the icon to gnome-core
+ since it is pretty generic - will make freecell in gnome-games use
+ it. So beware of conflicts if you release stuff.
+
+1999-03-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * configure.in (LIBS): Use ZVT when autodetecthing the Zvt
+ features.
+
+1999-03-30 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * desktop-links/Eterm.desktop: Added the icon to the .desktop-file
+
+ * pixmaps/gnome-eterm.png: Added icon for Eterm
+
+1999-03-29 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/gnome-die1.png
+ * pixmaps/gnome-die2.png
+ * pixmaps/gnome-die3.png
+ * pixmaps/gnome-die4.png
+ * pixmaps/gnome-die5.png
+ * pixmaps/gnome-die6.png: icons just for fun for things
+ on the desktop - for directories etc..
+
+1999-03-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 1.0.4.
+
+1999-03-23 Martin Baulig <martin@home-of-linux.org>
+
+ * configure.in (WINDOW_MANAGER): Use gnome-wm instead of icewm
+ as default. See gsm/ChangeLog for details.
+
+1999-03-23 Sung-Hyun Nam <namsh@lgic.co.kr>
+
+ * configure.in: generate help-browser/help/ko/Makefile
+
+1999-03-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * configure.in: Add test for zvt_term_reset. Preparing for new
+ feature in gnome-terminal (new feature is a bug fix).
+
+1998-12-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * capplets/theme-switcher/gui.c (make_main): Use add_with_viewport
+ here.
+ (make_main): Assign system_list as soon as the widgte is created,
+ do not delay this.
+
+1999-03-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 1.0.3.
+
+1999-02-27 Shooby Ban <bansz@szif.hu>
+
+ * help-browser/help/Makefile.am: Added hungarian help
+
+1999-02-24 Chris Lahey <clahey@umich.edu>
+
+ * gnome-edit/gnome-edit.c: Added the fact that it looks at the
+ EDITOR environment variable. It also now pays attention to the
+ needs_term variable and launches the app in an xterm if it's
+ either requested, or the app is specified by the EDITOR
+ environment variable.
+
+1999-02-24 Elliot Lee <sopwith@bogus.circ.us.eu.org>
+
+ * Add jbc applet to the bunch. Tested.
+
+1999-02-19 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (ZVT_LIBS): Define to `gnome-config --libs zvt`.
+
+1999-02-18 Shooby Ban <bansz@szif.hu>
+
+ * panel/button-widget.c, drawer-widget.c, snapped-widget.c,
+ corner-widget.c, menu.c, swallow.c:
+ Changed some hardcoded values to #define PANEL_MINIMUM_WIDTH
+ Added a chance to make another size of panel
+
+1999-02-17 Owen Taylor <otaylor@redhat.com>
+
+ * **/Makefile.am: install .desktop files in
+ $datadir/gnome/apps.
+
+1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 0.99.8.1.
+
+1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 0.99.8.
+
+1999-02-10 Martin Baulig <martin@home-of-linux.org>
+
+ * gnome-core.spec.in, gnome-core.spec: Replaced gnome-core.spec
+ with gnome-core.spec.in, so gnome-core.spec is now a generated
+ file.
+
+1999-02-10 Martin Baulig <martin@home-of-linux.org>
+
+ * desktop-properties: Nuked this directory.
+
+1999-02-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 0.99.7.
+
+1999-02-06 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * applets/.../*.desktop, desktop-links/*.{desktop,directory}
+ : Added Korean translations.
+
+1999-02-01 Chris Lahey <clahey@umich.edu>
+
+ * gnome-edit/.cvsignore: Added .deps and gnome-edit to .cvsignore.
+
+ * gnome-edit/Makefile.am: Changed this to make it do a compile
+ instead of just installing a script.
+
+ * gnome-edit/gnome-edit: Removed this script. Now generated from
+ gnome-edit.c.
+
+ * gnome-edit/gnome-edit.c: Added this. It launches another editor
+ based on settings from the gnome-edit-properties capplet.
+
+1999-01-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in (AC_OUTPUT): Added gnome-terminal/C/Makefile to the
+ list of files to generate.
+
+Sun Jan 24 03:23:24 1999 Timur Bakeyev <mc@bat.ru>
+
+ * configure.in (AC_CHECK_HEADERS): Add check for sys/soundcard.h -
+ BSDI hides it there.
+
+1999-01-10 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/netscape.png: Replaced the netscape launcher icon
+
+ * pixmaps/gnome-mouse.png: Replaced the mouse icon with one
+ equipped with smoother edges :)
+
+1999-01-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in (ALL_LINGUAS): Added nl to the translations,
+ courtesy of Dirk-Jan C. Binnema <djcb@dds.nl>.
+
+1999-01-05 Oliver Maruhn <om@linuxhq.com>
+
+ * configure.in (AC_OUTPUT): "applets/mini-commander/src/Makefile"
+ added
+
+Tue Jan 05 01:59:15 1999 George Lebl <jirka@5z.com>
+
+ * pixmaps/{Makefile.am,tile-blue-{up,down}.png}: add blue tiles
+ that will be used in logout buttons (you know blue == night
+ == logout .... ummm ... whatever ... forget it)
+
+1998-12-30 Jeff Garzik <jgarzik@pobox.com>
+
+ * { many files }: s/g_copy_strings/g_strconcat/
+
+1998-12-29 Oliver Maruhn <om@linuxhq.com>
+
+ * configure.in (AC_OUTPUT): "applets/mini-commander/docs/Makefile"
+ added
+
+Tue Dec 29 14:46:39 1998 Maciej Stachowiak <mstachow@mit.edu>
+
+ * configure.in: Removed logic to check if the user passed
+ --with-window-mager=fvwm2.
+
+1998-12-29 Oliver Maruhn <om@linuxhq.com>
+
+ * configure.in (AC_OUTPUT): "applets/mini-commander/docs/Makefile"
+ added
+
+Tue Dec 29 14:46:39 1998 Maciej Stachowiak <mstachow@mit.edu>
+
+ * configure.in: Removed logic to check if the user passed
+ --with-window-mager=fvwm2.
+
+1998-12-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Fix AC_INIT, it was testing for an obsolete file.
+ Removed desktop-properties from the list of directories.
+ Removed applets/gkb from the list of directories. Why is it not
+ being built?
+
+1998-12-15 Yukihiro Nakai <Nakai@abricot.co.jp>
+
+ * */*.desktop: Added Japanese translations with our
+ special tool.
+
+ * */*.directory: Likewise
+
+1998-12-10 James Henstridge <james@daa.com.au>
+
+ * gnome-core.spec: removed %{prefix}/share/control-center from %files
+ list since control center has moved.
+
+1998-12-08 Michael Fulbright <drmike@redhat.com>
+
+ * moved control-center and capplets to control-center CVS module
+
+1998-12-08 Michael Lausch <mla@gams.at>
+
+ * configure.in Remove the --with-fvwm2 configure.in option, the
+ fvwm2 applet is now selfcontained. Instead build the applet if the
+ requested window manager is fvwm2.
+
+1998-12-07 James Henstridge <james@daa.com.au>
+
+ * capplets/url-properties: a new applet to configure the behaviour of
+ the gnome_url_show function in libgnome.
+
+1998-12-06 Tuomas Kuosmanen <tigert@gimp.org>
+
+ * pixmaps/Makefile.am (EXTRA_DIST): Added some new tiles for panel:
+ tile-moon-[up,down].png - a grayish tile
+ tile-sand-[up,down].png - a brownish tile
+ tile-coral-[up,down].png - a blueish tile (try this
+ with http://tigert.gimp.org/files/gtkrc-files/gtkrc.ocean)
+
+1998-12-02 Raja R Harinath <harinath@cs.umn.edu>
+
+ * capplets/sound-properties/sound-properties.c (main):
+ Add a closing brace.
+
+1998-12-03 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ Use gettext 0.10.35
+ * configure.in (AC_OUTPUT): Removed `sed POTFILES...'.
+ * acinclude.m4: Removed gettext macros.
+
+1998-12-02 Martin Baulig <martin@home-of-linux.org>
+
+ * Makefile.am (always_built_SUBDIRS): Removed `desktop-properties' -
+ we have capplets for all of them now.
+
+1998-12-02 Martin Baulig <martin@home-of-linux.org>
+
+ * capplets/ui-properties: Added "Look&Feel" properties capplet.
+
+ * capplets/bell-properties: Added bell properties capplet.
+
+Sun Nov 29 18:20:54 EST 1998 Gregory McLean <gregm@comstar.net>
+
+ * configure.in : Added applets/gticker/Makefile to the makefiles to
+ produce.
+
+1998-11-29 Jeff Garzik <jgarzik@pobox.com>
+
+ * applets/gkb/gkb.c, applets/netwatch/netwatch.c:
+ Added required app id arg to applet_widget_new.
+
+Tue Nov 24 00:25:53 1998 Owen Taylor <otaylor@redhat.com>
+
+ * capplets/theme-switcher/da.h: Removed include of
+ gtk-socket.h, which now is in GTK+.
+
+1998-11-23 Andrew T. Veliath <andrewtv@usa.net>
+
+ * capplets/screensaver-properties/screensaver-properties-capplet.c: Use
+ gtk_scrolled_window_add_with_viewport instead of gtk_container_add
+ (gtk changes).
+
+1998-11-21 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * capplets/screensaver-properties/callbacks.c: Include <config.h>.
+
+ * capplets/theme-switcher/gui.c: Include <config.h>. Mark strings
+ for translation.
+
+ * capplets/sound-properties/sound-properties.c: Mark strings for
+ translation.
+ (main): Initialize gettext.
+
+ * capplets/theme-switcher/main.c (main): Include <config.h> at the
+ top of the file.
+ (main): Initialize gettext.
+
+ * capplets/screensaver-properties/screensaver-properties-capplet.c:
+ Include <config.h> at the top of the file.
+ (main): Initialize gettext.
+
+ * capplets/keyboard-properties/keyboard-properties.c:Include
+ <config.h> at the top of the file.
+ (main): Initialize gettext.
+
+1998-11-12 Andrew T. Veliath <andrewtv@usa.net>
+
+ * acconfig.h: Remove HAVE_ORBIT, HAVE_MICO_ORB_RUN. HAVE_ORBIT is
+ now implicit.
+
+ * Makefile.am: Remove ORBIT_INSTALLED AM_CONDITIONAL.
+
+ * configure.in: The ORBit AM_CONDITIONAL is now in
+ gnome-orbit-check.m4 as HAVE_ORBIT.
+
+1998-11-06 Raja R Harinath <harinath@cs.umn.edu>
+
+ * capplets/theme-switcher/main.c (confdefs.h): `confdefs.h isn't a
+ nice name for a header file. Since no other file uses it, just
+ remove it.
+ (THEME_SWITCHER_VERSION): New define. Is what `VERSION' was used
+ for.
+ (main): Use new name for `VERSION'.
+ * capplets/theme-switcher/confdefs.h: Delete.
+ * capplets/theme-switcher/config.h: Delete.
+
+Fri Nov 6 17:15:00 1998 Owen Taylor <otaylor@redhat.com>
+
+ * capplets/theme-switcher/main.c: include confdefs.h
+ to get VERSION.
+
+ * capplets/theme-switcher/demo.c (demo_main): Put the
+ CList in a scrolled window.
+
+ * Makefile.am: Build theme-switcher-capplet by default,
+ now that themes are in GTK+ head.
+
+1998-11-04 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (have_libesd): Actually define the HAVE_LIBESD
+ conditional.
+
+1998-10-30 <jrb@redhat.com>
+
+ * capplets/screensaver-properties/callbacks.c (launch_miniview): Thou
+ shall not exec (NULL)...
+ (launch_miniview): thou shalt also not check in things before you save
+ the changes... (:
+
+1998-10-28 The Rasterman <raster@redhat.com>
+
+ * applets/esd-manager: added this.. going to work on it...
+
+1998-10-26 Raja R Harinath <harinath@cs.umn.edu>
+
+ * capplets/screensaver-properties/screensaver-properties-capplet.c
+ (main): This is not a void function.
+
+1998-10-20 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in (ALL_LINGUAS): Added `da'.
+
+1998-10-20 Andrew Veliath <andrewtv@usa.net>
+
+ * configure.in: Update ORBit checks to use new
+ gnome-orbit-checks.m4. acconfig.h: Add HAVE_ORBIT.
+
+Sun Oct 18 22:02:28 1998 Owen Taylor <otaylor@gtk.org>
+
+ * capplets/background-properties/property-background.c
+ (img_dnd_drop): Matching braces help.
+
+Sun Oct 18 19:18:21 1998 Owen Taylor <otaylor@gtk.org>
+
+ * background-properties/property-background.c: Use
+ the new DND API.
+
+1998-10-14 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * */*.desktop: Added Portuguese translations.
+
+ * */*.directory: Likewise
+
+1998-09-29 The Rasterman <raster@redhat.com>
+ * configure.in: added e-conf capplet and gnome-pager applet
+
+1998-09-29 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (applets_libgtop):
+ More warnings if `libgtop' isn't found.
+
+Mon Sep 28 12:31:00 1998 John Ellis <johne@bellatlantic.net>
+
+ * configure.in: Add applets/slashapp/Makefile
+
+1998-09-27 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in: Warn if some of the applets will not be built.
+
+1998-09-24 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * applets/asclock/asclock_applet.desktop: Likewise.
+
+ * applets/battery/battery_applet.desktop: Likewise.
+
+ * capplets/theme-switcher/theme-selector.desktop: Add Portuguese
+ translation.
+
+ * capplets/screensaver-properties/screensaver-desktops/screensaver-properties.desktop:
+ Likewise.
+
+ * capplets/keyboard-properties/keyboard-properties.desktop:
+ Likewise.
+
+1998-09-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * capplets/screensaver-properties/Makefile.am
+ (screensaver_properties_capplet_SOURCES): Add missing headers to
+ the list of sources.
+
+1998-09-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in (FVWM_PAGER): quoted $FVWM_PAGER in test ! -z
+ "$FVWM_PAGER"
+
+1998-09-23 Michael Lausch <mla@gams.at>
+
+ * configure.in (FVWM_PAGER): Added various tests for the
+ fvwm-pager applet.
+
+1998-09-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in:
+ * Makefile.am: Add the idl directory. WHY DID NO ONE ADD THIS
+ WHEN IT WAS CREATED?
+
+1998-09-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped version number to 0.30. The panting chimpanzee
+ is upon us.
+
+Thu Sep 17 14:20:05 1998 John Ellis <johne@bellatlantic.net>
+
+ * configure.in, Makefile.am: Removed conditional build of gmenu since
+ gtk+-1.1 is now a requirement.
+
+1998-09-11 Alexandre Muniz <munizao@cyberhighway.net>
+ * configure.in (AC_OUTPUT): Added applets/charpick
+
+1998-09-06 Raja R Harinath <harinath@debian>
+
+ * capplets/Makefile.am (DIST_SUBDIRS): Remove unneeded variable.
+
+1998-09-06 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (GNOME_COMPILE_WARNINGS): New check.
+
+Fri Sep 04 00:07:08 1998 George Lebl <jirka@5z.com>
+
+ * configure.in,Makefile.am,po/POTFILES.in: removed support for
+ mico and related sources
+
+Wed Sep 02 23:18:00 1998 George Lebl <jirka@5z.com>
+
+ * pixmaps/Makefile.am: install tiles into a separate directory,
+ we will want to browse this with an icon browser and we only
+ want tiles to show up
+
+1998-08-27 Christopher Blizzard <blizzard@appliedtheory.com>
+
+ * configure.in: Add checks for seeing if libghttp is installed.
+
+1998-08-23 Martin Baulig <martin@home-of-linux.org>
+
+ * configure.in (GNOME_FILEUTILS_CHECKS): Removed. This check
+ is no longer necessary since we now use libgtop for the
+ mountlist and fsusage stuff in the diskusage applet.
+ * acconfig.h: Removed mountlist stuff.
+
+ * configure.in (GNOME_INIT_LIBGTOP): New check.
+ * acconfig.h: Added libgtop stuff.
+
+1998-08-20 Raja R Harinath <harinath@cs.umn.edu>
+
+ * core-docs/Makefile.am (gnome-intro/gnome-intro.html):
+ Make rule even more friendlier to a build without `DocBook'.
+
+Thu Aug 20 00:32:24 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in: Removed all smproxy code.
+ Don't mention non-existent directory.
+
+1998-08-19 Raja R Harinath <harinath@cs.umn.edu>
+
+ * Makefile.am (SUBDIRS): Actually compile `control-center' if
+ it is enabled.
+ (always_built_SUBDIRS): Reinstate `smproxy'.
+
+1998-08-19 Martin Baulig <martin@home-of-linux.org>
+
+ * Makefile.am: Conditionally compiling `control-center' if
+ we have ORBit.
+
+ * Makefile.am: Using $(always_built_SUBDIRS),
+ $(sometimes_built_SUBDIRS) and correct $(DIST_SUBDIRS).
+
+1998-08-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Bumped the version number to 0.28.
+
+1998-08-02 Raja R Harinath <harinath@cs.umn.edu>
+
+ * core-docs/Makefile.am (EXTRA_DIST): Add `gnome-intro.html'.
+ (INTRO_EXTRA_DIST): Merge with EXTRA_DIST.
+
+ * configure.in (PROGRAM_GMENU):
+ Use AM_CONDITIONAL rather than AC_SUBST.
+ (PROGRAMS_PANEL_{CDPLAYER,MIXER,MODEMLIGHTS}): Likewise.
+ (AC_OUTPUT): Remove `applets/netwatch/Makefile'.
+
+ * Makefile.am (gmenu): New var.
+ (SUBDIRS): Use $(gmenu) instead of @PROGRAM_GMENU@.
+
+1998-08-01 Raja R Harinath <harinath@cs.umn.edu>
+
+ * core-docs/Makefile.am (install-data-local): Use INSTALL_DATA in
+ a for loop, don't install all at once.
+ (GNOME_INTRO_HTML_FILES): Remove $(srcdir) from names of files.
+ (GNOME_INTRO_PICTURES): Likewise.
+ (INTRO_EXTRA_DIST): Likewise.
+ (GNOME_INTRO_GIFS): Likewise.
+ (EXTRA_DIST): Likewise.
+
+1998-07-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in (ALL_LINGUAS): Added Japanese translation.
+
+1998-07-28 Mark Galassi <rosalia@cygnus.com>
+
+ * core-docs/gnome-intro/*.html: regenerated the HTML using the
+ latest DocBook tools; some filenames have changed, and
+
+1998-07-23 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * config.guess, config.sub: Remove auto-generated files.
+
+Tue Jul 21 18:29:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * acconfig.h (WINDOW_MANAGER): Removed.
+ * configure.in: Don't define WINDOW_MANAGER, AC_SUBST it.
+
+Sun Jul 19 03:31:08 1998 John Ellis <johne@bellatlantic.net>
+
+ * configure.in: variable PROGRAM_GMENU with a check for
+ gtk/gtkctree.h which is in the devel GTK.
+ * Makefile.am: added above variable in the subdirs section, now
+ gmenu is built/installed by default if the devel GTK is found.
+
+1998-07-19 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (SMPROXY_DEFS): Use `STD_DEFINES' rather than
+ `STD_CPP_DEFINES'.
+ (ORB_LIBS): To replace MICO_LIBS.
+ (ORBIT_LIBS,MICO_LIBS): Don't subst.
+ (ORBIT_CONFIG): Don't use `if [ .. ];', use `if test ..;'.
+
+1998-07-18 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (SMPROXY_DEFS): New check, based on AC_PATH_X11.
+ Needed to get defines used in a X11 build tree.
+
+Thu Jul 16 18:03:37 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (SUBDIRS): Added smproxy.
+ * configure.in: Create smproxy/Makefile.
+
+1998-07-13 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (mico_prefix): Stop searching as soon as a
+ `mico-ld' is found. From Michael Lausch <mla@gams.co.at>.
+
+1998-07-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * configure.in: Added applets/fifteen/Makefile to the list.
+
+1998-07-08 Owen Taylor <otaylor@fresnel.labs.redhat.com>
+
+ * configure.in: Fix shell syntax bug in case when MICO
+ is not found.
+
+1998-06-26 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * configure.in (ALL_LINGUAS): Added Portuguese translation.
+
+Sat Jun 13 01:11:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * core-docs/Makefile.am (gnome-intro/book01.html): Ignore mkdir
+ failures.
+
+Fri Jun 12 22:56:58 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in: Look for mico-setup.sh in $mico_prefix/doc. Also,
+ handle MICO 2.0.3 (still!).
+
+1998-06-11 John Ellis <johne@bellatlantic.net>
+
+ * configure.in: added gmenu/Makefile
+
+1998-06-11 John Ellis <johne@bellatlantic.net>
+
+ * gmenu directory: Checked in a gmenu, the GNOME menu editor,
+ still needs a Makefile.am file though.
+
+Wed Jun 10 11:34:52 1998 Owen Taylor <otaylor@gtk.org>
+
+ * configure.in: Make panel link micocoss library as well
+
+Wed Jun 10 11:34:52 1998 Owen Taylor <otaylor@gtk.org>
+
+ * configure.in acconfig.h: Check for installed MICO
+ version, and the libs it requires by using mico-ld
+ and mico-setup.sh.
+
+ Add a HAVE_MICO_ORB_RUN macro to signal that we need
+ to call orb->run(), as we do for mico-2.0.6 and later
+
+Tue Jun 9 23:37:43 EDT 1998 Gregory McLean <gregm@comstar.net>
+
+ * .cvsignore updates.
+
+1998-06-09 Jim Pick <jim@jimpick.com>
+
+ * Added debian packaging dir.
+
+1998-06-07 Stuart Parmenter <pavlov@innerx.net>
+
+ * help-browser/window.c: changed accel stuff around so that it works
+ with gtk1.1
+
+1998-06-05 Mark Galassi <rosalia@cygnus.com>
+
+ * core-docs/Makefile.am: fixed it so that "make dist" will
+ generate a reasonable distribution. Many files were not listed in
+ the EXTRAS, but I think they now are.
+
+1998-05-30 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (FALSE): Automake conditional that always fails.
+ This is used in some subdir Makefile.am tricks.
+
+1998-05-26 John Ellis <johne@bellatlantic.net>
+
+ * configure.in: added PROGRAMS_PANEL_MODEMLIGHTS, apparently
+ net/ppp_defs.h does not exist on solaris.
+
+1998-05-22 Martin Baulig <baulig@merkur.uni-trier.de>
+
+ * configure.in: added GNOME_FILEUTILS_CHECKS
+
+ * acconfig.h (AFS, MOUNTED_FREAD, MOUNTED_FREAD_FSTYP,
+ MOUNTED_GETFSSTAT, MOUNTED_GETMNT, MOUNTED_GETMNTENT1,
+ MOUNTED_GETMNTENT2, MOUNTED_GETMNTINFO, MOUNTED_LISTMNTENT,
+ MOUNTED_VMOUNT, STAT_STATFS3_OSF1, STAT_READ_FILSYS,
+ STAT_STATFS2_BSIZE, STAT_STATFS2_FSIZE, STAT_STATFS2_FS_DATA,
+ STAT_STATFS4, STAT_STATVFS, STATFS_TRUNCATES_BLOCK_COUNTS):
+ New macros.
+
+1998-05-13 Christopher Blizzard <blizzard@appliedtheory.com>
+
+ * configure.in: added applets/bussign/Makefile to the list of
+ Makefiles.
+
+1998-05-05 Mark Galassi <rosalia@cygnus.com>
+
+ * core-docs/gnome-intro.sgml: added a bit more to the panel;
+ that's it for the Red Hat 5.1 release, I guess.
+
+ * core-docs/Makefile.am (install-data-local): fixed little bug in
+ installing help files.
+
+ * core-docs/gnome-intro.sgml: completed the GNOME intro; there are
+ many omissions, but it seems OK. Now I have to proofread it a bit
+ and add a mention of panel applets. I also added all the
+ generated HTML files for people who do not have the docbook tools
+ installed (this sucks).
+
+ * core-docs/Makefile.am: put core-docs under automake with some
+ quickly hacked-up rules for the RH-5.1 release. I will clean it
+ up later; this seems to work and install gnome-intro in a way such
+ that the help browser picks it up.
+
+ * Makefile.am (SUBDIRS): added core-docs
+
+Sun May 3 22:43:59 1998 Tom Tromey <tromey@cygnus.com>
+
+ * acconfig.h (HAVE_FORKPTY): New macro.
+ * configure.in: Include UTIL_LIB check from gnome-libs.
+
+1998-05-03 Mark Galassi <rosalia@cygnus.com>
+
+ * core-docs/gnome-intro.sgml: added the beginnings of an
+ overall gnome-intro manual.
+
+Mon Apr 27 20:42:24 EDT 1998 Gregory McLean <gregm@comstar.net>
+
+ * panel/menu.c : changed a couple of <icon>.xpm to <icon.png> as
+ the xpm files for _thoose_ icons wern't there.
+
+Sun Apr 26 10:55:18 EDT 1998 Gregory McLean <gregm@comstar.net>
+
+ * Its too early in the morning!
+ * applets/netwatch/netwatch-old.c: added to the repo.
+ * applets/netwatch/netwatch_applet.desktop: desktop file
+ * applets/netwatch/.cvsignore: updated.
+
+Sun Apr 26 01:05:51 1998 Tom Tromey <tromey@cygnus.com>
+
+ * acconfig.h (WINDOW_MANAGER): New macro.
+ * configure.in: Added --with-window-manager option.
+
+ * configure.in: Unconditionally look for crypt.h.
+
+Sun Apr 26 10:55:18 EDT 1998 Gregory McLean <gregm@comstar.net>
+
+ * configure.in: changed the AC_PROG_LEX -> AM_PROG_LEX
+ though I couldn't find any lex files that this is needed
+ for. IIRC automake 1.2 supports this macro also.
+
+Sun Apr 19 09:38:36 EDT 1998 Gregory McLean <gregm@comstar.net>
+
+ * applets/*/.cvsignore: updated to ignore generated files.
+
+Tue Mar 17 23:26:47 1998 George Lebl <jirka@5z.com>
+
+ * configure.in: updated teh Makefiles being created
+
+ * Makefile.am: build in applets
+
+ * applets/Makefile.am: build clock
+
+Sat Mar 14 20:21:31 1998 George Lebl <jirka@5z.com>
+
+ * gnome-panel.idl, launcher-lib.(cc|h): added a Launcher
+ interface, but didn't do anything with it yet.
+
+Fri Mar 13 13:44:40 1998 George Lebl <jirka@5z.com>
+
+ * panel.c,clock.c: fixed some FIXME's and added some
+ sanity checks
+
+1998-03-13 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * configure.in (ALL_LINGUAS): Added German translation.
+
+1998-03-13 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (RES_LIBS): New check for `inet_aton'.
+
+Tue Mar 10 22:33:39 1998 Tom Tromey <tromey@cygnus.com>
+
+ * stamp.h.in: Removed.
+ * configure.in: Don't create stamp.h.
+
+Sun Mar 8 21:41:18 1998 Tom Tromey <tromey@cygnus.com>
+
+ * version.h.in: Removed.
+ * configure.in: Don't create version.h.
+
+Wed Mar 4 01:18:19 1998 Tom Tromey <tromey@cygnus.com>
+
+ * acconfig.h (HAVE_PROGRAM_INVOCATION_SHORT_NAME,
+ HAVE_PROGRAM_INVOCATION_NAME): Added.
+
+1998-03-04 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (AC_OUTPUT): Add `panel/libapplet/Makefile'.
+
+Mon Mar 2 15:30:00 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in: Removed check for SMlib.h; now comes from
+ gnome-x-checks.m4.
+
+1998-02-26 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in: Make the check for SMlib.h work better with the
+ checks that happen in macros/gnome-x-checks.m4.
+
+Thu Feb 26 12:37:07 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in: Check for X11/SM/SMlib.h.
+
+1998-02-25 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (AC_OUTPUT): Remove duplicated entry for
+ `panel/batmon/Makefile'.
+
+Sat Feb 14 01:31:21 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (macros/macros.dep): Use tab in rule, not space.
+
+ * configure.in: Run AC_LINK_FILES for gettext.
+
+1998-02-14 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (GNOME_X_CHECKS): Add new check.
+ (AC_OUTPUT): Also generate `macros/Makefile'.
+
+ * Makefile.am (macros/macros.dep): Maintainer rule to
+ auto-regenerate aclocal.m4.
+ (SUBDIRS): Add `macros'.
+
+ * help-browser/gnome-helpwin.c (gnome_helpwin_load): Replace
+ `snprintf' with `g_snprintf'.
+
+1998-02-13 Raja R Harinath <harinath@cs.umn.edu>
+
+ * configure.in (AC_OUTPUT): Generate `macros/Makefile'.
+
+ * autogen.sh: Use `macros/autogen.sh'.
diff --git a/ChangeLog-20080310 b/ChangeLog-20080310
new file mode 100644
index 0000000..000d33c
--- /dev/null
+++ b/ChangeLog-20080310
@@ -0,0 +1,1598 @@
+2008-03-10 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.22.1
+
+==================== 2.22.0 ====================
+
+2008-03-10 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.22.0.
+
+2008-03-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.22.0
+
+==================== 2.21.93 ====================
+
+2008-03-06 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.21.93.
+
+2008-02-28 Bastien Nocera <hadess@hadess.net>
+
+ * configure.in: Remove hard requirement on esound,
+ as we use the gnome-sound APIs, and let the
+ gnome-settings-daemon launch the sound server
+
+2008-02-26 Olav Vitters <olav@bkor.dhs.org>
+
+ * configure.in: post-release bump to 2.21.93
+
+==================== 2.21.92 ====================
+
+2008-02-26 Olav Vitters <olav@bkor.dhs.org>
+
+ * NEWS:
+ * README: Version 2.21.92.
+
+2008-02-20 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: require gnome-keyring 2.21.92
+ * gnome-session/gsm-keyring.c: (gsm_keyring_daemon_start): use
+ gnome_keyring_daemon_prepare_environment_sync(), and set appropriate
+ g-k environment variables
+ Fix bug #503278.
+ Based on patch by Stef Walter <stef@memberwebs.com>
+
+2008-02-11 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.21.92
+
+==================== 2.21.91 ====================
+
+2008-02-11 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.21.91.
+
+2008-01-28 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.21.91
+
+==================== 2.21.90 ====================
+
+2008-01-28 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.21.90.
+
+2008-01-15 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.21.90
+
+==================== 2.21.5 ====================
+
+2008-01-14 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.21.5.
+
+2007-11-18 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/Makefile.am, gnome-session/gsm-xrandr.c,
+ gnome-session/main.c: remove gsm_set_display_properties() call and
+ xrandr related code as this is now handled by gnome-settings-daemon
+ See bug #434982.
+
+2007-11-13 Vincent Untz <vuntz@gnome.org>
+
+ Move session .desktop file from GDM to gnome-session.
+ Patch by William Jon McCann <mccann@jhu.edu>
+ Fix bug #493535.
+
+ * data/gnome.desktop.in: new file
+ * data/Makefile.am: updated
+
+2007-10-15 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.20.2
+
+==================== 2.20.1 ====================
+
+2007-10-15 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.20.1.
+
+2007-09-20 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * configure.in: Update Gtk requirement to >= 2.11.1 because of
+ gdk_window_set_opacity. (Fixes: #478553)
+
+2007-09-17 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.20.1
+
+==================== 2.20.0 ====================
+
+2007-09-17 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.20.0.
+
+2007-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.20.0
+
+==================== 2.19.92 ====================
+
+2007-09-03 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.19.92.
+
+2007-08-31 Vincent Untz <vuntz@gnome.org>
+
+ * MAINTAINERS: update to new format
+
+2007-08-13 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.19.91
+
+==================== 2.19.90 ====================
+
+2007-08-13 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.19.90.
+
+2007-07-30 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.19.90
+
+==================== 2.19.6 ====================
+
+2007-07-30 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.19.6.
+
+2007-07-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.19.5
+
+==================== 2.19.5 ====================
+
+2007-07-08 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.19.5.
+
+2007-07-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: use %e (instead of %d) to get the day of the month
+ since there's no leading 0 there, and use sed to remove the leading 0
+ in date +%m.
+ Fix compilation breaking on some dates (bug #454797)
+
+2007-06-18 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.19.5
+
+==================== 2.19.4 ====================
+
+2007-06-18 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.19.4.
+
+2007-06-18 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: define GNOME_SESSION_TARBALL_DAY,
+ GNOME_SESSION_TARBALL_MONTH, and GNOME_SESSION_TARBALL_YEAR in a
+ POSIX-compliant way. Needed for bug #444670.
+
+2007-06-14 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: require glib 2.13.0
+
+2007-06-03 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.19.4
+
+==================== 2.19.3 ====================
+
+2007-06-03 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.19.3.
+
+2007-05-13 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.19.3
+
+==================== 2.19.2 ====================
+
+2007-05-13 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.19.2.
+
+2007-05-09 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: we don't need libgnome-desktop anymore
+
+2007-05-09 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: add --with-time-utility
+
+2007-05-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: small fixes, create bzip2 tarballs, require glib
+ 2.12.0
+ Based on patch by Christian Persch <chpe@gnome.org>
+
+2007-05-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: make it possible to redefine libexecdir when running
+ make.
+ Fix bug #420283. Patch by Andreas Hanke <andreas.hanke@gmx-topmail.de>
+
+2007-05-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: don't check for xrdb
+ Fix bug #420313. Patch by Andreas Hanke <andreas.hanke@gmx-topmail.de>
+
+2007-04-13 Bastien Nocera <hadess@hadess.net>
+
+ * configure.in: Remove check for usleep
+
+2007-03-12 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.18.1
+
+==================== 2.18.0 ====================
+
+2007-03-12 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.18.0.
+
+2007-03-11 Christian Kirbach <Christian.Kirbach@googlemail.com>
+
+ * data/session-properties.desktop.in.in:
+ Removed invalid category.
+
+2007-02-26 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.18.0
+
+==================== 2.17.92 ====================
+
+2007-02-26 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.17.92.
+
+2007-02-20 Kjartan Maraas <kmaraas@gnome.org>
+
+ * MAINTAINERS: Add Vincent, remove Mark.
+ * Makefile.am: Dist MAINTAINERS.
+
+2007-02-19 Sebastien Bacher <seb128@ubuntu.com>
+
+ * data/session-properties.desktop.in.in:
+ use "X-GNOME-PersonalSettings" desktop category (Fixes: #409407)
+
+2007-02-12 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.17.92
+
+==================== 2.17.91 ====================
+
+2007-02-12 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.17.91.
+
+2007-01-22 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.17.91
+
+==================== 2.17.90.1 ====================
+
+2007-01-22 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * NEWS:
+ * README: Version 2.17.90.1.
+
+2007-01-21 Vincent Untz <vuntz@gnome.org>
+
+ * data/Makefile.am: install default.session and not default.session.in
+
+2007-01-21 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.17.91
+
+==================== 2.17.90 ====================
+
+2007-01-21 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.17.90.
+
+2007-01-21 Vincent Untz <vuntz@gnome.org>
+
+ * data/Makefile.am: fix distcheck
+
+2007-01-21 Vincent Untz <vuntz@gnome.org>
+
+ * data/session-properties.desktop.in.in: use new icon for the desktop
+ file
+
+2007-01-17 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * data/Makefile.am:
+ * data/icons: add icon for session properties
+ Fix bug #396181
+ Icons provided by Jakub Steiner <jimmac@ximian.com>
+
+2007-01-17 Vincent Untz <vuntz@gnome.org>
+
+ * data/Makefile.am: forgot this file
+
+2007-01-17 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * data/*:
+ * gnome-session/gnome-session.schemas.in:
+ * gnome-session/default.in:
+ * gnome-session/session-properties.desktop.in.in:
+ * gnome-session/gnome-splash.png:
+ * gnome-session/Makefile.am: move data files to data/ subdir
+
+ * configure.in: set warnings to maximum
+
+2007-01-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.17.90
+
+==================== 2.17.5 ====================
+
+2007-01-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * NEWS:
+ * README: Version 2.17.5.
+
+2007-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: improve autodetection of the default directory for
+ at-spi-registryd
+
+2007-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session.spec.in:
+ * configure.in:
+ * Makefile.am: kill the spec file since nobody has updated it for a
+ very long time
+
+2007-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: use gnome-common to define the deprecated flags
+
+2007-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: add a configure option to specify the directory of
+ at-spi-registryd
+ Fix bug #383428, based on patch by Ariel Rios <ariel@gnu.org>
+
+2006-12-01 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Post release bump.
+
+======================= 2.17.3 =======================
+
+2006-11-15 Vincent Untz <vuntz@gnome.org>
+
+ * man/gnome-wm.1: Updated (we don't update gconf anymore)
+
+2006-11-15 Vincent Untz <vuntz@gnome.org>
+
+ * man/gnome-session-save.1: Document --silent option, and small
+ update. Bug #149447
+
+2006-11-14 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: and make this work by default (ie, automatically
+ detect whether to use it or not)
+
+2006-11-14 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: allow enabling/disabling of tcpwrappers
+ Patch by Saleem Abdulrasool <compnerd@gentoo.org>
+ Fix bug #326242
+
+2006-11-13 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: better fix
+
+2006-11-13 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: try to work around issues on old distros
+ Should fix bug #372685
+
+2006-11-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.17.3.
+
+==================== 2.17.2 ====================
+
+2006-11-06 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.17.2.
+
+2006-11-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: add configure switch to disable esd support
+ Fix bug #310979.
+ Patch by Leonardo Boshell <p@kapcoweb.com>
+
+2006-10-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Fix build. (Frederic Peters).
+ Closes bug #362541.
+
+2006-10-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: check for libXau existence
+ Fix bug #314079
+
+2006-10-02 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.16.2.
+
+==================== 2.16.1 ====================
+
+2006-10-02 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.16.1.
+
+2006-09-26 Kjartan Maraas <kmaraas@gnome.org>
+
+ * man/default.session.5.in:
+ * man/gnome-session.1.in:
+ * man/gnome-wm.1:
+ Man page fixes from debian.
+
+2006-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * .cvsignore: updated
+
+2006-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.16.1.
+
+==================== 2.16.0 ====================
+
+2006-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.16.0.
+
+2006-08-30 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gnome-splash.png: update splash screen for 2.16
+ (really, this is the 2.14 one without the version number)
+
+2006-08-22 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.16.0.
+
+==================== 2.15.92 ====================
+
+2006-08-22 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.15.92.
+
+2006-08-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.15.92.
+
+==================== 2.15.92 ====================
+
+2006-08-08 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.15.91.
+
+2006-07-26 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: add check for gnome-keyring
+
+2006-07-24 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.15.91.
+
+==================== 2.15.90 ====================
+
+2006-07-24 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.15.90.
+
+2006-07-11 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.15.5.
+
+==================== 2.15.4 ====================
+
+2006-07-11 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.15.4.
+
+2006-07-11 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: really add dbus dependency
+
+2006-07-11 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: require intltool 0.35.0
+
+2006-06-25 Sergey Udaltsov <svu@gnome.org>
+
+ * configure.in, gnome-session/gsm-gsd.c: added DBUS dependency,
+ require gnome-settings-daemon.pc from pkgconfig,
+ now g-s-d is launched using DBUS interface.
+
+2006-05-24 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gnome-session/gsm-remove-client.c: (session_initialized):
+ Patch from Fedora to fix a critical warning. Closes bug #341115.
+ * po/ChangeLog: Fix a typo.
+
+2006-05-10 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
+
+ * configure.in: Use IT_PROG_INTLTOOL.
+ * po/LINGUAS: New file listing translations. (#337982).
+
+2006-04-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * MAINTAINERS: Update some.
+ * configure.in: Remove obsolete entry for no_NO
+ * po/no.po: And the translation.
+
+2006-04-24 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.15.2.
+
+==================== 2.15.1 ====================
+
+2006-04-24 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.15.1.
+
+2006-04-24 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: fix cosmetic typo. Fix bug #316677
+
+2006-04-10 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.14.2.
+
+==================== 2.14.1 ====================
+
+2006-04-10 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.14.1.
+
+2006-03-24 Tommi Vainikainen <thv@iki.fi>
+
+ * configure.in (ALL_LINGUAS): Added Dzongkha (dz).
+
+2006-03-20 Vladimer Sichinava <vlsichinava@gmail.com>
+
+ * configure.in: Added "ka" (Georgian) to ALL_LINGUAS
+
+2006-03-13 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.14.1.
+
+==================== 2.14.0 ====================
+
+2006-03-13 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.14.0.
+
+2006-02-27 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.13.92.
+
+==================== 2.13.92 ====================
+
+2006-02-27 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.13.92.
+
+2006-02-25 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * configure.in: Add "zh_HK" to ALL_LINGUAS.
+
+2006-02-13 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.13.92.
+
+==================== 2.13.91 ====================
+
+2006-02-13 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.13.91.
+
+2006-01-27 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.13.91.
+
+==================== 2.13.90 ====================
+
+2006-01-27 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.13.90.
+
+2005-01-16 Rodrigo Moya <rodrigo@novell.com>
+
+ * gnome-session/save.c (read_desktop_entries_in_dir): fixed patching
+ conflict.
+
+2006-01-16 Rodrigo Moya <rodrigo@novell.com>
+
+ * gnome-session/startup-programs.c:
+ * gnome-session/session-properties-capplet.[ch]:
+ * gnome-session/save.c: implement program autostart with .desktop
+ files in known directories.
+
+ * configure.in: require gnome-desktop-2.0.
+
+2006-01-16 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.13.90.
+
+==================== 2.13.5 ====================
+
+2006-01-16 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README: Version 2.13.5.
+
+2006-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.13.5.
+
+==================== 2.13.4 ====================
+
+2006-01-06 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * README:
+ * configure.in: Version 2.13.4.
+
+2005-12-15 Elijah Newren <newren@gmail.com>
+
+ * configure.in: Uh, we're at version 2.13.3 now, not 2.12.1
+
+2005-11-04 Thomas Wood <thos@gnome.org>
+
+ * gnome-session/gnome-splash.png: 2.13 development splash
+
+2005-09-24 Erdal Ronahi <erdal.ronahi@gmail.com>
+
+ * configure.in: Added "ku" (Kurdish) to ALL_LINGUAS
+
+2005-09-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.12.1.
+
+==================== 2.12.0 ====================
+
+2005-09-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.12.0.
+
+2005-08-09 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.11.92.
+
+==================== 2.11.91 ====================
+
+2005-08-09 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.11.91.
+
+2005-07-26 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.11.91
+
+==================== 2.11.90 ====================
+
+2005-07-26 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.11.90
+
+2005-07-25 Mark McLoughlin <mark@skynet.ie>
+
+ Remove gnome-smproxy. See:
+ http://mail.gnome.org/archives/desktop-devel-list/2005-July/msg00527.html
+
+ * smproxy/*: remove.
+
+ * Makefile.am: remove smproxy from SUBDIRS.
+
+ * configure.in: remove smproxy.
+
+ * README: remove mention of smproxy.
+
+ * man/: remove smproxy manpages.
+
+2005-07-03 Aivars Kalvans <aivars.kalvans@inbox.lv>
+
+ * configure.in: smproxy requires glib-2.0, does not require libgnome
+ * smproxy/save.c: (WriteProxyFile):
+ * smproxy/smproxy.c: (ProxySaveYourselfPhase2CB), (main):
+ Fix memory leaks, remove libgnome dependency. Closes bug#308205.
+
+2005-06-01 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "hy" to ALL_LINGUAS.
+
+2005-05-17 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.11.1.
+
+==================== 2.11.1 ====================
+
+2005-05-17 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.11.1.
+
+2005-05-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gnome-session/headers.h:
+ * gnome-session/ice.c: (startup_clean_ice), (initialize_ice),
+ (read_authfile): Clean up the ICE code slightly. Patch from Iain
+ Holmes. Closes bug #154042.
+
+2005-05-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: bump version to 2.11.1 - 2.10.x
+ releases continue on the gnome-2-10 branch.
+
+2005-03-31 Steve Murphy <murf@e-tools.com>
+
+ * configure.in: Added "rw" to ALL_LINGUAS.
+
+2005-03-07 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.10.1.
+
+==================== 2.10.0 ====================
+
+2005-03-07 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.10.0.
+
+2005-03-03 Adi Attar <aattar@cvs.gnome.org>
+
+ * configure.in: Added "xh" to ALL_LINGUAS.
+
+2005-01-25 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gnome-session/gnome-session.schemas.in: Improved string
+ from Bryan Clark. Closes bug #153910.
+
+2005-01-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.9.5.
+
+==================== 2.9.4 ====================
+
+2005-01-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.9.4.
+
+2005-01-10 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: remove --reboot-command and
+ --halt-command options.
+
+2004-12-02 Dwayne Bailey <dwayne@translate.org.za>
+
+ * configure.in: Added "zu" to ALL_LINGUAS.
+
+2004-11-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.9.3.
+
+==================== 2.9.2 ====================
+
+2004-11-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.9.2.
+
+2004-11-29 Christoffer Olsen <co@deworks.net>
+
+ * configure.in:
+ Generates gnome-session/session-properties.desktop.in from
+ AC_OUTPUT
+
+2004-11-27 Dwayne Bailey <dwayne@translate.org.za>
+
+ * configure.in: Added "nso" to ALL_LINGUAS.
+
+2004-11-09 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: bump version to 2.9.1. 2.8.x
+ development continues on the gnome-2-8 branch.
+
+2004-10-12 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.8.2.
+
+==================== 2.8.1 ====================
+
+2004-10-12 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.8.1.
+
+2004-10-07 James Henstridge <james@jamesh.id.au>
+
+ * acinclude.m4: remove, since the only macro in it wasn't being
+ used anymore.
+
+ * Makefile.am: get rid of intltool stuff on "make distclean"
+
+ * configure.in: modernise configure script a bit.
+
+ * autogen.sh (REQUIRED_AUTOMAKE_VERSION): request Automake 1.7.
+
+2004-09-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.8.1.
+
+==================== 2.8.0 ====================
+
+2004-09-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.8.0.
+
+2004-09-10 Jakub Steiner <jimmac@ximian.com>
+
+ * gnome-session/gnome-splash.png: 2.8
+
+2004-08-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.7.93.
+
+==================== 2.7.92 ====================
+
+2004-08-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.7.92.
+
+2004-08-16 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Add nb to ALL_LINGUAS.
+
+2004-08-16 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.7.92.
+
+==================== 2.7.91 ====================
+
+2004-08-16 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.7.91.
+
+2004-08-13 Gurban M. Tewekgeli <gmtavakkoli@yahoo.com>
+ * po/tk.po: Added Turkmen translation.
+ * configure.in: Added "tk" to ALL_LINGUAS.
+
+2004-07-19 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.7.5.
+
+==================== 2.7.4 ====================
+
+2004-07-19 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.7.4.
+
+2004-07-12 Pawan Chitrakar <pawan@nplinux.org>
+
+ * configure.in: Added ne Nepali in ALL_LINGUAS
+
+2004-07-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.7.4.
+
+==================== 2.7.3 ====================
+
+2004-07-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.7.3.
+
+2004-05-31 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.7.2.
+
+==================== 2.7.1 ====================
+
+2004-05-31 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.7.1.
+
+2004-05-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: bump version to 2.7.1. 2.6.x development
+ is now on the gnome-2-6 branch.
+
+2004-04-19 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.6.2
+
+==================== 2.6.1 ====================
+
+2004-04-19 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.6.1.
+
+2004-04-09 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
+
+2004-04-09 John C Barstow <jbowtie@amathaine.com>
+
+ * configure.in: Added "mi" to ALL_LINGUAS.
+
+2004-03-31 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "af" to ALL_LINGUAS.
+
+2004-03-22 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: post-release bump to 2.6.1
+
+==================== 2.6.0 ====================
+
+2004-03-22 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.6.0.
+
+2004-03-18 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * configure.in: Added "mr" for Marathi to ALL_LINGUAS.
+
+2004-03-15 Alexander Winston <alexander.winston@comcast.net>
+
+ * configure.in: Added en_CA to ALL_LINGUAS.
+
+==================== 2.5.92 ====================
+
+2004-03-15 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.92.
+
+==================== 2.5.91 ====================
+
+2004-03-09 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.91.
+
+2004-03-04 Jakub Steiner <jimmac@ximian.com>
+
+ * gnome-session/gnome-splash.png: beta 2.6 splash
+
+2004-03-04 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
+
+==================== 2.5.90 ====================
+
+2004-02-23 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.90.
+
+==================== 2.5.5 ====================
+
+2004-02-16 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.5.
+
+2004-02-08 Tomasz K?oczko <kloczek@pld.org.pl>
+
+ * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
+ AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
+ substed by default.
+
+2004-02-06 Robert Sedak <robert.sedak@sk.htnet.hr>
+
+ * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
+
+==================== 2.5.4 ====================
+
+2004-02-04 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.4.
+
+2004-02-02 Alexander Winston <alexander.winston@comcast.net>
+
+ * acinclude.m4: Quoted definition of macro AM_PATH_ESD. Fixes
+ #133224.
+
+2004-02-02 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gnome-session/main.c: (check_for_dns): Remove use
+ of deprecated function. Closes bug #133164.
+
+==================== 2.5.3 ====================
+
+2004-01-14 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.3.
+
+2004-01-14 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: require gtk+ 2.3.x so we know we're not
+ using the pangox backend anymore.
+
+==================== 2.5.2 ====================
+
+2003-12-08 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.2.
+
+2003-12-06 Alexander Larsson <alexl@redhat.com>
+
+ * configure.in:
+ Look for gnome-keyring-daemon
+
+2003-11-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: don't generate
+ gnome-session/gnome-session.schemas.in.
+
+==================== 2.5.1 ====================
+
+2003-11-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.5.1.
+
+2003-11-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add a --enable-deprecated flag.
+
+==================== 2.4.1 ====================
+
+2003-10-14 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.4.1.
+
+==================== 2.4.0 ====================
+
+2003-09-09 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.4.0.
+
+2003-09-06 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * configure.in: Added Thai (th) to ALL_LINGUAS.
+
+==================== 2.3.90 ====================
+
+2003-09-02 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.90.
+
+==================== 2.3.7 ====================
+
+2003-08-25 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.7.
+
+==================== 2.3.6.2 ====================
+
+2003-08-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.6.2.
+
+2003-08-12 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * configure.in: fix maintainer builds
+
+==================== 2.3.6.1 ====================
+
+2003-08-11 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.6.1.
+
+==================== 2.3.6 ====================
+
+2003-08-07 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.6.
+
+==================== 2.3.4 ====================
+
+2003-07-15 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.4.
+
+2003-04-14 Shailesh Mittal <shailesh.mittal@wipro.com>
+
+ * configure.in: Added option for enabling IPv6 support.
+ Added checks for function getaddrinfo().
+
+2003-07-09 John Fleck <jfleck@inkstain.net>
+
+ * Makefile.am
+ * configure.in
+ Doh! Removing docs build stuff from the places I
+ missed on the last checkin.
+
+2003-07-09 John Fleck <jfleck@inkstain.net>
+ removing:
+ * xmldocs.make
+ * sgmldocs.make
+ * omf-install/Makefile.am
+ * gnome-session/help/Makefile.am
+ * gnome-session/help/C/Makefile.am
+ * gnome-session/help/C/session-C.omf
+ * gnome-session/help/C/session.sgml
+ * gnome-session/help/C/figures/*.png
+ * gnome-session/help/ja/Makefile.am
+ * gnome-session/help/ja/session-C.omf
+ * gnome-session/help/ja/session.sgml
+ * gnome-session/help/ja/figures/*.png
+ removing old docs cruft, fixes bug #113567
+
+==================== 2.3.3.1 ====================
+
+2003-07-04 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.3.3.1.
+
+2003-06-21 Samúel Jón Gunnarsson <sammi@techattack.nu>
+
+ * configure.in: Added "is" in ALL_LINGUAS
+
+2003-06-19 Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>
+
+ * gnome-session/gsm-client-editor.c:
+ * gnome-session/startup-programs.c:
+ Allow only numeric values to Priority spin button.
+ Fixes bugzilla bug #115352
+
+2003-06-15 Joël Brich <joel.brich@laposte.net>
+
+ * configure.in: Added "eo" to ALL_LINGUAS.
+
+2003-06-09 Bill Haneman <bill.haneman@sun.com
+
+ * main.c:
+ Check "accessibility" gconf key and call
+ gsm_assistive_technologies_start if enabled.
+ Implementation for #113307.
+
+ * gnome-session/gsm-at-startup.h: New file.
+
+ * gnome-session/gsm-at-startup.c: New file.
+ Execute all of the assistive technologies in the
+ /desktop/gnome/accessibility/startup/exec_ats gconf list.
+
+==================== 2.3.3 ====================
+
+2003-06-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: 2.3.3.
+
+2003-05-20 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: 2.3.2.
+
+2003-05-15 Mark McLoughlin <mark@skynet.ie>
+
+ * [sg|x]gmldocs.make: replace leading spaces with tabs.
+ Fix from Art Haas.
+
+2003-05-15 Masahiro Sakai <sakai@tom.sfc.keio.ac.jp>
+
+ * configure.in: call AC_CHECK_HEADERS and check sys/param.h.
+
+2003-05-09 Telsa Gwynne <hobbit@aloss.ukuu.org.uk>
+
+ * configure.in: Added cy to ALL_LINGUAS
+
+2003-05-06 Danilo Šegan <dsegan@gmx.net>
+
+ * configure.in: Removed "sp" and added "sr@Latn" to ALL_LINGUAS.
+
+2003-05-04 Arvind Samptur <arvind.samptur@wipro.com>
+
+ * configure.in: Version 2.3.1
+ * NEWS update for 2.3.1
+
+2003-04-22 Alexander Larsson <alexl@redhat.com>
+
+ * configure.in:
+ Look for Xrandr.
+
+2003-04-21 Taneem Ahmed <taneem@eyetap.org>
+
+ * configure.in: Added "bn" to ALL_LINGUAS.
+
+2003-04-02 Sergey V. Oudaltsov <sergey.oudaltsov@clients.ie>
+
+ * gnome-session/splash-widget.c: primitive customization for
+ icons on startup. Just "better than nothing" solution.
+
+2003-03-26 Arvind Samptur <arvind.samptur@wipro.com>
+ * configure.in: bump version to 2.3.0.
+ Guess, Mark missed that 2.3.0 release was on.
+
+2003-03-14 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: bump version number to 2.3.1 and
+ require gtk+ and libgnomeui >= 2.2.0.
+
+2003-03-13 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "ml" to ALL_LINGUAS.
+
+2003-02-20 Balamurali Viswanathan <balamurali.viswanathan@wipro.com>
+
+ *acconfig.h: Added HAVE_GTK_MULTIHEAD for egg-screen-exec
+
+2003-02-18 Roozbeh Pournader <roozbeh@sharif.edu>
+
+ * configure.in: Added "fa" to ALL_LINGUAS.
+
+2003-02-17 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: bump up to 2.3.1. 2.2.x development
+ is on the gnome-2-2 branch.
+
+2003-02-09 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "kn" to ALL_LINGUAS.
+
+2003-02-06 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "id" to ALL_LINGUAS.
+
+2003-02-04 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.2.0.2.
+
+2003-01-22 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "mn" to ALL_LINGUAS.
+
+2003-01-21 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * configure.in: tell Makefile's about aclocal flags
+
+2003-01-22 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.2.0.1.
+
+2003-01-21 Jakub Steiner <jimmac@ximian.com>
+
+ * gnome-session/gnome-splash.png: gnome 2.2 splash
+
+2003-01-21 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.2.0.
+
+2003-01-16 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * configure.in: Added Amharic (am), Arabic (ar) to ALL_LINGUAS
+
+2003-01-06 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.90.
+
+2002-12-17 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.5.
+
+2002-12-10 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.4.
+
+2002-12-10 Mark McLoughlin <mark@skynet.ie>
+
+ * man/gnome-session.1.in: apply patch
+ from Alex Duggan to fixup reference
+ to save-session. Fixes #100515.
+
+2002-12-10 Mark McLoughlin <mark@skynet.ie>
+
+ * man/gnome-session-save.1: renamed from
+ session-save.1 and apply patch from
+ Christian Marillat. Fixes #100514.
+
+ * man/Makefile.am:
+ * man/default.session.5.in,
+ man/gnome-session-save.1,
+ man/gnome-session.1.in,
+ man/gnome-wm.1: moved here from
+ gnome-session/gnome-session.
+
+ * man/Makefile.am, gnome-session/Makefile.am,
+ configure.in: updated.
+
+2002-11-28 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.3.
+
+2002-11-04 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.2.
+
+2002-11-03 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * configure.in: Added Belarusian to ALL_LINGUAS
+
+2002-10-14 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.1.
+
+2002-10-02 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in:
+ output gnome-session/gnome-session.schemas.in
+
+2002-09-28 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.1.0.
+
+2002-09-19 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: require gtk+ 2.1.0 for the
+ multihead stuff.
+
+2002-08-08 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add check for gtk+ with multihead
+ support.
+
+2002-07-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: set version to 2.1.0. 2.0.x
+ development is on the gnome-2-0 branch.
+
+2002-07-30 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.0.3.
+
+2002-07-30 Mark McLoughlin <mark@skynet.ie>
+
+ * man/gnome-libice-check.1:
+ * man/gnome-libice-check.sgml:
+ * man/gnome-login-check.1:
+ * man/gnome-login-check.sgml: remove old man pages.
+
+2002-07-25 jacob berkman <jacob@ximian.com>
+
+ * configure.in: bs.po file was never committed, so it from
+ ALL_LINGUAS
+
+2002-07-25 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * configure.in: Added Bosnian (bs) to ALL_LINGUAS
+
+2002-07-16 Michael Meeks <michael@ximian.com>
+
+ * configure.in: remove canvas check.
+
+2002-07-15 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.0.2.
+
+Fri Jul 12 10:07:29 2002 George Lebl <jirka@5z.com>
+
+ * gnome-session/save-session.desktop.in,
+ gnome-session/session-properties.desktop.in: Add Encoding=UTF-8,
+ and add ';' to the end of the categories list as per the
+ standard
+
+2002-07-12 Brian Cameron <Brian.Cameron@sun.com>
+
+ * configure.in
+ Now support esd when it is installed via the --with-esd-dir
+ configure option
+
+2002-07-11 Brian Cameron <Brian.Cameron@sun.com>
+
+ * configure.in
+ Now support gconf-sanity-check when it is installed in libexec.
+
+2002-07-08 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: add check for rsh and define
+ RSH_COMMAND.
+
+2002-07-01 jacob berkman <jacob@ximian.com>
+
+ * configure.in: nuke login check stuffis
+
+2002-06-21 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: enable compile warnings.
+
+2002-06-19 jacob berkman <jacob@ximian.com>
+
+ * configure.in: check for esound, fix halt/reboot checks, and
+ gereate LIBS for gnome-login-check and gnome-smproxy
+
+2002-06-18 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.0.1.
+
+2002-06-10 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 2.0.0.
+
+2002-06-05 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.21.
+
+2002-05-28 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.20.
+
+2002-05-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * configure.in: Added "mk" to ALL_LINGUAS.
+
+2002-05-16 Mark McLoughlin <mark@skynet.ie>
+
+ * HACKING, README: update to be a little more useful.
+
+2002-05-13 Naba Kumar <kh_naba@users.sourceforge.net>
+
+ * configure.in: Added hi in ALL_LINGUAS
+
+2002-15-13 Glynn Foster <glynn.foster@sun.com>
+
+ * configure.in: Version 1.5.19
+ * NEWS: Update for 1.5.19
+
+2002-05-13 jacob berkman <jacob@ximian.com>
+
+ * configure.in: check for gconftool
+
+2002-04-29 Glynn Foster <glynn.foster@sun.com>
+
+ * NEWS: Update for 1.5.18.
+
+2002-04-29 Glynn Foster <glynn.foster@sun.com
+
+ * configure.in: Version 1.5.18.
+
+2002-04-22 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.17.
+
+2002-04-18 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: update our requirements so
+ people aren't using crufty libraries.
+
+2002-04-15 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.16.
+
+2002-04-01 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.15.
+
+2002-04-01 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.14.
+
+2002-03-25 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.13.
+
+2002-03-18 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.12.
+
+2002-03-13 Gregory Leblanc <gleblanc@linuxweasel.com>
+
+ * gnome-session.spec.in: Rewrite from Chris Chabot
+
+2002-03-12 Shivram U <shivaram.upadhyayula@wipro.com>
+
+ * configure.in: Checking for X Development libraries explicitly.
+ * gnome-session/Makefile.am : Added X_LIBS to the LD_ADD flags.
+ * smproxy/Makefile.am : Added X_LIBS to the LDADD flags. Fixes #73882
+
+2002-03-11 Glynn Foster <glynn.foster@sun.com>
+
+ * README: Update.
+ * autogen.sh: Update.
+ * gnome-session/ChangeLog: Update.
+
+2002-02-25 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.11.
+
+2002-02-21 Laszlo Peter <laca@ireland.sun.com>
+
+ * configure.in: find the correct path to the reboot/halt
+ commands or let the user specify with --with-reboot-command
+ and --with-halt-command.
+
+ * gnome-session/Makefile.am: define HALT_COMMAND and REBOOT_COMMAND
+
+ * gnome-session/logout.c: use the HALT_COMMAND and REBOOT_COMMAND
+ macros instead of the hard coded paths.
+
+ (reviewed by Mark McLoughlin <mark@skynet.ie>)
+
+2002-02-19 Mark McLoughlin <mark@skynet.ie>
+
+ * man/Makefile.am: remove man pages for apps
+ not installed by this package.
+
+2002-02-18 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.10.
+
+2002-02-13 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: Version 1.5.9.
+
+2002-02-13 Mark McLoughlin <mark@skynet.ie>
+
+ * AUTHORS: update for authors of gsm and smproxy.
+
+ * HACKING, MAINTAINERS: me and george for now.
+
+ * README: upd.
+
+ * configure.in: remove cruft.
+
+ * Makefile.am, gnome-desktop.spec.in: rename spec file.
+
+2002-02-12 Mark McLoughlin <mark@skynet.ie>
+
+ * configure.in: change GETTEXT_PACKAGE. Thanks Jacob.
+
+2002-02-12 Mark McLoughlin <mark@skynet.ie>
+
+ gnome-session module split off from gnome-core.
+
+ * Makefile.am, autogen.sh, configure.in: initial work
+ to get things building.
+
diff --git a/ChangeLog.pre-git b/ChangeLog.pre-git
new file mode 100644
index 0000000..22fc016
--- /dev/null
+++ b/ChangeLog.pre-git
@@ -0,0 +1,4082 @@
+2009-04-14 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.26.2
+
+==================== 2.26.1 ====================
+
+2009-04-14 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS: version 2.26.1
+
+2009-04-10 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/main.c: (require_dbus_session): when relaunching with
+ dbus-launch, correctly copy arguments that were passed to
+ gnome-session over to the new call
+ Fix bug #574310.
+
+2009-04-10 Vincent Untz <vuntz@gnome.org>
+
+ * tools/gnome-session-save.c: (main): make gnome-session-save --kill
+ --silent work as --force-logout (no inhibitor dialog).
+ Fix bug #574982.
+
+2009-04-09 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (do_inhibit_dialog_action): remove
+ comment that is now wrong
+ (query_end_session_complete): pass the right action to the inhibit
+ dialog so that the button doesn't always tell "Log out anyway", but
+ "Shutdown anyway" when it's about shutting down.
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.26.1
+
+==================== 2.26.0.90 ====================
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.26.0.90
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ Make reboot and shutdown leave the session properly, by letting apps
+ exit before doing the real reboot/shutdown.
+
+ Note that because of the ConsoleKit policies, the ways it's handled
+ when there are more than one user logged in or when the policy always
+ require a password might be a bit different:
+ - in the usual case (single user, no password required), everything
+ works as expected.
+ - in the multiple users case (password generally required once), we
+ ask for the password before trying to exit the session.
+ - if the password is required each time the ConsoleKit action is
+ called, then we'll ask for the password only once, after having made
+ all apps exit. If this doesn't work (wrong password), since the
+ session is killed anyway, we log out and ask gdm to do the action.
+
+ * gnome-session/gsm-marshal.list: add new signature that we need
+ * gnome-session/gsm-consolekit.[ch]: add new privileges-completed
+ signal
+ (gsm_consolekit_class_init): add new signal
+ (gsm_consolekit_get_result_for_action): new, split from
+ gsm_consolekit_can_do_action()
+ (gsm_consolekit_can_do_action): ensure that the CK connection works
+ here (instead of requiring callers to do it), and use
+ gsm_consolekit_get_result_for_action()
+ (gsm_consolekit_is_session_for_other_user): new, ask ConsoleKit if a
+ session object is for a different user than the current user (ignoring
+ the login sessions)
+ (gsm_consolekit_is_single_user): new, determine if there's only a
+ single user logged in on this machine
+ (obtain_privileges_cb): new, PolicyKit callback when the privileges
+ were obtained/denied, to send the privileges-completed signal
+ (gsm_consolekit_obtain_privileges_for_action): new, obtain the
+ PolicyKit privileges for a specific action
+ (gsm_consolekit_get_privileges_for_actions): new, to know if we have
+ privileges for a set of actions, and request the privileges if needed
+ (gsm_consolekit_get_restart_privileges): new, trivial
+ (gsm_consolekit_get_stop_privileges): new, trivial
+ (gsm_consolekit_can_restart): do not ensure that the CK connection
+ works here, it will be done in gsm_consolekit_can_do_action()
+ (gsm_consolekit_can_stop): ditto
+
+ * gnome-session/gsm-manager.c: we add a logout type variable that lets
+ us remember what should be done when gnome-session exits.
+ (quit_request_completed): new, callback that will make gnome-session
+ exit after the ConsoleKit call to Stop/Restart has been done. If the
+ ConsoleKit call wasn't successful, we fallback on gdm (since we're in
+ the EXIT phase, and all apps have quitted, there's no point in not
+ asking gdm to do that).
+ (gsm_manager_quit): new, to do the right thing to log out depending on
+ what the user wanted to achieve when logging out.
+ (end_phase): use gsm_manager_quit() instead of directly calling
+ gtk_main_quit()
+ (cancel_end_session): reset the logout type to none
+ (do_attempt_reboot), (do_attempt_shutdown), (manager_attempt_reboot),
+ (manager_attempt_shutdown): killed/merged in
+ request_reboot/request_shutdown
+ (do_inhibit_dialog_action): renamed from do_dialog_action(); for
+ shutdown and reboot, we just do like logout and end the phase.
+ (inhibit_dialog_response): s/do_dialog_action/do_inhibit_dialog_action
+ (query_end_session_complete): add a comment about
+ gsm_inhibit_dialog_new to make it clear that the
+ GSM_LOGOUT_ACTION_LOGOUT parameter is fine for shutdown and reboot too
+ (request_reboot_privileges_completed): new, handle the fact that we got
+ the privileges from ConsoleKit to do the reboot.
+ (request_reboot): ask ConsoleKit for the privileges to reboot, and if
+ it doesn't work (no ConsoleKit), just end the phase
+ (request_shutdown_privileges_completed), (request_shutdown): see above
+ changes for reboot functions
+ (request_logout): set the logout type
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ Remove the 1-second delay to display the inhibit dialog when an
+ application is blocking logging out.
+
+ * gnome-session/gsm-manager.c: (query_end_session_complete): remove the
+ query timeout since it might still be running
+ (do_phase_query_end_session): do not remove the query timeout here:
+ it's the start of a phase, so there's no such timeout
+ (on_client_end_session_response): rework a bit to make sure we call
+ query_end_session_complete() if we are at the end of
+ GSM_MANAGER_PHASE_QUERY_END_SESSION
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (do_phase_end_session),
+ (do_phase_exit): use GSM_MANAGER_PHASE_TIMEOUT instead of hard-coding
+ 10 seconds everywhere.
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-logout-dialog.c: (on_ck_request_completed): killed
+ (gsm_logout_dialog_init): don't connect to request-completed of the
+ consolekit object: we actually don't do anything in the callback
+ anyway...
+
+2009-04-08 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-xsmp-client.c: (save_yourself_done_callback): only
+ call SmsSaveComplete() if we are still in a SaveYourself state. My
+ previous change about this didn't take into account the case where the
+ logout is cancelled, in which case SmsSaveComplete() shouldn't be
+ called.
+
+2009-04-05 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gs-idle-monitor.c (handle_alarm_notify_event): Ignore
+ XSyncAlarmDestroyed events, and don't spam .xsession-errors for these.
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (end_phase): put the call that
+ potentially saves the session here, at the end of END_SESSION instead
+ of many random places
+ (do_phase_end_session),
+ (do_phase_end_session_part_2), (on_client_end_session_response): remove
+ calls to maybe_save_session()
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Remove the END_SESSION_LAST phase since it was considered to break the
+ design. Instead, just use a second step in the END_SESSION phase.
+
+ * gnome-session/gsm-manager.[ch]: (phase_num_to_name): remove
+ END_SESSION_LAST phase
+ (end_phase): always clean up next_query_clients, and remove
+ END_SESSION_LAST phase.
+ (on_phase_timeout): remove END_SESSION_LAST phase
+ (_client_end_session): change the function signature so that we can
+ merge this old function and _client_end_session_last
+ (_client_end_session_last): killed
+ (_client_end_session_helper): new, helper used for
+ do_phase_end_session() since _client_end_session() cannot be directly
+ used anymore
+ (do_phase_end_session): use _client_end_session_helper(), and save
+ session if there's nothing to do
+ (do_phase_end_session_last): renamed to...
+ (do_phase_end_session_part_2): ... this. Don't reset the phase timeout
+ since we're still in the END_SESSION phase. Clean up next_query_clients
+ after having used it.
+ (start_phase): always clean up next_query_clients, remove
+ END_SESSION_LAST phase
+ (maybe_save_session): s/END_SESSION_LAST/END_SESSION/
+ (on_client_end_session_response): only accept to end a client last if
+ we're in END_SESSION. Start the second step of END_SESSION if there's
+ no clients that haven't replied, no inhibitor and if there are clients
+ to end last. Note that we don't remove the phase timeout here since it
+ will either be needed in the second step or will be removed in
+ end_phase().
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Allow XSMP clients to interact only during the
+ GSM_MANAGER_PHASE_QUERY_END_SESSION phase. If they didn't interact
+ during this phase, too bad for them.
+ The idea is that GSM_MANAGER_PHASE_QUERY_END_SESSION is about letting
+ them save user data and interact if it's needed for saving user data,
+ while GSM_MANAGER_PHASE_END_SESSION is about telling them that they
+ really have to save data now if they need too.
+
+ Also if we have a queued SaveYourself, remember if it allowed
+ interaction or not.
+
+ * gnome-session/gsm-xsmp-client.c: (gsm_xsmp_client_init): initialize
+ next_save_yourself_allow_interact
+ (do_save_yourself): change forceful argument to allow_interact for
+ better clarity, and save it to next_save_yourself_allow_interact when
+ relevant
+ (xsmp_cancel_end_session): reset next_save_yourself_allow_interact
+ (xsmp_query_end_session): update for do_save_yourself() argument
+ change, and also enforce the fact that we don't save the state of the
+ client here
+ (xsmp_end_session): force the client to not interact here
+ (save_yourself_request_callback): update for do_save_yourself()
+ argument change
+ (save_yourself_done_callback): use next_save_yourself_allow_interact if
+ there was a queued SaveYourself.
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (maybe_save_session): re-enable session
+ saving (revert the change that was committed just before 2.26.0).
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ * tools/gnome-session-save.c: hide deprecated command-line options from
+ --help, but still accept them.
+ (main): return 0 instead of a variable that is always set to 0
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Create a END_SESSION_LAST phase during which we handle the clients
+ which wanted to be ended last.
+ For this, we need to keep a list of clients in that case.
+
+ * gnome-session/gsm-client.h: add a new
+ GSM_CLIENT_END_SESSION_FLAG_LAST flag, to tell the client it's running
+ last.
+ * gnome-session/gsm-manager.[ch]: (phase_num_to_name): handle new phase
+ (end_phase): empty the list of clients that wants to be ended last if
+ it's not a relevant phase. Also handle new phase.
+ (on_phase_timeout): handle new phase
+ (_client_end_session_last): new, to tell a client that the session is
+ being ended. Works like _client_end_session()
+ (do_phase_end_session_last): prepare the right flags to be used for
+ each clients via _client_end_session_last(). Note that we don't use all
+ clients in the session here, but the list of clients that wanted to be
+ ended last.
+ We use a 10 seconds timeout for that phase to not block on clients that
+ don't reply. Also, if there's no client in the session, then save the
+ session if auto-save is enabled.
+ (start_phase): empty the list of clients that wants to be ended last if
+ it's not a relevant phase. Also handle new phase.
+ (maybe_save_session): make this call valid in END_SESSION_LAST instead
+ of END_SESSION
+ (on_client_end_session_response): save the client in a specific list if
+ it wants to be ended last.
+ * gnome-session/gsm-xsmp-client.c: (xsmp_save_yourself_phase2):
+ uncomment
+ (xsmp_end_session): if the client is running last, then it means it's
+ phase2 of SaveYourself, so use xsmp_save_yourself_phase2()
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ s/gdm_client_end_session_response/gsm_client_end_session_response/g
+
+ * gnome-session/gsm-client.c: (gsm_client_end_session_response):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c: (handle_end_session_response):
+ * gnome-session/gsm-xsmp-client.c:
+ (save_yourself_phase2_request_callback),
+ (interact_request_callback), (interact_done_callback),
+ (save_yourself_done_callback):
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Allow clients to specify that they want to be ended last (this mainly
+ matches the Phase2 of SaveYourself in XSMP). The server doesn't use
+ this information yet.
+
+ * gnome-session/gsm-client.[ch]: (gsm_client_class_init): add new
+ do_last argument to END_SESSION_RESPONSE signal
+ (gdm_client_end_session_response): add do_last and use it
+ * gnome-session/gsm-marshal.list: updated for new signature
+ * gnome-session/gsm-manager.c: (on_client_end_session_response): add
+ do_last parameter, unused for now
+ * gnome-session/gsm-dbus-client.c: (handle_end_session_response): pass
+ FALSE as do_last
+ * gnome-session/gsm-xsmp-client.c:
+ (save_yourself_phase2_request_callback): pass TRUE as do_last since
+ that's what the phase2 is
+ (interact_request_callback): pass FALSE as do_last
+ (interact_done_callback): pass FALSE as do_last
+ (save_yourself_done_callback): pass FALSE as do_last
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (do_phase_end_session),
+ (auto_save_is_enabled): coding style nit-picking
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Allow an interacting app to cancel the logout.
+
+ * gnome-session/gsm-client.[ch]: (gsm_client_class_init): add new
+ cancel argument to END_SESSION_RESPONSE signal
+ (gdm_client_end_session_response): add cancel and use it
+ * gnome-session/gsm-marshal.list: updated for new signature
+ * gnome-session/gsm-manager.c: (on_client_end_session_response): add
+ cancel paramter, and call cancel_end_session if cancel is TRUE
+ * gnome-session/gsm-dbus-client.c: (handle_end_session_response): pass
+ FALSE as cancel
+ * gnome-session/gsm-xsmp-client.c:
+ (save_yourself_phase2_request_callback): pass FALSE as cancel
+ (interact_request_callback): pass FALSE as cancel
+ (interact_done_callback): pass the value returned by the client as
+ cancel
+ (save_yourself_done_callback): pass FALSE as cancel
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Actually allow XSMP clients to interact during the logout. It works
+ quite well with the inhibitor infrastructure since a JIT inhibitor will
+ be created.
+ Note that the user will get two dialogs: eg, when gedit has an unsaved
+ document, the user will see the gedit save/cancel dialog and the
+ inhibit dialog. That's actually a good thing since the save/cancel
+ dialog from gedit might be in another workspace, and so the inhibit
+ dialog makes sure the user knows what's going on.
+
+ * gnome-session/gsm-xsmp-client.c: (xsmp_interact): uncomment
+ (interact_request_callback): stop cancelling the session when a client
+ wants to interact, and allow the client to interact.
+
+2009-03-25 Vincent Untz <vuntz@gnome.org>
+
+ Make session saving works a bit better by telling client to not just
+ save the global state, but also the local state when relevant.
+
+ * gnome-session/gsm-client.h: add new GSM_CLIENT_END_SESSION_FLAG_SAVE
+ * gnome-session/gsm-manager.c: (do_phase_end_session): if the session
+ should be autosaved, then pass the GSM_CLIENT_END_SESSION_FLAG_SAVE
+ flag
+ (do_phase_query_end_session): add a comment explaining why we don't use
+ the GSM_CLIENT_END_SESSION_FLAG_SAVE flag
+ * gnome-session/gsm-xsmp-client.c: (xsmp_query_end_session),
+ (xsmp_end_session): depending on the presence of the
+ GSM_CLIENT_END_SESSION_FLAG_SAVE flag, use SmSaveBoth or SmSaveGlobal
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-xsmp-client.c: (do_save_yourself): just add some
+ paranoia code to make sure our state is consistent
+ (xsmp_cancel_end_session): reset the save_yourself state here since we
+ cancel the operation anyway
+ (save_yourself_phase2_request_callback): fix to not behave exactly like
+ SaveYourselfDone. This is wrong according to XSMP.
+ (save_yourself_done_callback): always call SmsSaveComplete() (it's
+ expected by XSMP), and ignore the success argument. It's actually
+ useless.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ Rework deeply the code that writes the saved session to desktop files:
+ we now properly discard a client when removing it; we also make sure we
+ save the current session before we completely remove the previously
+ saved session (to be on the safe side).
+ Note that we only discard a client when the new saved session doesn't
+ use the same discard command: for example, when metacity saves its
+ state, it will reuse the same discard command and so we can't discard
+ the old metacity client (it would discard the new client).
+
+ * gnome-session/gsm-util.[ch]: (gsm_util_get_empty_tmp_session_dir):
+ new function to get a temporary directory where to save the new
+ session, while we still keep the previously saved session. It also
+ makes sure the directory is empty.
+ * gnome-session/gsm-session-save.[ch]: (save_one_client): update to
+ make sure we remember the discard command from the client.
+ (gsm_session_save): rework to first save the session in the temporary
+ directory (and remember the discard commands from the saved clients),
+ and then clear the old session. We finish by renaming the temporary
+ directory to its final name.
+ (gsm_session_clear_one_client): new, to properly clear one client from
+ a saved session. We unlink the desktop file, but also run the discard
+ command if it's not used by any other client from the newly saved
+ session.
+ (gsm_session_clear_saved_session): change to clear a saved session in a
+ specified directory, and use gsm_session_clear_one_client() instead of
+ just unlinking the desktop file. Also add missing g_dir_close().
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-xsmp-client.c: (xsmp_save): just don't return a
+ keyfile if there's no restart command for this client (ie, we won't
+ save this client). Also make sure keyfile is properly initialized to
+ NULL to avoid an undefined return value in that case.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-xsmp-client.c: (xsmp_get_discard_command):
+ uncomment
+ (xsmp_save): when saving the xsmp client to a desktop file, also save
+ the discard command since we'll want to use it at some point when
+ discarding the saved app.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (cancel_end_session): ignore this if
+ we're not in a relevant phase. Also make sure the inhibit dialog is
+ destroyed before removing inhibitors (which would activate the
+ inhibit dialog)
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-util.c: (ensure_dir_exists): create the dir with
+ permission 0755.
+ (gsm_util_get_saved_session_dir): use ~/.config instead of ~/.gnome2.
+ It's a good time to start using the xdg folders before we actually
+ start putting data.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-inhibit-dialog.c: (update_dialog_text): fix debug
+ string
+ * gnome-session/gsm-manager.c: (cancel_end_session): add debug string
+ (gsm_manager_shutdown): fix debug string
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): use
+ gsm_util_get_desktop_dirs() instead of just gsm_util_get_app_dirs().
+ Also try to handle desktop filenames that are an absolute path the best
+ way possible (this happens with OpenOffice.org).
+ * gnome-session/gsm-util.[ch]: (gsm_util_get_desktop_dirs): new
+ function, to return all the directories where we look up for the
+ desktop files.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): handle NULL
+ errors instead of crashing, which can happen in some cases in
+ EggDesktopFile.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-inhibit-dialog.c: use a 32x32 icon size for icons,
+ looks better this way.
+
+2009-03-24 Vincent Untz <vuntz@gnome.org>
+
+ Let all processes cleanly exit on exit.
+
+ * gnome-session/gsm-manager.c: (end_phase): rework with a switch so
+ that it's easy to see what's going on for which phases. We also don't
+ exit immediately when we reach the exit phase, and instead let
+ start_phase() do its work
+ (_client_stop): stop a client
+ (do_phase_exit): create a 10 second timeout that will force the end of
+ the phase, and tells each client to stop via _client_stop() so they can
+ have a chance to properly exit before we quit.
+ (start_phase): call do_phase_exit() on exit phase
+
+2009-03-18 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * doc/man/*: rework the man pages so that they're up-to-date.
+
+2009-03-16 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.26.1
+
+==================== 2.26.0 ====================
+
+2009-03-16 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.26.0
+
+2009-03-16 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gsm-manager.c: (maybe_save_session): disable session
+ saving with "#if 0" for the 2.26.0 release: it's not ready yet.
+
+2009-03-14 Vincent Untz <vuntz@gnome.org>
+
+ * capplet/gsm-properties-dialog.c:
+ (gsm_properties_dialog_constructor): do not call gtk_widget_show_all on
+ the dialog, just gtk_widget_show
+ * data/session-properties.glade: hide the "save current session" button
+ since it doesn't do anything at the moment, so it's confusing to have
+ it there.
+
+2009-03-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 574399 – turn off debug spew
+
+ * gnome-session/main.c: ditto.
+
+2009-03-03 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.26.0
+
+==================== 2.25.92 ====================
+
+2009-03-03 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.25.92
+
+2009-03-01 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-consolekit.c: add constant holding login window
+ session type value to be used in different places of the code.
+ * gnome-session/gsm-logout-dialog.c: use new consolekit constant for
+ login window session type.
+ * gnome-session/gsm-manager.c: don't save session if session type is
+ login window.
+ * gnome-session/main.c: don't load saved session if session type is
+ login window.
+
+2009-02-26 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gs-idle-monitor.c: Ask for AlertNotify in a way
+ that XSync understands. (#567958)
+
+2009-02-26 Vincent Untz <vuntz@gnome.org>
+
+ * capplet/gsm-properties-dialog.c: (edit_app_dialog):
+ * tools/gnome-session-save.c: (display_error): use a Close button
+ instead of an Ok button in error dialogs. If considered an UI change,
+ then it's trivial and it doesn't affect documentation.
+
+2009-02-25 Paolo Borelli <pborelli@katamail.com>
+
+ * gnome-session/gsm-client.c:
+ chain up finalize
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/Makefile.am, gnome-session/gsm-resumed-app.[ch]:
+ remove GsmResumedApp code as it's being used anymore.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c, gnome-session/gsm-manager.c: remove code for
+ handling legacy session saving files as it won't be supported anymore.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 552387 – gnome-session doesn't save session anymore
+
+ * gnome-session/Makefile.am: add gsm-session-save.[ch] to the build.
+ * gnome-session/gsm-session-save.[ch]: session saving functions.
+ * gnome-session/gsm-autostart-app.c (load_desktop_file): check if the
+ desktop file has X-GNOME-Autostart-startup-id to define startup id of
+ the GsmAutostartApp.
+ * gnome-session/gsm-client.[ch] (gsm_client_save): add gsm_client_save
+ virtual method which should be implemented by each type of client.
+ * gnome-session/gsm-dbus-client.c, gnome-session/gsm-xsmp-client.c:
+ add respective gsm_client_save implementations. D-Bus clients still
+ don't implement saving.
+ * gnome-session/gsm-manager.c (auto_save_is_enabled,
+ maybe_save_session): save session state if auto save is enable before
+ finalizing the session.
+ * gnome-session/main.c (load_standard_apps): load GsmApps from the
+ saved session directory.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c, gnome-session/gsm-util.[ch]: move
+ find_desktop_file_for_app_name to gsm-util so that we can use it in
+ other places.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c (user_logout): use gconf client from
+ GsmManager instead of getting a new one.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-xsmp-client.c (do_save_yourself): add comments on
+ SmsSaveYourself parameters for clarity.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c (on_xsmp_client_logout_request):
+ improve readability of conditional code.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c: wrap too long lines into 80 cols.
+
+2009-02-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c: rename forceful attribute to
+ forceful_logout for clarity.
+
+2009-02-22 Lucas Rocha <lucasr@gnome.org>
+
+ * capplet/gsm-properties-dialog.c: use G_KEY_FILE_DESKTOP_* constants
+ instead of hardcoded groups and key names.
+
+2009-02-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c: coding style fixes from last commit.
+
+2009-02-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c (gsm_manager_start, cancel_end_session):
+ always use gsm_manager_set_phase to set manager phase for consistency.
+
+2009-02-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gsm-manager.c: rename load_from_gconf to
+ load_idle_delay_from_gconf for clarity.
+
+2009-02-21 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c: Use system-log-out as icon,
+ instead of gnome-logout, which doesn't exist.
+
+2009-02-17 Frederic Crozat <fcrozat@mandriva.com>
+
+ * data/gsm-inhibit-dialog.glade:
+ Ensure treeview is included in a scrolled window with a shadow.
+
+2009-02-17 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.25.92.
+
+==================== 2.25.91 ====================
+
+2009-02-17 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.25.91
+
+2009-02-13 Luca Ferretti <elle.uca@libero.it>
+
+ * data/gnome-session.schemas.in: better phrase for
+ "required_components_list" key, thanks to Dan Winship
+
+2009-02-13 Luca Ferretti <elle.uca@libero.it>
+
+ reviewed by: Vincent Untz <vuntz@gnome.org>
+
+ * capplet/gsm-properties-dialog.c: (gsm_properties_dialog_init):
+ Use "Startup Applications Preference" as window title to mach
+ capplet launcher Name.
+
+2009-02-13 Luca Ferretti <elle.uca@libero.it>
+
+ * data/gnome-session.schemas.in:
+ Removed obsolete "logout_option" key; fix and update long
+ description for "required_components_list" key.
+
+2009-02-12 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 570908 – capplet misnomer
+
+ * data/session-properties.desktop.in.in: change capplet name to
+ "Startup Applications" and the description to "Choose what
+ applications to start when you log in" to better match what the
+ capplet actually does nowadays.
+
+2009-02-11 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 556439 – improve logout/shutdown dialog messages
+
+ * gnome-session/gsm-consolekit.[ch]: add new
+ gsm_consolekit_get_current_session_type function to GsmConsolekit.
+ * gnome-session/gsm-logout-dialog.c (gsm_logout_dialog_timeout): only
+ message about logged user when using logout dialog from gdm.
+ Patch by Matthias Clasen.
+
+2009-02-11 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 565063 – Avoid restarting applications when shutting down
+
+ * gnome-session/gdm-signal-handler.[ch]
+ (gdm_signal_handler_set_fatal_func): redefine this function to receive
+ custom callback.
+ * gnome-session/gsm-manager.[ch]: added gsm_manager_set_phase
+ function.
+ * gnome-session/main.c: set session manager phase to
+ GSM_MANAGER_PHASE_EXIT when gnome-session process is shutting down.
+ Patch by Brian Cameron.
+
+2009-02-07 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gs-idle-monitor.c (_xsync_alarm_set): Fix a
+ copy-and-paste error in debug output.
+
+2009-02-03 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.25.91.
+
+==================== 2.25.90 ====================
+
+2009-02-03 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.25.90
+
+2009-01-28 Vincent Untz <vuntz@gnome.org>
+
+ * doc/dbus/spec-to-docbook.xsl:
+ * gnome-session/org.gnome.SessionManager.ClientPrivate.xml: fix
+ everything so that the dbus documentation is valid docbook.
+ Fix bug #569443.
+
+2009-01-28 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/gs-idle-monitor.c: (gs_idle_monitor_reset): fix build
+ when the XTest extension is not available.
+
+2009-01-26 Richard Hughes <richard@hughsie.com>
+
+ * gnome-session/org.gnome.SessionManager.xml:
+ Fix up the documentation to mention the session bus, not the
+ system bus.
+
+2009-01-23 Vincent Untz <vuntz@gnome.org>
+
+ * splash/splash-window.c: (layout_icon): fix a crash I had at some
+ point.
+ (gsm_splash_window_start): use 22x22 icons in the splash
+
+2009-01-22 Vincent Untz <vuntz@gnome.org>
+
+ * compat/Makefile.am: install autostart desktop files in
+ /etc/xdg/autostart
+
+2009-01-19 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.25.90.
+
+==================== 2.25.5 ====================
+
+2009-01-19 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.25.5
+
+2009-01-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-presence.c (on_bus_name_owner_changed):
+ Compare the correct string for name owner changes.
+
+2009-01-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (load_from_gconf),
+ (on_gconf_key_changed):
+ * gnome-session/gsm-presence.c (set_session_idle),
+ (on_idle_timeout), (reset_idle_watch),
+ (on_screensaver_active_changed), (on_screensaver_proxy_destroy),
+ (on_bus_name_owner_changed), (register_presence),
+ (gsm_presence_constructor):
+ Fix timeout scale. Disable idle detection while screensaver
+ is active.
+
+2009-01-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-presence.c (reset_idle_watch),
+ (gsm_presence_set_idle_enabled), (gsm_presence_set_idle_timeout):
+ Reset the idle watch when the timeout property changes.
+
+2009-01-16 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-consolekit.c (gsm_consolekit_set_session_idle):
+ * gnome-session/gsm-consolekit.h:
+ * gnome-session/gsm-manager.c (on_presence_status_changed),
+ (gsm_manager_init):
+ Inform CK that session idle status has changed.
+
+2009-01-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/org.gnome.SessionManager.xml:
+ Add docs for inhibit idle.
+
+2009-01-15 William Jon McCann <jmccann@redhat.com>
+
+ * data/gnome-session.schemas.in:
+ * gnome-session/gsm-manager.c (gsm_manager_dispose),
+ (invalid_type_warning), (load_from_gconf), (on_gconf_key_changed),
+ (gsm_manager_init):
+ Add gconf key for idle delay.
+
+2009-01-14 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-presence.c:
+ * gnome-session/gsm-presence.h:
+ * gnome-session/org.gnome.SessionManager.Presence.xml:
+ Some changes based on comments from Robert McQueen.
+ Expose properties for status and status-text. Remove
+ getters.
+
+2009-01-11 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-presence.c (gsm_presence_set_status_text):
+ Add status text size limit.
+
+2009-01-11 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/Makefile.am:
+ * gnome-session/gs-idle-monitor.c (_xsyncvalue_to_int64),
+ (_int64_to_xsyncvalue), (gs_idle_monitor_dispose), (_find_alarm),
+ (find_watch_for_alarm), (send_fake_event), (gs_idle_monitor_reset),
+ (handle_alarm_notify_event), (xevent_filter), (init_xsync),
+ (_init_xtest), (gs_idle_monitor_constructor),
+ (gs_idle_monitor_class_init), (get_next_watch_serial),
+ (idle_monitor_watch_new), (idle_monitor_watch_free),
+ (gs_idle_monitor_init), (gs_idle_monitor_finalize),
+ (gs_idle_monitor_new), (_xsync_alarm_set),
+ (gs_idle_monitor_add_watch), (gs_idle_monitor_remove_watch):
+ * gnome-session/gs-idle-monitor.h:
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (end_phase),
+ (gsm_manager_is_idle_inhibited), (update_idle), (start_phase),
+ (on_store_inhibitor_added), (on_store_inhibitor_removed),
+ (gsm_manager_dispose), (gsm_manager_init):
+ * gnome-session/gsm-presence.c (gsm_presence_error_quark),
+ (gsm_presence_error_get_type), (register_presence),
+ (gsm_presence_constructor), (gsm_presence_init),
+ (gsm_presence_get_status_text), (gsm_presence_get_status),
+ (on_idle_timeout), (gsm_presence_set_idle_enabled),
+ (gsm_presence_set_status_text), (gsm_presence_set_status),
+ (gsm_presence_set_idle_timeout), (gsm_presence_set_property),
+ (gsm_presence_get_property), (gsm_presence_finalize),
+ (gsm_presence_class_init), (gsm_presence_new):
+ * gnome-session/gsm-presence.h:
+ * gnome-session/org.gnome.SessionManager.Presence.xml:
+ Add presence API.
+
+2009-01-09 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 502944 – application icon gets tiny on desktop
+
+ * configure.in, data/icons/Makefile.am, data/icons/48x48/*: add icon
+ with 48x48 pixels.
+
+2009-01-09 Lucas Rocha <lucasr@gnome.org>
+
+ 550726 – Apps with an icon not existing in the icon theme displayed
+ with no icon
+
+ * capplet (append_app): check if defined icon name actually exists
+ in the icon theme. Use default icon otherwise.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 554725 – resync gnome-session from libegg
+
+ egg/*: ditto. Patch by Dan Winship.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 559145 – Double-click startup program entry to open edit dialog
+
+ * capplet/gsm-properties-dialog.c (setup_dialog, on_row_activated):
+ open the edit app dialog when activating the respective entry in the
+ view.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 552218 – typo: "unable connect"
+
+ * gnome-session/gsm-util.c: fix typo.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 551826 – Add NoDisplay=True to desktop files
+
+ * data/gnome-wm.desktop.in.in,
+ compat/gnome-settings-daemon-helper.desktop.in.in,
+ compat/at-spi-registryd-wrapper.desktop.in.in.in,
+ splash/gnome-session-splash.desktop.in.in.in:
+ define NoDisplay=true.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 551766 – Automagic dependency on PolicyKit in configure.in
+
+ * configure.in: added support for explicit --enable-polkit and
+ --disable-polkit. The default (if nothing is specified) is auto.
+ Patch by Nirbheek Chauhan.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 555369 – gnome-session-properties work improperly when key
+ X-GNOME-Autostart-enabled=false in .desktop
+
+ * capplet/gsm-properties-dialog.c (toggle_app, enable_app,
+ disable_app): move app enabling/disabling logic into toggle_app and
+ fix handling of X-GNOME-Autostart-enabled in .desktop files.
+ Patch by Halton Huo.
+
+2009-01-08 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 566858 – configure script does not check for sm package (needed to
+ check X11/SM/SMlib.h)
+
+ * configure.am, gnome-session/Makefile.am, egg/Makefile.am,
+ tools/Makefile.am: check for sm and ice libs through pkgconfig and use
+ it in the build.
+
+2009-01-06 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 557634 – gnome-session doesn't inspect $XDG_DATA_HOME/applications
+
+ * gnome-session/gsm-util.c (gsm_util_get_app_dirs): add
+ $XDG_DATA_HOME/applications to the list of app directories.
+ Patch by tuxce.
+
+2009-01-06 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 563640 – In all phases before APPLICATION, consider process
+ termination as completion
+
+ Most clients register using the session protocol. But it's perfectly
+ fine if a client simply exits upon completion, or forks and exits in
+ the parent when ready. This is indeed how we were treating phase
+ INITIALIZATION. There is no reason to not treat other non-APPLICATION
+ phases that way. The default clients for those phases (gnome-panel,
+ metacity, nautilus) register to the session, but for example,
+ libcanberra installed a script for phase DESKTOP to play login sound,
+ and since it doesn't connect to the session, gnome-session was
+ timeout'ing for that phase.
+
+ * gnome-session/gsm-manager.c (on_app_exited, _start_app): ditto.
+ Patch by Behdad Esfahbod.
+
+2009-01-06 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 563354 – gnome-session does not close ICE connection for qt3 apps
+
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_disconnect):
+ disable shutdown negotiation before closing the ICE connection when
+ connection is known to be terminated.
+ Patch by Edward Sheldrake.
+
+2008-12-14 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.25.4.
+
+==================== 2.25.3 ====================
+
+2008-12-14 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS: version 2.25.3
+
+2008-12-10 Vincent Untz <vuntz@gnome.org>
+
+ Kill libgnomeui dependency.
+
+ * configure.in: remove libgnomeui dep for splash, remove check for
+ libgnomeui for eggsmclient
+ * egg/Makefile.am: remove eggsmclient-libgnomeui.* stuff
+ * egg/eggsmclient-libgnomeui.[ch]: killed
+ * splash/Makefile.am: updated
+ * splash/gnome-session-splash.c: (load_pixbuf): changed to a helper
+ function
+ (load_pixbuf_relative_path): use g_get_system_data_dirs() instead of
+ gnome_program_locate_file()
+ (load_splash_pixbuf): updated
+ (setup_splash_window): don't unref the pixbuf if we didn't have a
+ pixbuf
+ (main): setup gettext, use GOption + gtk_init() instead of
+ gnome_program_init()
+
+2008-12-10 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/Makefile.am: fix build
+
+2008-12-10 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * compat/Makefile.am:
+ * gnome-session/Makefile.am:
+ * splash/Makefile.am: try to sanitize things a bit so we can know which
+ part of gnome-session depends on which library
+
+2008-12-10 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: remove TIME_UTILITY and GNOME_SESSION_TARBALL_* since
+ it's unused, use GNOME_COMPILE_WARNINGS instead of some custom stuff
+ to define compiler warning flags
+ * capplet/Makefile.am:
+ * compat/Makefile.am:
+ * egg/Makefile.am:
+ * gnome-session/Makefile.am:
+ * splash/Makefile.am:
+ * tools/Makefile.am: add WARN_CFLAGS/DISABLE_DEPRECATED_CFLAGS
+ * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): fix compilation
+ warning
+ * splash/splash-window.c: (splash_window_expose_event): don't use
+ deprecated API
+ (splash_window_finalize): don't unref something we don't own
+
+2008-12-08 Ray Strode <rstrode@redhat.com>
+
+ * gnome-session/gsm-dbus-client.c
+ (client_dbus_filter_function):
+ Add patch from Tim Kosse to address
+ issue with multiple clients trying
+ to use the QueryEndSession dbus api
+ (bug 559469)
+
+2008-12-02 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.25.3.
+
+==================== 2.25.2 ====================
+
+2008-12-02 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:
+ * configure.in: version 2.25.2
+
+2008-11-26 Diego Escalante Urrelo <diegoe@gnome.org>
+
+ * gnome-session/gsm-util.c:
+ * gnome-session/main.c:
+ Don't do single includes for glib. Fixes #560786.
+
+2008-11-14 Stef Walter <stef@memberwebs.com>
+
+ * configure.in:
+ * compat/Makefile.am:
+ * compat/README:
+ * gnome-keyring-daemon-wrapper.c: (removed)
+ * gnome-keyring-daemon-wrapper.desktop.in.in.in: (removed)
+ Remove compat wrapper for gnome-keyring session interaction.
+
+2008-11-11 Ray Strode <rstrode@redhat.com>
+
+ * gnome-session/org.gnome.SessionManager.xml (CanShutdown)
+ * gnome-session/gsm-manager.[ch] (gsm_manager_can_shutdown):
+ Add new dbus api to say whether shutdown dialog is available.
+ (bug 536915)
+ * gnome-session/gsm-consolekit.c
+ (gsm_consolekit_can_do_action): new function to query
+ policykit to determine whether the current session is
+ authorized to shutdown/reboot/etc.
+
+2008-11-10 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_register_client):
+ Rewrite the app-finding code to make more sense.
+
+2008-11-10 Kjartan Maraas <kmaraas@gnome.org>
+
+ * gnome-session/gsm-util.c: (gsm_util_init_error):
+ Format specifier warning fix.
+ * splash/Makefile.am: Add GCONF_LIBS/GCONF_CFLAGS.
+ * tools/gnome-session-save.c: (display_error):
+ Format specifiers again.
+
+2008-10-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (acquire_name):
+ Don't try to print an undefined error message.
+
+2008-10-26 Matthias Clasen <mclasen@redhat.com>
+
+ * capplet/gsm-properties-dialog.c: Make the window resizable,
+ since it shows scrollbars and ellipsized text.
+
+2008-10-24 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ Don't try to link to gnome-keyring and libgnomeui
+ since we don't use them.
+
+2008-10-22 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.24.2.
+
+==================== 2.24.1 ====================
+
+2008-10-22 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS: version 2.24.1
+
+2008-10-03 Luca Ferretti <elle.uca@libero.it>
+
+ reviewed by: Vincent Untz
+
+ * capplet/gsm-app-dialog.c: (setup_dialog):
+ * capplet/gsm-properties-dialog.c: (gsm_properties_dialog_init):
+ Fix untraslated strings from glade files
+ Fix bug #554340
+ Patch from: Wouter Bolsterlee <wbolster@gnome.org>
+
+2008-09-29 Christian Persch <chpe@gnome.org>
+
+ Bug 551869 – minor HIG problems with the capplet
+
+ * capplet/gsm-properties-dialog.c: (edit_app_dialog),
+ (gsm_properties_dialog_init):
+ * data/session-properties.glade: Part I: correct spacings and
+ paddings, and make the dialogue resizable.
+
+2008-09-29 Frederic Peters <fpeters@0d.be>
+
+ * tools/gnome-session-save.c: (main): rename kill variable to
+ kill_session to avoid conflict with kill(2). Fixes: #554202.
+
+2008-09-23 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c (autostart_app_start_spawn):
+ Fix startup id leak.
+ Fixes #552815
+ Patch from: Matthias Clasen <mclasen@redhat.com>
+
+2008-09-23 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (gsm_inhibit_dialog_dispose):
+ Fix a glade xml leak.
+ Fixes #552780
+ Patch from: Matthias Clasen <mclasen@redhat.com>
+
+2008-09-23 Patryk Zawadzki <patrys@pld-linux.org>
+
+ * data/session-properties.desktop.in.in: add GTK and GNOME.
+ Fix bug #552050.
+
+2008-09-22 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.24.1.
+
+==================== 2.24.0 ====================
+
+2008-09-22 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS: version 2.24.0
+
+2008-09-22 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/main.c: turn off debugging by default.
+ Fix bug #551761.
+
+2008-09-15 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 552255 – leaks IceConnection objects
+
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_disconnect):
+ Need to call IceCloseConnection always; SmsCleanUp doesn't do it
+ for us.
+ (client_iochannel_watch): ref client around the ICE processing,
+ since handling SM callbacks might otherwise cause it to be
+ destroyed. Clear client->priv->ice_connection on a
+ ConnectionClosed response to avoid a double free.
+
+ Patch by Dan Winship
+
+2008-09-15 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 552302 – leaks empty strings
+
+ * gnome-session/gsm-manager.c (_on_query_end_session_timeout):
+ (on_client_end_session_response): Plug a small string leak.
+
+2008-09-15 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 552294 – leaks EggDesktopFiles
+
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): Free
+ the desktop file when done with it.
+
+2008-09-15 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 552293 – leaks previous_id
+
+ * gnome-session/gsm-xsmp-client.c (register_client_callback):
+ Free previous_id in all cases.
+
+2008-09-15 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 552292 – leaks ListenObjs
+
+ * gnome-session/gsm-xsmp-server.c (gsm_xsmp_server_finalize):
+ Don't leak xsmp_sockets.
+
+2008-09-10 Frederic Crozat <fcrozat@mandriva.com>
+
+ * gnome-session/gsm-logout-dialog.c: backport
+ fix from gnome-panel: conversion from username
+ to UTF-8 if locale is not UTF-8.
+
+2008-09-08 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Post release version bump
+
+==================== 2.23.92 ====================
+
+2008-09-08 William Jon McCann <jmccann@redhat.com>
+
+ * NEWS: Update for release.
+
+2008-09-08 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (append_required_apps):
+ Warn if no required_components are specified.
+
+2008-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in:
+ * compat/Makefile.am:
+ * compat/*.desktop.*:
+ * data/Makefile.am:
+ * data/gnome-wm.desktop.*:
+ * data/session-properties.desktop.in.in:
+ * po/POTFILES.in:
+ * po/POTFILES.skip:
+ * splash/Makefile.am:
+ * splash/gnome-session-splash.desktop.*:
+ Make all desktop files translatable. Add to rework a bit the build
+ system for this.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * data/gnome-wm: avoid gnome-wm launching itself in loop when the
+ configuration tells us to use... gnome-wm.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ Remove required components from the default session. The required
+ components should always be in the default session anyway, and keeping
+ the list up-to-date in two places can break easily stuff (if someone
+ adds a required component or if the user change the value if
+ windowmanager only in required components, eg)
+ Note that it affects the failsafe session case: all required components
+ will also run in the failsafe session. This was intended to be this
+ way, as far as I understand.
+
+ * data/gnome-session.schemas.in: remove metacity,gnome-panel,nautilus
+ from the default session
+ * gnome-session/main.c: (load_standard_apps): always call
+ append_required_apps() since the required applications are not in the
+ default session.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * data/gnome-session.schemas.in:
+ * gnome-session/main.c: (append_required_apps):
+ Rename /desktop/gnome/session/required_components key to
+ /desktop/gnome/session/required_components_list avoid potential clash
+ that might happen because of the
+ /desktop/gnome/session/required_components directory.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * data/gnome-session.schemas.in: revert string freeze break. Add a
+ FIXME for the future instead.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * data/gnome-session.schemas.in:
+ * data/gnome-wm:
+ * gnome-session/main.c:
+ Do not use dash but underscore to separate words in gconf keys, as
+ recommended by the gconf naming conventions. Since they keys are new in
+ 2.23, it's not too late to do this change.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * configure.in: post-release bump to 2.23.92.
+
+==================== 2.23.91 ====================
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * NEWS:: version 2.23.91
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ Synchronize the environment set by the gnome-keyring daemon in the
+ gnome-keyring-daemon wrapper to the environment of gnome-session.
+ Fix the other part of bug #547272.
+
+ * compat/gnome-keyring-daemon-wrapper.c:
+ (keyring_env_to_hashtable): new, put an environment in a hash table
+ (keyring_environment_updated_from_new): new, call Setenv dbus method to
+ have gnome-session aware of changed/new environment variables
+ (keyring_environment_removed_from_old): new, unset (kind of, since
+ that's the Setenv dbus method with an empty value) environment
+ variables that were unset
+ (keyring_export_environment): new, does the synchronization magic
+ (keyring_daemon_start): updated to use keyring_export_environment()
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * compat/gnome-keyring-daemon-wrapper.c: (keyring_daemon_start): call
+ gnome_keyring_daemon_prepare_environment_sync() so that the keyring
+ daemon has all the right environment variables.
+ Patch by Stef Walter <stef@memberwebs.com>
+ Fix part of bug #547272.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/main.c: (main): set GNOME_DESKTOP_SESSION_ID to
+ "this-is-deprecated" to make it clear that people should stop relying
+ on this.
+
+2008-09-02 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/main.c: (main): export GNOME_DESKTOP_SESSION_ID. We
+ need this for compatibility reasons for third-party programs.
+ Fix bug #542880.
+
+2008-09-01 Vincent Untz <vuntz@gnome.org>
+
+ Add --logout, --force-logout, --logout-dialog and --shutdown-dialog
+ arguments to gnome-session-save, and deprecate --kill. This will make
+ things less ambiguous.
+
+ * tools/gnome-session-save.c: rename some variables
+ (display_error): updated
+ (get_sm_proxy): call get_session_bus() from there, since it simplifies
+ code elsewhere
+ (set_session_name): updated
+ (do_logout): renamed from logout_session(), and simplified. Also add
+ a mode argument for the logout dbus method.
+ (do_shutdown_dialog): new
+ (main): updated for new options
+ * doc/man/gnome-session-save.1: update man page
+ Fix bug #550211.
+
+2008-09-01 Vincent Untz <vuntz@gnome.org>
+
+ * gnome-session/main.c: (require_dbus_session): make sure we have a
+ session bus by re-running ourself with "dbus-launch
+ --exit-with-session" if necessary.
+ (main): call require_dbus_session() at the early beginning
+ Based on patch by Colin Walters <walters@verbum.org>
+ Fix bug #546863.
+
+2008-08-30 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-app.c:
+ * gnome-session/gsm-autostart-app.c:
+ * gnome-session/gsm-manager.c:
+ * gnome-session/gsm-resumed-app.c: Always chain up in dispose
+ handlers.
+
+2008-08-29 Matthias Clasen <mclasen@redhat.com>
+
+ * splash/gnome-session-splash.c: Plug a small leak.
+
+2008-08-29 Matthias Clasen <mclasen@redhat.com>
+
+ * egg/eggsmclient-xsmp.c (sm_client_xsmp_connect): Don't
+ leak cmdline.
+
+2008-08-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (find_desktop_file_for_app_name):
+ Add some debugging.
+
+2008-08-29 Matthias Clasen <mclasen@redhat.com>
+
+ * compat/at-spi-registryd-wrapper.c (set_gtk_modules): Plug
+ another leak
+
+2008-08-29 William Jon McCann <jmccann@redhat.com>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_new_from_key_file),
+ (egg_desktop_file_launchv):
+ * gnome-session/gsm-autostart-app.c (setup_condition_monitor),
+ (is_conditionally_disabled):
+ * gnome-session/gsm-resumed-app.c
+ (gsm_resumed_app_new_from_legacy_session):
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_finalize),
+ (register_client_callback):
+ Fix some leaks found by valgrind.
+ Patch from: Matthias Clasen <mclasen@redhat.com>
+
+2008-08-29 William Jon McCann <jmccann@redhat.com>
+
+ * data/Makefile.am:
+ Don't install the gnome-wm.desktop by default.
+
+2008-08-29 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/gsm-app-dialog.c (on_browse_button_clicked),
+ (setup_dialog), (gsm_app_dialog_dispose),
+ (gsm_app_dialog_get_name), (gsm_app_dialog_get_command),
+ (gsm_app_dialog_get_comment), (gsm_app_dialog_init),
+ (gsm_app_dialog_finalize):
+ * capplet/gsm-properties-dialog.c (gsm_properties_dialog_dispose),
+ (gsm_properties_dialog_finalize):
+ Fix add/edit dialog.
+
+2008-08-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (main): Fix typo.
+
+2008-08-28 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (append_default_apps), (load_standard_apps),
+ (load_override_apps), (main):
+ Add command line option to override the gconf key used
+ to look up the default session.
+
+2008-08-26 William Jon McCann <jmccann@redhat.com>
+
+ * data/gnome-wm:
+ Use the required components key if possible.
+
+2008-08-26 William Jon McCann <jmccann@redhat.com>
+
+ * data/gnome-session.schemas.in:
+ * data/gnome-wm:
+ Don't use gnome-wm by default. We should encourage
+ WMs to install a desktop file and to set
+ /desktop/gnome/session/required-components/windowmanager
+
+2008-08-26 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (find_desktop_file_for_app_name),
+ (append_default_apps), (append_required_apps):
+ Look in app dirs for required components.
+
+2008-08-26 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (append_required_apps):
+ Honor the list of required apps in the list key instead of
+ loading all component keys in the dir.
+
+2008-08-26 Frederic Crozat <fcrozat@mandriva.com>
+
+ * compat/at-spi-registryd-wrapper.c: always set a11y gtk modules
+ but unset it if at-registry could not be started. Still fixes #548982.
+
+2008-08-22 Frederic Crozat <fcrozat@mandriva.com>
+
+ * compat/at-spi-registryd-wrapper.c: don't set a11y gtk modules
+ if at registry could not be started. Fixes #548982.
+
+2008-08-22 Frederic Crozat <fcrozat@mandriva.com>
+
+ * gnome-session/gsm-util.c: ensure non-fatal error
+ are treated as such. Fixes #548980.
+
+2008-08-22 Jens Granseuer <jensgr@gmx.net>
+
+ * capplet/gsm-properties-dialog.c: add missing include for gio.
+ Fixes #548909.
+
+2008-08-21 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_restart):
+ * gnome-session/gsm-manager.c (_app_has_startup_id),
+ (find_app_for_startup_id), (_disconnect_client):
+ Don't return an error if we can't stop an app that we want
+ to restart. It may be stopped. Also try to find the
+ app based on the startup ID first if we have one.
+ Probably fixes #548710
+
+2008-08-20 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Post release version bump
+
+==================== 2.23.90 ====================
+
+2008-08-20 William Jon McCann <jmccann@redhat.com>
+
+ * NEWS: Update.
+ * configure.in: Bump version.
+ * gnome-session/gsm-manager.c (gsm_manager_dispose):
+ Disconnect signal handlers before disposing.
+
+2008-08-19 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c (interact_request_callback):
+ Fix debug to show correct dialog type for interact request.
+
+2008-08-19 Frederic Crozat <fcrozat@mandriva.com>
+
+ * splash/gnome-session-splash.c:
+ Exit splash screen when last client startup
+ notification finished. Fixes #546410
+
+2008-08-18 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/gsm-properties-dialog.c (add_app):
+ Fix a case where we don't create ~/.config/autostart
+ Based on patch from: James Westby <jw+debian@jameswestby.net>
+ Fixes #548129
+
+2008-08-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (gsm_inhibit_dialog_dispose):
+ Don't try to remove the signal handlers more than once.
+
+2008-08-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c
+ (gsm_inhibit_dialog_constructor):
+ Change a warning to a debug.
+
+2008-08-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c
+ (save_yourself_phase2_request_callback):
+ Honor SaveYourselfPhase2Request as a valid
+ SaveYourself response.
+ Fixes #548259
+
+2008-08-18 Claude Paroz <claude@2xlibre.net>
+
+ * data/gsm-inhibit-dialog.glade: Removed translatable property on stock
+ label.
+
+2008-08-16 Kjartan Maraas <kmaraas@gnome.org>
+
+ * capplet/gsm-app-dialog.c:
+ * egg/eggdesktopfile.h:
+ * egg/eggsmclient-libgnomeui.c: (egg_sm_client_module_info_get):
+ * egg/eggsmclient-xsmp.c:
+ * gnome-session/gsm-autostart-app.c:
+ * gnome-session/gsm-client.c:
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c:
+ * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor):
+ * gnome-session/gsm-inhibit-dialog.h:
+ * gnome-session/gsm-inhibitor.c:
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c:
+ * gnome-session/gsm-store.c:
+ * gnome-session/gsm-util.c:
+ * gnome-session/gsm-xsmp-client.c:
+ * gnome-session/gsm-xsmp-server.c:
+ * gnome-session/test-inhibit.c:
+ * tools/gnome-session-save.c:
+ Fix some warnings from sparse and other tools. Closes
+ bug #521413
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (inhibitor_has_client_id),
+ (_disconnect_client):
+ Remove inhibitors for the client when it disconnects.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor),
+ (gsm_inhibit_dialog_constructor):
+ Try again with fewer warnings this time.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
+ Turn off the window snapshot feature for now. I think
+ it needs a bit more development.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gdm-log.c (log_level_to_priority_and_prefix),
+ (gdm_log_default_handler), (gdm_log_toggle_debug),
+ (gdm_log_set_debug), (gdm_log_init), (gdm_log_shutdown):
+ * gnome-session/gdm-log.h:
+ * gnome-session/main.c (signal_cb), (main):
+ Add log/debugging framework.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gdm-signal-handler.c (signal_io_watch),
+ (gdm_signal_handler_set_fatal_func):
+ * gnome-session/gdm-signal-handler.h:
+ * gnome-session/main.c (main):
+ Allow the signal handler to call gtk_main_quit.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gdm-signal-handler.c (block_signals_push),
+ (block_signals_pop), (signal_io_watch), (fallback_get_backtrace),
+ (crashlogger_get_backtrace), (gdm_signal_handler_backtrace),
+ (signal_handler), (catch_signal), (uncatch_signal),
+ (gdm_signal_handler_add), (gdm_signal_handler_add_fatal),
+ (callback_data_free), (gdm_signal_handler_remove_and_free_data),
+ (gdm_signal_handler_remove), (find_callback_data_by_func),
+ (gdm_signal_handler_remove_func), (gdm_signal_handler_class_init),
+ (signal_list_free), (gdm_signal_handler_set_main_loop),
+ (gdm_signal_handler_init), (gdm_signal_handler_finalize),
+ (gdm_signal_handler_new):
+ * gnome-session/gdm-signal-handler.h:
+ * gnome-session/gsm-manager.c (gsm_manager_dispose),
+ (gsm_manager_class_init), (gsm_manager_finalize):
+ * gnome-session/main.c (signal_cb), (main):
+ Add signal handling framework.
+
+2008-08-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (_signal_pid),
+ (autostart_app_stop_spawn):
+ * gnome-session/gsm-manager.c (app_condition_changed):
+ Add support for killing apps. Try to stop app if
+ there isn't a client available for it.
+
+2008-08-14 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (load_standard_apps), (load_override_apps),
+ (main):
+ Add command line option to override autostart dirs.
+
+2008-08-14 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_constructor),
+ (append_app), (gsm_manager_add_autostart_app),
+ (gsm_manager_add_autostart_apps_from_dir),
+ (gsm_manager_add_legacy_session_apps):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/main.c (append_default_apps),
+ (append_saved_session_apps), (append_required_apps), (load_apps),
+ (main):
+ Move the gconf key and dir loading code out of the manager.
+
+2008-08-14 Ghee Teo <ghee.teo@sun.com>
+
+ * data/gnome-wm:
+ Fixes bug #547769. Handle gconftool-2 errors properly.
+
+2008-08-14 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (main):
+ Fail when unknown options are given. Support a version option.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (append_app), (append_default_apps):
+ Correctly check if app-id has already been added to store.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c
+ (gsm_autostart_app_set_desktop_filename):
+ * gnome-session/gsm-manager.c (append_default_apps),
+ (append_autostart_apps):
+ Clean up some debug spew.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c (is_conditionally_disabled):
+ * gnome-session/gsm-manager.c (_debug_app_for_phase),
+ (debug_app_summary), (gsm_manager_start):
+ Add a debugging summary of all apps before starting.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_error_quark),
+ (gsm_client_error_get_type), (gsm_client_cancel_end_session),
+ (gsm_client_query_end_session), (gsm_client_end_session):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session),
+ (dbus_client_end_session), (dbus_client_cancel_end_session):
+ * gnome-session/gsm-manager.c (_client_end_session),
+ (_client_query_end_session), (_client_cancel_end_session):
+ * gnome-session/gsm-xsmp-client.c (client_iochannel_watch),
+ (_client_protocol_timeout), (do_save_yourself),
+ (xsmp_cancel_end_session), (xsmp_query_end_session),
+ (xsmp_end_session), (gsm_xsmp_client_disconnect),
+ (gsm_xsmp_client_finalize), (interact_request_callback),
+ (close_connection_callback):
+ Make QES,ES,CES return errors. Check to make sure that
+ connection is valid before handling same. Set
+ status and disconnect when disconnected.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ * splash/Makefile.am:
+ * splash/gnome-login-sound.c:
+ * splash/gnome-login-sound.desktop.in:
+ * splash/gnome-logout-sound.sh:
+ Remove gnome-login-sound. It is superseded and
+ improved upon by libcanberra-login-sound.
+
+2008-08-13 Erwann Chenede - <erwann.chenede@sun.com>
+
+ * gnome-session/Makefile.am: added XRENDER_LIBS to
+ enable compilation on Solaris. Fixes #547619
+
+2008-08-12 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (phase_num_to_name):
+ Add missing breaks;
+
+2008-08-12 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c (autostart_app_start_spawn):
+ Initialize error.
+ Fixes #547443
+
+2008-08-12 Matthias Clasen <mclasen@redhat.com>
+
+ * compat/at-spi-registryd-wrapper.c: Fix a crash.
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (on_xsmp_client_logout_request),
+ (on_store_client_added):
+ Add back support for logout via SaveYourselfRequest.
+ Based on patch from: Kim Woelders <kim@woelders.dk>
+ Fixes #547069
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/main.c (main):
+ Add support for --version.
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/gsm-properties-dialog.c (key_file_set_locale_string),
+ (write_desktop_file):
+ Try to handle null key values.
+ May fix #546896
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/Makefile.am:
+ * capplet/commands.c:
+ * capplet/commands.h:
+ * capplet/gsm-app-dialog.c (make_exec_uri),
+ (on_browse_button_clicked), (on_entry_activate), (setup_dialog),
+ (gsm_app_dialog_constructor), (gsm_app_dialog_dispose),
+ (gsm_app_dialog_set_name), (gsm_app_dialog_set_command),
+ (gsm_app_dialog_set_comment), (gsm_app_dialog_get_name),
+ (gsm_app_dialog_get_command), (gsm_app_dialog_get_comment),
+ (gsm_app_dialog_set_property), (gsm_app_dialog_get_property),
+ (gsm_app_dialog_class_init), (gsm_app_dialog_init),
+ (gsm_app_dialog_finalize), (gsm_app_dialog_new):
+ * capplet/gsm-app-dialog.h:
+ * capplet/gsm-properties-dialog.c (on_response), (find_by_id),
+ (get_app_description), (append_app), (compare_app),
+ (append_autostart_apps), (populate_model), (on_selection_changed),
+ (system_desktop_entry_exists), (update_desktop_file),
+ (ensure_user_autostart_dir), (key_file_set_locale_string),
+ (key_file_to_file), (write_desktop_file), (enable_app),
+ (disable_app), (on_startup_enabled_toggled), (add_app),
+ (add_from_desktop_file), (on_drag_data), (edit_app_dialog),
+ (on_add_app_clicked), (delete_desktop_file), (delete_app),
+ (on_delete_app_clicked), (update_app), (on_edit_app_clicked),
+ (on_autosave_value_notify), (on_autosave_value_toggled),
+ (on_save_session_clicked), (setup_dialog),
+ (gsm_properties_dialog_constructor),
+ (gsm_properties_dialog_dispose),
+ (gsm_properties_dialog_class_init), (gsm_properties_dialog_init),
+ (gsm_properties_dialog_finalize), (gsm_properties_dialog_new):
+ * capplet/gsm-properties-dialog.h:
+ * capplet/main.c (dialog_response), (main):
+ * capplet/ui.c:
+ * capplet/ui.h:
+ * data/session-properties.glade:
+ * gnome-session/gsm-inhibit-dialog.h:
+ Rework the dialogs to use gobject.
+
+2008-08-08 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_error_get_type),
+ (gsm_manager_logout):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/org.gnome.SessionManager.xml:
+ * tools/gnome-session-save.c (display_error), (get_sm_proxy),
+ (set_session_name), (logout_session), (main):
+ Melt the gnome-session-save tool and make it actually work.
+ Fix the api for Logout to take a uint.
+
+2008-08-08 Jonh Wendell <jwendell@gnome.org>
+
+ * gnome-session/gsm-autostart-app.c (is_disabled): Dropped the
+ auto-restart check, it's useless in this context.
+
+2008-08-08 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor),
+ (gsm_inhibit_dialog_set_client_store),
+ (gsm_inhibit_dialog_set_property),
+ (gsm_inhibit_dialog_get_property), (gsm_inhibit_dialog_class_init),
+ (gsm_inhibit_dialog_new):
+ * gnome-session/gsm-inhibit-dialog.h:
+ * gnome-session/gsm-manager.c (query_end_session_complete),
+ (on_client_end_session_response), (request_reboot),
+ (request_shutdown), (request_suspend), (request_hibernate),
+ (request_switch_user):
+ Try to get application name for client when not responding
+ and we don't have an app-id for it.
+ Should fix #546755
+
+2008-08-08 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Bump dbus-glib dep to 0.76
+ Fixes #546722
+
+2008-08-07 Matthias Clasen <mclasen@redhat.com>
+
+ * data/gnome-session.schemas.in: Fix a typo.
+
+2008-08-07 Matthias Clasen <mclasen@redhat.com>
+
+ * capplet/commands.c: Use standard icon name.
+
+2008-08-05 Jens Granseuer <jensgr@gmx.net>
+
+ * gnome-session/gsm-gconf.c: include sys/types.h for pid_t. Fixes
+ #546439.
+
+2008-08-05 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Post release version bump
+
+==================== 2.23.6 ====================
+
+2008-08-05 William Jon McCann <jmccann@redhat.com>
+
+ * NEWS: Update for 2.23.6 release
+
+2008-08-05 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.h:
+ Removed unused item from vtable.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init),
+ (is_disabled), (parse_condition_string), (if_exists_condition_cb),
+ (unless_exists_condition_cb), (gconf_condition_cb),
+ (setup_condition_monitor), (load_desktop_file),
+ (gsm_autostart_app_dispose), (is_conditionally_disabled),
+ (autostart_app_start_spawn):
+ Fix a number of bugs and leaks related to the monitoring
+ of the AutostartCondition keys.
+
+ * gnome-session/gsm-manager.c (app_condition_changed),
+ (_app_has_app_id), (find_app_for_app_id):
+ Allow NULL clients on conditional disable. Fix
+ finding of clients.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_peek_is_conditionally_disabled):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (is_conditionally_disabled),
+ (is_disabled), (gsm_autostart_app_class_init):
+ * gnome-session/gsm-manager.c (_start_app):
+ Add gsm_app_is_conditionally_disabled. Remove AutostartCondition
+ check from is_disabled. We want to be able to distinguish
+ the two.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (acquire_name), (main):
+ Remove session bus launching code. The bus was
+ designed to be started before the session is run.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * compat/at-spi-registryd-wrapper.c:
+ * egg/eggdesktopfile.c:
+ * gnome-session/gsm-util.c:
+ * gnome-session/gsm-util.h:
+ * gnome-session/main.c:
+ * splash/gnome-login-sound.c:
+ * splash/gnome-session-splash.c:
+ * splash/splash-window.h:
+ Use single GTK+ includes
+ Patch from: Wouter Bolsterlee <wbolster@gnome.org>
+ Fixes #544830
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-app.c (gsm_app_error_quark),
+ (get_next_app_serial), (register_app), (gsm_app_constructor),
+ (gsm_app_class_init), (gsm_app_peek_id), (gsm_app_peek_app_id),
+ (gsm_app_peek_startup_id), (gsm_app_peek_phase),
+ (gsm_app_peek_is_disabled), (gsm_app_peek_autorestart),
+ (gsm_app_get_app_id), (gsm_app_get_startup_id),
+ (gsm_app_get_phase):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (is_disabled),
+ (autostart_app_start_spawn), (autostart_app_start_activate),
+ (gsm_autostart_app_get_app_id), (gsm_autostart_app_constructor),
+ (gsm_autostart_app_class_init):
+ * gnome-session/gsm-manager.c (app_condition_changed),
+ (on_phase_timeout), (_start_app), (_disconnect_client),
+ (_app_has_startup_id), (find_app_for_startup_id),
+ (on_xsmp_client_register_request), (append_app),
+ (gsm_manager_register_client), (_app_has_autostart_condition):
+ * gnome-session/gsm-resumed-app.c (gsm_resumed_app_get_app_id),
+ (gsm_resumed_app_class_init):
+ * gnome-session/org.gnome.SessionManager.App.xml:
+ Put the apps on the bus.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_has_autostart_condition):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_dispose),
+ (is_disabled), (gsm_autostart_app_has_autostart_condition),
+ (gsm_autostart_app_class_init):
+ * gnome-session/gsm-manager.c (_start_app), (do_phase_startup),
+ (find_app_for_app_id), (find_app_for_startup_id), (append_app),
+ (append_required_apps), (gsm_manager_init), (gsm_manager_finalize),
+ (_app_has_autostart_condition),
+ (gsm_manager_is_autostart_condition_handled):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/org.gnome.SessionManager.xml:
+ Add a method to ask if a certain AutostartCondition is
+ being handled. One use of this is for the settings daemon
+ to know if there are any a11y tools that will be started
+ for a certain gconf key.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * data/Makefile.am:
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-inhibit-dialog.glade:
+ Move glade file to data as requested by Lucas.
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/commands.c (system_desktop_entry_exists), (find_by_id),
+ (ensure_user_autostart_dir), (key_file_to_file),
+ (key_file_set_locale_string), (delete_desktop_file),
+ (write_desktop_file), (append_app), (compare_app),
+ (append_autostart_apps), (spc_command_get_store),
+ (spc_command_enable_app), (spc_command_disable_app),
+ (spc_command_add_app):
+ * capplet/main.c (main):
+ * capplet/ui.c (make_exec_uri), (cmd_browse_button_clicked_cb),
+ (entry_activate_cb), (edit_app_dialog), (selection_changed_cb),
+ (startup_enabled_toggled_cb), (add_from_desktop_file),
+ (drag_data_cb), (setup_treeview), (add_app_cb), (delete_app_cb),
+ (edit_app_cb), (autosave_value_notify), (autosave_value_toggled),
+ (help_cb):
+ * compat/at-spi-registryd-wrapper.c (registry_ior_watch),
+ (set_gtk_modules), (main):
+ * compat/gnome-keyring-daemon-wrapper.c (keyring_daemon_stop),
+ (child_setup), (keyring_daemon_start), (quit), (main):
+ * compat/gnome-settings-daemon-helper.c (set_gtk1_theme_rcfile):
+ * gnome-session/gsm-gconf.c (gsm_gconf_init), (gsm_gconf_check),
+ (gsm_gconf_shutdown):
+ * gnome-session/gsm-util.c (gsm_util_get_autostart_dirs),
+ (gsm_util_get_app_dirs), (gsm_util_text_is_blank),
+ (gsm_util_init_error), (gsm_util_generate_startup_id),
+ (gsm_util_update_activation_environment), (gsm_util_setenv):
+ * splash/gnome-login-sound.c (get_sound_file_from_config),
+ (get_sound_file), (maybe_play_sound):
+ * splash/gnome-session-splash.c (get_session_bus),
+ (set_session_running_handler), (event_func), (splash_clicked),
+ (filter_func), (load_pixbuf), (load_splash_pixbuf), (main):
+ * splash/splash-window.c (re_scale), (splash_window_expose_event),
+ (splash_window_realize), (splash_icon_destroy),
+ (splash_window_finalize), (layout_icon), (re_laydown),
+ (update_trans_effect), (gsm_splash_window_new),
+ (gsm_splash_window_start), (gsm_splash_window_finish):
+ * tools/gnome-session-save.c (ping_reply), (ice_ping), (die_cb),
+ (cancelled_cb), (display_error), (ice_connection_watch),
+ (get_session_bus), (set_session_name), (main):
+ Some cosmetic / code-style changes requested by Lucas.
+
+2008-08-01 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-util.c (gsm_util_get_autostart_dirs): Don't
+ look in /usr/share/autostart, since that is a KDE-specific
+ location using legacy KDE autostart conventions predating the
+ autostart spec.
+
+2008-07-31 William Jon McCann <jmccann@redhat.com>
+
+ * data/Makefile.am:
+ * data/gnome-session.schemas.in:
+ * data/gnome-wm:
+ * data/gnome-wm.desktop.in:
+ * gnome-session/gsm-util.c (gsm_util_get_app_dirs):
+ Install a desktop file for gnome-wm and use that
+ as the default window manager instead of calling
+ metacity directly. Add a gconf key to allow
+ changing the default program for gnome-wm to use.
+ Remove the gnome/wm-properties directory from
+ the autostart search path.
+
+2008-07-30 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_error_quark),
+ (gsm_inhibitor_error_get_type), (gsm_inhibitor_set_client_id),
+ (gsm_inhibitor_get_client_id), (gsm_inhibitor_class_init):
+ * gnome-session/gsm-inhibitor.h:
+ DBus doesn't allow NULL or empty object path strings. Throw
+ an error instead.
+
+2008-07-30 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (on_bus_name_lost), (acquire_name_on_proxy),
+ (acquire_name):
+ Handle NameLost signal and exit when disconnected from bus.
+
+2008-07-30 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/org.gnome.SessionManager.Client.xml:
+ * gnome-session/org.gnome.SessionManager.Inhibitor.xml:
+ Drop the properties for now until we can figure out
+ why they are causing the dbus-glib bindings to crash.
+
+2008-07-30 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (listify_store_ids),
+ (gsm_manager_get_clients), (gsm_manager_get_inhibitors):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/org.gnome.SessionManager.xml:
+ Add GetClients and GetInhibitors.
+
+2008-07-30 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_set_startup_id),
+ (gsm_client_set_app_id), (gsm_client_class_init):
+ * gnome-session/gsm-dbus-client.c (handle_end_session_response):
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor),
+ (on_store_inhibitor_added):
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_set_bus_name),
+ (gsm_inhibitor_set_client_id), (gsm_inhibitor_set_reason),
+ (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_client_id),
+ (gsm_inhibitor_get_reason), (gsm_inhibitor_class_init):
+ * gnome-session/gsm-manager.c (_find_by_startup_id),
+ (_on_query_end_session_timeout), (_disconnect_client),
+ (_disconnect_dbus_client), (inhibitor_has_bus_name),
+ (_app_has_startup_id), (_client_has_startup_id),
+ (on_xsmp_client_register_request), (inhibitor_has_client_id),
+ (on_client_end_session_response), (append_app),
+ (append_default_apps), (gsm_manager_register_client),
+ (gsm_manager_inhibit):
+ * gnome-session/gsm-xsmp-client.c (register_client_callback):
+ DBus forces us to not use NULL strings for properties. Would
+ be nice if the bindings took care of this for us by converting
+ NULL strings into some "unset" value.
+
+2008-07-30 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-client.c: Cosmetic fix to some
+ g_return_val_if_fail return values.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_get_unix_process_id):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (get_caller_info),
+ (gsm_dbus_client_set_bus_name), (dbus_client_get_unix_process_id),
+ (gsm_dbus_client_class_init):
+ * gnome-session/gsm-xsmp-client.c (_parse_value_as_uint),
+ (xsmp_get_unix_process_id), (gsm_xsmp_client_class_init):
+ * gnome-session/org.gnome.SessionManager.Client.xml:
+ Add GetUnixProcessId to Client interface.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/commands.c:
+ * capplet/ui.c:
+ * doc/dbus/gnome-session.xml.in:
+ Fix build.
+
+2008-07-29 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gconf.[hc]: Rename to gsm-gconf.[hc]
+ * gnome-session/util.[hc]: Rename to gsm-util.[hc]
+
+ * gnome-session/*.c:
+ * gnome-session/Makefile.am: Adapt
+
+2008-07-29 Matthias Clasen <mclasen@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c:
+ * gnome-session/gsm-manager.c: _-prefix static functions.
+ Pointed out by Lucas Rocha.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * MAINTAINERS: Add myself.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Bump to 2.23.6 to be in sync with trunk.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (on_store_inhibitor_added),
+ (on_store_inhibitor_removed), (setup_dialog):
+ * gnome-session/gsm-store.c (gsm_store_remove):
+ Fix double free.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (_disconnect_client),
+ (_disconnect_dbus_client), (remove_clients_for_connection),
+ (on_client_disconnected):
+ Don't remove clients from the iterator func. Set
+ client status when disconnecting.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_dispose),
+ (gsm_client_class_init):
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_dispose),
+ (gsm_dbus_client_class_init):
+ * gnome-session/gsm-inhibit-dialog.c (on_response),
+ (model_has_one_entry), (on_store_inhibitor_removed),
+ (gsm_inhibit_dialog_dispose), (gsm_inhibit_dialog_finalize):
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_class_init):
+ * gnome-session/gsm-manager.c (bus_name_owner_changed),
+ (gsm_manager_register_client):
+ * gnome-session/gsm-store.c (gsm_store_foreach_remove):
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection):
+ Add introspection info to Inhibitor. Fix a few
+ refcounting problems.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-dbus-client.c (dbus_client_stop),
+ (dbus_client_query_end_session), (dbus_client_end_session),
+ (dbus_client_cancel_end_session), (gsm_dbus_client_class_init):
+ * gnome-session/gsm-dbus-client.h:
+ Remove some obsolete signals.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_class_init):
+ Fix the minimum value for guint property.
+
+ * gnome-session/gsm-dbus-client.c (setup_connection),
+ (raise_error), (handle_end_session_response),
+ (client_dbus_filter_function), (gsm_dbus_client_constructor),
+ (dbus_client_stop), (dbus_client_query_end_session),
+ (dbus_client_end_session), (dbus_client_cancel_end_session),
+ (gsm_dbus_client_new):
+ * gnome-session/org.gnome.SessionManager.ClientPrivate.xml:
+ * gnome-session/test-client-dbus.c (on_client_query_end_session),
+ (on_client_end_session), (on_client_cancel_end_session),
+ (on_client_stop), (register_client), (unregister_client):
+ Unicast the client private signals.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-client.xml:
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_class_init):
+ * gnome-session/gsm-dbus-client.xml:
+ * gnome-session/gsm-inhibitor.xml:
+ * gnome-session/gsm-manager.xml:
+ Rename the introspection docs. Remove the
+ dbus-glib stuff from the DBusClient.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ * gnome-session/gsm-dbus-client.xml:
+ Rename the DBusClient interface to ClientPrivate.
+ Cuz well that's what it is.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_set_status),
+ (gsm_client_set_property), (gsm_client_get_property),
+ (gsm_client_class_init), (gsm_client_peek_status),
+ (gsm_client_get_status):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-client.xml:
+ * gnome-session/gsm-inhibitor.xml:
+ Make status uint. Add some more exported methods to Client.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_peek_id),
+ (gsm_client_peek_app_id), (gsm_client_peek_startup_id),
+ (gsm_client_peek_restart_style_hint), (gsm_client_get_startup_id),
+ (gsm_client_get_app_id), (gsm_client_get_restart_style_hint),
+ (gsm_client_get_app_name):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-client.xml:
+ * gnome-session/gsm-dbus-client.c (dbus_client_stop),
+ (dbus_client_query_end_session), (dbus_client_end_session):
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_peek_bus_name),
+ (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_client_id),
+ (gsm_inhibitor_get_reason), (gsm_inhibitor_get_flags),
+ (gsm_inhibitor_get_toplevel_xid), (gsm_inhibitor_peek_id),
+ (gsm_inhibitor_peek_app_id), (gsm_inhibitor_peek_client_id),
+ (gsm_inhibitor_peek_reason), (gsm_inhibitor_peek_flags),
+ (gsm_inhibitor_peek_toplevel_xid), (gsm_inhibitor_peek_cookie):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (_debug_client), (_debug_inhibitor),
+ (_find_by_cookie), (_find_by_startup_id), (_client_end_session),
+ (_client_query_end_session), (inhibitor_has_flag),
+ (inhibitor_is_jit), (on_query_end_session_timeout),
+ (disconnect_client), (inhibitor_has_bus_name),
+ (_client_has_startup_id), (inhibitor_has_client_id),
+ (on_client_end_session_response), (gsm_manager_register_client),
+ (gsm_manager_inhibit), (gsm_manager_uninhibit):
+ * gnome-session/gsm-xsmp-client.c (set_description):
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection):
+ Add client introspection info. Fix the inhibitor methods.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_register_client):
+ * gnome-session/gsm-manager.xml:
+ * gnome-session/test-client-dbus.c (register_client):
+ Don't return the "new" startup ID from the register
+ client method. We can make this available via
+ the Client interface if necessary.
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (append_default_apps):
+ Check for gnome vendor prefix on default apps.
+
+2008-07-28 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ Install into docdir/dbus.
+
+2008-07-28 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ Fix distcheck
+
+2008-07-28 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (inhibitor_has_flag),
+ (gsm_manager_is_logout_inhibited), (gsm_manager_start),
+ (gsm_manager_setenv), (gsm_manager_initialization_error),
+ (gsm_manager_is_switch_user_inhibited),
+ (gsm_manager_is_suspend_inhibited), (gsm_manager_shutdown),
+ (gsm_manager_logout), (gsm_manager_register_client),
+ (gsm_manager_unregister_client), (gsm_manager_inhibit),
+ (gsm_manager_uninhibit), (gsm_manager_is_inhibited):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ Export an IsInhibited method to the bus.
+
+2008-07-28 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ * gnome-session/gsm-manager.c (on_store_client_added),
+ (on_store_client_removed), (gsm_manager_set_client_store),
+ (gsm_manager_class_init), (on_store_inhibitor_added),
+ (on_store_inhibitor_removed), (gsm_manager_init):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ Add signals for client and inhibitor add/remove.
+
+2008-07-28 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ * doc/dbus/gnome-session.xml.in:
+ * gnome-session/gsm-inhibitor.xml:
+ Add docs for inhibitors.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (disconnect_client):
+ Use app_restart variable.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (do_phase_query_end_session):
+ Add query timeout after signalling clients.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-store.c (gsm_store_dispose),
+ (gsm_store_class_init):
+ Clear store in dispose.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_class_init):
+ * gnome-session/gsm-store.c (gsm_store_remove),
+ (foreach_remove_wrapper), (gsm_store_foreach_remove):
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection),
+ (gsm_xsmp_server_finalize):
+ Emit removed signal after removing from store.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-client.c:
+ * gnome-session/gsm-inhibitor.c (register_inhibitor),
+ (gsm_inhibitor_constructor):
+ * gnome-session/gsm-inhibitor.xml:
+ Put inhibitors on the bus.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-client-store.c:
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-inhibit-dialog.c (find_inhibitor),
+ (add_inhibitor), (on_store_inhibitor_added),
+ (on_store_inhibitor_removed),
+ (gsm_inhibit_dialog_set_inhibitor_store), (add_to_model),
+ (populate_model), (gsm_inhibit_dialog_class_init),
+ (gsm_inhibit_dialog_new):
+ * gnome-session/gsm-inhibit-dialog.h:
+ * gnome-session/gsm-inhibitor-store.c:
+ * gnome-session/gsm-inhibitor-store.h:
+ * gnome-session/gsm-inhibitor.c (get_next_inhibitor_serial),
+ (gsm_inhibitor_constructor), (gsm_inhibitor_get_id),
+ (gsm_inhibitor_finalize):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (_debug_client), (debug_clients),
+ (debug_inhibitors), (_find_by_cookie), (app_condition_changed),
+ (do_phase_end_session), (gsm_manager_is_logout_inhibited),
+ (cancel_end_session), (_generate_unique_cookie),
+ (on_query_end_session_timeout), (do_phase_query_end_session),
+ (disconnect_client), (remove_clients_for_connection),
+ (remove_inhibitors_for_connection),
+ (on_xsmp_client_register_request),
+ (on_client_end_session_response), (on_store_client_added),
+ (gsm_manager_set_client_store), (gsm_manager_get_property),
+ (gsm_manager_class_init), (gsm_manager_init),
+ (gsm_manager_finalize), (gsm_manager_new),
+ (gsm_manager_is_switch_user_inhibited),
+ (gsm_manager_is_suspend_inhibited), (gsm_manager_register_client),
+ (gsm_manager_unregister_client), (gsm_manager_inhibit),
+ (gsm_manager_uninhibit):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-store.c (gsm_store_error_quark),
+ (gsm_store_size), (gsm_store_remove), (gsm_store_foreach),
+ (gsm_store_find), (gsm_store_lookup), (foreach_remove_wrapper),
+ (gsm_store_foreach_remove), (_remove_all), (gsm_store_clear),
+ (gsm_store_add), (gsm_store_set_locked), (gsm_store_get_locked),
+ (gsm_store_set_property), (gsm_store_get_property),
+ (gsm_store_class_init), (_destroy_object), (gsm_store_init),
+ (gsm_store_finalize), (gsm_store_new):
+ * gnome-session/gsm-store.h:
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection),
+ (gsm_xsmp_server_set_client_store), (gsm_xsmp_server_class_init),
+ (gsm_xsmp_server_new):
+ * gnome-session/gsm-xsmp-server.h:
+ * gnome-session/main.c (main):
+ Unify the InhibitorStore and ClientStore classes.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-dbus-client.xml:
+ Add docs for dbus-client.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ Add docs for logout mode.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * doc/dbus/Makefile.am:
+ * doc/dbus/spec-to-docbook.xsl:
+ * gnome-session/gsm-manager.xml:
+ Require fully qualified interface
+ names in links.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.xml:
+ Add more docs.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * data/gnome-session.schemas.in:
+ * splash/Makefile.am:
+ * splash/README:
+ Restore splash.
+
+2008-07-27 William Jon McCann <jmccann@redhat.com>
+
+ * Makefile.am:
+ * configure.in:
+ * doc/Makefile.am:
+ * doc/dbus/Makefile.am:
+ * doc/dbus/config.xsl:
+ * doc/dbus/dbus-introspect-docs.dtd:
+ * doc/dbus/docbook.css:
+ * doc/dbus/gnome-session.xml.in:
+ * doc/dbus/spec-to-docbook.xsl:
+ Add some D-Bus docs.
+
+2008-07-26 William Jon McCann <jmccann@redhat.com>
+
+ * Makefile.am:
+ * configure.in:
+ * doc/Makefile.am:
+ * man/.cvsignore:
+ * man/Makefile.am:
+ * man/default.session.5.in:
+ * man/gnome-session-save.1:
+ * man/gnome-session.1.in:
+ * man/gnome-wm.1:
+ * man/session-properties-capplet.1:
+ * man/session-properties-capplet.sgml:
+ * man/session-properties.1:
+ * man/session-properties.sgml:
+ Move man to doc dir.
+
+2008-07-26 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-inhibit-dialog.c (scale_pixbuf), (get_cmap),
+ (pixbuf_get_from_pixmap), (get_pixmap_for_window),
+ (get_pixbuf_for_window), (add_inhibitor), (setup_dialog),
+ (gsm_inhibit_dialog_constructor):
+ * gnome-session/test-inhibit.c (do_inhibit_for_window),
+ (on_widget_show), (main):
+ Add ability to get a window snapshot of application.
+
+2008-07-25 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
+ Also check for desktop files using a gnome vendor prefix.
+
+2008-07-25 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (on_query_end_session_timeout),
+ (on_client_end_session_response):
+ Use app name when id isn't available.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * data/gnome-session.schemas.in:
+ * splash/Makefile.am:
+ * splash/README:
+ * splash/gnome-session-splash.c:
+ * splash/gnome-session-splash.desktop.in:
+ * splash/splash-window.c:
+ * splash/splash-window.h:
+ Make startup faster by removing the splash.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/commands.c (append_autostart_apps),
+ (spc_command_get_store): Merge from trunk.
+ Correctly sort apps model by name.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (end_phase),
+ (bus_name_owner_changed):
+ Drop some unused code.
+ Pointed out by Lucas Rocha <lucasr@gnome.org>
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client-store.c (gsm_client_store_remove),
+ (foreach_remove_wrapper), (gsm_client_store_foreach_remove),
+ (_remove_all), (gsm_client_store_clear):
+ * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_remove):
+ Make sure client-removed signals are emitted.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_remove),
+ (_remove_all), (gsm_inhibitor_store_clear):
+ Make sure to always emit the removed signal.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c (setup_connection):
+ Use add_seconds for timeout.
+ Pointed out by Matthias Clasen <mclasen@redhat.com>
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gconf.c (gsm_gconf_check):
+ Remove gsm_gconf_get_client.
+ * gnome-session/gsm-autostart-app.c (is_disabled):
+ Don't leak a gconf client.
+ Pointed out by Matthias Clasen <mclasen@redhat.com>
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_dispose):
+ Don't leak id.
+ Pointed out by Matthias Clasen <mclasen@redhat.com>
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-autostart-app.c
+ (gsm_autostart_app_set_desktop_filename), (start_notify):
+ Make sure error is initialized.
+
+ * gnome-session/gsm-manager.c (get_caller_info):
+ Move variable initialization.
+
+2008-07-24 Frederic Crozat <fcrozat@mandriva.com>
+
+ * splash/gnome-login-sound.c: really disable login/logout sound
+ if disabled by user. Fix bug #544540.
+
+2008-07-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (gsm_manager_class_init):
+ Drop unused signal.
+
+ * gnome-session/gsm-manager.xml:
+ Start adding D-Bus API docs.
+
+2008-07-23 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c (xsmp_get_restart_style_hint):
+ Make sure hint is initialized.
+
+2008-07-22 William Jon McCann <jmccann@redhat.com>
+
+ * compat/at-spi-registryd-wrapper.c (main):
+ * gnome-session/gsm-manager.c (gsm_manager_setenv):
+ * gnome-session/gsm-xsmp-server.c (setup_listener):
+ * gnome-session/main.c (main):
+ * gnome-session/util.c (gsm_util_update_activation_environment),
+ (gsm_util_setenv):
+ * gnome-session/util.h:
+ Use DBus API to set environment variables in activation environment.
+ Patch from: Ray Strode Fixes #360475
+
+2008-07-22 Frederic Crozat <fcrozat@mandriva.com>
+
+ * splash/splash-window.c:
+ Dither splash background, needed for 16bpp display.
+ Fix bug #544159.
+
+2008-07-22 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-consolekit.c (gsm_consolekit_init),
+ (gsm_consolekit_can_restart), (gsm_consolekit_can_stop):
+ * gnome-session/gsm-logout-dialog.c:
+ Add some more verbosity when not compiled with PK-gnome.
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Use FORTIFY_SOURCE
+
+ * gnome-session/util.c: Add missing include
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Add our own warning flags
+
+ * gnome-session/util.c: Add missing includes
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-server.c:
+ Add some missing includes
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-logout-dialog.c:
+ Use standard icon names.
+ Patch from Matthias Clasen. Fixes #542256
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * capplet/commands.c (spc_command_get_app_description):
+ Must escape the comment for displaying as markup
+ Patch from Matthias Clasen. Fixes #542086
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in: Bump version number.
+
+2008-07-18 William Jon McCann <jmccann@redhat.com>
+
+ * Makefile.am: Remove intltool crap
+
+2008-07-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_get_restart_style_hint):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c
+ (dbus_client_get_restart_style_hint), (gsm_dbus_client_class_init):
+ * gnome-session/gsm-manager.c (disconnect_client):
+ * gnome-session/gsm-xsmp-client.c (xsmp_get_restart_style_hint),
+ (gsm_xsmp_client_class_init):
+ Add support for legacy restart style hints from clients.
+
+2008-07-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-manager.c (phase_num_to_name), (end_phase),
+ (on_phase_timeout), (do_phase_startup), (_client_end_session),
+ (do_phase_end_session), (_client_query_end_session),
+ (inhibitor_has_flag), (gsm_manager_is_logout_inhibited),
+ (_client_cancel_end_session), (inhibitor_is_jit),
+ (cancel_end_session), (manager_switch_user), (do_attempt_reboot),
+ (do_attempt_shutdown), (manager_attempt_reboot),
+ (manager_attempt_shutdown), (manager_attempt_hibernate),
+ (manager_attempt_suspend), (do_dialog_action),
+ (inhibit_dialog_response), (query_end_session_complete),
+ (generate_cookie), (_generate_unique_cookie),
+ (on_query_end_session_timeout), (do_phase_query_end_session),
+ (start_phase), (gsm_manager_start), (find_app_for_app_id),
+ (disconnect_client), (_disconnect_dbus_client),
+ (remove_clients_for_connection), (inhibitor_has_bus_name),
+ (remove_inhibitors_for_connection), (_app_has_startup_id),
+ (on_xsmp_client_register_request),
+ (on_client_end_session_response), (gsm_manager_setenv),
+ (gsm_manager_initialization_error), (request_logout),
+ (logout_dialog_response), (show_shutdown_dialog),
+ (show_logout_dialog), (user_logout), (gsm_manager_logout),
+ (gsm_manager_register_client):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-xsmp-client.c (do_save_yourself),
+ (xsmp_query_end_session), (xsmp_end_session),
+ (save_yourself_request_callback), (save_yourself_done_callback):
+ Add a forceful shutdown path. Make shutdown path use
+ same state machine as phases.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (_debug_inhibitor),
+ (debug_inhibitors), (inhibitor_has_bus_name),
+ (remove_inhibitors_for_connection),
+ (on_client_end_session_response), (on_query_end_session_timeout):
+ Also clear JIT inhibitors from DBus clients when they leave the
+ bus.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_cancel_end_session):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (dbus_client_cancel_end_session),
+ (gsm_dbus_client_class_init):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-dbus-client.xml:
+ * gnome-session/gsm-manager.c (_cancel_shutdown_client),
+ (inhibitor_is_jit), (cancel_end_session),
+ (inhibit_dialog_response):
+ * gnome-session/gsm-xsmp-client.c (xsmp_cancel_end_session),
+ (gsm_xsmp_client_class_init), (interact_request_callback):
+ Send cancellation to all clients. Cancel JIT inhibitors.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-xsmp-client.c (xsmp_shutdown_cancelled),
+ (interact_request_callback), (save_yourself_done_callback):
+ Try to work around some buggy grab behavior in session clients.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibit-dialog.c (update_dialog_text),
+ (name_cell_data_func):
+ * gnome-session/gsm-inhibit-dialog.glade:
+ Add back heading to inhibit dialog since it makes more
+ sense when some applications are not busy.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_get_app_name):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (dbus_client_get_app_name),
+ (gsm_dbus_client_class_init):
+ * gnome-session/gsm-manager.c (on_client_end_session_response):
+ * gnome-session/gsm-xsmp-client.c (xsmp_get_app_name),
+ (gsm_xsmp_client_class_init), (interact_request_callback):
+ Try to get something like an app-id for XSMP clients to
+ display info in inhibit dialog.
+
+2008-07-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (on_xsmp_client_register_request),
+ (inhibitor_has_client_id), (generate_cookie),
+ (_generate_unique_cookie), (on_client_end_session_response),
+ (on_store_client_added), (gsm_manager_register_client):
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init),
+ (save_yourself_phase2_request_callback),
+ (interact_request_callback), (interact_done_callback),
+ (save_yourself_done_callback), (close_connection_callback),
+ (gsm_xsmp_client_connect):
+ Start hooking up XSMP bit of query-end-session.
+
+2008-07-16 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session),
+ (dbus_client_end_session), (gsm_dbus_client_class_init),
+ (gsm_dbus_client_new), (gsm_dbus_client_end_session_response):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (_debug_client), (debug_clients),
+ (disconnect_client), (remove_inhibitors_for_connection),
+ (manager_logout), (_client_query_end_session),
+ (query_end_session_complete), (on_client_end_session_response),
+ (on_query_end_session_timeout), (query_end_session),
+ (gsm_manager_register_client):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-resumed-app.c
+ (gsm_resumed_app_new_from_legacy_session):
+ * gnome-session/gsm-xsmp-client.c (register_client_callback):
+ * gnome-session/test-client-dbus.c (on_client_query_end_session),
+ (register_client), (quit_test), (main):
+ Fix up some missed property names. Hook up query-end-session stuff
+ for dbus client.
+
+2008-07-16 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-app.c (gsm_app_set_startup_id),
+ (gsm_app_set_property), (gsm_app_get_property), (gsm_app_dispose),
+ (gsm_app_class_init), (gsm_app_get_startup_id):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (load_desktop_file),
+ (autostart_app_start_spawn), (autostart_app_start_activate):
+ * gnome-session/gsm-client.c (gsm_client_finalize),
+ (gsm_client_set_startup_id), (gsm_client_set_property),
+ (gsm_client_get_property), (default_stop), (gsm_client_class_init),
+ (gsm_client_get_startup_id), (gsm_client_stop),
+ (gdm_client_end_session_response):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-client.xml:
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_error_quark),
+ (gsm_dbus_client_error_get_type), (gsm_dbus_client_class_init),
+ (gsm_dbus_client_end_session_response):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-dbus-client.xml:
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_set_client_id),
+ (gsm_inhibitor_get_client_id), (gsm_inhibitor_set_property),
+ (gsm_inhibitor_get_property), (gsm_inhibitor_finalize),
+ (gsm_inhibitor_class_init), (gsm_inhibitor_new_for_client):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (_find_by_startup_id),
+ (app_condition_changed), (app_registered), (phase_timeout),
+ (start_phase), (inhibitor_has_bus_name), (_app_has_startup_id),
+ (find_app_for_startup_id), (register_client_for_name),
+ (_client_has_startup_id), (on_xsmp_client_register_request),
+ (_client_query_end_session), (query_end_session_complete),
+ (inhibitor_has_client_id), (generate_cookie),
+ (_generate_unique_cookie), (on_client_end_session_response),
+ (on_query_end_session_timeout), (query_end_session),
+ (request_logout), (user_logout), (gsm_manager_logout),
+ (gsm_manager_register_client), (gsm_manager_unregister_client):
+ * gnome-session/gsm-manager.xml:
+ * gnome-session/gsm-marshal.list:
+ * gnome-session/gsm-xsmp-client.c (set_description):
+ * gnome-session/test-client-dbus.c (register_client):
+ * gnome-session/util.c (gsm_util_generate_startup_id):
+ * gnome-session/util.h:
+ Rename client-id to startup-id to distinguish from
+ Client's ID. Start adding a new shutdown path that
+ allows for more compatibility with xsmp.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client.c (gsm_client_query_end_session),
+ (gsm_client_end_session):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-client.xml:
+ * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session),
+ (dbus_client_end_session), (gsm_dbus_client_class_init):
+ * gnome-session/gsm-manager.c (_shutdown_client):
+ * gnome-session/gsm-xsmp-client.c (xsmp_stop),
+ (xsmp_query_end_session), (xsmp_end_session),
+ (gsm_xsmp_client_class_init):
+ Add QueryEndSession and EndSession methods and signals.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-inhibit-dialog.c (lock_screen), (on_response),
+ (gsm_inhibit_dialog_set_action), (find_inhibitor), (add_inhibitor),
+ (update_dialog_text), (on_store_inhibitor_added),
+ (on_store_inhibitor_removed),
+ (gsm_inhibit_dialog_set_inhibitor_store),
+ (gsm_inhibit_dialog_set_property),
+ (gsm_inhibit_dialog_get_property), (name_cell_data_func),
+ (add_to_model), (populate_model), (setup_dialog),
+ (gsm_inhibit_dialog_constructor), (gsm_inhibit_dialog_dispose),
+ (gsm_inhibit_dialog_class_init), (gsm_inhibit_dialog_init),
+ (gsm_inhibit_dialog_finalize), (gsm_inhibit_dialog_new):
+ * gnome-session/gsm-inhibit-dialog.h:
+ * gnome-session/gsm-logout-inhibit-dialog.c:
+ * gnome-session/gsm-logout-inhibit-dialog.glade:
+ * gnome-session/gsm-logout-inhibit-dialog.h:
+ * gnome-session/gsm-manager.c (inhibit_dialog_response),
+ (request_reboot), (request_shutdown), (request_suspend),
+ (request_hibernate), (request_logout), (request_switch_user):
+ * gnome-session/test-client-dbus.c (register_client):
+ Rename logout_inhibit_dialog to inhibit_dialog.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_new):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-manager.c (register_client_for_name),
+ (gsm_manager_register_client):
+ * gnome-session/gsm-method-client.c:
+ * gnome-session/gsm-method-client.h:
+ * gnome-session/gsm-service-client.c:
+ * gnome-session/gsm-service-client.h:
+ * gnome-session/test-client-method.c:
+ Drop ServiceClient for now. Move MethodClient stuff
+ into DBusClient.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-dbus-client.c (dbus_client_stop),
+ (gsm_dbus_client_class_init):
+ Unicast the stop signal to the client.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_get_id),
+ (gsm_app_is_disabled), (gsm_app_is_running),
+ (gsm_app_get_autorestart), (gsm_app_provides), (gsm_app_start),
+ (gsm_app_restart), (gsm_app_stop):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_class_init):
+ * gnome-session/gsm-client.c (default_stop),
+ (gsm_client_class_init), (gsm_client_notify_session_over),
+ (gsm_client_stop):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-resumed-app.c (gsm_resumed_app_class_init):
+ * gnome-session/gsm-resumed-app.h:
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init):
+ By default emit stop signal from client.
+
+2008-07-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-client.c (register_client),
+ (gsm_client_constructor), (gsm_client_class_init):
+ * gnome-session/gsm-client.xml:
+ Register each client object with the bus.
+
+2008-07-07 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-logout-inhibit-dialog.c (lock_screen),
+ (on_response), (setup_dialog):
+ * gnome-session/gsm-logout-inhibit-dialog.glade:
+ Add ability to lock screen while waiting for processes to finish.
+
+2008-07-07 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-logout-inhibit-dialog.c (update_dialog_text),
+ (name_cell_data_func), (setup_dialog):
+ * gnome-session/gsm-logout-inhibit-dialog.glade:
+ Implement MPT's suggested rewording.
+
+2008-06-26 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-manager.c (manager_logout),
+ (inhibitor_has_flag), (gsm_manager_is_switch_user_inhibited),
+ (gsm_manager_is_suspend_inhibited),
+ (gsm_manager_is_logout_inhibited), (gsm_manager_inhibit):
+ * gnome-session/test-inhibit.c (do_inhibit):
+ Change inhibit flags to be opt in for each scenario.
+
+2008-06-25 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-logout-inhibit-dialog.c (model_has_one_entry),
+ (update_dialog_text), (on_store_inhibitor_added),
+ (on_store_inhibitor_removed), (populate_model):
+ * gnome-session/gsm-logout-inhibit-dialog.glade:
+ Use the proper pluralization depending on how many inhibitors are present.
+ Fix up spacing.
+
+2008-06-25 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_class_init):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-logout-inhibit-dialog.c (add_inhibitor):
+ * gnome-session/gsm-manager.c (do_attempt_reboot),
+ (do_attempt_shutdown), (manager_attempt_reboot),
+ (manager_attempt_shutdown), (manager_attempt_hibernate),
+ (manager_attempt_suspend), (gsm_manager_is_switch_user_inhibited),
+ (gsm_manager_is_suspend_inhibited), (do_action), (request_reboot),
+ (request_shutdown), (request_suspend), (request_hibernate),
+ (logout_dialog_response):
+ * gnome-session/gsm-manager.h:
+ Make inhibit work for shutdown, reboot, suspend, hibernate.
+
+2008-06-25 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-consolekit.c (get_current_session_id),
+ (get_seat_id_for_session), (get_current_seat_id),
+ (seat_can_activate_sessions), (gsm_consolekit_can_switch_user):
+ * gnome-session/gsm-consolekit.h:
+ * gnome-session/gsm-logout-dialog.c
+ (gsm_logout_supports_system_suspend),
+ (gsm_logout_supports_system_hibernate),
+ (gsm_logout_supports_switch_user), (gsm_get_dialog):
+ * gnome-session/gsm-logout-inhibit-dialog.c
+ (gsm_logout_inhibit_dialog_class_init):
+ * gnome-session/gsm-manager.c
+ (gsm_manager_is_switch_user_inhibited), (manager_switch_user),
+ (do_action), (request_switch_user), (logout_dialog_response):
+ Make switch user work.
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-logout-dialog.c (gsm_get_dialog):
+ Center the dialog and set the appropriate window icon.
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * AUTHORS: Update
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/Makefile.am:
+ Remove test program for service client.
+ Bump intltool req.
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_new_from_dirs):
+ * egg/eggdesktopfile.h:
+ * gnome-session/gsm-logout-inhibit-dialog.c (find_inhibitor),
+ (add_inhibitor):
+ * gnome-session/test-inhibit.c (do_inhibit):
+ Search the correct dirs when looking up app ids.
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_lookup),
+ (foreach_remove_wrapper), (gsm_inhibitor_store_foreach_remove),
+ (gsm_inhibitor_store_add), (gsm_inhibitor_store_init):
+ * gnome-session/gsm-inhibitor-store.h:
+ * gnome-session/gsm-logout-inhibit-dialog.c (find_inhibitor),
+ (_util_icon_remove_extension), (_find_icon), (_load_icon),
+ (add_inhibitor), (on_store_inhibitor_added),
+ (on_store_inhibitor_removed),
+ (gsm_logout_inhibit_dialog_set_inhibitor_store),
+ (gsm_logout_inhibit_dialog_set_property),
+ (gsm_logout_inhibit_dialog_get_property), (name_cell_data_func),
+ (add_to_model), (populate_model), (setup_dialog),
+ (gsm_logout_inhibit_dialog_class_init),
+ (gsm_logout_inhibit_dialog_init),
+ (gsm_logout_inhibit_dialog_finalize),
+ (gsm_logout_inhibit_dialog_new):
+ * gnome-session/gsm-logout-inhibit-dialog.h:
+ * gnome-session/gsm-manager.c (inhibitor_has_bus_name),
+ (bus_name_owner_changed), (logout_inhibit_dialog_response),
+ (request_logout), (_generate_unique_cookie),
+ (gsm_manager_uninhibit):
+ Populate inhibit dialog.
+
+2008-06-24 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-inhibitor-store.c
+ (gsm_inhibitor_store_error_quark), (gsm_inhibitor_store_size),
+ (gsm_inhibitor_store_clear), (remove_inhibitor),
+ (gsm_inhibitor_store_remove), (gsm_inhibitor_store_foreach),
+ (gsm_inhibitor_store_find), (gsm_inhibitor_store_lookup),
+ (gsm_inhibitor_store_foreach_remove), (gsm_inhibitor_store_add),
+ (gsm_inhibitor_store_set_property),
+ (gsm_inhibitor_store_get_property),
+ (gsm_inhibitor_store_class_init), (inhibitor_unref),
+ (gsm_inhibitor_store_init), (gsm_inhibitor_store_finalize),
+ (gsm_inhibitor_store_new):
+ * gnome-session/gsm-inhibitor-store.h:
+ * gnome-session/gsm-inhibitor.c (gsm_inhibitor_constructor),
+ (gsm_inhibitor_init), (gsm_inhibitor_set_bus_name),
+ (gsm_inhibitor_set_app_id), (gsm_inhibitor_set_reason),
+ (gsm_inhibitor_set_cookie), (gsm_inhibitor_set_flags),
+ (gsm_inhibitor_set_toplevel_xid), (gsm_inhibitor_get_bus_name),
+ (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_reason),
+ (gsm_inhibitor_get_flags), (gsm_inhibitor_get_toplevel_xid),
+ (gsm_inhibitor_get_cookie), (gsm_inhibitor_set_property),
+ (gsm_inhibitor_get_property), (gsm_inhibitor_finalize),
+ (gsm_inhibitor_class_init), (gsm_inhibitor_new):
+ * gnome-session/gsm-inhibitor.h:
+ * gnome-session/gsm-logout-dialog.c (gsm_get_dialog):
+ * gnome-session/gsm-logout-dialog.h:
+ * gnome-session/gsm-logout-inhibit-dialog.c
+ (gsm_logout_inhibit_dialog_set_action),
+ (gsm_logout_inhibit_dialog_set_property),
+ (gsm_logout_inhibit_dialog_get_property), (on_response),
+ (setup_dialog), (gsm_logout_inhibit_dialog_constructor),
+ (gsm_logout_inhibit_dialog_dispose),
+ (gsm_logout_inhibit_dialog_class_init),
+ (gsm_logout_inhibit_dialog_init),
+ (gsm_logout_inhibit_dialog_finalize),
+ (gsm_logout_inhibit_dialog_new):
+ * gnome-session/gsm-logout-inhibit-dialog.glade:
+ * gnome-session/gsm-logout-inhibit-dialog.h:
+ * gnome-session/gsm-manager.c (inhibitor_has_bus_name),
+ (remove_inhibitors_for_connection), (bus_name_owner_changed),
+ (gsm_manager_init), (gsm_manager_finalize),
+ (gsm_manager_is_logout_inhibited), (do_action),
+ (logout_inhibit_dialog_response), (request_logout),
+ (logout_dialog_response), (initiate_logout),
+ (_generate_unique_cookie), (gsm_manager_inhibit),
+ (gsm_manager_uninhibit):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/test-inhibit.c (do_inhibit):
+ Add an inhibitor class and store class to make it
+ easier to update the model for the inhibit dialog.
+ Add a stub for an inhibit dialog.
+
+2008-06-23 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-manager.c (gsm_inhibitor_free),
+ (inhibitor_has_bus_name), (inhibit_changed_check),
+ (remove_inhibitors_for_connection), (bus_name_owner_changed),
+ (gsm_manager_init), (gsm_manager_finalize), (generate_cookie),
+ (_generate_unique_cookie), (gsm_manager_inhibit),
+ (gsm_manager_uninhibit):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ * gnome-session/test-client-method.c (register_client):
+ * gnome-session/test-inhibit.c (session_manager_connect),
+ (do_inhibit), (session_manager_disconnect), (do_uninhibit), (main):
+ Implement inhibit registration. Doesn't actually use it for
+ anything yet.
+
+2008-06-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_error_quark), (gsm_app_set_id),
+ (gsm_app_set_client_id), (gsm_app_set_property),
+ (gsm_app_get_property), (gsm_app_dispose), (gsm_app_class_init):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (load_desktop_file),
+ (gsm_autostart_app_set_desktop_filename),
+ (gsm_autostart_app_set_property), (gsm_autostart_app_get_property),
+ (gsm_autostart_app_dispose), (is_disabled),
+ (autostart_app_stop_spawn), (autostart_app_stop_activate),
+ (gsm_autostart_app_stop), (autostart_app_start_spawn),
+ (start_notify), (autostart_app_start_activate),
+ (gsm_autostart_app_start), (gsm_autostart_app_constructor),
+ (gsm_autostart_app_class_init), (gsm_autostart_app_new):
+ * gnome-session/gsm-autostart-app.h:
+ * gnome-session/gsm-manager.c (_app_has_client_id),
+ (find_app_for_client_id), (register_client_for_name),
+ (bus_name_owner_changed), (register_manager),
+ (append_default_apps), (append_autostart_apps),
+ (append_required_apps):
+ Add preliminary support for service clients.
+
+2008-06-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (bus_name_owner_changed),
+ (on_xsmp_client_register_request), (gsm_manager_finalize):
+ * gnome-session/gsm-manager.xml:
+ Drop set_name.
+
+2008-06-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-app.c (gsm_app_class_init),
+ (gsm_app_get_autorestart), (gsm_app_restart):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_dispose),
+ (gsm_autostart_app_stop), (gsm_autostart_app_start),
+ (gsm_autostart_app_restart), (gsm_autostart_app_get_autorestart),
+ (gsm_autostart_app_class_init):
+ * gnome-session/gsm-client.c (gsm_client_class_init):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_set_bus_name),
+ (gsm_dbus_client_get_bus_name), (gsm_dbus_client_set_property),
+ (gsm_dbus_client_get_property), (gsm_dbus_client_class_init):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-manager.c (gsm_manager_error_get_type),
+ (find_app_for_app_id), (disconnect_client),
+ (_disconnect_dbus_client), (remove_clients_for_connection),
+ (on_client_disconnected), (on_xsmp_client_register_request),
+ (gsm_manager_register_client), (gsm_manager_unregister_client):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ * gnome-session/gsm-method-client.c (gsm_method_client_class_init):
+ * gnome-session/gsm-resumed-app.c (app_exited),
+ (gsm_resumed_app_start), (gsm_resumed_app_restart),
+ (gsm_resumed_app_dispose), (gsm_resumed_app_class_init):
+ * gnome-session/gsm-service-client.c
+ (gsm_service_client_class_init):
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init),
+ (register_client_callback):
+ * gnome-session/test-client-method.c (session_manager_connect),
+ (register_client), (session_manager_disconnect),
+ (unregister_client), (main):
+ Add dbus method client support. Add test client. Fix up
+ restart handling.
+
+2008-06-18 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c:
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c:
+ * gnome-session/gsm-autostart-app.h:
+ * gnome-session/gsm-client.c:
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-logout-dialog.c:
+ * gnome-session/gsm-manager.c:
+ * gnome-session/gsm-resumed-app.c:
+ * gnome-session/gsm-resumed-app.h:
+ * gnome-session/gsm-xsmp-client.c:
+ * gnome-session/gsm-xsmp-server.c:
+ * gnome-session/main.c:
+ Update copyright headers.
+
+2008-06-17 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_get_id):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c
+ (gsm_autostart_app_set_desktop_file), (gsm_autostart_app_dispose),
+ (is_disabled), (app_exited), (gsm_autostart_app_get_id),
+ (gsm_autostart_app_constructor), (gsm_autostart_app_class_init):
+ * gnome-session/gsm-client-store.c (gsm_client_store_get_locked):
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-client.c (gsm_client_finalize),
+ (gsm_client_set_app_id), (gsm_client_set_property),
+ (gsm_client_get_property), (gsm_client_class_init),
+ (gsm_client_get_app_id), (gsm_client_notify_session_over),
+ (gsm_client_restart), (gsm_client_stop), (gsm_client_disconnected):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-dbus-client.c (gsm_dbus_client_constructor),
+ (gsm_dbus_client_init), (gsm_dbus_client_set_property),
+ (gsm_dbus_client_get_property), (gsm_dbus_client_finalize),
+ (gsm_dbus_client_class_init):
+ * gnome-session/gsm-dbus-client.h:
+ * gnome-session/gsm-manager.c (gsm_manager_error_get_type),
+ (app_condition_changed), (phase_timeout), (_start_app),
+ (find_app_for_client_id), (find_app_for_app_id),
+ (on_xsmp_client_register_request), (on_store_client_added),
+ (gsm_manager_class_init), (_shutdown_client), (get_caller_info),
+ (gsm_manager_register_client), (gsm_manager_unregister_client),
+ (gsm_manager_inhibit), (gsm_manager_uninhibit):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-manager.xml:
+ * gnome-session/gsm-method-client.c
+ (gsm_method_client_constructor), (gsm_method_client_init),
+ (gsm_method_client_set_property), (gsm_method_client_get_property),
+ (gsm_method_client_finalize), (gsm_method_client_stop),
+ (gsm_method_client_restart), (gsm_method_client_class_init),
+ (gsm_method_client_new):
+ * gnome-session/gsm-method-client.h:
+ * gnome-session/gsm-resumed-app.c (gsm_resumed_app_get_id),
+ (gsm_resumed_app_class_init):
+ * gnome-session/gsm-service-client.c
+ (gsm_service_client_constructor), (gsm_service_client_init),
+ (gsm_service_client_set_property),
+ (gsm_service_client_get_property), (gsm_service_client_finalize),
+ (gsm_service_client_stop), (gsm_service_client_restart),
+ (gsm_service_client_class_init), (gsm_service_client_new):
+ * gnome-session/gsm-service-client.h:
+ * gnome-session/gsm-xsmp-client.c (xsmp_restart), (xsmp_stop),
+ (_boolean_handled_accumulator), (gsm_xsmp_client_class_init),
+ (register_client_callback), (save_yourself_request_callback),
+ (save_yourself_phase2_request_callback),
+ (interact_request_callback), (interact_done_callback),
+ (save_yourself_done_callback), (gsm_xsmp_client_register_request),
+ (gsm_xsmp_client_save_state):
+ * gnome-session/gsm-xsmp-client.h:
+ Stub out some dbus based client classes. Make the GsmClient
+ class more generic.
+
+2008-06-16 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-consolekit.c (get_action_from_error):
+ * gnome-session/gsm-logout-dialog.c (gsm_get_dialog),
+ (gsm_get_shutdown_dialog), (gsm_get_logout_dialog):
+ * gnome-session/gsm-logout-dialog.h:
+ * gnome-session/gsm-manager.c (on_client_disconnected),
+ (gsm_manager_init), (manager_request_reboot),
+ (manager_request_shutdown), (_shutdown_client), (manager_logout),
+ (manager_request_hibernate), (manager_request_sleep),
+ (logout_dialog_response), (show_shutdown_dialog),
+ (show_logout_dialog), (initiate_logout), (gsm_manager_shutdown),
+ (gsm_manager_logout):
+ Fix and simplify shutdown handling.
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/gconf.c (gsm_gconf_shutdown):
+ * gnome-session/gdm.c (gdm_send_protocol_msg),
+ (get_display_number), (gdm_authenticate_connection),
+ (gdm_shutdown_protocol_connection), (gdm_init_protocol_connection),
+ (gdm_parse_query_response), (gdm_update_logout_actions),
+ (gdm_is_available), (gdm_set_logout_action), (gdm_new_login):
+ * gnome-session/gsm-logout-dialog.c:
+ * gnome-session/gsm-manager.c:
+ * gnome-session/gsm-power-manager.c (on_name_owner_changed),
+ (ensure_gpm_connection), (gsm_power_manager_init),
+ (gsm_power_manager_finalize), (gsm_power_manager_get_property),
+ (gsm_power_manager_can_suspend), (gsm_power_manager_can_hibernate),
+ (gsm_power_manager_attempt_suspend),
+ (gsm_power_manager_attempt_hibernate), (gsm_get_power_manager):
+ * gnome-session/gsm-power-manager.h:
+ * gnome-session/logout-dialog.c:
+ * gnome-session/logout-dialog.h:
+ * gnome-session/power-manager.c:
+ * gnome-session/power-manager.h:
+ Strip trailing whitespace. Make pretty.
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/gsm-manager.c (initiate_shutdown),
+ (logout_dialog_response), (gsm_manager_logout):
+ * gnome-session/logout-dialog.c (gsm_logout_dialog_set_property),
+ (gsm_logout_dialog_get_property), (on_ck_request_completed),
+ (gsm_logout_dialog_destroy), (gsm_logout_supports_reboot),
+ (gsm_logout_supports_shutdown), (gsm_logout_dialog_timeout),
+ (gsm_logout_dialog_set_timeout), (gsm_get_logout_dialog):
+ * gnome-session/logout-dialog.h:
+ Add config summary. Add some debug spew.
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (register_manager),
+ (gsm_manager_shutdown), (gsm_manager_logout):
+ * gnome-session/gsm-manager.h:
+ Register to the session bus.
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/main.c (maybe_start_session_bus),
+ (acquire_name_on_proxy), (acquire_name), (main):
+ Acquire a name on the bus.
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ Don't use "capplet" anywhere as this term shouldn't used anymore.
+ #537310, Frederic Peters.
+
+ * data/gnome-session.schemas.in: replaced "capplet" with "Session
+ Preferences".
+
+2008-06-15 William Jon McCann <jmccann@redhat.com>
+
+ * configure.in:
+ * gnome-session/Makefile.am:
+ * gnome-session/gdm.c (gdm_init_protocol_connection),
+ (gdm_is_available):
+ * gnome-session/gdm.h:
+ * gnome-session/gsm-consolekit.c (gsm_consolekit_get_property),
+ (gsm_consolekit_class_init), (gsm_consolekit_ensure_ck_connection),
+ (gsm_consolekit_on_name_owner_changed), (gsm_consolekit_init),
+ (gsm_consolekit_finalize), (gsm_consolekit_error_quark),
+ (gsm_consolekit_new), (try_system_stop), (try_system_restart),
+ (emit_restart_complete), (emit_stop_complete),
+ (system_restart_auth_cb), (system_stop_auth_cb),
+ (get_action_from_error), (request_restart_priv),
+ (request_stop_priv), (gsm_consolekit_attempt_restart),
+ (gsm_consolekit_attempt_stop), (gsm_consolekit_can_restart),
+ (gsm_consolekit_can_stop), (gsm_get_consolekit):
+ * gnome-session/gsm-consolekit.h:
+ * gnome-session/gsm-manager.c (do_request_reboot),
+ (do_request_shutdown), (manager_shutdown):
+ * gnome-session/logout-dialog.c (on_ck_request_completed),
+ (gsm_logout_dialog_init), (gsm_logout_dialog_destroy),
+ (gsm_logout_supports_reboot), (gsm_logout_supports_shutdown),
+ (gsm_get_logout_dialog):
+ Add CK shutdown support. Merged from trunk.
+
+2008-06-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-manager.c (on_app_exited), (_start_app),
+ (on_client_disconnected), (on_manage_request):
+ Add restart support back.
+
+2008-06-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_died):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (app_exited), (launch):
+ Wait on processes so we don't create zombies.
+
+2008-06-13 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_init), (gsm_app_set_phase),
+ (set_property), (gsm_app_class_init), (gsm_app_start):
+ * gnome-session/gsm-autostart-app.c (get_basename),
+ (gsm_autostart_app_constructor), (gsm_autostart_app_class_init),
+ (gsm_autostart_app_new):
+ * gnome-session/gsm-client-store.c (gsm_client_store_add):
+ * gnome-session/gsm-client.c (gsm_client_class_init):
+ * gnome-session/gsm-manager.c (end_phase), (_start_app),
+ (start_phase), (_client_has_client_id), (_app_has_client_id),
+ (on_manage_request), (on_store_client_added),
+ (gsm_manager_set_client_store), (append_app),
+ (append_default_apps), (append_autostart_apps),
+ (append_legacy_session_apps), (append_required_apps),
+ (gsm_manager_class_init):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-resumed-app.c (gsm_resumed_app_init),
+ (gsm_resumed_app_class_init):
+ * gnome-session/gsm-xsmp-client.c (client_iochannel_watch),
+ (client_protocol_timeout), (setup_connection),
+ (debug_print_property), (set_properties_callback),
+ (delete_properties_callback), (get_properties_callback),
+ (do_save_yourself), (xsmp_save_yourself),
+ (xsmp_save_yourself_phase2), (xsmp_interact),
+ (xsmp_shutdown_cancelled), (xsmp_stop), (gsm_xsmp_client_finalize),
+ (gsm_xsmp_client_class_init), (register_client_callback),
+ (save_yourself_request_callback):
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection),
+ (accept_xsmp_connection), (ice_error_handler),
+ (ice_io_error_handler), (sms_error_handler), (setup_listener):
+ Actually register clients.
+
+2008-06-12 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-app.c (gsm_app_init), (set_property),
+ (get_property), (dispose), (gsm_app_class_init), (gsm_app_get_id),
+ (gsm_app_get_client_id), (gsm_app_get_phase), (gsm_app_is_running),
+ (gsm_app_provides), (gsm_app_start), (gsm_app_stop),
+ (gsm_app_exited):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init),
+ (gsm_autostart_app_set_desktop_file),
+ (gsm_autostart_app_set_property), (gsm_autostart_app_get_property),
+ (gsm_autostart_app_dispose), (if_exists_condition_cb),
+ (unless_exists_condition_cb), (is_running), (is_disabled),
+ (app_exited), (launch), (get_basename),
+ (gsm_autostart_app_provides), (gsm_autostart_app_class_init),
+ (gsm_autostart_app_new):
+ * gnome-session/gsm-client-store.c:
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-client.c (gsm_client_finalize):
+ * gnome-session/gsm-manager.c (app_condition_changed),
+ (_start_app), (start_phase), (append_app), (_find_app_provides),
+ (append_required_apps), (gsm_manager_init), (gsm_manager_finalize),
+ (initiate_shutdown):
+ * gnome-session/gsm-resumed-app.c (launch), (get_basename),
+ (gsm_resumed_app_class_init),
+ (gsm_resumed_app_new_from_legacy_session):
+ * gnome-session/gsm-resumed-app.h:
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_finalize):
+ A bit more refactoring.
+
+2008-06-12 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/gsm-client-store.c (gsm_client_store_size),
+ (gsm_client_store_lookup), (_has_client_id),
+ (gsm_client_store_add), (gsm_client_store_set_locked),
+ (gsm_client_store_set_property), (gsm_client_store_get_property),
+ (gsm_client_store_class_init):
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-client.c (gsm_client_set_status),
+ (gsm_client_set_client_id), (gsm_client_set_property),
+ (gsm_client_get_property), (_boolean_handled_accumulator),
+ (gsm_client_class_init), (gsm_client_get_client_id),
+ (gsm_client_stop), (gsm_client_manage_request),
+ (gsm_client_logout_request):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-manager.c (_find_by_client_id),
+ (app_condition_changed), (on_store_client_added),
+ (gsm_manager_set_client_store), (_stop_client), (manager_shutdown),
+ (_shutdown_client), (initiate_shutdown):
+ * gnome-session/gsm-marshal.list:
+ * gnome-session/gsm-xsmp-client.c (client_iochannel_watch),
+ (client_protocol_timeout), (find_property), (set_description),
+ (setup_connection), (gsm_xsmp_client_constructor),
+ (gsm_xsmp_client_init), (delete_property), (debug_print_property),
+ (set_properties_callback), (delete_properties_callback),
+ (get_properties_callback), (prop_to_command),
+ (xsmp_get_restart_command), (xsmp_get_discard_command),
+ (xsmp_get_autorestart), (xsmp_restart), (do_save_yourself),
+ (xsmp_save_yourself), (xsmp_save_yourself_phase2), (xsmp_interact),
+ (xsmp_shutdown_cancelled), (xsmp_stop),
+ (gsm_client_set_ice_connection), (gsm_xsmp_client_set_property),
+ (gsm_xsmp_client_get_property), (gsm_xsmp_client_finalize),
+ (gsm_xsmp_client_class_init), (gsm_xsmp_client_new),
+ (register_client_callback), (save_yourself_request_callback),
+ (save_yourself_phase2_request_callback),
+ (interact_request_callback), (interact_done_callback),
+ (save_yourself_done_callback), (close_connection_callback),
+ (gsm_xsmp_client_connect):
+ * gnome-session/gsm-xsmp-client.h:
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection):
+ Give the code another whacking.
+
+2008-06-11 William Jon McCann <jmccann@redhat.com>
+
+ * gnome-session/Makefile.am:
+ * gnome-session/app-autostart.c:
+ * gnome-session/app-autostart.h:
+ * gnome-session/app-resumed.c:
+ * gnome-session/app-resumed.h:
+ * gnome-session/app.c:
+ * gnome-session/app.h:
+ * gnome-session/client-xsmp.c:
+ * gnome-session/client-xsmp.h:
+ * gnome-session/client.c:
+ * gnome-session/client.h:
+ * gnome-session/dbus.c:
+ * gnome-session/dbus.h:
+ * gnome-session/gconf.c (gsm_gconf_check):
+ * gnome-session/gsm-app.c (set_property), (get_property),
+ (dispose), (get_basename), (gsm_app_get_phase),
+ (gsm_app_is_disabled), (gsm_app_provides), (app_exited), (launch):
+ * gnome-session/gsm-app.h:
+ * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init),
+ (gsm_autostart_app_class_init), (gsm_autostart_app_dispose),
+ (gsm_autostart_app_new), (unless_exists_condition_cb),
+ (if_exists_condition_cb), (gconf_condition_cb), (is_disabled):
+ * gnome-session/gsm-autostart-app.h:
+ * gnome-session/gsm-client-store.c (gsm_client_store_error_quark),
+ (gsm_client_store_clear), (remove_client),
+ (gsm_client_store_remove), (gsm_client_store_foreach),
+ (gsm_client_store_find), (gsm_client_store_foreach_remove),
+ (gsm_client_store_add), (gsm_client_store_class_init),
+ (client_unref), (gsm_client_store_init),
+ (gsm_client_store_finalize), (gsm_client_store_new):
+ * gnome-session/gsm-client-store.h:
+ * gnome-session/gsm-client.c (get_next_client_serial),
+ (gsm_client_constructor), (gsm_client_init), (gsm_client_finalize),
+ (gsm_client_class_init), (gsm_client_get_id),
+ (gsm_client_register_client), (gsm_client_request_logout):
+ * gnome-session/gsm-client.h:
+ * gnome-session/gsm-manager.c (gsm_manager_error_quark),
+ (app_condition_changed), (end_phase), (app_registered),
+ (phase_timeout), (start_phase), (gsm_manager_start),
+ (remove_client_for_connection), (remove_clients_for_connection),
+ (bus_name_owner_changed), (register_manager),
+ (gsm_manager_set_failsafe), (gsm_manager_set_client_store),
+ (gsm_manager_set_property), (gsm_manager_get_property),
+ (append_app), (append_default_apps), (append_autostart_apps),
+ (append_legacy_session_apps), (append_saved_session_apps),
+ (append_required_apps), (load_apps), (gsm_manager_constructor),
+ (gsm_manager_class_init), (gsm_manager_init),
+ (gsm_manager_finalize), (gsm_manager_new), (gsm_manager_setenv),
+ (gsm_manager_initialization_error), (manager_shutdown),
+ (initiate_shutdown), (logout_dialog_response),
+ (gsm_manager_initiate_shutdown), (gsm_manager_shutdown),
+ (gsm_manager_logout), (manager_set_name), (gsm_manager_set_name):
+ * gnome-session/gsm-manager.h:
+ * gnome-session/gsm-marshal.list:
+ * gnome-session/gsm-resumed-app.c (gsm_resumed_app_init),
+ (gsm_resumed_app_class_init),
+ (gsm_resumed_app_new_from_legacy_session),
+ (gsm_resumed_app_new_from_session), (get_basename), (launch):
+ * gnome-session/gsm-resumed-app.h:
+ * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_init),
+ (gsm_xsmp_client_class_init), (gsm_xsmp_client_new),
+ (xsmp_finalize), (client_iochannel_watch),
+ (client_protocol_timeout), (register_client_callback),
+ (do_save_yourself), (save_yourself_request_callback),
+ (xsmp_save_yourself), (save_yourself_phase2_request_callback),
+ (xsmp_save_yourself_phase2), (interact_request_callback),
+ (xsmp_interact), (interact_done_callback),
+ (xsmp_shutdown_cancelled), (xsmp_die),
+ (save_yourself_done_callback), (close_connection_callback),
+ (debug_print_property), (find_property), (delete_property),
+ (set_properties_callback), (delete_properties_callback),
+ (get_properties_callback), (xsmp_get_client_id), (xsmp_get_pid),
+ (xsmp_get_desktop_file), (prop_to_command),
+ (xsmp_get_restart_command), (xsmp_get_discard_command),
+ (xsmp_get_autorestart), (set_description),
+ (gsm_xsmp_client_connect):
+ * gnome-session/gsm-xsmp-client.h:
+ * gnome-session/gsm-xsmp-server.c (accept_ice_connection),
+ (gsm_xsmp_server_start), (gsm_xsmp_server_set_client_store),
+ (gsm_xsmp_server_set_property), (gsm_xsmp_server_get_property),
+ (accept_xsmp_connection), (ice_error_handler),
+ (ice_io_error_handler), (sms_error_handler), (auth_entry_new),
+ (update_iceauthority), (setup_listener),
+ (gsm_xsmp_server_constructor), (gsm_xsmp_server_class_init),
+ (gsm_xsmp_server_init), (gsm_xsmp_server_finalize),
+ (gsm_xsmp_server_new):
+ * gnome-session/gsm-xsmp-server.h:
+ * gnome-session/gsm.h:
+ * gnome-session/logout-dialog.c (gsm_logout_dialog_timeout),
+ (gsm_get_logout_dialog):
+ * gnome-session/logout-dialog.h:
+ * gnome-session/main.c (gsm_dbus_init), (gsm_dbus_check), (main):
+ * gnome-session/org.gnome.SessionManagement.xml:
+ * gnome-session/session.c:
+ * gnome-session/session.h:
+ * gnome-session/util.c (gsm_util_init_error),
+ (gsm_util_generate_client_id):
+ * gnome-session/util.h:
+ * gnome-session/xsmp.c:
+ * gnome-session/xsmp.h:
+ First crack at new new gnome-session based around D-Bus.
+ XSMP still provided but more as a legacy feature. Not quite
+ operational yet. See bug #535829 for more info.
+
+2008-06-10 Kjartan Maraas <kmaraas@gnome.org>
+
+ * compat/gnome-keyring-daemon-wrapper.c: (keyring_daemon_start),
+ (main): Fix some invalid reads and a leak reported by valgrind. Closes
+ bug #537577.
+
+2008-06-05 Lucas Rocha <lucasr@gnome.org>
+
+ * data/session-properties.glade: add bevel to list of startup apps on
+ session properties capplet. #536833, Matthias Clasen.
+
+2008-06-03 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.4
+
+2008-06-03 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.3.
+
+2008-05-31 Lucas Rocha <lucasr@gnome.org>
+
+ * compat/at-spi-registryd-wrapper.c (show_error, registry_ior_watch,
+ registry_ior_watch_timeout, main): remove dialog shown after a timeout
+ in at-spi wrapper program in order to avoid false-positive at-spi
+ errors. #524263, Li Yuan.
+
+2008-05-31 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: properly check for broadcast startup message function
+ on Gdk to have icons shown on session startup.
+
+2008-05-31 Lucas Rocha <lucasr@gnome.org>
+
+ Fix crash when appending resumed apps from legacy session file.
+ #532075, Ed Catmur. Patch by Ed Catmur.
+
+ * gnome-session/app-resumed.c (get_basename): implement get_basename
+ by returning the program name for now. This will probably need to be
+ changed in the future with the new session saving implementation based
+ on desktop files.
+ * gnome-session/app.c (get_basename, gsm_app_get_basename,
+ gsm_app_class_init): turn gsm_app_get_basename into an overridable
+ method so that we can re-implement it on different types of apps.
+ * gnome-session/session.c (append_app): check if basename is NULL
+ before checking if app has been registered earlier.
+
+2008-05-29 Dan Winship <danw@gnome.org>
+
+ * gnome-session/xsmp.c: Deal with the possibility of multiple
+ local connections, and recognize "unix/" as a local connection
+ prefix as well as "local/". Fixes XSMP under Fedora Rawhide.
+ Problem noted by Kjartan Maraas.
+
+2008-05-27 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/session.c, gnome-session/xsmp.c, gnome-session/app.c:
+ fixed several memory leaks. #534641, Kjartan Maraas.
+
+2008-05-25 Lucas Rocha <lucasr@gnome.org>
+
+ Add support for drag and drop of desktop files on Session Properties
+ capplet. #437206, Vincent Untz. Patch from Jared Moore <jaredm@gmx.com>
+
+ * capplet/commands.c (spc_command_add_app): check if icon is set
+ on iter before using default app icon.
+ * capplet/ui.c
+ (setup_treeview, drag_data_cb, add_from_desktop_file): set drag and
+ drop handlers. The treeview now can receive a list of desktop file uris
+ from DnD.
+
+2008-05-25 Lucas Rocha <lucasr@gnome.org>
+
+ Fix gnome-keyring-wrapper program to correctly set SSH_AUTH_SOCK env
+ variable on session initialization phase. #534055, Dan Winship.
+
+ * compat/gnome-keyring-daemon-wrapper.c (keyring_daemon_start):
+ capture output from gnome-keyring-daemon and set SSH_AUTH_SOCK and
+ GNOME_KEYRING_PID env variables properly.
+
+2008-05-25 Lucas Rocha <lucasr@gnome.org>
+
+ Make splash listen to "SessionRunning" to know when to go away on
+ session startup. #529602, Karsten Bräckelmann.
+
+ * splash/Makefile.am: add D-Bus bits on INCLUDES and LDADD.
+ * splash/README: remove obsolete note about gnome-session-splash.
+ * splash/gnome-session-splash.c (get_session_bus,
+ set_session_running_handler, on_session_running, main): listen to
+ "SessionRunning" D-Bus signal to know when go away.
+ * splash/gnome-session-splash.desktop.in: move splash to Panel phase
+ as it's the phase just after window manager is started.
+
+2008-05-25 Lucas Rocha <lucasr@gnome.org>
+
+ Emit "SessionRunning" D-Bus signal when session is fully up and
+ running with all autostart apps present.
+
+ * gnome-session/dbus.[ch]
+ (gsm_dbus_server_class_init): add "session-running" signal to
+ GsmDBusServer class.
+ (gsm_dbus_emit_session_running): new method for emitting the new signal.
+ * gnome-session/org.gnome.SessionManagement.xml: added "SessionRunning"
+ signal.
+ (gsm_dbus_emit_session_over): rename gsm_dbus_session_over to
+ gsm_dbus_emit_session_over for consistency.
+ * gnome-session/session.c (end_phase): added
+ gsm_dbus_emit_session_emit() call when GSM_SESSION_PHASE_RUNNING is
+ reached.
+
+2008-05-24 Lucas Rocha <lucasr@gnome.org>
+
+ Emit "SessionOver" D-Bus signal before ending the session.
+
+ * gnome-session/dbus.[ch]
+ (gsm_dbus_server_class_init): add "session-over" signal to
+ GsmDBusServer class.
+ (gsm_dbus_session_over): new method for emitting the new signal.
+ * gnome-session/org.gnome.SessionManagement.xml: added "SessionOver"
+ signal.
+ * gnome-session/session.c (session_shutdown): added
+ gsm_dbus_session_over() call.
+
+2008-05-17 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/logout-dialog.c: fixes small build warning.
+
+2008-05-17 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c
+ (main): call gsm_dbus_shutdown, gsm_xsmp_shutdown, and
+ gsm_gconf_shutdown after main quit.
+ (gsm_initialization_error): call gtk_main_quit after showing error
+ dialog.
+
+2008-05-17 Lucas Rocha <lucasr@gnome.org>
+
+ Port gnome-session-save tool to new code base.
+
+ * tools/gnome-session-save.c: tool source code.
+ * configure.in, Makefile.am, tools/Makefile.am: add tools to build.
+ * gnome-session/org.gnome.SessionManagement.xml,
+ gnome-session/dbus.c (gsm_dbus_server_set_name): new SetName D-Bus
+ method which should be used to set the name of current session.
+ * gnome-session/session.[ch] (gsm_session_set_name): new GsmSession
+ method for setting session name.
+
+2008-05-14 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.3
+
+2008-05-14 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.2.2.
+
+2008-05-14 Lucas Rocha <lucasr@gnome.org>
+
+ * capplet/ui.c (add_app_cb): remove iter from store if app is not
+ actually added. #532973, David Ronis.
+
+2008-05-14 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c (main): fixed a build warning on the
+ gtk_init_with_args() call.
+
+2008-05-14 Lucas Rocha <lucasr@gnome.org>
+
+ * capplet/ui.c: fixed command entry widget name to match the one
+ in the glade.
+
+2008-05-14 Kjartan Maraas <kmaraas@gnome.org>
+
+ * data/session-properties.glade: Don't translate
+ widget labels.
+
+2008-05-13 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.3
+
+2008-05-13 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.2.1.
+
+2008-05-13 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: fixed libglade dependency to 2.3.6.
+ #532835, Karsten Bräckelmann.
+
+2008-05-12 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.3
+
+2008-05-12 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.2.
+
+2008-05-12 Lucas Rocha <lucasr@gnome.org>
+
+ * capplet/main.c, capplet/ui.[ch], capplet/commands.[ch]: added
+ copyright headers.
+
+2008-05-10 Lucas Rocha <lucasr@gnome.org>
+
+ Session properties capplet re-implemented for new code base.
+ #529601, Karsten Bräckelmann.
+
+ * capplet/main.c, capplet/ui.[ch], capplet/commands.[ch]: session
+ properties capplet code.
+ * gnome-session/util.[ch]: utility functions shared among session
+ manager and capplet.
+ * gnome-session/session.c (gsm_session_new): use gsm_util_* functions
+ instead of local ones.
+ * data/session-properties.glade: capplet Glade file.
+
+2008-04-22 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.2
+
+2008-04-22 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.1.1.
+
+2008-04-22 Lucas Rocha <lucasr@gnome.org>
+
+ * splash/Makefile.am: install splash .desktop files in an autostart
+ directory instead of old default-session one.
+ * compat/Makefile.am: install compat .desktop files in an autostart
+ directory instead of old default-session one.
+
+2008-04-21 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: post-release bump to 2.23.2
+
+==================== 2.23.1 ====================
+
+2008-04-21 Lucas Rocha <lucasr@gnome.org>
+
+ * NEWS:
+ * README: Version 2.23.1.
+
+2008-04-21 Lucas Rocha <lucasr@gnome.org>
+
+ * data/Makefile.am, data/nautilus.desktop,
+ data/gnome-settings-daemon.desktop: don't install .desktop files for
+ nautilus and gnome-settings-daemon because gnome-session looks for
+ those in their origin paths now.
+
+2008-04-21 Lucas Rocha <lucasr@gnome.org>
+
+ * data/gnome-wm: restore the gnome-wm script to keep backwards
+ compatibitility.
+
+2008-04-19 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/app-autostart (file_condition_cb, is_disabled):
+ Separate callbacks for if-exists and unless-exists condition
+ to not need a condition_type private attribute.
+
+2008-04-13 Lucas Rocha <lucasr@gnome.org>
+
+ Fully implement if-exists and unless-exists condition types.
+
+ * configure.in: bump glib dependency to 2.16.0 and add gio bits.
+ * gnome-session/app-autostart.c: added condition and condition_type
+ private attribute to keep track of codition changes in the app.
+ (gsm_app_autostart_class_init, gsm_app_autostart_dispose): added
+ dispose to free internal resources.
+ (file_condition_cb): callback for file monitor used to keep track
+ of if-exists and unless-exists condition changes.
+ (gconf_condition_cb): only emit "condition-changed" if the condition
+ actually changed.
+ (is_disabled): added file monitors for if-exists and unless-exists
+ condition types.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * data/gnome-panel.desktop, data/Makefile.am: don't install
+ gnome-panel.desktop anymore as gnome-panel has all needed keys
+ in its .desktop file now.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ Re-implemented the way we define the default session. Instead of a
+ directory full of .desktop files, we now get the list of default apps
+ from a gconf key. Then session manager then looks for those apps in
+ the standard applications and autostart directories. This way we don't
+ require default apps to export their .desktop files in a special
+ directory. #525157, Rob Bradford.
+
+ * data/gnome-session.schemas.in: added a new gconf key
+ /desktop/gnome/session/default-session which stores the list of
+ default session apps.
+ * gnome-session/Makefile.am: no need to define default-session
+ directory anymore.
+ * gnome-session/gsm.h: added new constant called
+ GSM_GCONF_DEFAULT_SESSION_KEY refering to new gconf key.
+ * gnome-session/session.c
+ (gsm_session_new, append_default_apps): new function to load default
+ apps from gconf key. The gconf key only stores the application names
+ and GsmSession looks for a respective .desktop file in some standard
+ application and autostart directories.
+ (get_autostart_dirs, get_app_dirs): new utility functions which return
+ all autostart and applications directories respectively.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/README: fix small typo.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/Makefile.am: use GNOME_SESSION_FLAGS and
+ GNOME_SESSION_LIBS in INCLUDES and LDADD respectively.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c (main): correctly set translation domain on
+ gtk_init_with_args() call.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: several cosmetic changes.
+
+2008-04-10 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/main.c (main), gnome-session/Makefile.am: uncommented
+ gettext-related code. Defined locale directory.
+
+2008-04-09 Lucas Rocha <lucasr@gnome.org>
+
+ * HACKING: removed obsolete information and updated the content.
+
+2008-03-31 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/app-autostart.c (is_disabled): Call
+ egg_desktop_file_can_launch() to check OnlyShowIn/NotShowIn and
+ TryExec. #525184, Owen Taylor. Patch by Dan Winship.
+
+2008-03-31 Lucas Rocha <lucasr@gnome.org>
+
+ * data/default-session.in: removed default-session.in as this is
+ not necessary or used by gnome-session anymore.
+
+2008-03-30 Lucas Rocha <lucasr@gnome.org>
+
+ * data/metacity.desktop, data/Makefile.am: don't install
+ metacity.desktop anymore as metacity is doing it now.
+
+2008-03-23 Lucas Rocha <lucasr@gnome.org>
+
+ * AUTHORS, MAINTAINERS: updated with real content.
+
+2008-03-23 Lucas Rocha <lucasr@gnome.org>
+
+ Fix relation between apps set with X-GNOME-Autorestart and
+ AutostartCondition.
+
+ * gnome-session/session.c
+ (app_condition_changed, client_disconnected): don't restart apps if
+ their condition are set to false.
+ * gnome-session/app-autostart.c (is_disabled): don't keep track of
+ condition in case the app is not set with X-GNOME-Autorestart.
+
+2008-03-22 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: removed libnotify dependency and made some cleanups.
+
+2008-03-22 Lucas Rocha <lucasr@gnome.org>
+
+ * configure.in: update version to 2.23.1 for future release.
+ * po/POTFILES.in, data/Makefile.am: Several fixes in the build files
+ in order to make it pass distcheck.
+
+2008-03-06 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_new_from_key_file),
+ gnome-session/xsmp.c (gsm_xsmp_init): fixed two memory leaks.
+
+2008-03-05 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_launchv): use g_ptr_array_add
+ instead of g_ptr_array_set_size to add NULL item to env array.
+
+2008-03-05 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_launchv): add a NULL item to
+ the environment vars array in order to avoid invalid memory access.
+
+2008-03-05 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/client-xsmp.c (debug_print_property): removed useless
+ debug message.
+
+2008-03-04 Lucas Rocha <lucasr@gnome.org>
+
+ Added support for stopping/starting autostart apps based on their
+ AutostartCondition key definition (GConf-only for now).
+
+ * gnome-session/app-autostart.[ch]: added condition-changed signal and
+ keep track of gconf key changes from the .desktop AutostartCondition
+ key.
+ * gnome-session/session.c (start_phase): connect to condition-changed
+ signal and launch or kill autostart app depending on the new condition
+ state.
+
+2008-02-19 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/Makefile.am: added app-resumed.[ch] to the build.
+ * gnome-session/app-resumed.[ch]: fix attribute name.
+ * gnome-session/session.c (gsm_session_new,
+ append_saved_session_apps): uncomment legacy saved session loading
+ code.
+
+2008-02-19 Lucas Rocha <lucasr@gnome.org>
+
+ * data/Makefile.am: added autotools bits for session .desktop file.
+ * data/gnome.desktop.in: added xsession .desktop file.
+
+2008-02-19 Lucas Rocha <lucasr@gnome.org>
+
+ * data/Makefile.am: added autotools bits for GConf schemas.
+ * gnome-session/gsm.schemas: moved schemas file to "data" directory as
+ gnome-session.schemas.in.
+
+2007-11-27 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/dbus.c (gsm_dbus_init): use G_SPAWN_SEARCH_PATH flag
+ and do not use '--sh-syntax' option on dbus-launch in order to have it
+ correctly running and setting the respective environment vars.
+
+2007-11-26 Lucas Rocha <lucasr@gnome.org>
+
+ New D-Bus APIs for logging out (org.gnome.SessionManager.Logout)
+ and shutting down the computer (org.gnome.SessionManager.Shutdown).
+
+ * gnome-session/Makefile.am: added gdm.[ch], power-manager.[ch]
+ and logout-dialog.[ch] to the build.
+ * gnome-session/logout-dialog.[ch]: new logout dialog implementation
+ for logout and shutdown operations.
+ * gnome-session/power-manager.[ch]: new functions for powering down,
+ restarting, and suspending the computer through GNOME Power Manager.
+ * gnome-session/gdm.[ch]: new functions for communication with GDM.
+ * gnome-session/client-xsmp.c: (save_yourself_request_callback): update
+ with new gnome_session_initiate_shutdown() API.
+ * gnome-session/dbus.c (gsm_dbus_server_logout,
+ gsm_dbus_server_shutdown), gnome-session/org.gnome.SessionManagement.xml:
+ new D-Bus APIs for Logout and Shutdown.
+ * gnome-session/session.[ch]:
+ (logout_dialog_response, gsm_session_initiate_shutdown): new parameter
+ for determining which logout mode to use (normal logout or shutdown). Use
+ new logout dialog when a confirmation is requested.
+ (session_cancel_shutdown): reset the logout dialog response in case the
+ shutdown process is cancelled.
+ (initiate_shutdown): moved the code for initiating the session shutdown
+ to a separate function.
+ (session_shutdown): activate shutdown functions in case this is
+ requested in the logout dialog.
+
+2007-11-20 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/session.c (app_registered): remove timeout function
+ when all applications from a certain phase are registered on time.
+
+2007-11-18 Lucas Rocha <lucasr@gnome.org>
+
+ * compat/gnome-settings-daemon-helper.c: remove screen resolution
+ settings code as this is now handled by gnome-settings-daemon
+ accordingly. See bug #434982.
+ * configure.in: don't check XRandr bits anymore.
+
+2007-11-17 Dan Winship <danw@gnome.org>
+
+ * gnome-session/xsmp.c:
+ * gnome-session/client-xsmp.c:
+ * gnome-session/app-resumed.c: add some comments explaining
+ various things
+
+2007-11-12 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/session.c (start_phase): only add autostarted apps
+ to pending apps on phases before GSM_SESSION_PHASE_APPLICATION.
+
+2007-11-10 Lucas Rocha <lucasr@gnome.org>
+
+ Add support for client autorestart which can be activated by the
+ "X-GNOME-AutoRestart" .desktop file key or by setting the restart
+ style accordingly through the session client API (GnomeClient's
+ gnome_client_set_restart_style()).
+
+ * gnome-session/client-xsmp.c
+ (register_client_callback): do not generate new IDs itself, and have it just pass
+ the previous_id directly to gsm_session_register_client(), and if it's NULL, then
+ gsm_session_register_client() can generate the new client ID using
+ gsm_xsmp_generate_client_id().
+ (gsm_client_xsmp_class_init, xsmp_restart): XSMP client implementation
+ of gsm_client_restart() method.
+ * gnome-session/client.[ch] (gsm_client_restart): new abstract method
+ for restarting a session client.
+ * gnome-session/session.c (gsm_session_register_client): change it to
+ generate a new client ID in case the provided ID is NULL and return the
+ generated ID in case the client is accepted. A client ID is accepted
+ by the session manager if it's not duplicated, belongs to one of the
+ autostarted apps or is NULL.
+
+2007-11-07 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_launchv): fix build warning.
+
+2007-10-27 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/client-xsmp.c (xsmp_get_client_id, xsmp_get_pid,
+ xsmp_get_restart_command, xsmp_get_autorestart): cast correct variable
+ in order to make invalid memory accesses on wrong variable.
+
+2007-10-27 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/client.c (gsm_client_get_client_id,
+ gsm_client_get_pid, gsm_client_get_desktop_file,
+ gsm_client_get_restart_command, gsm_client_get_discard_command,
+ gsm_client_get_autorestart, gsm_client_save_state): add definition for
+ abstract methods in GsmClient.
+
+2007-10-23 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gconf.c (unset_display_setup): revert change for
+ unsetting DISPLAY environment variable before running
+ gconf-sanity-check as now it can run without a display.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/session.c
+ (start_phase): correctly check if application was successfully
+ launched. Fix crasher when printing out error message in case application
+ failed to launch and returned no error.
+ (gsm_session_register_client): emit "registered" signal on application
+ with the registered session client id.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/app.[ch]
+ (gsm_app_class_init): added new GsmApp signals "registered" and "exited".
+ (launch, app_exited): if case the application belongs to
+ Initialization phase, monitor program exit in order to emit "exited"
+ signal accordingly.
+ (gsm_app_registered): new method for emitting "registered" signal on
+ an GsmApp object.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * gnome-session/gconf.c (unset_display_setup): do not unset DISPLAY
+ environment variable as gconf-sanity-check doesn't run if there's no
+ defined display.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggsmclient.c (sm_client_post_parse_func): try to get session
+ client id from the DESKTOP_AUTOSTART_ID environment variable in case
+ no client id is given from command line option --sm-client-id. Unset
+ this environment variable just after using it in order to avoid child
+ processes to use the same client id.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * egg/eggdesktopfile.c (egg_desktop_file_launchv): fix leak and
+ invalid memory access on environment variables array.
+
+2007-10-21 Lucas Rocha <lucasr@gnome.org>
+
+ * compat/gnome-keyring-daemon-wrapper.desktop.in,
+ compat/gnome-settings-daemon-helper.desktop.in,
+ data/gnome-panel.desktop, data/gnome-settings-daemon.desktop,
+ data/metacity.desktop, data/nautilus.desktop,
+ splash/gnome-login-sound.desktop.in,
+ splash/gnome-session-splash.desktop.in: use
+ X-GNOME-Autostart-Notify key for passing session client ids
+ through the DESKTOP_AUTOSTART_ID environment variable.
+
+2007-06-29 Dan Winship <danw@gnome.org>
+
+ * Initial commit. Don't expect it to be useful yet. :)
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..d13731d
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,31 @@
+Hacking on gnome-session
+========================
+
+ + The development occurs in git:
+
+ http://git.gnome.org/browse/gnome-session
+
+ For information on how to access GNOME git please read:
+
+ https://wiki.gnome.org/Git
+
+ + Please send patches as bug reports in GNOME Bugzilla:
+
+ https://bugzilla.gnome.org/ (product gnome-session)
+
+ Your patch should be in unified diff form (the -u option to GNU
+ diff). See also:
+
+ https://wiki.gnome.org/GnomeLove/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..3e1bb16
--- /dev/null
+++ b/MAINTAINERS
@@ -0,0 +1,24 @@
+Currently active maintainers
+----------------------------
+
+Ray Strode
+E-mail: rstrode@redhat.com
+Userid: halfline
+
+William Jon McCann
+E-mail: mccann@jhu.edu
+Userid: mccann
+
+Non-active maintainers, who have a good understanding of the code
+-----------------------------------------------------------------
+
+#Vincent Untz
+#E-mail: vuntz@gnome.org
+#Userid: vuntz
+
+#Lucas Rocha
+#E-mail: lucasr@gnome.org
+#Userid: lucasr
+
+#Mark McLoughlin
+#E-mail: mark@skynet.ie
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..36bc1d1
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,102 @@
+============
+Version 43.0
+============
+
+ Build system improvements
+ GError clean up fix
+ Translation updates
+
+============
+Version 42.0
+============
+
+ Give better error when failing to get renderer string
+ Fix failure to run sessions for program accounts
+ Translation updates
+
+============
+Version 40.8
+============
+
+ data: Install GNOME on Wayland session for X11 preferred setups
+ Don't spew as much into log when falling back to non-systemd sessions
+ Work better with certain versions of meson
+ Correct screwed up check for gnome-shell
+ Various cleanups and leak fixes
+ Translation updates
+
+==============
+Version 40.1.1
+==============
+
+ presence: Fix error detection when syncing initial screensaver state
+
+============
+Version 40.1
+============
+
+ presence: Do not auto-start the GNOME Shell screensaver service
+ util: Unset LC_* variables as they may be unset at login time
+
+============
+Version 40.0
+============
+
+ util: Remove undesired variables from activation environment
+
+===============
+Version 40.beta
+===============
+
+ gnome-session: GNOME session will now only block sleep for suspend
+ inhibitors and will block shutdown if a logout inhibitor is
+ active.
+ Previously a suspend inhibitor would prevent both sleep and
+ logout. As such, applications may need to be updated and grab
+ both a logout and suspend inhibitor.
+ data: Re-add OnFailure= to .target units
+ util: Disable capturing of subpatterns
+ util: Only accept common space characters
+ Stop dbus-daemon instead of restarting it
+ data: Fix indirect conflict with exit.target via app.slice
+ Translations updates
+
+==============
+Version 3.38.0
+==============
+ Build goo updates
+ Translations Updates
+
+==============
+Version 3.37.0
+==============
+
+ util: Unset GNOME_SETUP_DISPLAY at login time
+ main: clear environment on shutdown
+ gnome-session: avoid setting LC_ unless LANG and region disagree
+ data: Add drop-in to configure launched applications
+ autostart-app: Place launched applications into a systemd scope
+ doc: Add description of important systemd units to man page
+ fail-whale-dialog: Make dialog visible in all monitors
+ gnome-session-inhibit: Add --list command
+ gnome-session-ctl: Add systemd service failure checker
+ data: Major changes in systemd configuration
+ Translation Updates: Brazilian Portuguese, Catalan, Chinese (Taiwan),
+ Czech, Friulian, German, Hebrew, Indonesian, Kazakh, Norwegian Bokmål,
+ Polish, Romanian, Slovak, Spanish, Swedish, Turkish, Ukrainian
+
+==============
+Version 3.36.0
+==============
+
+ data: Require UsbProtection component
+ doap: Call this "GNOME Session Manager"
+ Translation Updates: Indonesian, Punjabi
+
+==============
+Version 3.35.3
+==============
+
+ binary: Allow quitting early on SIGTERM/SIGINT
+ binary: Log a critical when our SIGTERM/SIGINT handler fails to log out
+ Translation updates: Chinese (China), Galician
diff --git a/README b/README
new file mode 100644
index 0000000..c395946
--- /dev/null
+++ b/README
@@ -0,0 +1,45 @@
+gnome-session
+=============
+
+gnome-session contains the GNOME session manager, as well as a
+configuration program to choose applications starting on login.
+
+You may download updates to the package from:
+
+ http://download.gnome.org/sources/gnome-session/
+
+To discuss gnome-session, you may use the desktop-devel-list mailing
+list:
+
+ http://mail.gnome.org/mailman/listinfo/desktop-devel-list
+
+
+Design notes
+============
+
+See https://wiki.gnome.org/Projects/SessionManagement
+
+
+Installation
+============
+
+See the file 'INSTALL'. If you are not using a released version of
+gnome-session (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 GNOME bug tracking system:
+
+ https://bugzilla.gnome.org/ (product gnome-session)
+
+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/data/gnome-custom-session.desktop.in.in b/data/gnome-custom-session.desktop.in.in
new file mode 100644
index 0000000..5fadaa0
--- /dev/null
+++ b/data/gnome-custom-session.desktop.in.in
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Name=Custom
+Comment=This entry lets you select a saved session
+Exec=@bindir@/gnome-session-custom-session
+TryExec=@bindir@/gnome-session-custom-session
diff --git a/data/gnome-dummy.session.desktop.in.in b/data/gnome-dummy.session.desktop.in.in
new file mode 100644
index 0000000..1052346
--- /dev/null
+++ b/data/gnome-dummy.session.desktop.in.in
@@ -0,0 +1,2 @@
+[GNOME Session]
+Name=GNOME dummy
diff --git a/data/gnome-launched-override.scope.conf b/data/gnome-launched-override.scope.conf
new file mode 100644
index 0000000..810bf23
--- /dev/null
+++ b/data/gnome-launched-override.scope.conf
@@ -0,0 +1,6 @@
+[Unit]
+CollectMode=inactive-or-failed
+PartOf=graphical-session.target
+
+[Scope]
+TimeoutStopSec=5s
diff --git a/data/gnome-session-failed.service.in b/data/gnome-session-failed.service.in
new file mode 100644
index 0000000..4e22ab7
--- /dev/null
+++ b/data/gnome-session-failed.service.in
@@ -0,0 +1,19 @@
+[Unit]
+Description=GNOME Session Failed lockdown screen (user)
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+CollectMode=inactive-or-failed
+
+PartOf=gnome-session-failed.target
+
+# We could do this, but it requires an intermediate target for OnFailure
+# handling, so gnome-session-failed checks RUNNING_UNDER_GDM itself
+#Conflicts=gnome-session@gnome-login.target
+# or in the case of GDM and then not passing --allow-logout
+#Requisite=gnome-session@gnome-login.target
+
+[Service]
+Type=simple
+ExecStart=@libexecdir@/gnome-session-failed --allow-logout
+# The fail whale doesn't trigger a shutdown itself, so do it here
+ExecStopPost=-@libexecdir@/gnome-session-ctl --shutdown
diff --git a/data/gnome-session-failed.target b/data/gnome-session-failed.target
new file mode 100644
index 0000000..3ad2eb1
--- /dev/null
+++ b/data/gnome-session-failed.target
@@ -0,0 +1,12 @@
+[Unit]
+Description=GNOME Session Failed
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+
+# We need an initialized session
+Requisite=gnome-session-initialized.target
+BindsTo=gnome-session-initialized.target
+After=gnome-session-initialized.target
+
+BindsTo=gnome-session-failed.service
+After=gnome-session-failed.service
diff --git a/data/gnome-session-initialized.target b/data/gnome-session-initialized.target
new file mode 100644
index 0000000..3ef2ecf
--- /dev/null
+++ b/data/gnome-session-initialized.target
@@ -0,0 +1,19 @@
+[Unit]
+Description=GNOME Session is initialized
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+DefaultDependencies=no
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+Requires=gnome-session-pre.target
+After=gnome-session-pre.target
+
+Requisite=gnome-session.target
+PartOf=gnome-session.target
+Before=gnome-session.target
+
+# Signal gnome-session that we reached the initialized target and
+# that it may start applications.
+Requires=gnome-session-signal-init.service
+Before=gnome-session-signal-init.service
diff --git a/data/gnome-session-manager.target b/data/gnome-session-manager.target
new file mode 100644
index 0000000..a9d2053
--- /dev/null
+++ b/data/gnome-session-manager.target
@@ -0,0 +1,12 @@
+[Unit]
+Description=GNOME Session Manager is ready
+DefaultDependencies=no
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+Requisite=gnome-session-pre.target
+After=gnome-session-pre.target
+
+Requisite=gnome-session-initialized.target
+PartOf=gnome-session-initialized.target
+Before=gnome-session-initialized.target
diff --git a/data/gnome-session-manager@.service.in b/data/gnome-session-manager@.service.in
new file mode 100644
index 0000000..b06dbeb
--- /dev/null
+++ b/data/gnome-session-manager@.service.in
@@ -0,0 +1,19 @@
+[Unit]
+Description=GNOME Session Manager (session: %i)
+RefuseManualStart=yes
+RefuseManualStop=yes
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+CollectMode=inactive-or-failed
+
+Requisite=gnome-session-pre.target
+After=gnome-session-pre.target
+
+Requires=gnome-session-manager.target
+PartOf=gnome-session-manager.target
+Before=gnome-session-manager.target
+
+[Service]
+Type=notify
+ExecStart=@libexecdir@/gnome-session-binary --systemd-service --session=%i
+ExecStopPost=-@libexecdir@/gnome-session-ctl --shutdown
diff --git a/data/gnome-session-monitor.service.in b/data/gnome-session-monitor.service.in
new file mode 100644
index 0000000..5e5edb7
--- /dev/null
+++ b/data/gnome-session-monitor.service.in
@@ -0,0 +1,15 @@
+[Unit]
+Description=Monitor Session leader for GNOME Session
+CollectMode=inactive-or-failed
+
+# All services started after gnome-session-pre.target need to be torn down
+# before the session finish can be signalled back to the display manager.
+PartOf=gnome-session-pre.target
+Before=gnome-session-pre.target
+
+# No After, as we want this to start up immediately
+
+[Service]
+Type=notify
+ExecStart=@libexecdir@/gnome-session-ctl --monitor
+TimeoutStopSec=5
diff --git a/data/gnome-session-pre.target b/data/gnome-session-pre.target
new file mode 100644
index 0000000..b6cad85
--- /dev/null
+++ b/data/gnome-session-pre.target
@@ -0,0 +1,14 @@
+[Unit]
+Description=Tasks to be run before GNOME Session starts
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+DefaultDependencies=no
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+Requires=graphical-session-pre.target
+After=graphical-session-pre.target
+
+Requisite=gnome-session-initialized.target
+PartOf=gnome-session-initialized.target
+Before=gnome-session-initialized.target
diff --git a/data/gnome-session-restart-dbus.service.in b/data/gnome-session-restart-dbus.service.in
new file mode 100644
index 0000000..6389c32
--- /dev/null
+++ b/data/gnome-session-restart-dbus.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Restart DBus after GNOME Session shutdown
+
+# Allow exit.target to start even if this unit is started with replace-irreversibly.
+# For this to work, we also need to be in the root slice.
+DefaultDependencies=no
+
+[Service]
+Type=notify
+ExecStart=@libexecdir@/gnome-session-ctl --restart-dbus
+Slice=-.slice
diff --git a/data/gnome-session-shutdown.target b/data/gnome-session-shutdown.target
new file mode 100644
index 0000000..2c3d196
--- /dev/null
+++ b/data/gnome-session-shutdown.target
@@ -0,0 +1,33 @@
+[Unit]
+Description=Shutdown running GNOME Session
+
+# Allow exit.target to start even if this unit is started with replace-irreversibly.
+# All (weak) dependencies need to do the same. Services also need to ensure they
+# are in the root slice by setting Slice=-.slice.
+DefaultDependencies=no
+
+Conflicts=graphical-session.target graphical-session-pre.target
+After=graphical-session.target graphical-session-pre.target
+
+# Add explicit conflicts/after lines for gnome-session targets, technically
+# this should not be needed, but is an extra safety measure.
+Conflicts=gnome-session.target gnome-session-manager.target
+After=gnome-session.target gnome-session-manager.target
+
+Conflicts=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target
+After=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target
+
+# We need to make sure this unit is stopped; primarily so that the tree of
+# units that we created is completely cleaned.
+# Note that this can also be improved by reversing the conflicts above and
+# not listing them in the shutdown unit.
+StopWhenUnneeded=true
+
+# We trigger a restart of DBus after reaching the shutdown target this
+# is a workaround so that DBus services that do not connect to the
+# display server are shut down after log-out.
+# This should be removed when the relevant services add a
+# PartOf=graphical-session.target
+# Historic bug: https://bugzilla.gnome.org/show_bug.cgi?id=764029
+Wants=gnome-session-restart-dbus.service
+Before=gnome-session-restart-dbus.service
diff --git a/data/gnome-session-signal-init.service.in b/data/gnome-session-signal-init.service.in
new file mode 100644
index 0000000..e3d2c46
--- /dev/null
+++ b/data/gnome-session-signal-init.service.in
@@ -0,0 +1,8 @@
+[Unit]
+Description=Signal initialization done to GNOME Session Manager
+
+PartOf=gnome-session.target
+
+[Service]
+Type=oneshot
+ExecStart=@libexecdir@/gnome-session-ctl --signal-init
diff --git a/data/gnome-session-wayland.target b/data/gnome-session-wayland.target
new file mode 100644
index 0000000..6552b4d
--- /dev/null
+++ b/data/gnome-session-wayland.target
@@ -0,0 +1,13 @@
+[Unit]
+Description=GNOME Wayland Session
+# On wayland all is lost, do a shutdown
+OnFailure=gnome-session-shutdown.target
+OnFailureJobMode=replace-irreversibly
+# Avoid default After/Before rules
+DefaultDependencies=no
+
+Before=gnome-session.target
+
+PartOf=graphical-session.target
+RefuseManualStart=yes
+RefuseManualStop=yes
diff --git a/data/gnome-session-wayland@.target b/data/gnome-session-wayland@.target
new file mode 100644
index 0000000..ba2a918
--- /dev/null
+++ b/data/gnome-session-wayland@.target
@@ -0,0 +1,20 @@
+[Unit]
+Description=GNOME Wayland Session (session: %i)
+DefaultDependencies=no
+# Start happens explicitly
+RefuseManualStart=no
+# Stop happens by starting gnome-session-shutdown.target
+RefuseManualStop=yes
+
+Conflicts=shutdown.target gnome-session-shutdown.target
+PartOf=graphical-session.target
+
+# As this is the main entry point, pull in the other toplevel gnome-session targets
+Requires=gnome-session@.target
+After=gnome-session@.target
+
+Requires=gnome-session-wayland.target
+After=gnome-session-wayland.target
+
+Requires=gnome-session.target
+After=gnome-session.target
diff --git a/data/gnome-session-x11-services-ready.target b/data/gnome-session-x11-services-ready.target
new file mode 100644
index 0000000..371e173
--- /dev/null
+++ b/data/gnome-session-x11-services-ready.target
@@ -0,0 +1,8 @@
+[Unit]
+Description=GNOME session X11 services
+DefaultDependencies=no
+
+BindsTo=gnome-session-x11-services.target
+After=gnome-session-x11-services.target
+
+Before=gnome-session.target
diff --git a/data/gnome-session-x11-services.target b/data/gnome-session-x11-services.target
new file mode 100644
index 0000000..5c63db5
--- /dev/null
+++ b/data/gnome-session-x11-services.target
@@ -0,0 +1,11 @@
+[Unit]
+Description=GNOME session X11 services
+DefaultDependencies=no
+
+Requisite=gnome-session-initialized.target
+After=gnome-session-initialized.target
+PartOf=gnome-session-initialized.target
+
+Requisite=gnome-session-x11-services-ready.target
+Before=gnome-session-x11-services-ready.target
+PartOf=gnome-session-x11-services-ready.target
diff --git a/data/gnome-session-x11.target b/data/gnome-session-x11.target
new file mode 100644
index 0000000..e13cc9e
--- /dev/null
+++ b/data/gnome-session-x11.target
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNOME X11 Session
+# On X11, try to show the fail screen
+OnFailure=gnome-session-failed.target
+OnFailureJobMode=replace
+# Avoid default After/Before rules
+DefaultDependencies=no
+
+Before=gnome-session.target
+
+PartOf=graphical-session.target
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+# Pull in all X11-specific services the session might depend on
+Requires=gnome-session-x11-services.target
diff --git a/data/gnome-session-x11@.target b/data/gnome-session-x11@.target
new file mode 100644
index 0000000..ce5879b
--- /dev/null
+++ b/data/gnome-session-x11@.target
@@ -0,0 +1,22 @@
+[Unit]
+Description=GNOME X11 Session (session: %i)
+OnFailure=gnome-session-failed.target
+OnFailureJobMode=replace
+DefaultDependencies=no
+# Start happens explicitly
+RefuseManualStart=no
+# Stop happens by starting gnome-session-shutdown.target
+#RefuseManualStop=yes
+
+Conflicts=shutdown.target gnome-session-shutdown.target
+PartOf=graphical-session.target
+
+# As this is the main entry point, pull in the other toplevel gnome-session targets
+BindsTo=gnome-session@.target
+After=gnome-session@.target
+
+BindsTo=gnome-session-x11.target
+After=gnome-session-x11.target
+
+BindsTo=gnome-session.target
+After=gnome-session.target
diff --git a/data/gnome-session.convert b/data/gnome-session.convert
new file mode 100644
index 0000000..fd4dfab
--- /dev/null
+++ b/data/gnome-session.convert
@@ -0,0 +1,3 @@
+[org.gnome.SessionManager]
+auto-save-session = /apps/gnome-session/options/auto_save_session
+logout-prompt = /apps/gnome-session/options/logout_prompt
diff --git a/data/gnome-session.target b/data/gnome-session.target
new file mode 100644
index 0000000..ea30555
--- /dev/null
+++ b/data/gnome-session.target
@@ -0,0 +1,15 @@
+[Unit]
+Description=GNOME Session
+OnFailure=gnome-session-failed.target
+OnFailureJobMode=replace
+DefaultDependencies=no
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+BindsTo=graphical-session.target
+Before=graphical-session.target
+
+# gnome-session-monitor.service will quit with the session leader process
+# gnome-session.target pulls in graphical-session.target
+BindsTo=gnome-session-monitor.service
+After=gnome-session-monitor.service
diff --git a/data/gnome-session@.target b/data/gnome-session@.target
new file mode 100644
index 0000000..536d9c0
--- /dev/null
+++ b/data/gnome-session@.target
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNOME Session (session: %i)
+OnFailure=gnome-session-failed.target
+OnFailureJobMode=replace
+DefaultDependencies=no
+RefuseManualStart=yes
+RefuseManualStop=yes
+
+Requires=gnome-session-initialized.target
+After=gnome-session-initialized.target
+
+Requisite=gnome-session.target
+PartOf=gnome-session.target
+Before=gnome-session.target
+
+Requires=gnome-session-manager@.service
diff --git a/data/gnome-wayland.desktop.in.in b/data/gnome-wayland.desktop.in.in
new file mode 100644
index 0000000..b48eecd
--- /dev/null
+++ b/data/gnome-wayland.desktop.in.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=GNOME on Wayland
+Comment=This session logs you into GNOME
+Exec=@bindir@/gnome-session
+TryExec=@bindir@/gnome-session
+Type=Application
+DesktopNames=GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/gnome-xorg.desktop.in.in b/data/gnome-xorg.desktop.in.in
new file mode 100644
index 0000000..9a76fac
--- /dev/null
+++ b/data/gnome-xorg.desktop.in.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=GNOME on Xorg
+Comment=This session logs you into GNOME
+Exec=@bindir@/gnome-session
+TryExec=@bindir@/gnome-session
+Type=Application
+DesktopNames=GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/gnome.desktop.in.in b/data/gnome.desktop.in.in
new file mode 100644
index 0000000..7eec1de
--- /dev/null
+++ b/data/gnome.desktop.in.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=GNOME
+Comment=This session logs you into GNOME
+Exec=@bindir@/gnome-session
+TryExec=@bindir@/gnome-session
+Type=Application
+DesktopNames=GNOME
+X-GDM-SessionRegisters=true
diff --git a/data/gnome.session.conf.in b/data/gnome.session.conf.in
new file mode 100644
index 0000000..3f79d9e
--- /dev/null
+++ b/data/gnome.session.conf.in
@@ -0,0 +1,5 @@
+[Unit]
+# Must be in sync with gnome.session
+@wants_required_components@
+
+Requires=@requires_component@.target
diff --git a/data/gnome.session.desktop.in.in b/data/gnome.session.desktop.in.in
new file mode 100644
index 0000000..b3ea9fc
--- /dev/null
+++ b/data/gnome.session.desktop.in.in
@@ -0,0 +1,4 @@
+[GNOME Session]
+Name=GNOME
+# Must be in sync with gnome-session@gnome.target.d/gnome.session.conf drop-in
+RequiredComponents=@required_components@;
diff --git a/data/hardware-compatibility b/data/hardware-compatibility
new file mode 100644
index 0000000..48b7946
--- /dev/null
+++ b/data/hardware-compatibility
@@ -0,0 +1,32 @@
+##
+## This file contains a list of blacklist/whitelist regular expressions for
+## renderer strings.
+##
+## The regular expressions are case-insensitive POSIX Extended Regular
+## Expressions. See regex(7) for details.
+##
+## Syntax:
+## - Comment lines start with '#'
+## - Lines starting with '+' are whitelisting.
+## - Lines starting with '-' are blacklisting.
+## - Lines not starting with '#', '+', '-' are ignored.
+##
+
+# Intel 830-865
+-Intel\(R\) 8[[:digit:]]{2,2}[^[:digit:]]
+
+# Intel IGD
+-Intel IGD
+
+# Pre-R300 radeon
+-Mesa DRI R[12]00[^[:digit:]]
+-Mesa DRI R[12]00$
+
+# Old Mesa software GL renderer
+-software rasterizer
+
+# Gallium has softpipe; we explicitly enable llvmpipe
+-softpipe
+
+# nouveau vieux NV25 doesn't work too well
+-Mesa DRI nv25
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..f6d264f
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,197 @@
+desktop_plain = 'gnome'
+
+desktops = [
+ desktop_plain,
+ 'gnome-xorg',
+ 'gnome-wayland',
+]
+
+shell_component = {
+ desktop_plain: 'org.gnome.Shell',
+}
+
+required_components = {
+ desktop_plain: [
+ 'org.gnome.SettingsDaemon.A11ySettings',
+ 'org.gnome.SettingsDaemon.Color',
+ 'org.gnome.SettingsDaemon.Datetime',
+ 'org.gnome.SettingsDaemon.Housekeeping',
+ 'org.gnome.SettingsDaemon.Keyboard',
+ 'org.gnome.SettingsDaemon.MediaKeys',
+ 'org.gnome.SettingsDaemon.Power',
+ 'org.gnome.SettingsDaemon.PrintNotifications',
+ 'org.gnome.SettingsDaemon.Rfkill',
+ 'org.gnome.SettingsDaemon.ScreensaverProxy',
+ 'org.gnome.SettingsDaemon.Sharing',
+ 'org.gnome.SettingsDaemon.Smartcard',
+ 'org.gnome.SettingsDaemon.Sound',
+ 'org.gnome.SettingsDaemon.UsbProtection',
+ 'org.gnome.SettingsDaemon.Wacom',
+ 'org.gnome.SettingsDaemon.XSettings',
+ ],
+}
+
+if enable_session_selector
+ desktops += 'gnome-custom-session'
+endif
+
+foreach name: desktops
+ desktop_conf = configuration_data()
+ desktop_conf.set('bindir', session_bindir)
+
+ desktop = name + '.desktop'
+
+ desktop_in = configure_file(
+ input: desktop + '.in.in',
+ output: desktop + '.in',
+ configuration: desktop_conf
+ )
+
+ if name.endswith('-xorg')
+ install_dir = session_datadir / 'xsessions'
+ elif name.endswith('-wayland')
+ install_dir = session_datadir / 'wayland-sessions'
+ else
+ # FIXME: The same target can not be copied into two directories.
+ # There is a workaround in meson_post_install.py until proper
+ # solution arises:
+ # https://github.com/mesonbuild/meson/issues/2416
+ install_dir = session_datadir / 'xsessions'
+ #install_dir = [
+ # join_paths(session_datadir, 'xsessions'),
+ # join_paths(session_datadir, 'wayland-sessions')
+ #]
+ endif
+
+ desktop_target = i18n.merge_file(
+ type: 'desktop',
+ input: desktop_in,
+ output: desktop,
+ po_dir: po_dir,
+ install: true,
+ install_dir: install_dir
+ )
+endforeach
+
+sessions = [
+ 'gnome',
+ 'gnome-dummy'
+]
+
+foreach session: sessions
+ session_file = session + '.session'
+ desktop_conf = configuration_data()
+ desktop_conf.set('libexecdir', session_libexecdir)
+ desktop_conf.set('required_components', ';'.join(
+ [shell_component.get(session, '')] + required_components.get(session, [])))
+
+ desktop = session_file + '.desktop'
+
+ desktop_in = configure_file(
+ input: desktop + '.in.in',
+ output: desktop + '.in',
+ configuration: desktop_conf
+ )
+
+ i18n.merge_file(
+ type: 'desktop',
+ input: desktop_in,
+ output: session_file,
+ po_dir: po_dir,
+ install: true,
+ install_dir: join_paths(session_pkgdatadir, 'sessions')
+ )
+endforeach
+
+schema_conf = configuration_data()
+
+schema = 'org.gnome.SessionManager.gschema.xml'
+
+configure_file(
+ input: schema + '.in',
+ output: schema,
+ install: true,
+ install_dir: join_paths(session_datadir, 'glib-2.0', 'schemas'),
+ configuration: schema_conf
+)
+
+install_data(
+ 'gnome-session.convert',
+ install_dir: join_paths(session_datadir, 'GConf', 'gsettings')
+)
+
+if enable_systemd_session
+ unit_conf = configuration_data()
+ unit_conf.set('libexecdir', session_libexecdir)
+
+ systemd_service = ['gnome-session-manager@.service',
+ 'gnome-session-signal-init.service',
+ 'gnome-session-restart-dbus.service',
+ 'gnome-session-monitor.service',
+ 'gnome-session-failed.service']
+
+ foreach service: systemd_service
+ configure_file(
+ input: service + '.in',
+ output: service,
+ install: true,
+ install_dir: systemd_userunitdir,
+ configuration: unit_conf
+ )
+ endforeach
+
+ systemd_target = files('gnome-session-wayland@.target',
+ 'gnome-session-wayland.target',
+ 'gnome-session-x11@.target',
+ 'gnome-session-x11.target',
+ 'gnome-session-x11-services.target',
+ 'gnome-session-x11-services-ready.target',
+ 'gnome-session@.target',
+ 'gnome-session.target',
+ 'gnome-session-pre.target',
+ 'gnome-session-manager.target',
+ 'gnome-session-initialized.target',
+ 'gnome-session-shutdown.target',
+ 'gnome-session-failed.target',
+ )
+
+ install_data(
+ systemd_target,
+ install_dir: systemd_userunitdir
+ )
+
+ install_data(
+ 'gnome-launched-override.scope.conf',
+ rename: 'override.conf',
+ install_dir : join_paths(systemd_userunitdir, 'gnome-launched-.scope.d')
+ )
+
+ foreach session, req_components: required_components
+ wanted_targets = []
+ foreach component: req_components
+ wanted_targets += 'Wants=@0@.target'.format(component)
+ endforeach
+
+ configure_file(
+ input: session + '.session.conf.in',
+ output: session + '.session.conf',
+ configuration: {
+ 'requires_component': shell_component[session],
+ 'wants_required_components': '\n'.join(wanted_targets),
+ },
+ install_dir: systemd_userunitdir / 'gnome-session@@0@.target.d'.format(
+ session),
+ )
+ endforeach
+endif
+
+data = files('hardware-compatibility')
+
+if enable_session_selector
+ data += files('session-selector.ui')
+endif
+
+install_data(
+ data,
+ install_dir: session_pkgdatadir
+)
diff --git a/data/org.gnome.SessionManager.gschema.xml.in b/data/org.gnome.SessionManager.gschema.xml.in
new file mode 100644
index 0000000..b2b220d
--- /dev/null
+++ b/data/org.gnome.SessionManager.gschema.xml.in
@@ -0,0 +1,24 @@
+<schemalist gettext-domain="gnome-session-3.0">
+ <schema id="org.gnome.SessionManager" path="/org/gnome/gnome-session/">
+ <key name="auto-save-session" type="b">
+ <default>false</default>
+ <summary>Save sessions</summary>
+ <description>If enabled, gnome-session will save the session automatically.</description>
+ </key>
+ <key name="auto-save-session-one-shot" type="b">
+ <default>false</default>
+ <summary>Save this session</summary>
+ <description>When enabled, gnome-session will automatically save the next session at log out even if auto saving is disabled.</description>
+ </key>
+ <key name="logout-prompt" type="b">
+ <default>true</default>
+ <summary>Logout prompt</summary>
+ <description>If enabled, gnome-session will prompt the user before ending a session.</description>
+ </key>
+ <key name="show-fallback-warning" type="b">
+ <default>true</default>
+ <summary>Show the fallback warning</summary>
+ <description>If enabled, gnome-session will display a warning dialog after login if the session was automatically fallen back.</description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/session-selector.ui b/data/session-selector.ui
new file mode 100644
index 0000000..1c55712
--- /dev/null
+++ b/data/session-selector.ui
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkListStore" id="session-store">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkTreeModelSort" id="sort-model">
+ <property name="model">session-store</property>
+ </object>
+ <object class="GtkWindow" id="main-window">
+ <property name="title" translatable="yes">Custom Session</property>
+ <property name="window_position">center</property>
+ <property name="default_width">500</property>
+ <property name="default_height">310</property>
+ <property name="decorated">False</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0.5</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="border_width">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <object class="GtkInfoBar" id="info-bar">
+ <property name="visible">True</property>
+ <property name="message-type">other</property>
+
+ <child internal-child="content_area">
+ <object class="GtkHBox" id="info-bar-content_area">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkLabel" id="info-label">
+ <property name="visible">True</property>
+ <property name="xalign">0.0</property>
+ <property name="yalign">0.5</property>
+ <property name="label" translatable="yes">Please select a custom session to run</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="session-list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="search_column">0</property>
+ <property name="model">sort-model</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVButtonBox" id="vbuttonbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="new-session">
+ <property name="label" translatable="yes">_New Session</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="remove-session">
+ <property name="label" translatable="yes">_Remove Session</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="rename-session">
+ <property name="label" translatable="yes">Rena_me Session</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox2">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="continue-button">
+ <property name="label" translatable="yes">_Continue</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/doc/dbus/config.xsl b/doc/dbus/config.xsl
new file mode 100644
index 0000000..7aa9def
--- /dev/null
+++ b/doc/dbus/config.xsl
@@ -0,0 +1,6 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+ <xsl:param name="html.stylesheet" select="'docbook.css'"/>
+</xsl:stylesheet>
diff --git a/doc/dbus/dbus-introspect-docs.dtd b/doc/dbus/dbus-introspect-docs.dtd
new file mode 100644
index 0000000..ca918fb
--- /dev/null
+++ b/doc/dbus/dbus-introspect-docs.dtd
@@ -0,0 +1,32 @@
+<!-- DTD for D-Bus Introspection Documentation -->
+
+<!ELEMENT doc (summary?,description?,errors?,permission?,since?,deprecated,seealso?)>
+
+<!ELEMENT summary (#PCDATA|ref)*>
+<!ELEMENT description (#PCDATA|para|example)*>
+<!ELEMENT errors (error)*>
+<!ELEMENT permission (#PCDATA|ref|para)*>
+<!ELEMENT since EMPTY>
+<!ATTLIST since version CDATA #REQUIRED>
+<!ELEMENT deprecated (#PCDATA|ref)>
+<!ATTLIST deprecated version CDATA #REQUIRED>
+<!ATTLIST deprecated instead CDATA #REQUIRED>
+<!ELEMENT seealso (ref+)>
+
+<!ELEMENT error (#PCDATA|para)*>
+<!ATTLIST error name CDATA #REQUIRED>
+<!ELEMENT para (#PCDATA|example|code|list|ref)*>
+<!ELEMENT example (#PCDATA|para|code|ref)*>
+<!ATTLIST language (c|glib|python|shell) #REQUIRED>
+<!ATTLIST title CDATA #IMPLIED>
+<!ELEMENT list (item*)>
+<!ATTLIST list type (bullet|number) #REQUIRED>
+<!ELEMENT item (term|definition)*>
+<!ELEMENT term (#PCDATA|ref)*>
+<!ELEMENT definition (#PCDATA|para)*>
+
+<!ELEMENT code (#PCDATA)>
+<!ATTLIST code lang CDATA #IMPLIED>
+<!ELEMENT ref CDATA>
+<!ATTLIST ref type (parameter|arg|signal|method|interface) #REQUIRED>
+<!ATTLIST ref to CDATA #REQUIRED>
diff --git a/doc/dbus/docbook.css b/doc/dbus/docbook.css
new file mode 100644
index 0000000..6a7373e
--- /dev/null
+++ b/doc/dbus/docbook.css
@@ -0,0 +1,78 @@
+body
+{
+ font-family: sans-serif;
+}
+h1.title
+{
+}
+.permission
+{
+ color: #ee0000;
+ text-decoration: underline;
+}
+.synopsis, .classsynopsis
+{
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+ padding: 0.5em;
+}
+.programlisting
+{
+ background: #eeeeff;
+ border: solid 1px #aaaaff;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+td.shortcuts
+{
+ color: #770000;
+ font-size: 80%;
+}
+div.refnamediv
+{
+ margin-top: 2em;
+}
+div.toc
+{
+ border: 2em;
+}
+a
+{
+ text-decoration: none;
+}
+a:hover
+{
+ text-decoration: underline;
+ color: #FF0000;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #777777;
+ border-width: 1px;
+}
+
+div.table table td, div.table table th
+{
+ border-style: solid;
+ border-color: #777777;
+ border-width: 1px;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ background-color: #eeeeee;
+}
diff --git a/doc/dbus/gnome-session.xml.in b/doc/dbus/gnome-session.xml.in
new file mode 100644
index 0000000..5ffdaaf
--- /dev/null
+++ b/doc/dbus/gnome-session.xml.in
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY dbus-Manager SYSTEM "org.gnome.SessionManager.ref.xml">
+<!ENTITY dbus-Client SYSTEM "org.gnome.SessionManager.Client.ref.xml">
+<!ENTITY dbus-ClientPrivate SYSTEM "org.gnome.SessionManager.ClientPrivate.ref.xml">
+<!ENTITY dbus-Inhibitor SYSTEM "org.gnome.SessionManager.Inhibitor.ref.xml">
+<!ENTITY dbus-Presence SYSTEM "org.gnome.SessionManager.Presence.ref.xml">
+]>
+
+<book id="index">
+ <bookinfo>
+ <title>GNOME Session @VERSION@ Documentation</title>
+ <releaseinfo>Version @VERSION@</releaseinfo>
+ <authorgroup>
+ <author>
+ <firstname>William Jon</firstname>
+ <surname>McCann</surname>
+ <affiliation>
+ <address>
+ <email>jmccann@redhat.com</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ </bookinfo>
+
+ <part>
+ <title>Reference</title>
+
+ <reference id="dbus-reference">
+ <title>D-Bus API Reference</title>
+
+ <partintro>
+ <para>
+ This API is not yet stable and is likely to change in the future.
+ </para>
+ </partintro>
+
+ &dbus-Manager;
+ &dbus-Client;
+ &dbus-ClientPrivate;
+ &dbus-Inhibitor;
+ &dbus-Presence;
+
+ </reference>
+ </part>
+
+ <index>
+ <title>Index</title>
+ </index>
+
+</book>
diff --git a/doc/dbus/meson.build b/doc/dbus/meson.build
new file mode 100644
index 0000000..12ebce6
--- /dev/null
+++ b/doc/dbus/meson.build
@@ -0,0 +1,46 @@
+ifaces_refs = []
+
+ifaces = [
+ 'org.gnome.SessionManager',
+ 'org.gnome.SessionManager.Client',
+ 'org.gnome.SessionManager.ClientPrivate',
+ 'org.gnome.SessionManager.Inhibitor',
+ 'org.gnome.SessionManager.Presence'
+]
+
+gnome_session_dir = join_paths(meson.source_root(), 'gnome-session')
+spec_to_docbook = files('spec-to-docbook.xsl')
+
+foreach iface: ifaces
+ iface_ref = iface + '.ref.xml'
+
+ ifaces_refs += custom_target(
+ iface_ref,
+ input: files(join_paths(gnome_session_dir, iface + '.xml')),
+ output: iface_ref,
+ command: [xsltproc, '--output', '@OUTPUT@', spec_to_docbook, '@INPUT@']
+ )
+endforeach
+
+session_conf = configuration_data()
+session_conf.set('VERSION', session_version)
+
+session = meson.project_name()
+
+xml_in = configure_file(
+ input: session + '.xml.in',
+ output: session + '.xml',
+ configuration: session_conf
+)
+
+config_xsl = files('config.xsl')
+
+custom_target(
+ session,
+ input: xml_in,
+ output: session + '.html',
+ command: [find_program('xmlto'), 'xhtml-nochunks', '-o', meson.current_build_dir(), '-m', config_xsl, '@INPUT@'],
+ depends: ifaces_refs,
+ install: true,
+ install_dir: join_paths(session_datadir, 'doc', meson.project_name(), 'dbus')
+)
diff --git a/doc/dbus/spec-to-docbook.xsl b/doc/dbus/spec-to-docbook.xsl
new file mode 100644
index 0000000..9a6a8da
--- /dev/null
+++ b/doc/dbus/spec-to-docbook.xsl
@@ -0,0 +1,555 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
+ exclude-result-prefixes="doc">
+<!--
+ Convert D-Bus Glib xml into DocBook refentries
+ Copyright (C) 2007-2008 William Jon McCann
+ License: GPL
+-->
+<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+
+<xsl:template match="/">
+
+<xsl:variable name="interface" select="//interface/@name"/>
+<xsl:variable name="basename">
+ <xsl:call-template name="interface-basename">
+ <xsl:with-param name="str" select="$interface"/>
+ </xsl:call-template>
+</xsl:variable>
+
+<refentry><xsl:attribute name="id"><xsl:value-of select="$interface"/></xsl:attribute>
+ <refmeta>
+ <refentrytitle role="top_of_page"><xsl:value-of select="//interface/@name"/></refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+ <refname><xsl:value-of select="$interface"/></refname>
+ <refpurpose><xsl:value-of select="$basename"/> interface</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+ <xsl:call-template name="methods-synopsis">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsynopsisdiv>
+
+ <xsl:choose>
+ <xsl:when test="count(///signal) > 0">
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+ <xsl:call-template name="signals-synopsis">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsect1>
+ </xsl:when>
+ </xsl:choose>
+
+ <refsect1 role="impl_interfaces">
+ <title role="impl_interfaces.title">Implemented Interfaces</title>
+ <para>
+ Objects implementing <xsl:value-of select="$interface"/> also implements
+ org.freedesktop.DBus.Introspectable,
+ org.freedesktop.DBus.Properties
+ </para>
+ </refsect1>
+
+ <xsl:choose>
+ <xsl:when test="count(///property) > 0">
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+ <xsl:call-template name="properties-synopsis">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsect1>
+ </xsl:when>
+ </xsl:choose>
+
+ <refsect1 role="desc">
+ <title role="desc.title">Description</title>
+ <para>
+ <xsl:apply-templates select="//interface/doc:doc"/>
+ </para>
+ </refsect1>
+
+ <refsect1 role="details">
+ <title role="details.title">Details</title>
+ <xsl:call-template name="method-details">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </refsect1>
+
+ <xsl:choose>
+ <xsl:when test="count(///signal) > 0">
+ <refsect1 role="signals">
+ <title role="signals.title">Signal Details</title>
+ <xsl:call-template name="signal-details">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </refsect1>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(///property) > 0">
+ <refsect1 role="property_details">
+ <title role="property_details.title">Property Details</title>
+ <xsl:call-template name="property-details">
+ <xsl:with-param name="interface" select="$interface"/>
+ </xsl:call-template>
+ </refsect1>
+ </xsl:when>
+ </xsl:choose>
+
+</refentry>
+</xsl:template>
+
+
+<xsl:template name="property-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <xsl:choose>
+ <xsl:when test="count(arg) > 0">
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+ <varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+ <listitem><simpara><xsl:apply-templates select="doc:doc/doc:summary"/></simpara></listitem>
+ </varlistentry>
+ </xsl:for-each>
+ </variablelist>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:deprecated"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+
+<xsl:template name="property-details">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///property">
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$interface"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$interface"/></secondary></indexterm>
+<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
+<xsl:call-template name="property-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/></xsl:call-template></programlisting>
+
+ <xsl:call-template name="property-doc"/>
+ </refsect2>
+
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="signal-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <xsl:choose>
+ <xsl:when test="count(arg) > 0">
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+ <varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+ <listitem><simpara><xsl:apply-templates select="doc:doc/doc:summary"/></simpara></listitem>
+ </varlistentry>
+ </xsl:for-each>
+ </variablelist>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:deprecated"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+<xsl:template name="signal-details">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///signal">
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$interface"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$interface"/></secondary></indexterm>
+<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
+
+ <xsl:call-template name="signal-doc"/>
+ </refsect2>
+
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template match="doc:code">
+<programlisting>
+<xsl:apply-templates />
+</programlisting>
+</xsl:template>
+
+<xsl:template match="doc:tt">
+ <literal>
+ <xsl:apply-templates />
+ </literal>
+</xsl:template>
+
+<xsl:template match="doc:i">
+ <emphasis>
+ <xsl:apply-templates />
+ </emphasis>
+</xsl:template>
+
+<xsl:template match="doc:b">
+ <emphasis role="bold">
+ <xsl:apply-templates />
+ </emphasis>
+</xsl:template>
+
+<xsl:template match="doc:ulink">
+ <ulink>
+ <xsl:attribute name="url"><xsl:value-of select="@url"/></xsl:attribute>
+ <xsl:value-of select="."/>
+ </ulink>
+</xsl:template>
+
+<xsl:template match="doc:summary">
+ <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="doc:example">
+<informalexample>
+<xsl:apply-templates />
+</informalexample>
+</xsl:template>
+
+<xsl:template name="listitems-do-term">
+ <xsl:param name="str"/>
+ <xsl:choose>
+ <xsl:when test="string-length($str) > 0">
+ <emphasis role="bold"><xsl:value-of select="$str"/>: </emphasis>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="do-listitems">
+ <xsl:for-each select="doc:item">
+ <listitem>
+ <simpara>
+ <xsl:call-template name="listitems-do-term"><xsl:with-param name="str" select="doc:term"/></xsl:call-template>
+ <xsl:apply-templates select="doc:definition"/>
+ </simpara>
+ </listitem>
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template match="doc:list">
+ <xsl:choose>
+ <xsl:when test="contains(@type,'number')">
+ <orderedlist>
+ <xsl:call-template name="do-listitems"/>
+ </orderedlist>
+ </xsl:when>
+ <xsl:otherwise>
+ <itemizedlist>
+ <xsl:call-template name="do-listitems"/>
+ </itemizedlist>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="doc:para">
+<para>
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:description">
+<xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="doc:since">
+<para role="since">Since <xsl:value-of select="@version"/>
+</para>
+</xsl:template>
+
+<xsl:template match="doc:deprecated">
+ <xsl:variable name="name" select="../../@name"/>
+ <xsl:variable name="parent">
+ <xsl:call-template name="interface-basename">
+ <xsl:with-param name="str" select="../../../@name"/>/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="type" select="name(../..)"/>
+
+ <para role="deprecated">
+ <warning><para><literal><xsl:value-of select="$name"/></literal> is deprecated since version <xsl:value-of select="@version"/> and should not be used in newly-written code. Use
+
+ <xsl:variable name="to">
+ <xsl:choose>
+ <xsl:when test="contains($type,'property')">
+ <xsl:value-of select="$parent"/>:<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'signal')">
+ <xsl:value-of select="$parent"/>::<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'method')">
+ <xsl:value-of select="$parent"/>.<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'interface')">
+ <xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@instead"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="create-link">
+ <xsl:with-param name="type" select="$type"/>
+ <xsl:with-param name="to" select="$to"/>
+ <xsl:with-param name="val" select="@instead"/>
+ </xsl:call-template>
+instead.</para></warning>
+</para>
+</xsl:template>
+
+<xsl:template match="doc:permission">
+<para role="permission">
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:errors">
+<para role="errors">
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:seealso">
+<para>
+See also:
+<xsl:apply-templates />
+
+</para>
+</xsl:template>
+
+<xsl:template name="create-link">
+ <xsl:param name="type"/>
+ <xsl:param name="to"/>
+ <xsl:param name="val"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($type,'property')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'signal')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'method')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><function><xsl:value-of select="$val"/></function></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'interface')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="doc:ref">
+ <xsl:call-template name="create-link">
+ <xsl:with-param name="type" select="@type"/>
+ <xsl:with-param name="to" select="@to"/>
+ <xsl:with-param name="val" select="."/>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="method-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <xsl:choose>
+ <xsl:when test="count(arg) > 0">
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+ <varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+ <listitem><simpara><xsl:apply-templates select="doc:doc/doc:summary"/></simpara></listitem>
+ </varlistentry>
+ </xsl:for-each>
+ </variablelist>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:deprecated"/>
+
+ <xsl:choose>
+ <xsl:when test="count(doc:doc/doc:errors) > 0">
+ <refsect3>
+ <title>Errors</title>
+ <variablelist role="errors">
+ <xsl:for-each select="doc:doc/doc:errors/doc:error">
+ <varlistentry>
+ <term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+ <listitem><simpara><xsl:apply-templates select="."/></simpara></listitem>
+ </varlistentry>
+ </xsl:for-each>
+ </variablelist>
+ </refsect3>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="count(doc:doc/doc:permission) > 0">
+ <refsect3>
+ <title>Permissions</title>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ </refsect3>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+<xsl:template name="method-details">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///method">
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$interface"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$interface"/></secondary></indexterm>
+<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="method-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
+
+ <xsl:call-template name="method-doc"/>
+ </refsect2>
+
+ </xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="properties-synopsis">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="///property/@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///property">
+<link><xsl:attribute name="linkend"><xsl:value-of select="$interface"/>:<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
+</xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="signals-synopsis">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="///signal/@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///signal">
+<link><xsl:attribute name="linkend"><xsl:value-of select="$interface"/>::<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
+</xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="methods-synopsis">
+ <xsl:param name="interface"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="///method/@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///method">
+<link><xsl:attribute name="linkend"><xsl:value-of select="$interface"/>.<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
+</xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="method-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg"><xsl:value-of select="@direction"/>
+<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="4 - string-length(@direction)"/></xsl:call-template>'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
+<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
+<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
+</xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="signal-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg">'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
+<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
+<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
+</xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="property-args"><xsl:param name="indent"/>
+<xsl:value-of select="@access"/><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="9 - string-length(@access) + 1"/></xsl:call-template>'<xsl:value-of select="@type"/>'
+</xsl:template>
+
+
+<xsl:template name="pad-spaces">
+ <xsl:param name="width"/>
+ <xsl:variable name="spaces" xml:space="preserve"> </xsl:variable>
+ <xsl:value-of select="substring($spaces,1,$width)"/>
+</xsl:template>
+
+
+<xsl:template name="find-longest">
+ <xsl:param name="set"/>
+ <xsl:param name="index" select="1"/>
+ <xsl:param name="longest" select="0"/>
+
+ <xsl:choose>
+ <xsl:when test="$index > count($set)">
+ <!--finished looking-->
+ <xsl:value-of select="$longest"/>
+ </xsl:when>
+ <xsl:when test="string-length($set[$index])>$longest">
+ <!--found new longest-->
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="$set"/>
+ <xsl:with-param name="index" select="$index + 1"/>
+ <xsl:with-param name="longest" select="string-length($set[$index])"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!--this isn't any longer-->
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="$set"/>
+ <xsl:with-param name="index" select="$index + 1"/>
+ <xsl:with-param name="longest" select="$longest"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="interface-basename">
+ <xsl:param name="str"/>
+ <xsl:choose>
+ <xsl:when test="contains($str,'.')">
+ <xsl:call-template name="interface-basename">
+ <xsl:with-param name="str" select="substring-after($str,'.')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$str"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/doc/man/gnome-session-inhibit.xml b/doc/man/gnome-session-inhibit.xml
new file mode 100644
index 0000000..1cc03b1
--- /dev/null
+++ b/doc/man/gnome-session-inhibit.xml
@@ -0,0 +1,106 @@
+<refentry id="gnome-session-inhibit" lang="en">
+
+<refentryinfo>
+<title>gnome-session-inhibit</title>
+<productname>gnome-session</productname>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>gnome-session-inhibit</refentrytitle>
+<manvolnum>1</manvolnum>
+<refmiscinfo class="manual">User Commands</refmiscinfo>
+</refmeta>
+
+<refnamediv>
+<refname>gnome-session-inhibit</refname>
+<refpurpose>inhibit gnome-session functionality</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>gnome-session-inhibit</command>
+<arg choice="opt" rep="repeat">OPTION</arg>
+<arg choice="opt">COMMAND</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para><command>gnome-session-inhibit</command> can inhibit certain
+gnome-session functionality while executing the given COMMAND. To
+achieve this, it calls the Inhibit() method of the gnome-session
+D-Bus API and creates an inhibitor. The inhibitor is automatically
+removed when gnome-session-inhibit exits.
+</para>
+<para>
+A typical use case is to prevent the session from going idle (and
+thus locking the screen) while a movie player is running.
+</para>
+
+</refsect1>
+
+<refsect1><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>-h</option>, <option>--help</option></term>
+<listitem><para>
+print help and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--version</option></term>
+<listitem><para>
+print version information and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--app-id</option> ID</term>
+<listitem><para>
+The application id to use when calling the gnome-session Inhibit() method.
+If this option is not specified, "unknown" is used.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--reason</option> REASON</term>
+<listitem><para>
+A human-readable reason to pass along when calling the gnome-session
+Inhibit() method. If this option is not specified, "not specified" is used.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--inhibit</option> ARG</term>
+<listitem><para>
+ARG specifies the things to inhibit, as a colon-separated list. The
+possible values are logout, switch-user, suspend, idle, automount.
+If this option is used more than once, the values are combined.
+If this option is not specified, "idle" is assumed.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--inhibit-only</option></term>
+<listitem><para>
+Do not launch COMMAND and wait forever instead
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-l</option>, <option>--list</option></term>
+<listitem><para>
+list the existing inhibitions and exit
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect1>
+
+<refsect1><title>See also</title>
+<para>
+<citerefentry><refentrytitle>systemd-inhibit</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+</para>
+</refsect1>
+</refentry>
diff --git a/doc/man/gnome-session-quit.1 b/doc/man/gnome-session-quit.1
new file mode 100644
index 0000000..f0fdd16
--- /dev/null
+++ b/doc/man/gnome-session-quit.1
@@ -0,0 +1,34 @@
+.\"
+.\" gnome-session-quit manual page.
+.\" (C) 2000 Miguel de Icaza (miguel@helixcode.com)
+.\" (C) 2009-2010 Vincent Untz (vuntz@gnome.org)
+.\"
+.TH GNOME-SESSION-QUIT 1 "GNOME"
+.SH NAME
+gnome-session-quit \- End the current GNOME session
+.SH SYNOPSIS
+.B gnome-session-quit [\-\-logout|\-\-power-off|\-\-reboot] [\-\-force] [\-\-no-prompt]
+.SH DESCRIPTION
+The \fIgnome-session-quit\fP program can be used to end a GNOME session.
+.SH OPTIONS
+The following options are supported:
+.TP
+.I "--logout"
+Prompt the user to confirm logout. This is the default behavior.
+.TP
+.I "--power-off"
+Prompt the user to confirm system power off.
+.TP
+.I "--reboot"
+Prompt the user to confirm system reboot.
+.TP
+.I "--force"
+Ignore any inhibitors.
+.TP
+.I "--no-prompt"
+End the session without user interaction. This only works with \fI--logout\fP.
+.SH BUGS
+If you find bugs in the \fIgnome-session-quit\fP program, please report
+these on https://bugzilla.gnome.org.
+.SH SEE ALSO
+.BR gnome-session(1)
diff --git a/doc/man/gnome-session-selector.xml b/doc/man/gnome-session-selector.xml
new file mode 100644
index 0000000..7beb1e4
--- /dev/null
+++ b/doc/man/gnome-session-selector.xml
@@ -0,0 +1,52 @@
+<refentry id="gnome-session-selector" lang="en">
+
+<refentryinfo>
+<title>gnome-session-selector</title>
+<productname>gnome-session</productname>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>gnome-session-selector</refentrytitle>
+<manvolnum>1</manvolnum>
+<refmiscinfo class="manual">User Commands</refmiscinfo>
+</refmeta>
+
+<refnamediv>
+<refname>gnome-session-selector</refname>
+<refpurpose>Selects a session to use with gnome-session</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>gnome-session-selector</command>
+<arg choice="opt">session</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para><command>gnome-session-selector</command> can be used from a
+xsession desktop file to select a session before gnome-session is run.
+gnome-session reads and stores its session in the
+<filename><envar>$XDG_DATA_HOME</envar>/gnome-session/saved-session</filename>
+directory. <command>gnome-session-selector</command> works by replacing
+the saved-session directory by a symlink to another directory. Since the
+session name is used as the directory name, it may not contain '/' characters
+or begin with a '.'.
+</para>
+<para>
+When a session name is specified, <command>gnome-session-selector</command>
+will create a symlink to select this session.
+</para>
+<para>
+When started without arguments, <command>gnome-session-selector</command>
+will present a dialog that allows to choose one of the existing sessions
+or create a new one.
+</para>
+</refsect1>
+
+<refsect1><title>See also</title>
+<para>
+<citerefentry><refentrytitle>gnome-session</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+</para>
+</refsect1>
+</refentry>
diff --git a/doc/man/gnome-session.1 b/doc/man/gnome-session.1
new file mode 100644
index 0000000..7f6f360
--- /dev/null
+++ b/doc/man/gnome-session.1
@@ -0,0 +1,184 @@
+.\"
+.\" gnome-session manual page.
+.\" (C) 2000 Miguel de Icaza (miguel@helixcode.com)
+.\" (C) 2009-2010 Vincent Untz (vuntz@gnome.org)
+.\" (C) 2019 Benjamin Berg (bberg@redhat.com)
+.\" (C) 2020 Sebastian Geiger (sbastig@gmx.net)
+.\"
+.TH GNOME-SESSION 1 "May 2020" "GNOME"
+.SH NAME
+gnome-session \- Start the GNOME desktop environment
+.SH SYNOPSIS
+.B gnome-session [\-a|\-\-autostart=DIR] [\-\-session=SESSION] [\-\-failsafe|\-f] [\-\-debug] [\-\-whale]
+.SH DESCRIPTION
+The \fIgnome-session\fP program starts up the GNOME desktop
+environment. This command is typically executed by your login manager
+(either gdm, xdm, or from your X startup scripts). It will load
+either your saved session, or it will provide a default session for the
+user as defined by the system administrator (or the default GNOME
+installation on your system). Note that \fIgnome-session\fP is a wrapper
+script for \fIgnome-session-binary\fP.
+.PP
+The default session is defined in \fBgnome.session\fP, a .desktop-like
+file that is looked for in
+\fB$XDG_CONFIG_HOME/gnome-session/sessions\fP,
+\fB$XDG_CONFIG_DIRS/gnome-session/sessions\fP and
+\fB$XDG_DATA_DIRS/gnome-session/sessions\fP.
+.PP
+When saving a session, \fIgnome-session\fP saves the currently running
+applications in the \fB$XDG_CONFIG_HOME/gnome-session/saved-session\fP
+directory. Saving sessions is only supported with the legacy non-systemd
+startup method.
+.PP
+\fIgnome-session\fP is an X11R6 session manager. It can manage GNOME
+applications as well as any X11R6 SM compliant application.
+.SH OPTIONS
+The following options are supported:
+.TP
+.I "--autostart=DIR"
+The directory \fBDIR\fP to be searched for autostart .desktop files. This option can be used multiple times.
+When this option is present, then default autostart directories will not be searched.
+.TP
+.I "--session=SESSION"
+Use the applications defined in \fBSESSION.session\fP. If not specified,
+\fBgnome.session\fP will be used.
+.TP
+.I "--builtin"
+Use the legacy non-systemd method of managing the user session. This is the
+opposite of the \fI--systemd\fP option.
+.TP
+.I "--systemd"
+Use the systemd method of managing the user session. This is the opposite of
+the \fI--builtin\fP option.
+.TP
+.I "--failsafe"
+Run in fail-safe mode. User-specified applications will not be started.
+.TP
+.I "--debug"
+Enable debugging code.
+.TP
+.I "--whale"
+Show the fail whale in a dialog for debugging it.
+.SH SESSION DEFINITION
+Sessions are defined in \fB.session\fP files, that are using a .desktop-like
+format, with the following keys in the \fBGNOME Session\fP group:
+.TP
+.I Name
+Name of the session. This can be localized.
+.TP
+.I RequiredComponents
+List of component identifiers (desktop files) that are required by the session. The required components will always run in the session.
+.PP
+Here is an example of a session definition:
+.PP
+.in +4n
+.nf
+[GNOME Session]
+Name=GNOME
+RequiredComponents=gnome-shell;gnome-settings-daemon;
+.in
+.fi
+.PP
+In \fBsystemd\fP managed sessions the RequiredComponents may be provided by
+systemd units instead. In this case the corresponding \fB.desktop\fP file needs
+to contain \fBX-GNOME-HiddenUnderSystemd=true\fP. \fIgnome-session\fP will
+ignore these components and rely on \fIsystemd\fP to manage them appropriately,
+see the \fIsystemd\fP for more information on how this works.
+.PP
+The \fB.session\fP files are looked for in
+\fB$XDG_CONFIG_HOME/gnome-session/sessions\fP,
+\fB$XDG_CONFIG_DIRS/gnome-session/sessions\fP and
+\fB$XDG_DATA_DIRS/gnome-session/sessions\fP.
+.SH systemd
+\fIgnome-session\fP can pass much of the session management over to systemd
+(see the \fI--systemd\fP option which may be the default since 3.34). In this
+case, startup components that have \fBX-GNOME-HiddenUnderSystemd=true\fP
+set in their \fB.desktop\fP file will be ignored by \fIgnome-session\fP. It
+instead relies on the fact that these components are managed by systemd.
+.PP
+As of GNOME 3.34 the systemd support is new and the customizing the
+configuration is not yet easily possible. With GNOME 3.34 it may be best to use
+\fI--builtin\fP if session customizations are required. This is due to the way
+that GNOME currently defines the components that will be started on each session
+type.
+.PP
+\fBsystemd\fP provides the two special targets \fBgraphical-session.target\fP
+and \fBgraphical-session-pre.target\fP which are fully functional and should be
+used. \fIgnome-session\fP provides the following main targets:
+.TP
+.I "gnome-session.target"
+Generic unit that will be active throughout the session. Similar to
+\fBgraphical-session.target\fP.
+.TP
+.I "gnome-session-pre.target"
+Used for tasks that need to be done before session startup. Similar to
+\fBgraphical-session-pre.target\fP.
+.TP
+.I "gnome-session-x11@SESSION.target" "gnome-session-wayland@SESSION.target"
+Main unit started for X11/wayland based session. \fBSESSION\fP is set according
+to the session that is passed in \fI--session\fP.
+.TP
+.I "gnome-session-x11.target" "gnome-session-wayland.target"
+Convenience units without the session embedded into the target.
+.TP
+.I "gnome-session@SESSION.target"
+Convenience unit with just the \fBSESSION\fP information embedded.
+.TP
+.I "gnome-session-x11-services.target"
+Special unit started when X11 services are needed. This will be used from GNOME
+3.36 onwards. Programs will need to use the special \fBGNOME_SETUP_DISPLAY\fP
+environment variable instead of \fIDISPLAY\fP.
+.PP
+Note that care must be taken to set appropriate \fBAfter=\fP rules. It is also
+strongly recommended to always do this in combination with \fBBindsTo=\fP or
+\fBPartOf=\fP on one of the core targets (e.g. \fBgraphical-session.target\fP).
+.PP
+Units are required to set \fBCollectMode=inactive-or-failed\fP. In addition, it
+is strongly recommended to set \fBTimeoutStopSec=5\fP so that logout
+will not be delayed indefinitely in case the process does not stop properly.
+.SH ENVIRONMENT
+\fIgnome-session\fP sets several environment variables for the use of
+its child processes:
+.PP
+.B SESSION_MANAGER
+.IP
+This variable is used by session-manager aware clients to contact
+gnome-session.
+.PP
+.B DISPLAY
+.IP
+This variable is set to the X display being used by
+\fIgnome-session\fP. Note that if the \fI--display\fP option is used
+this might be different from the setting of the environment variable
+when gnome-session is invoked.
+.PP
+Behavior of \fIgnome-session\fP ifself can be modified via the following environment variable:
+.PP
+.B GNOME_SESSION_AUTOSTART_DIR
+.IP
+This variable specifies a list of directories to the searched for autostart
+files. This variable overrides all directories specified via the
+\fI--autostart\fP option, as well as all default autostart directories.
+.SH FILES
+.PP
+.B $XDG_CONFIG_HOME/autostart
+.B $XDG_CONFIG_DIRS/autostart
+.B /usr/share/gnome/autostart
+.IP
+Applications defined via .desktop files in those directories will be started on login.
+.PP
+.B $XDG_CONFIG_HOME/gnome-session/sessions
+.B $XDG_CONFIG_DIRS/gnome-session/sessions
+.B $XDG_DATA_DIRS/gnome-session/sessions
+.IP
+These directories contain the \fB.session\fP files that can be used
+with the \fI--session\fP option.
+.PP
+.B $XDG_CONFIG_HOME/gnome-session/saved-session
+.IP
+This directory contains the list of applications of the saved session.
+.SH BUGS
+If you find bugs in the \fIgnome-session\fP program, please report
+these on https://gitlab.gnome.org/GNOME/gnome-session/issues.
+.SH SEE ALSO
+.BR gnome-session-quit(1)
diff --git a/doc/man/meson.build b/doc/man/meson.build
new file mode 100644
index 0000000..4a389bc
--- /dev/null
+++ b/doc/man/meson.build
@@ -0,0 +1,43 @@
+man1_dir = join_paths(session_mandir, 'man1')
+
+xsltproc_cmd = [
+ xsltproc,
+ '--output', '@OUTPUT@',
+ '--nonet',
+ '--stringparam', 'man.output.quietly', '1',
+ '--stringparam', 'funcsynopsis.style', 'ansi',
+ '--stringparam', 'man.th.extra1.suppress', '1',
+ '--stringparam', 'man.authors.section.enabled', '0',
+ '--stringparam', 'man.copyright.section.enabled', '0',
+ 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
+ '@INPUT@'
+]
+
+mans = ['gnome-session-inhibit']
+
+if enable_session_selector
+ mans += 'gnome-session-selector'
+endif
+
+foreach man: mans
+ output = man + '.1'
+
+ custom_target(
+ output,
+ input: man + '.xml',
+ output: output,
+ command: xsltproc_cmd,
+ install: true,
+ install_dir: man1_dir
+ )
+endforeach
+
+man_data = files(
+ 'gnome-session.1',
+ 'gnome-session-quit.1'
+)
+
+install_data(
+ man_data,
+ install_dir: man1_dir
+)
diff --git a/doc/meson.build b/doc/meson.build
new file mode 100644
index 0000000..6d323bb
--- /dev/null
+++ b/doc/meson.build
@@ -0,0 +1,9 @@
+xsltproc = find_program('xsltproc')
+
+if enable_docbook
+ subdir('dbus')
+endif
+
+if enable_man
+ subdir('man')
+endif
diff --git a/gnome-session.doap b/gnome-session.doap
new file mode 100644
index 0000000..0d2bbef
--- /dev/null
+++ b/gnome-session.doap
@@ -0,0 +1,58 @@
+<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:gnome="http://api.gnome.org/doap-extensions#"
+ xmlns="http://usefulinc.com/ns/doap#">
+
+ <name xml:lang="en">GNOME Session Manager</name>
+ <shortdesc xml:lang="en">The GNOME Session Manager</shortdesc>
+ <description>The GNOME Session Manager is in charge of starting the core
+components of the GNOME desktop, and applications that should be launched at
+login time.
+
+GNOME Session also provides the definition of what a standard GNOME session
+consists of.</description>
+ <homepage rdf:resource="https://wiki.gnome.org/Projects/SessionManagement" />
+ <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/desktop-devel-list" />
+ <download-page rdf:resource="http://download.gnome.org/sources/gnome-session/" />
+ <bug-database rdf:resource="https://bugzilla.gnome.org/browse.cgi?product=gnome-session" />
+
+ <category rdf:resource="http://api.gnome.org/doap-extensions#core" />
+ <programming-language>C</programming-language>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Ray Strode</foaf:name>
+ <foaf:mbox rdf:resource="mailto:rstrode@redhat.com" />
+ <gnome:userid>halfline</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>William Jon McCann</foaf:name>
+ <foaf:mbox rdf:resource="mailto:mccann@jhu.edu" />
+ <gnome:userid>mccann</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Colin Walters</foaf:name>
+ <foaf:mbox rdf:resource="mailto:walters@verbum.org" />
+ <gnome:userid>walters</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Iain Lane</foaf:name>
+ <foaf:mbox rdf:resource="mailto:iainl@gnome.org" />
+ <gnome:userid>iainl</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Benjamin Berg</foaf:name>
+ <foaf:mbox rdf:resource="mailto:bberg@gnome.org" />
+ <gnome:userid>bberg</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+</Project>
diff --git a/gnome-session/README b/gnome-session/README
new file mode 100644
index 0000000..f0bd4cc
--- /dev/null
+++ b/gnome-session/README
@@ -0,0 +1,69 @@
+See also http://live.gnome.org/SessionManagement/NewGnomeSession
+
+Startup
+-------
+
+main() creates the GsmSession object representing the session (either
+failsafe or normal). gsm_session_new() reads the appropriate autostart
+and session files to create a list of GsmApps to be started.
+(GsmAppAutostart represents an autostarted app, and GsmAppResumed
+represents an app resumed from the previous saved session.)
+
+Startup is divided into 7 phases (GsmManagerPhase):
+
+ * GSM_MANAGER_PHASE_STARTUP covers gnome-session's internal
+ startup, which also includes starting dbus-daemon (if
+ it's not already running). Gnome-session starts up those
+ explicitly because it needs them for its own purposes.
+
+ * GSM_MANAGER_PHASE_EARLY_INITIALIZATION is the first phase of
+ "normal" startup (ie, startup controlled by .desktop files
+ rather than hardcoding). It covers the possible installation of
+ files in $HOME by gnome-initial-setup and must be done before
+ other components such as gnome-keyring use those files.
+
+ * GSM_MANAGER_PHASE_INITIALIZATION covers low-level stuff like
+ gnome-settings-daemon helpers, that need to be
+ running very early (before any windows are displayed).
+
+ Apps in this phase can make use of a D-Bus interface
+ (org.gnome.SessionManager.Setenv) to set environment variables
+ in gnome-session's environment. This can be used for things like
+ $GTK_MODULES, $GNOME_KEYRING_SOCKET, etc
+
+ * GSM_MANAGER_PHASE_WINDOW_MANAGER includes window managers and
+ compositing managers, and anything else that has to be running
+ before any windows are mapped
+
+ * GSM_MANAGER_PHASE_PANEL includes anything that permanently takes
+ up screen real estate (via EWMH struts). This is the first phase
+ where things actually appear on the screen.
+
+ * GSM_MANAGER_PHASE_DESKTOP includes anything that draws directly
+ on the desktop (eg, nautilus).
+
+ * GSM_MANAGER_PHASE_APPLICATION is everything else (normal apps,
+ tray icons, etc)
+
+For each startup phase, GsmSession launches the appropriate GsmApps.
+When apps connect to the XSMP or D-Bus servers, GsmClients are created
+and added to the session. The session tries to map these clients to
+GsmApps. GsmApps signal when they register (via XSMP or SN) or exit,
+and GsmSession uses this to decide when the phase is complete.
+
+FIXME: after starting the session, we need to run the DiscardCommands
+of resumed apps.
+
+
+Running/Shutdown
+----------------
+
+GSM_MANAGER_PHASE_RUNNING is pretty similar to the old gnome-session;
+mostly it just tracks XSMP clients, and watches for
+SmRestartImmediately clients exiting (NOTE: THIS DOESN'T HAPPEN YET).
+
+GsmClient is in theory not XSMP-specific, but it's very very
+XSMP-like, and the shutdown procedure is also very XSMP-like. This is
+just because there's no way to do XSMP shutdown correctly otherwise.
+However, GsmClientDBus will still be able to present a more sane
+protocol to its clients than GsmClient presents to it.
diff --git a/gnome-session/gdm-log.c b/gnome-session/gdm-log.c
new file mode 100644
index 0000000..c0dca41
--- /dev/null
+++ b/gnome-session/gdm-log.c
@@ -0,0 +1,205 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: William Jon McCann <mccann@jhu.edu>
+ *
+ */
+
+#include "config.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+#include <signal.h>
+#include <time.h>
+#include <unistd.h>
+
+#include <syslog.h>
+
+#include <glib.h>
+#include <glib/gstdio.h>
+
+#include "gdm-log.h"
+
+static gboolean initialized = FALSE;
+static int syslog_levels = (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING);
+
+static void
+log_level_to_priority_and_prefix (GLogLevelFlags log_level,
+ int *priorityp,
+ const char **prefixp)
+{
+ int priority;
+ const char *prefix;
+
+ /* Process the message prefix and priority */
+ switch (log_level & G_LOG_LEVEL_MASK) {
+ case G_LOG_FLAG_FATAL:
+ priority = LOG_EMERG;
+ prefix = "FATAL";
+ break;
+ case G_LOG_LEVEL_ERROR:
+ priority = LOG_ERR;
+ prefix = "ERROR";
+ break;
+ case G_LOG_LEVEL_CRITICAL:
+ priority = LOG_CRIT;
+ prefix = "CRITICAL";
+ break;
+ case G_LOG_LEVEL_WARNING:
+ priority = LOG_WARNING;
+ prefix = "WARNING";
+ break;
+ case G_LOG_LEVEL_MESSAGE:
+ priority = LOG_NOTICE;
+ prefix = "MESSAGE";
+ break;
+ case G_LOG_LEVEL_INFO:
+ priority = LOG_INFO;
+ prefix = "INFO";
+ break;
+ case G_LOG_LEVEL_DEBUG:
+ /* if debug was requested then bump this up to ERROR
+ * to ensure it is seen in a log */
+ if (syslog_levels & G_LOG_LEVEL_DEBUG) {
+ priority = LOG_WARNING;
+ prefix = "DEBUG(+)";
+ } else {
+ priority = LOG_DEBUG;
+ prefix = "DEBUG";
+ }
+ break;
+ default:
+ priority = LOG_DEBUG;
+ prefix = "UNKNOWN";
+ break;
+ }
+
+ if (priorityp != NULL) {
+ *priorityp = priority;
+ }
+ if (prefixp != NULL) {
+ *prefixp = prefix;
+ }
+}
+
+void
+gdm_log_default_handler (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer unused_data)
+{
+ GString *gstring;
+ int priority;
+ const char *level_prefix;
+ char *string;
+ gboolean do_log;
+ gboolean is_fatal;
+
+ is_fatal = (log_level & G_LOG_FLAG_FATAL) != 0;
+
+ do_log = (log_level & syslog_levels);
+ if (! do_log) {
+ return;
+ }
+
+ if (! initialized) {
+ gdm_log_init ();
+ }
+
+ log_level_to_priority_and_prefix (log_level,
+ &priority,
+ &level_prefix);
+
+ gstring = g_string_new (NULL);
+
+ if (log_domain != NULL) {
+ g_string_append (gstring, log_domain);
+ g_string_append_c (gstring, '-');
+ }
+ g_string_append (gstring, level_prefix);
+
+ g_string_append (gstring, ": ");
+ if (message == NULL) {
+ g_string_append (gstring, "(NULL) message");
+ } else {
+ g_string_append (gstring, message);
+ }
+ if (is_fatal) {
+ g_string_append (gstring, "\naborting...\n");
+ } else {
+ g_string_append (gstring, "\n");
+ }
+
+ string = g_string_free (gstring, FALSE);
+
+ syslog (priority, "%s", string);
+
+ g_free (string);
+}
+
+void
+gdm_log_toggle_debug (void)
+{
+ if (syslog_levels & G_LOG_LEVEL_DEBUG) {
+ g_debug ("Debugging disabled");
+ syslog_levels &= ~G_LOG_LEVEL_DEBUG;
+ } else {
+ syslog_levels |= G_LOG_LEVEL_DEBUG;
+ g_debug ("Debugging enabled");
+ }
+}
+
+void
+gdm_log_set_debug (gboolean debug)
+{
+ if (debug) {
+ syslog_levels |= G_LOG_LEVEL_DEBUG;
+ g_debug ("Enabling debugging");
+ } else {
+ g_debug ("Disabling debugging");
+ syslog_levels &= ~G_LOG_LEVEL_DEBUG;
+ }
+}
+
+void
+gdm_log_init (void)
+{
+ const char *prg_name;
+ int options;
+
+ g_log_set_default_handler (gdm_log_default_handler, NULL);
+
+ prg_name = g_get_prgname ();
+
+ options = LOG_PID;
+#ifdef LOG_PERROR
+ options |= LOG_PERROR;
+#endif
+
+ openlog (prg_name, options, LOG_DAEMON);
+
+ initialized = TRUE;
+}
+
+void
+gdm_log_shutdown (void)
+{
+ closelog ();
+ initialized = FALSE;
+}
+
diff --git a/gnome-session/gdm-log.h b/gnome-session/gdm-log.h
new file mode 100644
index 0000000..33daf40
--- /dev/null
+++ b/gnome-session/gdm-log.h
@@ -0,0 +1,50 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: William Jon McCann <mccann@jhu.edu>
+ *
+ */
+
+#ifndef __GDM_LOG_H
+#define __GDM_LOG_H
+
+#include <stdarg.h>
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+void gdm_log_default_handler (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer unused_data);
+void gdm_log_set_debug (gboolean debug);
+void gdm_log_toggle_debug (void);
+void gdm_log_init (void);
+void gdm_log_shutdown (void);
+
+/* compatibility */
+#define gdm_fail g_critical
+#define gdm_error g_warning
+#define gdm_info g_message
+#define gdm_debug g_debug
+
+#define gdm_assert g_assert
+#define gdm_assert_not_reached g_assert_not_reached
+
+G_END_DECLS
+
+#endif /* __GDM_LOG_H */
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
new file mode 100755
index 0000000..ddd1a59
--- /dev/null
+++ b/gnome-session/gnome-session.in
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
+ [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
+ [ -n "$SHELL" ] &&
+ grep -q "$SHELL" /etc/shells &&
+ ! (echo "$SHELL" | grep -q "false") &&
+ ! (echo "$SHELL" | grep -q "nologin"); then
+ if [ "$1" != '-l' ]; then
+ exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
+ else
+ shift
+ fi
+fi
+
+SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
+REGION=${SETTING#\'}
+REGION=${REGION%\'}
+
+if [ -n "$REGION" ]; then
+ unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
+
+ if [ "$LANG" != "$REGION" ] ; then
+ export LC_TIME=$REGION
+ export LC_NUMERIC=$REGION
+ export LC_MONETARY=$REGION
+ export LC_MEASUREMENT=$REGION
+ export LC_PAPER=$REGION
+ fi
+fi
+
+exec @libexecdir@/gnome-session-binary "$@"
diff --git a/gnome-session/gsm-app.c b/gnome-session/gsm-app.c
new file mode 100644
index 0000000..8da7bd1
--- /dev/null
+++ b/gnome-session/gsm-app.c
@@ -0,0 +1,593 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <string.h>
+
+#include "gsm-app.h"
+#include "org.gnome.SessionManager.App.h"
+
+/* If a component crashes twice within a minute, we count that as a fatal error */
+#define _GSM_APP_RESPAWN_RATELIMIT_SECONDS 60
+
+typedef struct
+{
+ char *id;
+ char *app_id;
+ int phase;
+ char *startup_id;
+ gboolean registered;
+ GTimeVal last_restart_time;
+ GDBusConnection *connection;
+ GsmExportedApp *skeleton;
+} GsmAppPrivate;
+
+
+enum {
+ EXITED,
+ DIED,
+ LAST_SIGNAL
+};
+
+static guint32 app_serial = 1;
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+enum {
+ PROP_0,
+ PROP_ID,
+ PROP_STARTUP_ID,
+ PROP_PHASE,
+ PROP_REGISTERED,
+ LAST_PROP
+};
+
+G_DEFINE_TYPE_WITH_PRIVATE (GsmApp, gsm_app, G_TYPE_OBJECT)
+
+GQuark
+gsm_app_error_quark (void)
+{
+ static GQuark ret = 0;
+ if (ret == 0) {
+ ret = g_quark_from_static_string ("gsm_app_error");
+ }
+
+ return ret;
+
+}
+
+static gboolean
+gsm_app_get_app_id (GsmExportedApp *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmApp *app)
+{
+ const gchar *id;
+
+ id = GSM_APP_GET_CLASS (app)->impl_get_app_id (app);
+ gsm_exported_app_complete_get_app_id (skeleton, invocation, id);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_app_get_startup_id (GsmExportedApp *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+ const gchar *id;
+
+ id = g_strdup (priv->startup_id);
+ gsm_exported_app_complete_get_startup_id (skeleton, invocation, id);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_app_get_phase (GsmExportedApp *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ gsm_exported_app_complete_get_phase (skeleton, invocation, priv->phase);
+ return TRUE;
+}
+
+static guint32
+get_next_app_serial (void)
+{
+ guint32 serial;
+
+ serial = app_serial++;
+
+ if ((gint32)app_serial < 0) {
+ app_serial = 1;
+ }
+
+ return serial;
+}
+
+static gboolean
+register_app (GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+ GError *error;
+ GsmExportedApp *skeleton;
+
+ error = NULL;
+ priv->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (error != NULL) {
+ g_critical ("error getting session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ skeleton = gsm_exported_app_skeleton_new ();
+ priv->skeleton = skeleton;
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ priv->connection, priv->id,
+ &error);
+
+ if (error != NULL) {
+ g_critical ("error registering app on session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_signal_connect (skeleton, "handle-get-app-id",
+ G_CALLBACK (gsm_app_get_app_id), app);
+ g_signal_connect (skeleton, "handle-get-phase",
+ G_CALLBACK (gsm_app_get_phase), app);
+ g_signal_connect (skeleton, "handle-get-startup-id",
+ G_CALLBACK (gsm_app_get_startup_id), app);
+
+ return TRUE;
+}
+
+static GObject *
+gsm_app_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmApp *app;
+ GsmAppPrivate *priv;
+ gboolean res;
+
+ app = GSM_APP (G_OBJECT_CLASS (gsm_app_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+ priv = gsm_app_get_instance_private (app);
+
+ g_free (priv->id);
+ priv->id = g_strdup_printf ("/org/gnome/SessionManager/App%u", get_next_app_serial ());
+
+ res = register_app (app);
+ if (! res) {
+ g_warning ("Unable to register app with session bus");
+ }
+
+ return G_OBJECT (app);
+}
+
+static void
+gsm_app_init (GsmApp *app)
+{
+}
+
+static void
+gsm_app_set_phase (GsmApp *app,
+ int phase)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_if_fail (GSM_IS_APP (app));
+
+ priv->phase = phase;
+}
+
+static void
+gsm_app_set_id (GsmApp *app,
+ const char *id)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_if_fail (GSM_IS_APP (app));
+
+ g_free (priv->id);
+
+ priv->id = g_strdup (id);
+ g_object_notify (G_OBJECT (app), "id");
+
+}
+static void
+gsm_app_set_startup_id (GsmApp *app,
+ const char *startup_id)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_if_fail (GSM_IS_APP (app));
+
+ g_free (priv->startup_id);
+
+ priv->startup_id = g_strdup (startup_id);
+ g_object_notify (G_OBJECT (app), "startup-id");
+
+}
+
+static void
+gsm_app_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmApp *app = GSM_APP (object);
+
+ switch (prop_id) {
+ case PROP_STARTUP_ID:
+ gsm_app_set_startup_id (app, g_value_get_string (value));
+ break;
+ case PROP_ID:
+ gsm_app_set_id (app, g_value_get_string (value));
+ break;
+ case PROP_PHASE:
+ gsm_app_set_phase (app, g_value_get_int (value));
+ break;
+ case PROP_REGISTERED:
+ gsm_app_set_registered (app, g_value_get_boolean (value));
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+gsm_app_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmApp *app = GSM_APP (object);
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ switch (prop_id) {
+ case PROP_STARTUP_ID:
+ g_value_set_string (value, priv->startup_id);
+ break;
+ case PROP_ID:
+ g_value_set_string (value, priv->id);
+ break;
+ case PROP_PHASE:
+ g_value_set_int (value, priv->phase);
+ break;
+ case PROP_REGISTERED:
+ g_value_set_boolean (value, priv->registered);
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+gsm_app_dispose (GObject *object)
+{
+ GsmApp *app = GSM_APP (object);
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_free (priv->startup_id);
+ priv->startup_id = NULL;
+
+ g_free (priv->id);
+ priv->id = NULL;
+
+ if (priv->skeleton != NULL) {
+ g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (priv->skeleton),
+ priv->connection);
+ g_clear_object (&priv->skeleton);
+ }
+
+ g_clear_object (&priv->connection);
+
+ G_OBJECT_CLASS (gsm_app_parent_class)->dispose (object);
+}
+
+static void
+gsm_app_class_init (GsmAppClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->set_property = gsm_app_set_property;
+ object_class->get_property = gsm_app_get_property;
+ object_class->dispose = gsm_app_dispose;
+ object_class->constructor = gsm_app_constructor;
+
+ klass->impl_start = NULL;
+ klass->impl_get_app_id = NULL;
+ klass->impl_get_autorestart = NULL;
+ klass->impl_provides = NULL;
+ klass->impl_get_provides = NULL;
+ klass->impl_is_running = NULL;
+
+ g_object_class_install_property (object_class,
+ PROP_PHASE,
+ g_param_spec_int ("phase",
+ "Phase",
+ "Phase",
+ -1,
+ G_MAXINT,
+ -1,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_string ("id",
+ "ID",
+ "ID",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_STARTUP_ID,
+ g_param_spec_string ("startup-id",
+ "startup ID",
+ "Session management startup ID",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class,
+ PROP_REGISTERED,
+ g_param_spec_boolean ("registered",
+ "Registered",
+ "Registered",
+ FALSE,
+ G_PARAM_READWRITE));
+
+ signals[EXITED] =
+ g_signal_new ("exited",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmAppClass, exited),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_UCHAR);
+ signals[DIED] =
+ g_signal_new ("died",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmAppClass, died),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_INT);
+}
+
+const char *
+gsm_app_peek_id (GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ return priv->id;
+}
+
+const char *
+gsm_app_peek_app_id (GsmApp *app)
+{
+ return GSM_APP_GET_CLASS (app)->impl_get_app_id (app);
+}
+
+const char *
+gsm_app_peek_startup_id (GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ return priv->startup_id;
+}
+
+/**
+ * gsm_app_peek_phase:
+ * @app: a %GsmApp
+ *
+ * Returns @app's startup phase.
+ *
+ * Return value: @app's startup phase
+ **/
+GsmManagerPhase
+gsm_app_peek_phase (GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_val_if_fail (GSM_IS_APP (app), GSM_MANAGER_PHASE_APPLICATION);
+
+ return priv->phase;
+}
+
+gboolean
+gsm_app_peek_is_disabled (GsmApp *app)
+{
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ if (GSM_APP_GET_CLASS (app)->impl_is_disabled) {
+ return GSM_APP_GET_CLASS (app)->impl_is_disabled (app);
+ } else {
+ return FALSE;
+ }
+}
+
+gboolean
+gsm_app_peek_is_conditionally_disabled (GsmApp *app)
+{
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ if (GSM_APP_GET_CLASS (app)->impl_is_conditionally_disabled) {
+ return GSM_APP_GET_CLASS (app)->impl_is_conditionally_disabled (app);
+ } else {
+ return FALSE;
+ }
+}
+
+gboolean
+gsm_app_is_running (GsmApp *app)
+{
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ if (GSM_APP_GET_CLASS (app)->impl_is_running) {
+ return GSM_APP_GET_CLASS (app)->impl_is_running (app);
+ } else {
+ return FALSE;
+ }
+}
+
+gboolean
+gsm_app_peek_autorestart (GsmApp *app)
+{
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ if (GSM_APP_GET_CLASS (app)->impl_get_autorestart) {
+ return GSM_APP_GET_CLASS (app)->impl_get_autorestart (app);
+ } else {
+ return FALSE;
+ }
+}
+
+gboolean
+gsm_app_provides (GsmApp *app, const char *service)
+{
+ if (GSM_APP_GET_CLASS (app)->impl_provides) {
+ return GSM_APP_GET_CLASS (app)->impl_provides (app, service);
+ } else {
+ return FALSE;
+ }
+}
+
+char **
+gsm_app_get_provides (GsmApp *app)
+{
+ if (GSM_APP_GET_CLASS (app)->impl_get_provides) {
+ return GSM_APP_GET_CLASS (app)->impl_get_provides (app);
+ } else {
+ return NULL;
+ }
+}
+
+gboolean
+gsm_app_has_autostart_condition (GsmApp *app,
+ const char *condition)
+{
+
+ if (GSM_APP_GET_CLASS (app)->impl_has_autostart_condition) {
+ return GSM_APP_GET_CLASS (app)->impl_has_autostart_condition (app, condition);
+ } else {
+ return FALSE;
+ }
+}
+
+gboolean
+gsm_app_start (GsmApp *app,
+ GError **error)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_debug ("Starting app: %s", priv->id);
+ return GSM_APP_GET_CLASS (app)->impl_start (app, error);
+}
+
+gboolean
+gsm_app_restart (GsmApp *app,
+ GError **error)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+ GTimeVal current_time;
+ g_debug ("Re-starting app: %s", priv->id);
+
+ g_get_current_time (&current_time);
+ if (priv->last_restart_time.tv_sec > 0
+ && (current_time.tv_sec - priv->last_restart_time.tv_sec) < _GSM_APP_RESPAWN_RATELIMIT_SECONDS) {
+ g_warning ("App '%s' respawning too quickly", gsm_app_peek_app_id (app));
+ g_set_error (error,
+ GSM_APP_ERROR,
+ GSM_APP_ERROR_RESTART_LIMIT,
+ "Component '%s' crashing too quickly",
+ gsm_app_peek_app_id (app));
+ return FALSE;
+ }
+ priv->last_restart_time = current_time;
+
+ return GSM_APP_GET_CLASS (app)->impl_restart (app, error);
+}
+
+gboolean
+gsm_app_stop (GsmApp *app,
+ GError **error)
+{
+ return GSM_APP_GET_CLASS (app)->impl_stop (app, error);
+}
+
+void
+gsm_app_exited (GsmApp *app,
+ guchar exit_code)
+{
+ g_return_if_fail (GSM_IS_APP (app));
+
+ g_signal_emit (app, signals[EXITED], 0, exit_code);
+}
+
+void
+gsm_app_died (GsmApp *app,
+ int signal)
+{
+ g_return_if_fail (GSM_IS_APP (app));
+
+ g_signal_emit (app, signals[DIED], 0, signal);
+}
+
+gboolean
+gsm_app_get_registered (GsmApp *app)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ return priv->registered;
+}
+
+void
+gsm_app_set_registered (GsmApp *app,
+ gboolean registered)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_return_if_fail (GSM_IS_APP (app));
+
+ if (priv->registered != registered) {
+ priv->registered = registered;
+ g_object_notify (G_OBJECT (app), "registered");
+ }
+}
+
+gboolean
+gsm_app_save_to_keyfile (GsmApp *app,
+ GKeyFile *keyfile,
+ GError **error)
+{
+ GsmAppPrivate *priv = gsm_app_get_instance_private (app);
+
+ g_debug ("Saving app: %s", priv->id);
+ return GSM_APP_GET_CLASS (app)->impl_save_to_keyfile (app, keyfile, error);
+}
diff --git a/gnome-session/gsm-app.h b/gnome-session/gsm-app.h
new file mode 100644
index 0000000..2808a21
--- /dev/null
+++ b/gnome-session/gsm-app.h
@@ -0,0 +1,119 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_APP_H__
+#define __GSM_APP_H__
+
+#include <glib-object.h>
+#include <sys/types.h>
+
+
+#include "gsm-manager.h"
+#include "gsm-client.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_APP (gsm_app_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GsmApp, gsm_app, GSM, APP, GObject)
+
+struct _GsmAppClass
+{
+ GObjectClass parent_class;
+
+ /* signals */
+ void (*exited) (GsmApp *app,
+ guchar exit_code);
+ void (*died) (GsmApp *app,
+ int signal);
+
+ /* virtual methods */
+ gboolean (*impl_start) (GsmApp *app,
+ GError **error);
+ gboolean (*impl_restart) (GsmApp *app,
+ GError **error);
+ gboolean (*impl_stop) (GsmApp *app,
+ GError **error);
+ gboolean (*impl_provides) (GsmApp *app,
+ const char *service);
+ char ** (*impl_get_provides) (GsmApp *app);
+ gboolean (*impl_has_autostart_condition) (GsmApp *app,
+ const char *service);
+ gboolean (*impl_is_running) (GsmApp *app);
+
+ gboolean (*impl_get_autorestart) (GsmApp *app);
+ const char *(*impl_get_app_id) (GsmApp *app);
+ gboolean (*impl_is_disabled) (GsmApp *app);
+ gboolean (*impl_is_conditionally_disabled) (GsmApp *app);
+
+ gboolean (*impl_save_to_keyfile) (GsmApp *app,
+ GKeyFile *keyfile,
+ GError **error);
+};
+
+typedef enum
+{
+ GSM_APP_ERROR_GENERAL = 0,
+ GSM_APP_ERROR_RESTART_LIMIT,
+ GSM_APP_ERROR_START,
+ GSM_APP_ERROR_STOP,
+ GSM_APP_NUM_ERRORS
+} GsmAppError;
+
+#define GSM_APP_ERROR gsm_app_error_quark ()
+
+GQuark gsm_app_error_quark (void);
+
+gboolean gsm_app_peek_autorestart (GsmApp *app);
+
+const char *gsm_app_peek_id (GsmApp *app);
+const char *gsm_app_peek_app_id (GsmApp *app);
+const char *gsm_app_peek_startup_id (GsmApp *app);
+GsmManagerPhase gsm_app_peek_phase (GsmApp *app);
+gboolean gsm_app_peek_is_disabled (GsmApp *app);
+gboolean gsm_app_peek_is_conditionally_disabled (GsmApp *app);
+
+gboolean gsm_app_start (GsmApp *app,
+ GError **error);
+gboolean gsm_app_restart (GsmApp *app,
+ GError **error);
+gboolean gsm_app_stop (GsmApp *app,
+ GError **error);
+gboolean gsm_app_is_running (GsmApp *app);
+
+void gsm_app_exited (GsmApp *app,
+ guchar exit_code);
+void gsm_app_died (GsmApp *app,
+ int signal);
+
+gboolean gsm_app_provides (GsmApp *app,
+ const char *service);
+char **gsm_app_get_provides (GsmApp *app);
+gboolean gsm_app_has_autostart_condition (GsmApp *app,
+ const char *condition);
+gboolean gsm_app_get_registered (GsmApp *app);
+void gsm_app_set_registered (GsmApp *app,
+ gboolean registered);
+
+gboolean gsm_app_save_to_keyfile (GsmApp *app,
+ GKeyFile *keyfile,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __GSM_APP_H__ */
diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
new file mode 100644
index 0000000..8204d4f
--- /dev/null
+++ b/gnome-session/gsm-autostart-app.c
@@ -0,0 +1,1511 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include <ctype.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <errno.h>
+
+#include <glib.h>
+#include <gio/gio.h>
+#include <gio/gdesktopappinfo.h>
+
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <libgnome-desktop/gnome-systemd.h>
+
+#ifdef HAVE_SYSTEMD
+#ifdef ENABLE_SYSTEMD_JOURNAL
+#include <systemd/sd-journal.h>
+#endif
+#include <systemd/sd-daemon.h>
+#endif
+
+#include "gsm-autostart-app.h"
+#include "gsm-util.h"
+
+enum {
+ AUTOSTART_LAUNCH_SPAWN = 0,
+ AUTOSTART_LAUNCH_ACTIVATE
+};
+
+enum {
+ GSM_CONDITION_NONE = 0,
+ GSM_CONDITION_IF_EXISTS = 1,
+ GSM_CONDITION_UNLESS_EXISTS = 2,
+ GSM_CONDITION_GSETTINGS = 3,
+ GSM_CONDITION_IF_SESSION = 4,
+ GSM_CONDITION_UNLESS_SESSION = 5,
+ GSM_CONDITION_UNKNOWN = 6
+};
+
+#define GSM_SESSION_CLIENT_DBUS_INTERFACE "org.gnome.SessionClient"
+
+typedef struct
+{
+ gboolean mask_systemd;
+ char *desktop_filename;
+ char *desktop_id;
+ char *startup_id;
+
+ GDesktopAppInfo *app_info;
+ /* provides defined in session definition */
+ GSList *session_provides;
+
+ /* desktop file state */
+ char *condition_string;
+ gboolean condition;
+ gboolean autorestart;
+
+ GFileMonitor *condition_monitor;
+ guint condition_notify_id;
+ GSettings *condition_settings;
+
+ int launch_type;
+ GPid pid;
+ guint child_watch_id;
+} GsmAutostartAppPrivate;
+
+enum {
+ CONDITION_CHANGED,
+ LAST_SIGNAL
+};
+
+typedef enum {
+ PROP_DESKTOP_FILENAME = 1,
+ PROP_MASK_SYSTEMD,
+} GsmAutostartAppProperty;
+
+static GParamSpec *props[PROP_MASK_SYSTEMD + 1] = { NULL, };
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+static void gsm_autostart_app_initable_iface_init (GInitableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GsmAutostartApp, gsm_autostart_app, GSM_TYPE_APP,
+ G_ADD_PRIVATE (GsmAutostartApp)
+ G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, gsm_autostart_app_initable_iface_init))
+
+static void
+gsm_autostart_app_init (GsmAutostartApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+
+ priv->pid = -1;
+ priv->condition_monitor = NULL;
+ priv->condition = FALSE;
+}
+
+static gboolean
+is_disabled (GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+
+ /* GSM_AUTOSTART_APP_ENABLED_KEY key, used by old gnome-session */
+ if (g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_ENABLED_KEY) &&
+ !g_desktop_app_info_get_boolean (priv->app_info,
+ GSM_AUTOSTART_APP_ENABLED_KEY)) {
+ g_debug ("app %s is disabled by " GSM_AUTOSTART_APP_ENABLED_KEY,
+ gsm_app_peek_id (app));
+ return TRUE;
+ }
+
+ /* Hidden key, used by autostart spec */
+ if (g_desktop_app_info_get_is_hidden (priv->app_info)) {
+ g_debug ("app %s is disabled by Hidden",
+ gsm_app_peek_id (app));
+ return TRUE;
+ }
+
+ /* Check OnlyShowIn/NotShowIn/TryExec */
+ if (!g_desktop_app_info_get_show_in (priv->app_info, NULL)) {
+ g_debug ("app %s is not for the current desktop",
+ gsm_app_peek_id (app));
+ return TRUE;
+ }
+
+ /* Check if app is systemd enabled and mask-systemd is set. */
+ if (priv->mask_systemd &&
+ g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_SYSTEMD_KEY) &&
+ g_desktop_app_info_get_boolean (priv->app_info,
+ GSM_AUTOSTART_APP_SYSTEMD_KEY)) {
+ g_debug ("app %s is disabled by " GSM_AUTOSTART_APP_SYSTEMD_KEY,
+ gsm_app_peek_id (app));
+ return TRUE;
+ }
+
+ /* Do not check AutostartCondition - this method is only to determine
+ if the app is unconditionally disabled */
+
+ return FALSE;
+}
+
+static gboolean
+parse_condition_string (const char *condition_string,
+ guint *condition_kindp,
+ char **keyp)
+{
+ const char *space;
+ const char *key;
+ int len;
+ guint kind;
+
+ space = condition_string + strcspn (condition_string, " ");
+ len = space - condition_string;
+ key = space;
+ while (isspace ((unsigned char)*key)) {
+ key++;
+ }
+
+ kind = GSM_CONDITION_UNKNOWN;
+
+ if (!g_ascii_strncasecmp (condition_string, "if-exists", len) && key) {
+ kind = GSM_CONDITION_IF_EXISTS;
+ } else if (!g_ascii_strncasecmp (condition_string, "unless-exists", len) && key) {
+ kind = GSM_CONDITION_UNLESS_EXISTS;
+ } else if (!g_ascii_strncasecmp (condition_string, "GSettings", len)) {
+ kind = GSM_CONDITION_GSETTINGS;
+ } else if (!g_ascii_strncasecmp (condition_string, "GNOME3", len)) {
+ condition_string = key;
+ space = condition_string + strcspn (condition_string, " ");
+ len = space - condition_string;
+ key = space;
+ while (isspace ((unsigned char)*key)) {
+ key++;
+ }
+ if (!g_ascii_strncasecmp (condition_string, "if-session", len) && key) {
+ kind = GSM_CONDITION_IF_SESSION;
+ } else if (!g_ascii_strncasecmp (condition_string, "unless-session", len) && key) {
+ kind = GSM_CONDITION_UNLESS_SESSION;
+ }
+ }
+
+ if (kind == GSM_CONDITION_UNKNOWN) {
+ key = NULL;
+ }
+
+ if (keyp != NULL) {
+ *keyp = g_strdup (key);
+ }
+
+ if (condition_kindp != NULL) {
+ *condition_kindp = kind;
+ }
+
+ return (kind != GSM_CONDITION_UNKNOWN);
+}
+
+static void
+if_exists_condition_cb (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event,
+ GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean condition = FALSE;
+
+ switch (event) {
+ case G_FILE_MONITOR_EVENT_CREATED:
+ condition = TRUE;
+ break;
+ case G_FILE_MONITOR_EVENT_DELETED:
+ condition = FALSE;
+ break;
+ default:
+ /* Ignore any other monitor event */
+ return;
+ }
+
+ /* Emit only if the condition actually changed */
+ if (condition != priv->condition) {
+ priv->condition = condition;
+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition);
+ }
+}
+
+static void
+unless_exists_condition_cb (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event,
+ GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean condition = FALSE;
+
+ switch (event) {
+ case G_FILE_MONITOR_EVENT_CREATED:
+ condition = FALSE;
+ break;
+ case G_FILE_MONITOR_EVENT_DELETED:
+ condition = TRUE;
+ break;
+ default:
+ /* Ignore any other monitor event */
+ return;
+ }
+
+ /* Emit only if the condition actually changed */
+ if (condition != priv->condition) {
+ priv->condition = condition;
+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition);
+ }
+}
+
+static void
+gsettings_condition_cb (GSettings *settings,
+ const char *key,
+ gpointer user_data)
+{
+ GsmApp *app = GSM_APP (user_data);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean condition;
+
+ g_return_if_fail (GSM_IS_APP (user_data));
+
+ condition = g_settings_get_boolean (settings, key);
+
+ g_debug ("GsmAutostartApp: app:%s condition changed condition:%d",
+ gsm_app_peek_id (app),
+ condition);
+
+ /* Emit only if the condition actually changed */
+ if (condition != priv->condition) {
+ priv->condition = condition;
+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition);
+ }
+}
+
+static gboolean
+setup_gsettings_condition_monitor (GsmAutostartApp *app,
+ const char *key)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ GSettingsSchemaSource *source;
+ GSettingsSchema *schema;
+ GSettings *settings;
+ GSettingsSchemaKey *schema_key;
+ const GVariantType *key_type;
+ char **elems;
+ gboolean retval = FALSE;
+ char *signal;
+
+ retval = FALSE;
+
+ schema = NULL;
+
+ elems = g_strsplit (key, " ", 2);
+
+ if (elems == NULL)
+ goto out;
+
+ if (elems[0] == NULL || elems[1] == NULL)
+ goto out;
+
+ source = g_settings_schema_source_get_default ();
+
+ schema = g_settings_schema_source_lookup (source, elems[0], TRUE);
+
+ if (schema == NULL)
+ goto out;
+
+ if (!g_settings_schema_has_key (schema, elems[1]))
+ goto out;
+
+ schema_key = g_settings_schema_get_key (schema, elems[1]);
+
+ g_assert (schema_key != NULL);
+
+ key_type = g_settings_schema_key_get_value_type (schema_key);
+
+ g_settings_schema_key_unref (schema_key);
+
+ g_assert (key_type != NULL);
+
+ if (!g_variant_type_equal (key_type, G_VARIANT_TYPE_BOOLEAN))
+ goto out;
+
+ settings = g_settings_new_full (schema, NULL, NULL);
+ retval = g_settings_get_boolean (settings, elems[1]);
+
+ signal = g_strdup_printf ("changed::%s", elems[1]);
+ g_signal_connect (G_OBJECT (settings), signal,
+ G_CALLBACK (gsettings_condition_cb), app);
+ g_free (signal);
+
+ priv->condition_settings = settings;
+
+out:
+ if (schema)
+ g_settings_schema_unref (schema);
+ g_strfreev (elems);
+
+ return retval;
+}
+
+static void
+if_session_condition_cb (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ GsmApp *app = GSM_APP (user_data);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ char *session_name;
+ char *key;
+ gboolean condition;
+
+ g_return_if_fail (GSM_IS_APP (user_data));
+
+ parse_condition_string (priv->condition_string, NULL, &key);
+
+ g_object_get (object, "session-name", &session_name, NULL);
+ condition = strcmp (session_name, key) == 0;
+ g_free (session_name);
+
+ g_free (key);
+
+ g_debug ("GsmAutostartApp: app:%s condition changed condition:%d",
+ gsm_app_peek_id (app),
+ condition);
+
+ /* Emit only if the condition actually changed */
+ if (condition != priv->condition) {
+ priv->condition = condition;
+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition);
+ }
+}
+
+static void
+unless_session_condition_cb (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ GsmApp *app = GSM_APP (user_data);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ char *session_name;
+ char *key;
+ gboolean condition;
+
+ g_return_if_fail (GSM_IS_APP (user_data));
+
+ parse_condition_string (priv->condition_string, NULL, &key);
+
+ g_object_get (object, "session-name", &session_name, NULL);
+ condition = strcmp (session_name, key) != 0;
+ g_free (session_name);
+
+ g_free (key);
+
+ g_debug ("GsmAutostartApp: app:%s condition changed condition:%d",
+ gsm_app_peek_id (app),
+ condition);
+
+ /* Emit only if the condition actually changed */
+ if (condition != priv->condition) {
+ priv->condition = condition;
+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition);
+ }
+}
+
+static char *
+resolve_conditional_file_path (const char *file)
+{
+ if (g_path_is_absolute (file))
+ return g_strdup (file);
+ return g_build_filename (g_get_user_config_dir (), file, NULL);
+}
+
+static void
+setup_condition_monitor (GsmAutostartApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ guint kind;
+ char *key;
+ gboolean res;
+ gboolean disabled;
+
+ if (priv->condition_monitor != NULL) {
+ g_file_monitor_cancel (priv->condition_monitor);
+ }
+
+ if (priv->condition_string == NULL) {
+ return;
+ }
+
+ /* if it is disabled outright there is no point in monitoring */
+ if (is_disabled (GSM_APP (app))) {
+ return;
+ }
+
+ key = NULL;
+ res = parse_condition_string (priv->condition_string, &kind, &key);
+ if (! res) {
+ g_free (key);
+ return;
+ }
+
+ if (key == NULL) {
+ return;
+ }
+
+ if (kind == GSM_CONDITION_IF_EXISTS) {
+ char *file_path;
+ GFile *file;
+
+ file_path = resolve_conditional_file_path (key);
+ disabled = !g_file_test (file_path, G_FILE_TEST_EXISTS);
+
+ file = g_file_new_for_path (file_path);
+ priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
+
+ g_signal_connect (priv->condition_monitor, "changed",
+ G_CALLBACK (if_exists_condition_cb),
+ app);
+
+ g_object_unref (file);
+ g_free (file_path);
+ } else if (kind == GSM_CONDITION_UNLESS_EXISTS) {
+ char *file_path;
+ GFile *file;
+
+ file_path = resolve_conditional_file_path (key);
+ disabled = g_file_test (file_path, G_FILE_TEST_EXISTS);
+
+ file = g_file_new_for_path (file_path);
+ priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
+
+ g_signal_connect (priv->condition_monitor, "changed",
+ G_CALLBACK (unless_exists_condition_cb),
+ app);
+
+ g_object_unref (file);
+ g_free (file_path);
+ } else if (kind == GSM_CONDITION_GSETTINGS) {
+ disabled = !setup_gsettings_condition_monitor (app, key);
+ } else if (kind == GSM_CONDITION_IF_SESSION) {
+ GsmManager *manager;
+ char *session_name;
+
+ /* get the singleton */
+ manager = gsm_manager_get ();
+
+ g_object_get (manager, "session-name", &session_name, NULL);
+ disabled = strcmp (session_name, key) != 0;
+
+ g_signal_connect (manager, "notify::session-name",
+ G_CALLBACK (if_session_condition_cb), app);
+ g_free (session_name);
+ } else if (kind == GSM_CONDITION_UNLESS_SESSION) {
+ GsmManager *manager;
+ char *session_name;
+
+ /* get the singleton */
+ manager = gsm_manager_get ();
+
+ g_object_get (manager, "session-name", &session_name, NULL);
+ disabled = strcmp (session_name, key) == 0;
+
+ g_signal_connect (manager, "notify::session-name",
+ G_CALLBACK (unless_session_condition_cb), app);
+ g_free (session_name);
+ } else {
+ disabled = TRUE;
+ }
+
+ g_free (key);
+
+ if (disabled) {
+ /* FIXME: cache the disabled value? */
+ }
+}
+
+static void
+load_desktop_file (GsmAutostartApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ char *dbus_name;
+ char *startup_id;
+ char *phase_str;
+ int phase;
+ gboolean res;
+
+ g_assert (priv->app_info != NULL);
+
+ phase_str = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_PHASE_KEY);
+ if (phase_str != NULL) {
+ if (strcmp (phase_str, "EarlyInitialization") == 0) {
+ phase = GSM_MANAGER_PHASE_EARLY_INITIALIZATION;
+ } else if (strcmp (phase_str, "PreDisplayServer") == 0) {
+ phase = GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER;
+ } else if (strcmp (phase_str, "DisplayServer") == 0) {
+ phase = GSM_MANAGER_PHASE_DISPLAY_SERVER;
+ } else if (strcmp (phase_str, "Initialization") == 0) {
+ phase = GSM_MANAGER_PHASE_INITIALIZATION;
+ } else if (strcmp (phase_str, "WindowManager") == 0) {
+ phase = GSM_MANAGER_PHASE_WINDOW_MANAGER;
+ } else if (strcmp (phase_str, "Panel") == 0) {
+ phase = GSM_MANAGER_PHASE_PANEL;
+ } else if (strcmp (phase_str, "Desktop") == 0) {
+ phase = GSM_MANAGER_PHASE_DESKTOP;
+ } else {
+ phase = GSM_MANAGER_PHASE_APPLICATION;
+ }
+
+ g_free (phase_str);
+ } else {
+ phase = GSM_MANAGER_PHASE_APPLICATION;
+ }
+
+ dbus_name = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_DBUS_NAME_KEY);
+ if (dbus_name != NULL) {
+ priv->launch_type = AUTOSTART_LAUNCH_ACTIVATE;
+ } else {
+ priv->launch_type = AUTOSTART_LAUNCH_SPAWN;
+ }
+
+ /* this must only be done on first load */
+ switch (priv->launch_type) {
+ case AUTOSTART_LAUNCH_SPAWN:
+ startup_id =
+ g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_STARTUP_ID_KEY);
+
+ if (startup_id == NULL) {
+ startup_id = gsm_util_generate_startup_id ();
+ }
+ break;
+ case AUTOSTART_LAUNCH_ACTIVATE:
+ startup_id = g_strdup (dbus_name);
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ res = g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ if (res) {
+ priv->autorestart = g_desktop_app_info_get_boolean (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ } else {
+ priv->autorestart = FALSE;
+ }
+
+ g_free (priv->condition_string);
+ priv->condition_string = g_desktop_app_info_get_string (priv->app_info,
+ "AutostartCondition");
+ setup_condition_monitor (app);
+
+ g_object_set (app,
+ "phase", phase,
+ "startup-id", startup_id,
+ NULL);
+
+ g_free (startup_id);
+ g_free (dbus_name);
+}
+
+static void
+gsm_autostart_app_set_desktop_filename (GsmAutostartApp *app,
+ const char *desktop_filename)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+
+ if (g_strcmp0 (priv->desktop_filename, desktop_filename) == 0)
+ return;
+
+ if (priv->app_info != NULL) {
+ g_clear_object (&priv->app_info);
+ g_clear_pointer (&priv->desktop_filename, g_free);
+ g_clear_pointer (&priv->desktop_id, g_free);
+ }
+
+ if (desktop_filename != NULL) {
+ priv->desktop_filename = g_strdup (desktop_filename);
+ priv->desktop_id = g_path_get_basename (desktop_filename);
+ }
+
+ g_object_notify_by_pspec (G_OBJECT (app), props[PROP_DESKTOP_FILENAME]);
+}
+
+static void
+gsm_autostart_app_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (object);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+
+ switch ((GsmAutostartAppProperty) prop_id) {
+ case PROP_DESKTOP_FILENAME:
+ gsm_autostart_app_set_desktop_filename (self, g_value_get_string (value));
+ break;
+ case PROP_MASK_SYSTEMD:
+ if (priv->mask_systemd != g_value_get_boolean (value)) {
+ priv->mask_systemd = g_value_get_boolean (value);
+ g_object_notify_by_pspec (object, props[PROP_MASK_SYSTEMD]);
+ }
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_autostart_app_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (object);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+
+ switch ((GsmAutostartAppProperty) prop_id) {
+ case PROP_DESKTOP_FILENAME:
+ if (priv->app_info != NULL) {
+ g_value_set_string (value, g_desktop_app_info_get_filename (priv->app_info));
+ } else {
+ g_value_set_string (value, NULL);
+ }
+ break;
+ case PROP_MASK_SYSTEMD:
+ g_value_set_boolean (value, priv->mask_systemd);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_autostart_app_dispose (GObject *object)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (object));
+
+ g_clear_pointer (&priv->startup_id, g_free);
+
+ if (priv->session_provides) {
+ g_slist_free_full (priv->session_provides, g_free);
+ priv->session_provides = NULL;
+ }
+
+ g_clear_pointer (&priv->condition_string, g_free);
+ g_clear_object (&priv->condition_settings);
+ g_clear_object (&priv->app_info);
+ g_clear_pointer (&priv->desktop_filename, g_free);
+ g_clear_pointer (&priv->desktop_id, g_free);
+
+ if (priv->child_watch_id > 0) {
+ g_source_remove (priv->child_watch_id);
+ priv->child_watch_id = 0;
+ }
+
+ if (priv->condition_monitor) {
+ g_file_monitor_cancel (priv->condition_monitor);
+ }
+
+ G_OBJECT_CLASS (gsm_autostart_app_parent_class)->dispose (object);
+}
+
+static gboolean
+is_running (GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean is;
+
+ /* is running if pid is still valid or
+ * or a client is connected
+ */
+ /* FIXME: check client */
+ is = (priv->pid != -1);
+
+ return is;
+}
+
+static gboolean
+is_conditionally_disabled (GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean res;
+ gboolean disabled;
+ char *key;
+ guint kind;
+
+ /* Check AutostartCondition */
+ if (priv->condition_string == NULL) {
+ return FALSE;
+ }
+
+ key = NULL;
+ res = parse_condition_string (priv->condition_string, &kind, &key);
+ if (! res) {
+ g_free (key);
+ return TRUE;
+ }
+
+ if (key == NULL) {
+ return TRUE;
+ }
+
+ if (kind == GSM_CONDITION_IF_EXISTS) {
+ char *file_path;
+
+ file_path = resolve_conditional_file_path (key);
+ disabled = !g_file_test (file_path, G_FILE_TEST_EXISTS);
+ g_free (file_path);
+ } else if (kind == GSM_CONDITION_UNLESS_EXISTS) {
+ char *file_path;
+
+ file_path = resolve_conditional_file_path (key);
+ disabled = g_file_test (file_path, G_FILE_TEST_EXISTS);
+ g_free (file_path);
+ } else if (kind == GSM_CONDITION_GSETTINGS &&
+ priv->condition_settings != NULL) {
+ char **elems;
+ elems = g_strsplit (key, " ", 2);
+ disabled = !g_settings_get_boolean (priv->condition_settings, elems[1]);
+ g_strfreev (elems);
+ } else if (kind == GSM_CONDITION_IF_SESSION) {
+ GsmManager *manager;
+ char *session_name;
+
+ /* get the singleton */
+ manager = gsm_manager_get ();
+
+ g_object_get (manager, "session-name", &session_name, NULL);
+ disabled = strcmp (session_name, key) != 0;
+ g_free (session_name);
+ } else if (kind == GSM_CONDITION_UNLESS_SESSION) {
+ GsmManager *manager;
+ char *session_name;
+
+ /* get the singleton */
+ manager = gsm_manager_get ();
+
+ g_object_get (manager, "session-name", &session_name, NULL);
+ disabled = strcmp (session_name, key) == 0;
+ g_free (session_name);
+ } else {
+ disabled = TRUE;
+ }
+
+ /* Set initial condition */
+ priv->condition = !disabled;
+
+ g_free (key);
+
+ return disabled;
+}
+
+static void
+app_exited (GPid pid,
+ int status,
+ GsmAutostartApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+
+ g_debug ("GsmAutostartApp: (pid:%d) done (%s:%d)",
+ (int) pid,
+ WIFEXITED (status) ? "status"
+ : WIFSIGNALED (status) ? "signal"
+ : "unknown",
+ WIFEXITED (status) ? WEXITSTATUS (status)
+ : WIFSIGNALED (status) ? WTERMSIG (status)
+ : -1);
+
+ g_spawn_close_pid (priv->pid);
+ priv->pid = -1;
+ priv->child_watch_id = 0;
+
+ if (WIFEXITED (status)) {
+ gsm_app_exited (GSM_APP (app), WEXITSTATUS (status));
+ } else if (WIFSIGNALED (status)) {
+ gsm_app_died (GSM_APP (app), WTERMSIG (status));
+ }
+}
+
+static int
+_signal_pid (int pid,
+ int signal)
+{
+ int status;
+
+ /* perhaps block sigchld */
+ g_debug ("GsmAutostartApp: sending signal %d to process %d", signal, pid);
+ errno = 0;
+ status = kill (pid, signal);
+
+ if (status < 0) {
+ if (errno == ESRCH) {
+ g_warning ("Child process %d was already dead.",
+ (int)pid);
+ } else {
+ g_warning ("Couldn't kill child process %d: %s",
+ pid,
+ g_strerror (errno));
+ }
+ }
+
+ /* perhaps unblock sigchld */
+
+ return status;
+}
+
+static gboolean
+autostart_app_stop_spawn (GsmAutostartApp *app,
+ GError **error)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ int res;
+
+ if (priv->pid < 1) {
+ g_set_error (error,
+ GSM_APP_ERROR,
+ GSM_APP_ERROR_STOP,
+ "Not running");
+ return FALSE;
+ }
+
+ res = _signal_pid (priv->pid, SIGTERM);
+ if (res != 0) {
+ g_set_error (error,
+ GSM_APP_ERROR,
+ GSM_APP_ERROR_STOP,
+ "Unable to stop: %s",
+ g_strerror (errno));
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+autostart_app_stop_activate (GsmAutostartApp *app,
+ GError **error)
+{
+ return TRUE;
+}
+
+static gboolean
+gsm_autostart_app_stop (GsmApp *app,
+ GError **error)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+ gboolean ret;
+
+ g_return_val_if_fail (priv->app_info != NULL, FALSE);
+
+ switch (priv->launch_type) {
+ case AUTOSTART_LAUNCH_SPAWN:
+ ret = autostart_app_stop_spawn (self, error);
+ break;
+ case AUTOSTART_LAUNCH_ACTIVATE:
+ ret = autostart_app_stop_activate (self, error);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return ret;
+}
+
+static void
+app_launched (GAppLaunchContext *ctx,
+ GAppInfo *appinfo,
+ GVariant *platform_data,
+ gpointer data)
+{
+ GsmAutostartApp *app = data;
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ gint pid;
+ gchar *sn_id;
+
+ pid = 0;
+ sn_id = NULL;
+
+ g_variant_lookup (platform_data, "pid", "i", &pid);
+ g_variant_lookup (platform_data, "startup-notification-id", "s", &sn_id);
+ priv->pid = pid;
+ priv->startup_id = sn_id;
+
+ /* We are not interested in the result. */
+ gnome_start_systemd_scope (priv->desktop_id,
+ pid,
+ NULL,
+ NULL,
+ NULL, NULL, NULL);
+}
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+static void
+on_child_setup (GsmAutostartApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ int standard_output, standard_error;
+
+ /* The FALSE means programs aren't expected to prefix each
+ * line with <n> prefix to specify priority.
+ */
+ standard_output = sd_journal_stream_fd (priv->desktop_id,
+ LOG_INFO,
+ FALSE);
+ standard_error = sd_journal_stream_fd (priv->desktop_id,
+ LOG_WARNING,
+ FALSE);
+
+ if (standard_output >= 0) {
+ dup2 (standard_output, STDOUT_FILENO);
+ close (standard_output);
+ }
+
+ if (standard_error >= 0) {
+ dup2 (standard_error, STDERR_FILENO);
+ close (standard_error);
+ }
+}
+#endif
+
+static gboolean
+autostart_app_start_spawn (GsmAutostartApp *app,
+ GError **error)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ gboolean success;
+ GError *local_error;
+ const char *startup_id;
+ const char * const *variable_blacklist;
+ const char * const *child_environment;
+ int i;
+ GAppLaunchContext *ctx;
+ GSpawnChildSetupFunc child_setup_func = NULL;
+ gpointer child_setup_data = NULL;
+ guint handler;
+
+ startup_id = gsm_app_peek_startup_id (GSM_APP (app));
+ g_assert (startup_id != NULL);
+
+ g_debug ("GsmAutostartApp: starting %s: command=%s startup-id=%s", priv->desktop_id, g_app_info_get_commandline (G_APP_INFO (priv->app_info)), startup_id);
+
+ g_free (priv->startup_id);
+ local_error = NULL;
+ ctx = g_app_launch_context_new ();
+
+ variable_blacklist = gsm_util_get_variable_blacklist ();
+ for (i = 0; variable_blacklist[i] != NULL; i++)
+ g_app_launch_context_unsetenv (ctx, variable_blacklist[i]);
+
+ child_environment = gsm_util_listenv ();
+ for (i = 0; child_environment[i] != NULL; i++) {
+ char **environment_tuple;
+ const char *key;
+ const char *value;
+
+ environment_tuple = g_strsplit (child_environment[i], "=", 2);
+ key = environment_tuple[0];
+ value = environment_tuple[1];
+
+ if (value != NULL)
+ g_app_launch_context_setenv (ctx, key, value);
+
+ g_strfreev (environment_tuple);
+ }
+
+ if (startup_id != NULL) {
+ g_app_launch_context_setenv (ctx, "DESKTOP_AUTOSTART_ID", startup_id);
+ }
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+ if (sd_booted () > 0) {
+ child_setup_func = (GSpawnChildSetupFunc) on_child_setup;
+ child_setup_data = app;
+ }
+#endif
+
+ handler = g_signal_connect (ctx, "launched", G_CALLBACK (app_launched), app);
+ success = g_desktop_app_info_launch_uris_as_manager (priv->app_info,
+ NULL,
+ ctx,
+ G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
+ child_setup_func, child_setup_data,
+ NULL, NULL,
+ &local_error);
+ g_signal_handler_disconnect (ctx, handler);
+
+ if (success) {
+ if (priv->pid > 0) {
+ g_debug ("GsmAutostartApp: started pid:%d", priv->pid);
+ priv->child_watch_id = g_child_watch_add (priv->pid,
+ (GChildWatchFunc)app_exited,
+ app);
+ }
+ } else {
+ g_set_error (error,
+ GSM_APP_ERROR,
+ GSM_APP_ERROR_START,
+ "Unable to start application: %s", local_error->message);
+ g_error_free (local_error);
+ }
+
+ return success;
+}
+
+static void
+start_notify (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GError *error;
+ GsmAutostartApp *app = GSM_AUTOSTART_APP (user_data);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+
+ error = NULL;
+
+ g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
+
+ if (error != NULL) {
+ g_warning ("GsmAutostartApp: Error starting application: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_debug ("GsmAutostartApp: Started application %s", priv->desktop_id);
+ }
+}
+
+static gboolean
+autostart_app_start_activate (GsmAutostartApp *app,
+ GError **error)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ const char *name;
+ char *path;
+ char *arguments;
+ GDBusConnection *bus;
+ GError *local_error;
+
+ local_error = NULL;
+ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &local_error);
+ if (local_error != NULL) {
+ g_warning ("error getting session bus: %s", local_error->message);
+ g_propagate_error (error, local_error);
+ return FALSE;
+ }
+
+ name = gsm_app_peek_startup_id (GSM_APP (app));
+ g_assert (name != NULL);
+
+ path = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_DBUS_PATH_KEY);
+ if (path == NULL) {
+ /* just pick one? */
+ path = g_strdup ("/");
+ }
+
+ arguments = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_DBUS_ARGS_KEY);
+
+ g_dbus_connection_call (bus,
+ name,
+ path,
+ GSM_SESSION_CLIENT_DBUS_INTERFACE,
+ "Start",
+ g_variant_new ("(s)", arguments),
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL,
+ start_notify, app);
+ g_object_unref (bus);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_autostart_app_start (GsmApp *app,
+ GError **error)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+ gboolean ret;
+
+ g_return_val_if_fail (priv->app_info != NULL, FALSE);
+
+ switch (priv->launch_type) {
+ case AUTOSTART_LAUNCH_SPAWN:
+ ret = autostart_app_start_spawn (self, error);
+ break;
+ case AUTOSTART_LAUNCH_ACTIVATE:
+ ret = autostart_app_start_activate (self, error);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return ret;
+}
+
+static gboolean
+gsm_autostart_app_restart (GsmApp *app,
+ GError **error)
+{
+ GError *local_error;
+ gboolean res;
+
+ /* ignore stop errors - it is fine if it is already stopped */
+ local_error = NULL;
+ res = gsm_app_stop (app, &local_error);
+ if (! res) {
+ g_debug ("GsmAutostartApp: Couldn't stop app: %s", local_error->message);
+ g_error_free (local_error);
+ }
+
+ res = gsm_app_start (app, &local_error);
+ if (! res) {
+ g_propagate_error (error, local_error);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_autostart_app_provides (GsmApp *app,
+ const char *service)
+{
+ gchar *provides_str;
+ char **provides;
+ gsize i;
+ GSList *l;
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+
+ if (priv->app_info == NULL) {
+ return FALSE;
+ }
+
+ for (l = priv->session_provides; l != NULL; l = l->next) {
+ if (!strcmp (l->data, service))
+ return TRUE;
+ }
+
+ provides_str = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_PROVIDES_KEY);
+ if (!provides_str) {
+ return FALSE;
+ }
+ provides = g_strsplit (provides_str, ";", -1);
+ g_free (provides_str);
+
+ for (i = 0; provides[i]; i++) {
+ if (!strcmp (provides[i], service)) {
+ g_strfreev (provides);
+ return TRUE;
+ }
+ }
+
+ g_strfreev (provides);
+
+ return FALSE;
+}
+
+static char **
+gsm_autostart_app_get_provides (GsmApp *app)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+ gchar *provides_str;
+ char **provides;
+ gsize provides_len;
+ char **result;
+ gsize result_len;
+ int i;
+ GSList *l;
+
+ g_return_val_if_fail (GSM_IS_APP (app), NULL);
+
+ if (priv->app_info == NULL) {
+ return NULL;
+ }
+
+ provides_str = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_PROVIDES_KEY);
+
+ if (provides_str == NULL) {
+ return NULL;
+ }
+
+ provides = g_strsplit (provides_str, ";", -1);
+ provides_len = g_strv_length (provides);
+ g_free (provides_str);
+
+ if (!priv->session_provides) {
+ return provides;
+ }
+
+ result_len = provides_len + g_slist_length (priv->session_provides);
+ result = g_new (char *, result_len + 1); /* including last NULL */
+
+ for (i = 0; provides[i] != NULL; i++)
+ result[i] = provides[i];
+ g_free (provides);
+
+ for (l = priv->session_provides; l != NULL; l = l->next, i++)
+ result[i] = g_strdup (l->data);
+
+ result[i] = NULL;
+
+ g_assert (i == result_len);
+
+ return result;
+}
+
+void
+gsm_autostart_app_add_provides (GsmAutostartApp *aapp,
+ const char *provides)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (aapp);
+
+ g_return_if_fail (GSM_IS_AUTOSTART_APP (aapp));
+
+ priv->session_provides = g_slist_prepend (priv->session_provides,
+ g_strdup (provides));
+}
+
+static gboolean
+gsm_autostart_app_has_autostart_condition (GsmApp *app,
+ const char *condition)
+{
+ GsmAutostartApp *self = GSM_AUTOSTART_APP (app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (self);
+
+ g_return_val_if_fail (GSM_IS_APP (app), FALSE);
+ g_return_val_if_fail (condition != NULL, FALSE);
+
+ if (priv->condition_string == NULL) {
+ return FALSE;
+ }
+
+ if (strcmp (priv->condition_string, condition) == 0) {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+gsm_autostart_app_get_autorestart (GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+ gboolean res;
+ gboolean autorestart;
+
+ if (priv->app_info == NULL) {
+ return FALSE;
+ }
+
+ autorestart = FALSE;
+
+ res = g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ if (res) {
+ autorestart = g_desktop_app_info_get_boolean (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ }
+
+ return autorestart;
+}
+
+static const char *
+gsm_autostart_app_get_app_id (GsmApp *app)
+{
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP (app));
+
+ if (priv->app_info == NULL) {
+ return NULL;
+ }
+
+ return g_app_info_get_id (G_APP_INFO (priv->app_info));
+}
+
+static gboolean
+gsm_autostart_app_initable_init (GInitable *initable,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GsmAutostartApp *app = GSM_AUTOSTART_APP (initable);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+
+ g_assert (priv->desktop_filename != NULL);
+ priv->app_info = g_desktop_app_info_new_from_filename (priv->desktop_filename);
+ if (priv->app_info == NULL) {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Could not parse desktop file %s or it references a not found TryExec binary", priv->desktop_id);
+ return FALSE;
+ }
+
+ load_desktop_file (app);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_autostart_app_save_to_keyfile (GsmApp *base_app,
+ GKeyFile *keyfile,
+ GError **error)
+{
+ GsmAutostartApp *app = GSM_AUTOSTART_APP (base_app);
+ GsmAutostartAppPrivate *priv = gsm_autostart_app_get_instance_private (app);
+ char **provides = NULL;
+ char *dbus_name;
+ char *phase;
+ gboolean res;
+
+ provides = gsm_app_get_provides (base_app);
+ if (provides != NULL) {
+ g_key_file_set_string_list (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_PROVIDES_KEY,
+ (const char * const *)
+ provides,
+ g_strv_length (provides));
+ g_strfreev (provides);
+ }
+
+ phase = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_PHASE_KEY);
+ if (phase != NULL) {
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_PHASE_KEY,
+ phase);
+ g_free (phase);
+ }
+
+ dbus_name = g_desktop_app_info_get_string (priv->app_info,
+ GSM_AUTOSTART_APP_DBUS_NAME_KEY);
+ if (dbus_name != NULL) {
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_DBUS_NAME_KEY,
+ dbus_name);
+ g_free (dbus_name);
+ }
+
+ res = g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ if (res) {
+ g_key_file_set_boolean (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY,
+ g_desktop_app_info_get_boolean (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY));
+ }
+
+ res = g_desktop_app_info_has_key (priv->app_info,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY);
+ if (res) {
+ char *autostart_condition;
+
+ autostart_condition = g_desktop_app_info_get_string (priv->app_info, "AutostartCondition");
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ "AutostartCondition",
+ autostart_condition);
+ g_free (autostart_condition);
+ }
+
+ return TRUE;
+}
+
+static void
+gsm_autostart_app_initable_iface_init (GInitableIface *iface)
+{
+ iface->init = gsm_autostart_app_initable_init;
+}
+
+static void
+gsm_autostart_app_class_init (GsmAutostartAppClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GsmAppClass *app_class = GSM_APP_CLASS (klass);
+
+ object_class->set_property = gsm_autostart_app_set_property;
+ object_class->get_property = gsm_autostart_app_get_property;
+ object_class->dispose = gsm_autostart_app_dispose;
+
+ app_class->impl_is_disabled = is_disabled;
+ app_class->impl_is_conditionally_disabled = is_conditionally_disabled;
+ app_class->impl_is_running = is_running;
+ app_class->impl_start = gsm_autostart_app_start;
+ app_class->impl_restart = gsm_autostart_app_restart;
+ app_class->impl_stop = gsm_autostart_app_stop;
+ app_class->impl_provides = gsm_autostart_app_provides;
+ app_class->impl_get_provides = gsm_autostart_app_get_provides;
+ app_class->impl_has_autostart_condition = gsm_autostart_app_has_autostart_condition;
+ app_class->impl_get_app_id = gsm_autostart_app_get_app_id;
+ app_class->impl_get_autorestart = gsm_autostart_app_get_autorestart;
+ app_class->impl_save_to_keyfile = gsm_autostart_app_save_to_keyfile;
+
+ props[PROP_DESKTOP_FILENAME] =
+ g_param_spec_string ("desktop-filename",
+ "Desktop filename",
+ "Freedesktop .desktop file",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+ props[PROP_MASK_SYSTEMD] =
+ g_param_spec_boolean ("mask-systemd",
+ "Mask if systemd started",
+ "Mask if GNOME systemd flag is set in desktop file",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+ g_object_class_install_properties (object_class, G_N_ELEMENTS (props), props);
+
+ signals[CONDITION_CHANGED] =
+ g_signal_new ("condition-changed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmAutostartAppClass, condition_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_BOOLEAN);
+}
+
+GsmApp *
+gsm_autostart_app_new (const char *desktop_file,
+ gboolean mask_systemd,
+ GError **error)
+{
+ return (GsmApp*) g_initable_new (GSM_TYPE_AUTOSTART_APP, NULL, error,
+ "desktop-filename", desktop_file,
+ "mask-systemd", mask_systemd,
+ NULL);
+}
diff --git a/gnome-session/gsm-autostart-app.h b/gnome-session/gsm-autostart-app.h
new file mode 100644
index 0000000..a7a5c28
--- /dev/null
+++ b/gnome-session/gsm-autostart-app.h
@@ -0,0 +1,61 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_AUTOSTART_APP_H__
+#define __GSM_AUTOSTART_APP_H__
+
+#include "gsm-app.h"
+
+#include <X11/SM/SMlib.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_AUTOSTART_APP (gsm_autostart_app_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GsmAutostartApp, gsm_autostart_app, GSM, AUTOSTART_APP, GsmApp)
+
+struct _GsmAutostartAppClass
+{
+ GsmAppClass parent_class;
+
+ /* signals */
+ void (*condition_changed) (GsmApp *app,
+ gboolean condition);
+};
+
+GsmApp *gsm_autostart_app_new (const char *desktop_file,
+ gboolean mask_systemd,
+ GError **error);
+
+void gsm_autostart_app_add_provides (GsmAutostartApp *aapp,
+ const char *provides);
+
+#define GSM_AUTOSTART_APP_SYSTEMD_KEY "X-GNOME-HiddenUnderSystemd"
+#define GSM_AUTOSTART_APP_ENABLED_KEY "X-GNOME-Autostart-enabled"
+#define GSM_AUTOSTART_APP_PHASE_KEY "X-GNOME-Autostart-Phase"
+#define GSM_AUTOSTART_APP_PROVIDES_KEY "X-GNOME-Provides"
+#define GSM_AUTOSTART_APP_STARTUP_ID_KEY "X-GNOME-Autostart-startup-id"
+#define GSM_AUTOSTART_APP_AUTORESTART_KEY "X-GNOME-AutoRestart"
+#define GSM_AUTOSTART_APP_DBUS_NAME_KEY "X-GNOME-DBus-Name"
+#define GSM_AUTOSTART_APP_DBUS_PATH_KEY "X-GNOME-DBus-Path"
+#define GSM_AUTOSTART_APP_DBUS_ARGS_KEY "X-GNOME-DBus-Start-Arguments"
+#define GSM_AUTOSTART_APP_DISCARD_KEY "X-GNOME-Autostart-discard-exec"
+
+G_END_DECLS
+
+#endif /* __GSM_AUTOSTART_APP_H__ */
diff --git a/gnome-session/gsm-client.c b/gnome-session/gsm-client.c
new file mode 100644
index 0000000..25f0bf7
--- /dev/null
+++ b/gnome-session/gsm-client.c
@@ -0,0 +1,583 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include "config.h"
+
+#include "gsm-client.h"
+#include "org.gnome.SessionManager.Client.h"
+
+static guint32 client_serial = 1;
+
+typedef struct
+{
+ char *id;
+ char *startup_id;
+ char *app_id;
+ guint status;
+ GsmExportedClient *skeleton;
+ GDBusConnection *connection;
+} GsmClientPrivate;
+
+typedef enum {
+ PROP_STARTUP_ID = 1,
+ PROP_APP_ID,
+ PROP_STATUS,
+} GsmClientProperty;
+
+static GParamSpec *props[PROP_STATUS + 1] = { NULL, };
+
+enum {
+ DISCONNECTED,
+ END_SESSION_RESPONSE,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GsmClient, gsm_client, G_TYPE_OBJECT)
+
+#define GSM_CLIENT_DBUS_IFACE "org.gnome.SessionManager.Client"
+
+static const GDBusErrorEntry gsm_client_error_entries[] = {
+ { GSM_CLIENT_ERROR_GENERAL, GSM_CLIENT_DBUS_IFACE ".GeneralError" },
+ { GSM_CLIENT_ERROR_NOT_REGISTERED, GSM_CLIENT_DBUS_IFACE ".NotRegistered" }
+};
+
+GQuark
+gsm_client_error_quark (void)
+{
+ static volatile gsize quark_volatile = 0;
+
+ g_dbus_error_register_error_domain ("gsm_client_error",
+ &quark_volatile,
+ gsm_client_error_entries,
+ G_N_ELEMENTS (gsm_client_error_entries));
+ return quark_volatile;
+}
+
+static guint32
+get_next_client_serial (void)
+{
+ guint32 serial;
+
+ serial = client_serial++;
+
+ if ((gint32)client_serial < 0) {
+ client_serial = 1;
+ }
+
+ return serial;
+}
+
+static gboolean
+gsm_client_get_startup_id (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ gsm_exported_client_complete_get_startup_id (skeleton, invocation, priv->startup_id);
+ return TRUE;
+}
+
+static gboolean
+gsm_client_get_app_id (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ gsm_exported_client_complete_get_app_id (skeleton, invocation, priv->app_id);
+ return TRUE;
+}
+
+static gboolean
+gsm_client_get_restart_style_hint (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ guint hint;
+
+ hint = GSM_CLIENT_GET_CLASS (client)->impl_get_restart_style_hint (client);
+ gsm_exported_client_complete_get_restart_style_hint (skeleton, invocation, hint);
+ return TRUE;
+}
+
+static gboolean
+gsm_client_get_status (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ gsm_exported_client_complete_get_status (skeleton, invocation, priv->status);
+ return TRUE;
+}
+
+static gboolean
+gsm_client_get_unix_process_id (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ guint pid;
+
+ pid = GSM_CLIENT_GET_CLASS (client)->impl_get_unix_process_id (client);
+ gsm_exported_client_complete_get_unix_process_id (skeleton, invocation, pid);
+ return TRUE;
+}
+
+static gboolean
+gsm_client_stop_dbus (GsmExportedClient *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmClient *client)
+{
+ GError *error = NULL;
+ gsm_client_stop (client, &error);
+
+ if (error != NULL) {
+ g_dbus_method_invocation_take_error (invocation, error);
+ } else {
+ gsm_exported_client_complete_stop (skeleton, invocation);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+register_client (GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+ GError *error = NULL;
+ GsmExportedClient *skeleton;
+
+ priv->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (priv->connection == NULL) {
+ g_critical ("error getting session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ skeleton = gsm_exported_client_skeleton_new ();
+ priv->skeleton = skeleton;
+ g_debug ("exporting client to object path: %s", priv->id);
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ priv->connection,
+ priv->id, &error);
+
+ if (error != NULL) {
+ g_critical ("error exporting client on session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_signal_connect (skeleton, "handle-get-app-id",
+ G_CALLBACK (gsm_client_get_app_id), client);
+ g_signal_connect (skeleton, "handle-get-restart-style-hint",
+ G_CALLBACK (gsm_client_get_restart_style_hint), client);
+ g_signal_connect (skeleton, "handle-get-startup-id",
+ G_CALLBACK (gsm_client_get_startup_id), client);
+ g_signal_connect (skeleton, "handle-get-status",
+ G_CALLBACK (gsm_client_get_status), client);
+ g_signal_connect (skeleton, "handle-get-unix-process-id",
+ G_CALLBACK (gsm_client_get_unix_process_id), client);
+ g_signal_connect (skeleton, "handle-stop",
+ G_CALLBACK (gsm_client_stop_dbus), client);
+
+ return TRUE;
+}
+
+static GObject *
+gsm_client_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmClientPrivate *priv;
+ GsmClient *client;
+ gboolean res;
+
+ client = GSM_CLIENT (G_OBJECT_CLASS (gsm_client_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+ priv = gsm_client_get_instance_private (client);
+
+ g_free (priv->id);
+ priv->id = g_strdup_printf ("/org/gnome/SessionManager/Client%u", get_next_client_serial ());
+
+ res = register_client (client);
+ if (! res) {
+ g_warning ("Unable to register client with session bus");
+ }
+
+ return G_OBJECT (client);
+}
+
+static void
+gsm_client_init (GsmClient *client)
+{
+}
+
+static void
+gsm_client_finalize (GObject *object)
+{
+ GsmClient *client;
+ GsmClientPrivate *priv;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GSM_IS_CLIENT (object));
+
+ client = GSM_CLIENT (object);
+ priv = gsm_client_get_instance_private (client);
+
+ g_return_if_fail (priv != NULL);
+
+ g_free (priv->id);
+ g_free (priv->startup_id);
+ g_free (priv->app_id);
+
+ if (priv->skeleton != NULL) {
+ g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (priv->skeleton),
+ priv->connection);
+ g_clear_object (&priv->skeleton);
+ }
+
+ g_clear_object (&priv->connection);
+
+ G_OBJECT_CLASS (gsm_client_parent_class)->finalize (object);
+}
+
+void
+gsm_client_set_status (GsmClient *client,
+ guint status)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_if_fail (GSM_IS_CLIENT (client));
+ if (priv->status != status) {
+ priv->status = status;
+ g_object_notify_by_pspec (G_OBJECT (client), props[PROP_STATUS]);
+ }
+}
+
+static void
+gsm_client_set_startup_id (GsmClient *client,
+ const char *startup_id)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_if_fail (GSM_IS_CLIENT (client));
+
+ g_free (priv->startup_id);
+
+ if (startup_id != NULL) {
+ priv->startup_id = g_strdup (startup_id);
+ } else {
+ priv->startup_id = g_strdup ("");
+ }
+ g_object_notify_by_pspec (G_OBJECT (client), props[PROP_STARTUP_ID]);
+}
+
+void
+gsm_client_set_app_id (GsmClient *client,
+ const char *app_id)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_if_fail (GSM_IS_CLIENT (client));
+
+ g_free (priv->app_id);
+
+ if (app_id != NULL) {
+ priv->app_id = g_strdup (app_id);
+ } else {
+ priv->app_id = g_strdup ("");
+ }
+ g_object_notify_by_pspec (G_OBJECT (client), props[PROP_APP_ID]);
+}
+
+static void
+gsm_client_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmClient *self;
+
+ self = GSM_CLIENT (object);
+
+ switch ((GsmClientProperty) prop_id) {
+ case PROP_STARTUP_ID:
+ gsm_client_set_startup_id (self, g_value_get_string (value));
+ break;
+ case PROP_APP_ID:
+ gsm_client_set_app_id (self, g_value_get_string (value));
+ break;
+ case PROP_STATUS:
+ gsm_client_set_status (self, g_value_get_uint (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_client_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmClient *self = GSM_CLIENT (object);
+ GsmClientPrivate *priv = gsm_client_get_instance_private (self);
+
+ switch ((GsmClientProperty) prop_id) {
+ case PROP_STARTUP_ID:
+ g_value_set_string (value, priv->startup_id);
+ break;
+ case PROP_APP_ID:
+ g_value_set_string (value, priv->app_id);
+ break;
+ case PROP_STATUS:
+ g_value_set_uint (value, priv->status);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static gboolean
+default_stop (GsmClient *client,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
+
+ g_warning ("Stop not implemented");
+
+ return TRUE;
+}
+
+static void
+gsm_client_dispose (GObject *object)
+{
+ GsmClient *client;
+ GsmClientPrivate *priv;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GSM_IS_CLIENT (object));
+
+ client = GSM_CLIENT (object);
+ priv = gsm_client_get_instance_private (client);
+
+ g_debug ("GsmClient: disposing %s", priv->id);
+
+ G_OBJECT_CLASS (gsm_client_parent_class)->dispose (object);
+}
+
+static void
+gsm_client_class_init (GsmClientClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->get_property = gsm_client_get_property;
+ object_class->set_property = gsm_client_set_property;
+ object_class->constructor = gsm_client_constructor;
+ object_class->finalize = gsm_client_finalize;
+ object_class->dispose = gsm_client_dispose;
+
+ klass->impl_stop = default_stop;
+
+ signals[DISCONNECTED] =
+ g_signal_new ("disconnected",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmClientClass, disconnected),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 0);
+ signals[END_SESSION_RESPONSE] =
+ g_signal_new ("end-session-response",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmClientClass, end_session_response),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 4, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_STRING);
+
+ props[PROP_STARTUP_ID] =
+ g_param_spec_string ("startup-id",
+ "startup-id",
+ "startup-id",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ props[PROP_APP_ID] =
+ g_param_spec_string ("app-id",
+ "app-id",
+ "app-id",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ props[PROP_STATUS] =
+ g_param_spec_uint ("status",
+ "status",
+ "status",
+ 0,
+ G_MAXINT,
+ GSM_CLIENT_UNREGISTERED,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+ g_object_class_install_properties (object_class, G_N_ELEMENTS (props), props);
+}
+
+const char *
+gsm_client_peek_id (GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
+
+ return priv->id;
+}
+
+/**
+ * gsm_client_peek_app_id:
+ * @client: a #GsmClient.
+ *
+ * Note that the application ID might not be known; this happens when for XSMP
+ * clients that we did not start ourselves, for instance.
+ *
+ * Returns: the application ID of the client, or %NULL if no such ID is
+ * known. The string is owned by @client.
+ **/
+const char *
+gsm_client_peek_app_id (GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
+
+ return priv->app_id;
+}
+
+const char *
+gsm_client_peek_startup_id (GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
+
+ return priv->startup_id;
+}
+
+guint
+gsm_client_peek_status (GsmClient *client)
+{
+ GsmClientPrivate *priv = gsm_client_get_instance_private (client);
+
+ g_return_val_if_fail (GSM_IS_CLIENT (client), GSM_CLIENT_UNREGISTERED);
+
+ return priv->status;
+}
+
+guint
+gsm_client_peek_restart_style_hint (GsmClient *client)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), GSM_CLIENT_RESTART_NEVER);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_get_restart_style_hint (client);
+}
+
+/**
+ * gsm_client_get_app_name:
+ * @client: a #GsmClient.
+ *
+ * Returns: a copy of the application name of the client, or %NULL if no such
+ * name is known.
+ **/
+char *
+gsm_client_get_app_name (GsmClient *client)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_get_app_name (client);
+}
+
+gboolean
+gsm_client_cancel_end_session (GsmClient *client,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_cancel_end_session (client, error);
+}
+
+
+gboolean
+gsm_client_query_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_query_end_session (client, flags, error);
+}
+
+gboolean
+gsm_client_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_end_session (client, flags, error);
+}
+
+gboolean
+gsm_client_stop (GsmClient *client,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_stop (client, error);
+}
+
+void
+gsm_client_disconnected (GsmClient *client)
+{
+ g_signal_emit (client, signals[DISCONNECTED], 0);
+}
+
+GKeyFile *
+gsm_client_save (GsmClient *client,
+ GsmApp *app,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
+
+ return GSM_CLIENT_GET_CLASS (client)->impl_save (client, app, error);
+}
+
+void
+gsm_client_end_session_response (GsmClient *client,
+ gboolean is_ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason)
+{
+ g_signal_emit (client, signals[END_SESSION_RESPONSE], 0,
+ is_ok, do_last, cancel, reason);
+}
diff --git a/gnome-session/gsm-client.h b/gnome-session/gsm-client.h
new file mode 100644
index 0000000..d3feba9
--- /dev/null
+++ b/gnome-session/gsm-client.h
@@ -0,0 +1,140 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_CLIENT_H__
+#define __GSM_CLIENT_H__
+
+#include <glib.h>
+#include <glib-object.h>
+#include <sys/types.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_CLIENT (gsm_client_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GsmClient, gsm_client, GSM, CLIENT, GObject)
+
+typedef struct _GsmApp GsmApp;
+typedef struct _GsmClient GsmClient;
+typedef struct _GsmClientClass GsmClientClass;
+
+typedef enum {
+ GSM_CLIENT_UNREGISTERED = 0,
+ GSM_CLIENT_REGISTERED,
+ GSM_CLIENT_FINISHED,
+ GSM_CLIENT_FAILED
+} GsmClientStatus;
+
+typedef enum {
+ GSM_CLIENT_RESTART_NEVER = 0,
+ GSM_CLIENT_RESTART_IF_RUNNING,
+ GSM_CLIENT_RESTART_ANYWAY,
+ GSM_CLIENT_RESTART_IMMEDIATELY
+} GsmClientRestartStyle;
+
+typedef enum {
+ GSM_CLIENT_END_SESSION_FLAG_FORCEFUL = 1 << 0,
+ GSM_CLIENT_END_SESSION_FLAG_SAVE = 1 << 1,
+ GSM_CLIENT_END_SESSION_FLAG_LAST = 1 << 2
+} GsmClientEndSessionFlag;
+
+struct _GsmClientClass
+{
+ GObjectClass parent_class;
+
+ /* signals */
+ void (*disconnected) (GsmClient *client);
+ void (*end_session_response) (GsmClient *client,
+ gboolean ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason);
+
+ /* virtual methods */
+ char * (*impl_get_app_name) (GsmClient *client);
+ GsmClientRestartStyle (*impl_get_restart_style_hint) (GsmClient *client);
+ guint (*impl_get_unix_process_id) (GsmClient *client);
+ gboolean (*impl_query_end_session) (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error);
+ gboolean (*impl_end_session) (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error);
+ gboolean (*impl_cancel_end_session) (GsmClient *client,
+ GError **error);
+ gboolean (*impl_stop) (GsmClient *client,
+ GError **error);
+ GKeyFile * (*impl_save) (GsmClient *client,
+ GsmApp *app,
+ GError **error);
+};
+
+typedef enum
+{
+ GSM_CLIENT_ERROR_GENERAL = 0,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ GSM_CLIENT_NUM_ERRORS
+} GsmClientError;
+
+#define GSM_CLIENT_ERROR gsm_client_error_quark ()
+GQuark gsm_client_error_quark (void);
+
+const char *gsm_client_peek_id (GsmClient *client);
+
+
+const char * gsm_client_peek_startup_id (GsmClient *client);
+const char * gsm_client_peek_app_id (GsmClient *client);
+guint gsm_client_peek_restart_style_hint (GsmClient *client);
+guint gsm_client_peek_status (GsmClient *client);
+
+
+char *gsm_client_get_app_name (GsmClient *client);
+void gsm_client_set_app_id (GsmClient *client,
+ const char *app_id);
+void gsm_client_set_status (GsmClient *client,
+ guint status);
+
+gboolean gsm_client_end_session (GsmClient *client,
+ guint flags,
+ GError **error);
+gboolean gsm_client_query_end_session (GsmClient *client,
+ guint flags,
+ GError **error);
+gboolean gsm_client_cancel_end_session (GsmClient *client,
+ GError **error);
+
+void gsm_client_disconnected (GsmClient *client);
+
+GKeyFile *gsm_client_save (GsmClient *client,
+ GsmApp *app,
+ GError **error);
+
+gboolean gsm_client_stop (GsmClient *client,
+ GError **error);
+
+/* private */
+
+void gsm_client_end_session_response (GsmClient *client,
+ gboolean is_ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason);
+
+G_END_DECLS
+
+#endif /* __GSM_CLIENT_H__ */
diff --git a/gnome-session/gsm-consolekit.c b/gnome-session/gsm-consolekit.c
new file mode 100644
index 0000000..2598e80
--- /dev/null
+++ b/gnome-session/gsm-consolekit.c
@@ -0,0 +1,972 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <pwd.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+#include <gio/gunixfdlist.h>
+
+#include "gsm-system.h"
+#include "gsm-consolekit.h"
+
+#define CK_NAME "org.freedesktop.ConsoleKit"
+
+#define CK_MANAGER_PATH "/org/freedesktop/ConsoleKit/Manager"
+#define CK_MANAGER_INTERFACE CK_NAME ".Manager"
+#define CK_SEAT_INTERFACE CK_NAME ".Seat"
+#define CK_SESSION_INTERFACE CK_NAME ".Session"
+
+
+struct _GsmConsolekitPrivate
+{
+ GDBusProxy *ck_proxy;
+ GDBusProxy *ck_session_proxy;
+
+ char *session_id;
+ gchar *session_path;
+
+ const gchar *inhibit_locks;
+ gint inhibit_fd;
+
+ gboolean is_active;
+
+ gint delay_inhibit_fd;
+ gboolean prepare_for_shutdown_expected;
+};
+
+enum {
+ PROP_0,
+ PROP_ACTIVE
+};
+
+static void gsm_consolekit_system_init (GsmSystemInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GsmConsolekit, gsm_consolekit, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GSM_TYPE_SYSTEM,
+ gsm_consolekit_system_init))
+
+static void
+drop_system_inhibitor (GsmConsolekit *manager)
+{
+ if (manager->priv->inhibit_fd != -1) {
+ g_debug ("GsmConsolekit: Dropping system inhibitor fd %d", manager->priv->inhibit_fd);
+ close (manager->priv->inhibit_fd);
+ manager->priv->inhibit_fd = -1;
+ }
+}
+
+static void
+drop_delay_inhibitor (GsmConsolekit *manager)
+{
+ if (manager->priv->delay_inhibit_fd != -1) {
+ g_debug ("GsmConsolekit: Dropping delay inhibitor");
+ close (manager->priv->delay_inhibit_fd);
+ manager->priv->delay_inhibit_fd = -1;
+ }
+}
+
+static void
+gsm_consolekit_finalize (GObject *object)
+{
+ GsmConsolekit *consolekit = GSM_CONSOLEKIT (object);
+
+ g_clear_object (&consolekit->priv->ck_proxy);
+ g_clear_object (&consolekit->priv->ck_session_proxy);
+ free (consolekit->priv->session_id);
+ g_free (consolekit->priv->session_path);
+
+ drop_system_inhibitor (consolekit);
+ drop_delay_inhibitor (consolekit);
+
+ G_OBJECT_CLASS (gsm_consolekit_parent_class)->finalize (object);
+}
+
+static void
+gsm_consolekit_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmConsolekit *self = GSM_CONSOLEKIT (object);
+
+ switch (prop_id) {
+ case PROP_ACTIVE:
+ self->priv->is_active = g_value_get_boolean (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+}
+
+static void
+gsm_consolekit_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmConsolekit *self = GSM_CONSOLEKIT (object);
+
+ switch (prop_id) {
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, self->priv->is_active);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_consolekit_class_init (GsmConsolekitClass *manager_class)
+{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (manager_class);
+
+ object_class->get_property = gsm_consolekit_get_property;
+ object_class->set_property = gsm_consolekit_set_property;
+ object_class->finalize = gsm_consolekit_finalize;
+
+ g_object_class_override_property (object_class, PROP_ACTIVE, "active");
+
+ g_type_class_add_private (manager_class, sizeof (GsmConsolekitPrivate));
+}
+
+static void ck_session_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data);
+
+static void ck_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data);
+
+static void
+ck_pid_get_session (GsmConsolekit *manager,
+ pid_t pid,
+ gchar **session_id)
+{
+ GVariant *res;
+
+ *session_id = NULL;
+
+ if (pid < 0) {
+ g_warning ("Calling GetSessionForUnixProcess failed."
+ "Invalid pid.");
+ return;
+ }
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_proxy,
+ "GetSessionForUnixProcess",
+ g_variant_new ("(u)", pid),
+ 0,
+ -1,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling GetSessionForUnixProcess failed."
+ "Check that ConsoleKit is properly installed.");
+ return;
+ }
+
+ g_variant_get (res, "(o)", session_id);
+ g_variant_unref (res);
+}
+
+static void
+gsm_consolekit_init (GsmConsolekit *manager)
+{
+ GError *error = NULL;
+ GDBusConnection *bus;
+ GVariant *res;
+
+ manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
+ GSM_TYPE_CONSOLEKIT,
+ GsmConsolekitPrivate);
+
+ manager->priv->inhibit_fd = -1;
+ manager->priv->delay_inhibit_fd = -1;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
+ if (bus == NULL)
+ g_error ("Failed to connect to system bus: %s",
+ error->message);
+ manager->priv->ck_proxy =
+ g_dbus_proxy_new_sync (bus,
+ 0,
+ NULL,
+ CK_NAME,
+ CK_MANAGER_PATH,
+ CK_MANAGER_INTERFACE,
+ NULL,
+ &error);
+ if (manager->priv->ck_proxy == NULL) {
+ g_warning ("Failed to connect to consolekit: %s",
+ error->message);
+ g_clear_error (&error);
+ }
+
+ g_signal_connect (manager->priv->ck_proxy, "g-signal",
+ G_CALLBACK (ck_proxy_signal_cb), manager);
+
+ ck_pid_get_session (manager, getpid (), &manager->priv->session_id);
+
+ if (manager->priv->session_id == NULL) {
+ g_warning ("Could not get session id for session. Check that ConsoleKit is "
+ "properly installed.");
+ return;
+ }
+
+ /* in ConsoleKit, the session id is the session path */
+ manager->priv->session_path = g_strdup (manager->priv->session_id);
+
+ manager->priv->ck_session_proxy =
+ g_dbus_proxy_new_sync (bus,
+ 0,
+ NULL,
+ CK_NAME,
+ manager->priv->session_path,
+ CK_SESSION_INTERFACE,
+ NULL,
+ &error);
+ if (manager->priv->ck_proxy == NULL) {
+ g_warning ("Failed to connect to consolekit session: %s",
+ error->message);
+ g_clear_error (&error);
+ }
+
+ g_signal_connect (manager->priv->ck_session_proxy, "g-signal",
+ G_CALLBACK (ck_session_proxy_signal_cb), manager);
+
+ g_object_unref (bus);
+}
+
+static void
+emit_restart_complete (GsmConsolekit *manager,
+ GError *error)
+{
+ GError *call_error;
+
+ call_error = NULL;
+
+ if (error != NULL) {
+ call_error = g_error_new_literal (GSM_SYSTEM_ERROR,
+ GSM_SYSTEM_ERROR_RESTARTING,
+ error->message);
+ }
+
+ g_signal_emit_by_name (G_OBJECT (manager),
+ "request_completed", call_error);
+
+ if (call_error != NULL) {
+ g_error_free (call_error);
+ }
+}
+
+static void
+emit_stop_complete (GsmConsolekit *manager,
+ GError *error)
+{
+ GError *call_error;
+
+ call_error = NULL;
+
+ if (error != NULL) {
+ call_error = g_error_new_literal (GSM_SYSTEM_ERROR,
+ GSM_SYSTEM_ERROR_STOPPING,
+ error->message);
+ }
+
+ g_signal_emit_by_name (G_OBJECT (manager),
+ "request_completed", call_error);
+
+ if (call_error != NULL) {
+ g_error_free (call_error);
+ }
+}
+
+static void
+restart_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmConsolekit *manager = user_data;
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to restart system: %s", error->message);
+ emit_restart_complete (manager, error);
+ g_error_free (error);
+ } else {
+ emit_restart_complete (manager, NULL);
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_consolekit_attempt_restart (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+
+ /* Use Restart instead of Reboot because it will work on
+ * both CK and CK2 */
+ g_dbus_proxy_call (manager->priv->ck_proxy,
+ "Restart",
+ g_variant_new ("()"),
+ 0,
+ G_MAXINT,
+ NULL,
+ restart_done,
+ manager);
+}
+
+static void
+stop_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmConsolekit *manager = user_data;
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to stop system: %s", error->message);
+ emit_stop_complete (manager, error);
+ g_error_free (error);
+ } else {
+ emit_stop_complete (manager, NULL);
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_consolekit_attempt_stop (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+
+ /* Use Stop insetad of PowerOff because it will work with
+ * Ck and CK2. */
+ g_dbus_proxy_call (manager->priv->ck_proxy,
+ "Stop",
+ g_variant_new ("()"),
+ 0,
+ G_MAXINT,
+ NULL,
+ stop_done,
+ manager);
+}
+
+static void
+gsm_consolekit_set_session_idle (GsmSystem *system,
+ gboolean is_idle)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+
+ g_debug ("Updating consolekit idle status: %d", is_idle);
+ g_dbus_proxy_call_sync (manager->priv->ck_session_proxy,
+ "SetIdleHint",
+ g_variant_new ("(b)", is_idle),
+ 0,
+ G_MAXINT,
+ NULL, NULL);
+}
+
+static void
+ck_session_get_seat (GsmConsolekit *manager,
+ gchar **seat)
+{
+ GVariant *res;
+
+ *seat = NULL;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_session_proxy,
+ "GetSeatId",
+ g_variant_new ("()"),
+ 0,
+ -1,
+ NULL, NULL);
+ if (!res) {
+ g_warning ("GsmConsoleKit: Calling GetSeatId failed.");
+ return;
+ }
+
+ g_variant_get (res, "(o)", seat);
+ g_variant_unref (res);
+}
+
+/* returns -1 on failure
+ * 0 seat is multi-session
+ * 1 seat is not multi-session
+ */
+static gint
+ck_seat_can_multi_session (GsmConsolekit *manager,
+ const gchar *seat)
+{
+ GDBusConnection *bus;
+ GVariant *res;
+ gboolean can_activate;
+
+
+ bus = g_dbus_proxy_get_connection (manager->priv->ck_proxy);
+ res = g_dbus_connection_call_sync (bus,
+ CK_NAME,
+ seat,
+ CK_SEAT_INTERFACE,
+ "CanActivateSessions",
+ g_variant_new ("()"),
+ G_VARIANT_TYPE_BOOLEAN,
+ 0,
+ -1,
+ NULL, NULL);
+ if (!res) {
+ g_warning ("GsmConsoleKit: Calling GetSeatId failed.");
+ return -1;
+ }
+
+ g_variant_get (res, "(b)", &can_activate);
+ g_variant_unref (res);
+
+ return can_activate == TRUE ? 1 : 0;
+}
+
+static gboolean
+gsm_consolekit_can_switch_user (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ gchar *seat;
+ gint ret;
+
+ ck_session_get_seat (manager, &seat);
+ ret = ck_seat_can_multi_session (manager, seat);
+ free (seat);
+
+ return ret > 0;
+}
+
+static gboolean
+gsm_consolekit_can_restart (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ GVariant *res;
+ gboolean can_restart;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_proxy,
+ "CanRestart",
+ g_variant_new ("()"),
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanRestart failed. Check that ConsoleKit is "
+ "properly installed.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(b)", &can_restart);
+ g_variant_unref (res);
+
+ return can_restart;
+}
+
+static gboolean
+gsm_consolekit_can_stop (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ GVariant *res;
+ gboolean can_stop;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_proxy,
+ "CanStop",
+ g_variant_new ("()"),
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanStop failed. Check that ConsoleKit is "
+ "properly installed.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(b)", &can_stop);
+ g_variant_unref (res);
+
+ return can_stop;
+}
+
+/* returns -1 on failure, 0 on success */
+static gint
+ck_session_get_class (GsmConsolekit *manager,
+ gchar **session_class)
+{
+ GVariant *res;
+
+ *session_class = NULL;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_session_proxy,
+ "GetSessionClass",
+ g_variant_new ("()"),
+ 0,
+ -1,
+ NULL, NULL);
+ if (!res) {
+ g_warning ("GsmConsoleKit: Calling GetSessionClass failed.");
+ return -1;
+ }
+
+ g_variant_get (res, "(s)", session_class);
+ g_variant_unref (res);
+
+ return 0;
+}
+
+static gboolean
+gsm_consolekit_is_login_session (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ int res;
+ gboolean ret;
+ gchar *session_class = NULL;
+
+ ret = FALSE;
+
+ if (manager->priv->session_id == NULL) {
+ return ret;
+ }
+
+ res = ck_session_get_class (manager, &session_class);
+ if (res < 0) {
+ g_warning ("Could not get session class: %s", strerror (-res));
+ return FALSE;
+ }
+ ret = (g_strcmp0 (session_class, "greeter") == 0);
+ g_free (session_class);
+
+ return ret;
+}
+
+static gboolean
+gsm_consolekit_can_suspend (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_suspend;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_proxy,
+ "CanSuspend",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanSuspend failed. Check that ConsoleKit is "
+ "properly installed.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_suspend = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_suspend;
+}
+
+static gboolean
+gsm_consolekit_can_hibernate (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_hibernate;
+
+ res = g_dbus_proxy_call_sync (manager->priv->ck_proxy,
+ "CanHibernate",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanHibernate failed. Check that ConsoleKit is "
+ "properly installed.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_hibernate = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_hibernate;
+}
+
+static void
+suspend_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to suspend system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (res);
+ }
+}
+
+static void
+hibernate_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to hibernate system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_consolekit_suspend (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+
+ g_dbus_proxy_call (manager->priv->ck_proxy,
+ "Suspend",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ suspend_done,
+ manager);
+}
+
+static void
+gsm_consolekit_hibernate (GsmSystem *system)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+
+ g_dbus_proxy_call (manager->priv->ck_proxy,
+ "Hibernate",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ hibernate_done,
+ manager);
+}
+
+static void
+inhibit_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmConsolekit *manager = GSM_CONSOLEKIT (user_data);
+ GError *error = NULL;
+ GVariant *res;
+ GUnixFDList *fd_list = NULL;
+ gint idx;
+
+ /* Drop any previous inhibit before recording the new one */
+ drop_system_inhibitor (manager);
+
+ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to inhibit system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_get (res, "(h)", &idx);
+ manager->priv->inhibit_fd = g_unix_fd_list_get (fd_list, idx, &error);
+ if (manager->priv->inhibit_fd == -1) {
+ g_warning ("Failed to receive system inhibitor fd: %s", error->message);
+ g_error_free (error);
+ }
+ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_fd);
+ g_object_unref (fd_list);
+ g_variant_unref (res);
+ }
+
+ /* Handle a race condition, where locks got unset during dbus call */
+ if (manager->priv->inhibit_locks == NULL) {
+ drop_system_inhibitor (manager);
+ }
+}
+
+static void
+gsm_consolekit_set_inhibitors (GsmSystem *system,
+ GsmInhibitorFlag flags)
+{
+ GsmConsolekit *manager = GSM_CONSOLEKIT (system);
+ const gchar *locks = NULL;
+ gboolean inhibit_logout;
+ gboolean inhibit_suspend;
+
+ inhibit_logout = (flags & GSM_INHIBITOR_FLAG_LOGOUT) != 0;
+ inhibit_suspend = (flags & GSM_INHIBITOR_FLAG_SUSPEND) != 0;
+
+ if (inhibit_logout && inhibit_suspend) {
+ locks = "sleep:shutdown";
+ } else if (inhibit_logout) {
+ locks = "shutdown";
+ } else if (inhibit_suspend) {
+ locks = "sleep";
+ }
+ manager->priv->inhibit_locks = locks;
+
+ if (locks != NULL) {
+ g_debug ("Adding system inhibitor on %s", locks);
+ g_dbus_proxy_call_with_unix_fd_list (manager->priv->ck_proxy,
+ "Inhibit",
+ g_variant_new ("(ssss)",
+ locks,
+ g_get_user_name (),
+ "user session inhibited",
+ "block"),
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL,
+ inhibit_done,
+ manager);
+ } else {
+ drop_system_inhibitor (manager);
+ }
+}
+
+static void
+reboot_or_poweroff_done (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ GsmConsolekit *consolekit = user_data;
+ GVariant *result;
+ GError *error = NULL;
+
+ result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source),
+ res,
+ &error);
+
+ if (result == NULL) {
+ if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_ACCESS_DENIED)) {
+ g_warning ("Shutdown failed: %s", error->message);
+ }
+ g_error_free (error);
+ drop_delay_inhibitor (consolekit);
+ g_debug ("GsmConsolekit: shutdown preparation failed");
+ consolekit->priv->prepare_for_shutdown_expected = FALSE;
+ g_signal_emit_by_name (consolekit, "shutdown-prepared", FALSE);
+ } else {
+ g_variant_unref (result);
+ }
+}
+
+static void
+gsm_consolekit_prepare_shutdown (GsmSystem *system,
+ gboolean restart)
+{
+ GsmConsolekit *consolekit = GSM_CONSOLEKIT (system);
+ GUnixFDList *fd_list;
+ GVariant *res;
+ GError *error = NULL;
+ gint idx;
+
+ g_debug ("GsmConsolekit: prepare shutdown");
+
+ res = g_dbus_proxy_call_with_unix_fd_list_sync (consolekit->priv->ck_proxy,
+ "Inhibit",
+ g_variant_new ("(ssss)",
+ "shutdown",
+ g_get_user_name (),
+ "Preparing to end the session",
+ "delay"),
+ 0,
+ G_MAXINT,
+ NULL,
+ &fd_list,
+ NULL,
+ &error);
+ if (res == NULL) {
+ g_warning ("Failed to get delay inhibitor: %s", error->message);
+ g_error_free (error);
+ /* We may fail here with CK and that's ok */
+ } else {
+ g_variant_get (res, "(h)", &idx);
+
+ consolekit->priv->delay_inhibit_fd = g_unix_fd_list_get (fd_list, idx, NULL);
+
+ g_debug ("GsmConsolekit: got delay inhibitor, fd = %d", consolekit->priv->delay_inhibit_fd);
+
+ g_variant_unref (res);
+ g_object_unref (fd_list);
+ }
+
+ consolekit->priv->prepare_for_shutdown_expected = TRUE;
+
+ g_dbus_proxy_call (consolekit->priv->ck_proxy,
+ restart ? "Reboot" : "PowerOff",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ reboot_or_poweroff_done,
+ consolekit);
+}
+
+static void
+gsm_consolekit_complete_shutdown (GsmSystem *system)
+{
+ GsmConsolekit *consolekit = GSM_CONSOLEKIT (system);
+
+ /* remove delay inhibitor, if any */
+ drop_delay_inhibitor (consolekit);
+}
+
+static gboolean
+gsm_consolekit_is_last_session_for_user (GsmSystem *system)
+{
+ return FALSE;
+}
+
+static void
+gsm_consolekit_system_init (GsmSystemInterface *iface)
+{
+ iface->can_switch_user = gsm_consolekit_can_switch_user;
+ iface->can_stop = gsm_consolekit_can_stop;
+ iface->can_restart = gsm_consolekit_can_restart;
+ iface->can_suspend = gsm_consolekit_can_suspend;
+ iface->can_hibernate = gsm_consolekit_can_hibernate;
+ iface->attempt_stop = gsm_consolekit_attempt_stop;
+ iface->attempt_restart = gsm_consolekit_attempt_restart;
+ iface->suspend = gsm_consolekit_suspend;
+ iface->hibernate = gsm_consolekit_hibernate;
+ iface->set_session_idle = gsm_consolekit_set_session_idle;
+ iface->is_login_session = gsm_consolekit_is_login_session;
+ iface->set_inhibitors = gsm_consolekit_set_inhibitors;
+ iface->prepare_shutdown = gsm_consolekit_prepare_shutdown;
+ iface->complete_shutdown = gsm_consolekit_complete_shutdown;
+ iface->is_last_session_for_user = gsm_consolekit_is_last_session_for_user;
+}
+
+GsmConsolekit *
+gsm_consolekit_new (void)
+{
+ GsmConsolekit *manager;
+
+ manager = g_object_new (GSM_TYPE_CONSOLEKIT, NULL);
+
+ return manager;
+}
+
+static void
+ck_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ GsmConsolekit *consolekit = user_data;
+ gboolean is_about_to_shutdown;
+
+ g_debug ("GsmConsolekit: received ConsoleKit signal: %s", signal_name);
+
+ if (g_strcmp0 (signal_name, "PrepareForShutdown") != 0) {
+ g_debug ("GsmConsolekit: ignoring %s signal", signal_name);
+ return;
+ }
+
+ g_variant_get (parameters, "(b)", &is_about_to_shutdown);
+ if (!is_about_to_shutdown) {
+ g_debug ("GsmConsolekit: ignoring %s signal since about-to-shutdown is FALSE", signal_name);
+ return;
+ }
+
+ if (consolekit->priv->prepare_for_shutdown_expected) {
+ g_debug ("GsmConsolekit: shutdown successfully prepared");
+ g_signal_emit_by_name (consolekit, "shutdown-prepared", TRUE);
+ consolekit->priv->prepare_for_shutdown_expected = FALSE;
+ }
+}
+
+static void
+ck_session_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ GsmConsolekit *consolekit = user_data;
+ gboolean is_active;
+
+ g_debug ("GsmConsolekit: received ConsoleKit signal: %s", signal_name);
+
+ if (g_strcmp0 (signal_name, "ActiveChanged") != 0) {
+ g_debug ("GsmConsolekit: ignoring %s signal", signal_name);
+ return;
+ }
+
+ g_variant_get (parameters, "(b)", &is_active);
+ if (consolekit->priv->is_active != is_active) {
+ g_debug ("GsmConsolekit: session state changed");
+ consolekit->priv->is_active = is_active;
+ g_object_notify (G_OBJECT (consolekit), "active");
+ }
+}
diff --git a/gnome-session/gsm-consolekit.h b/gnome-session/gsm-consolekit.h
new file mode 100644
index 0000000..963a9fd
--- /dev/null
+++ b/gnome-session/gsm-consolekit.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Jon McCann <jmccann@redhat.com>
+ */
+
+#ifndef __GSM_CONSOLEKIT_H__
+#define __GSM_CONSOLEKIT_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_CONSOLEKIT (gsm_consolekit_get_type ())
+#define GSM_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekit))
+#define GSM_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
+#define GSM_IS_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_CONSOLEKIT))
+#define GSM_IS_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_CONSOLEKIT))
+#define GSM_CONSOLEKIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
+
+typedef struct _GsmConsolekit GsmConsolekit;
+typedef struct _GsmConsolekitClass GsmConsolekitClass;
+typedef struct _GsmConsolekitPrivate GsmConsolekitPrivate;
+
+struct _GsmConsolekit
+{
+ GObject parent;
+
+ GsmConsolekitPrivate *priv;
+};
+
+struct _GsmConsolekitClass
+{
+ GObjectClass parent_class;
+};
+
+GType gsm_consolekit_get_type (void);
+
+GsmConsolekit *gsm_consolekit_new (void) G_GNUC_MALLOC;
+
+G_END_DECLS
+
+#endif /* __GSM_CONSOLEKIT_H__ */
diff --git a/gnome-session/gsm-dbus-client.c b/gnome-session/gsm-dbus-client.c
new file mode 100644
index 0000000..cf3b1f1
--- /dev/null
+++ b/gnome-session/gsm-dbus-client.c
@@ -0,0 +1,441 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include "config.h"
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <gio/gio.h>
+
+#include "org.gnome.SessionManager.ClientPrivate.h"
+#include "gsm-dbus-client.h"
+
+#include "gsm-manager.h"
+#include "gsm-util.h"
+
+#define SM_DBUS_NAME "org.gnome.SessionManager"
+#define SM_DBUS_CLIENT_PRIVATE_INTERFACE "org.gnome.SessionManager.ClientPrivate"
+
+struct _GsmDBusClient
+{
+ GObject parent_instance;
+
+ char *bus_name;
+ GPid caller_pid;
+ GsmClientRestartStyle restart_style_hint;
+
+ GDBusConnection *connection;
+ GsmExportedClientPrivate *skeleton;
+ guint watch_id;
+};
+
+enum {
+ PROP_0,
+ PROP_BUS_NAME
+};
+
+G_DEFINE_TYPE (GsmDBusClient, gsm_dbus_client, GSM_TYPE_CLIENT)
+
+static gboolean
+setup_connection (GsmDBusClient *client)
+{
+ GError *error = NULL;
+
+ if (client->connection == NULL) {
+ client->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (error != NULL) {
+ g_debug ("GsmDbusClient: Couldn't connect to session bus: %s",
+ error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+static gboolean
+handle_end_session_response (GsmExportedClientPrivate *skeleton,
+ GDBusMethodInvocation *invocation,
+ gboolean is_ok,
+ const char *reason,
+ GsmDBusClient *client)
+{
+ g_debug ("GsmDBusClient: got EndSessionResponse is-ok:%d reason=%s", is_ok, reason);
+ gsm_client_end_session_response (GSM_CLIENT (client),
+ is_ok, FALSE, FALSE, reason);
+
+ gsm_exported_client_private_complete_end_session_response (skeleton, invocation);
+ return TRUE;
+}
+
+static GObject *
+gsm_dbus_client_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmDBusClient *client;
+ GError *error = NULL;
+ GsmExportedClientPrivate *skeleton;
+
+ client = GSM_DBUS_CLIENT (G_OBJECT_CLASS (gsm_dbus_client_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+
+ if (! setup_connection (client)) {
+ g_object_unref (client);
+ return NULL;
+ }
+
+ skeleton = gsm_exported_client_private_skeleton_new ();
+ client->skeleton = skeleton;
+ g_debug ("exporting dbus client to object path: %s", gsm_client_peek_id (GSM_CLIENT (client)));
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ client->connection,
+ gsm_client_peek_id (GSM_CLIENT (client)),
+ &error);
+
+ if (error != NULL) {
+ g_critical ("error exporting client private on session bus: %s", error->message);
+ g_error_free (error);
+ g_object_unref (client);
+ return NULL;
+ }
+
+ g_signal_connect (skeleton, "handle-end-session-response",
+ G_CALLBACK (handle_end_session_response), client);
+
+ return G_OBJECT (client);
+}
+
+static void
+gsm_dbus_client_init (GsmDBusClient *client)
+{
+}
+
+/* adapted from PolicyKit */
+static gboolean
+get_caller_info (GsmDBusClient *client,
+ const char *sender,
+ uid_t *calling_uid_out,
+ pid_t *calling_pid_out)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ GError *error;
+ g_autoptr(GVariant) uid_variant = NULL;
+ g_autoptr(GVariant) pid_variant = NULL;
+ uid_t uid;
+ pid_t pid;
+
+ if (sender == NULL) {
+ return FALSE;
+ }
+
+ error = NULL;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("error getting session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ uid_variant = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "GetConnectionUnixUser",
+ g_variant_new ("(s)", sender),
+ G_VARIANT_TYPE ("(u)"),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_debug ("GetConnectionUnixUser() failed: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ pid_variant = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "GetConnectionUnixProcessID",
+ g_variant_new ("(s)", sender),
+ G_VARIANT_TYPE ("(u)"),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_debug ("GetConnectionUnixProcessID() failed: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_get (uid_variant, "(u)", &uid);
+ g_variant_get (pid_variant, "(u)", &pid);
+
+ if (calling_uid_out != NULL) {
+ *calling_uid_out = uid;
+ }
+ if (calling_pid_out != NULL) {
+ *calling_pid_out = pid;
+ }
+
+ g_debug ("uid = %d", uid);
+ g_debug ("pid = %d", pid);
+
+ return TRUE;
+}
+
+static void
+on_client_vanished (GDBusConnection *connection,
+ const char *name,
+ gpointer user_data)
+{
+ GsmDBusClient *client = user_data;
+
+ g_bus_unwatch_name (client->watch_id);
+ client->watch_id = 0;
+
+ gsm_client_disconnected (GSM_CLIENT (client));
+}
+
+static void
+gsm_dbus_client_set_bus_name (GsmDBusClient *client,
+ const char *bus_name)
+{
+ g_return_if_fail (GSM_IS_DBUS_CLIENT (client));
+
+ g_free (client->bus_name);
+
+ client->bus_name = g_strdup (bus_name);
+ g_object_notify (G_OBJECT (client), "bus-name");
+
+ if (!get_caller_info (client, bus_name, NULL, &client->caller_pid)) {
+ client->caller_pid = 0;
+ }
+
+ client->watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
+ bus_name,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ NULL,
+ on_client_vanished,
+ client,
+ NULL);
+}
+
+const char *
+gsm_dbus_client_get_bus_name (GsmDBusClient *client)
+{
+ g_return_val_if_fail (GSM_IS_DBUS_CLIENT (client), NULL);
+
+ return client->bus_name;
+}
+
+static void
+gsm_dbus_client_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmDBusClient *self;
+
+ self = GSM_DBUS_CLIENT (object);
+
+ switch (prop_id) {
+ case PROP_BUS_NAME:
+ gsm_dbus_client_set_bus_name (self, g_value_get_string (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_dbus_client_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmDBusClient *self;
+
+ self = GSM_DBUS_CLIENT (object);
+
+ switch (prop_id) {
+ case PROP_BUS_NAME:
+ g_value_set_string (value, self->bus_name);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_dbus_client_finalize (GObject *object)
+{
+ GsmDBusClient *client = (GsmDBusClient *) object;
+
+ g_free (client->bus_name);
+
+ if (client->skeleton != NULL) {
+ g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (client->skeleton),
+ client->connection);
+ g_clear_object (&client->skeleton);
+ }
+
+ g_clear_object (&client->connection);
+
+ if (client->watch_id != 0)
+ g_bus_unwatch_name (client->watch_id);
+
+ G_OBJECT_CLASS (gsm_dbus_client_parent_class)->finalize (object);
+}
+
+static GKeyFile *
+dbus_client_save (GsmClient *client,
+ GsmApp *app,
+ GError **error)
+{
+ g_debug ("GsmDBusClient: saving client with id %s",
+ gsm_client_peek_id (client));
+
+ /* FIXME: We still don't support client saving for D-Bus
+ * session clients */
+
+ return NULL;
+}
+
+static gboolean
+dbus_client_stop (GsmClient *client,
+ GError **error)
+{
+ GsmDBusClient *dbus_client = (GsmDBusClient *) client;
+ gsm_exported_client_private_emit_stop (dbus_client->skeleton);
+ return TRUE;
+}
+
+static char *
+dbus_client_get_app_name (GsmClient *client)
+{
+ /* Always use app-id instead */
+ return NULL;
+}
+
+static GsmClientRestartStyle
+dbus_client_get_restart_style_hint (GsmClient *client)
+{
+ return (GSM_DBUS_CLIENT (client)->restart_style_hint);
+}
+
+static guint
+dbus_client_get_unix_process_id (GsmClient *client)
+{
+ return (GSM_DBUS_CLIENT (client)->caller_pid);
+}
+
+static gboolean
+dbus_client_query_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ GsmDBusClient *dbus_client = (GsmDBusClient *) client;
+
+ if (dbus_client->bus_name == NULL) {
+ g_set_error (error,
+ GSM_CLIENT_ERROR,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ "Client is not registered");
+ return FALSE;
+ }
+
+ g_debug ("GsmDBusClient: sending QueryEndSession signal to %s", dbus_client->bus_name);
+
+ gsm_exported_client_private_emit_query_end_session (dbus_client->skeleton, flags);
+ return TRUE;
+}
+
+static gboolean
+dbus_client_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ GsmDBusClient *dbus_client = (GsmDBusClient *) client;
+
+ gsm_exported_client_private_emit_end_session (dbus_client->skeleton, flags);
+ return TRUE;
+}
+
+static gboolean
+dbus_client_cancel_end_session (GsmClient *client,
+ GError **error)
+{
+ GsmDBusClient *dbus_client = (GsmDBusClient *) client;
+ gsm_exported_client_private_emit_cancel_end_session (dbus_client->skeleton);
+ return TRUE;
+}
+
+static void
+gsm_dbus_client_class_init (GsmDBusClientClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GsmClientClass *client_class = GSM_CLIENT_CLASS (klass);
+
+ object_class->finalize = gsm_dbus_client_finalize;
+ object_class->constructor = gsm_dbus_client_constructor;
+ object_class->get_property = gsm_dbus_client_get_property;
+ object_class->set_property = gsm_dbus_client_set_property;
+
+ client_class->impl_save = dbus_client_save;
+ client_class->impl_stop = dbus_client_stop;
+ client_class->impl_query_end_session = dbus_client_query_end_session;
+ client_class->impl_end_session = dbus_client_end_session;
+ client_class->impl_cancel_end_session = dbus_client_cancel_end_session;
+ client_class->impl_get_app_name = dbus_client_get_app_name;
+ client_class->impl_get_restart_style_hint = dbus_client_get_restart_style_hint;
+ client_class->impl_get_unix_process_id = dbus_client_get_unix_process_id;
+
+ g_object_class_install_property (object_class,
+ PROP_BUS_NAME,
+ g_param_spec_string ("bus-name",
+ "bus-name",
+ "bus-name",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+}
+
+GsmClient *
+gsm_dbus_client_new (const char *startup_id,
+ const char *bus_name)
+{
+ GsmDBusClient *client;
+
+ client = g_object_new (GSM_TYPE_DBUS_CLIENT,
+ "startup-id", startup_id,
+ "bus-name", bus_name,
+ NULL);
+
+ return GSM_CLIENT (client);
+}
diff --git a/gnome-session/gsm-dbus-client.h b/gnome-session/gsm-dbus-client.h
new file mode 100644
index 0000000..f36853b
--- /dev/null
+++ b/gnome-session/gsm-dbus-client.h
@@ -0,0 +1,35 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_DBUS_CLIENT_H__
+#define __GSM_DBUS_CLIENT_H__
+
+#include "gsm-client.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_DBUS_CLIENT (gsm_dbus_client_get_type ())
+G_DECLARE_FINAL_TYPE (GsmDBusClient, gsm_dbus_client, GSM, DBUS_CLIENT, GsmClient)
+
+GsmClient * gsm_dbus_client_new (const char *startup_id,
+ const char *bus_name);
+const char * gsm_dbus_client_get_bus_name (GsmDBusClient *client);
+
+G_END_DECLS
+
+#endif /* __GSM_DBUS_CLIENT_H__ */
diff --git a/gnome-session/gsm-fail-whale-dialog.c b/gnome-session/gsm-fail-whale-dialog.c
new file mode 100644
index 0000000..d6e8407
--- /dev/null
+++ b/gnome-session/gsm-fail-whale-dialog.c
@@ -0,0 +1,461 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2019 Canonical Ltd.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Colin Walters <walters@verbum.org>
+ * Marco Trevisan <marco@ubuntu.com>
+ */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <glib/gi18n.h>
+
+#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
+#include <gtk/gtkx.h>
+#endif
+
+#include "gsm-fail-whale-dialog.h"
+
+#include "gsm-icon-names.h"
+
+struct _GsmFailWhaleDialog
+{
+ GtkWindow parent;
+
+ gboolean debug_mode;
+ gboolean allow_logout;
+ gboolean extensions;
+ GdkMonitor *monitor;
+ GdkRectangle geometry;
+};
+
+G_DEFINE_TYPE (GsmFailWhaleDialog, gsm_fail_whale_dialog, GTK_TYPE_WINDOW);
+
+/* derived from tomboy */
+static void
+_window_override_user_time (GsmFailWhaleDialog *window)
+{
+ guint32 ev_time = gtk_get_current_event_time ();
+ GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (window));
+
+#ifdef GDK_WINDOWING_X11
+ if (!GDK_IS_X11_WINDOW (gdk_window))
+ return;
+
+ if (ev_time == 0) {
+ gint ev_mask = gtk_widget_get_events (GTK_WIDGET (window));
+ if (!(ev_mask & GDK_PROPERTY_CHANGE_MASK)) {
+ gtk_widget_add_events (GTK_WIDGET (window),
+ GDK_PROPERTY_CHANGE_MASK);
+ }
+
+ /*
+ * NOTE: Last resort for D-BUS or other non-interactive
+ * openings. Causes roundtrip to server. Lame.
+ */
+ ev_time = gdk_x11_get_server_time (gdk_window);
+ }
+
+ gdk_x11_window_set_user_time (gdk_window, ev_time);
+#endif
+}
+
+static void
+_window_move_resize_window (GsmFailWhaleDialog *window,
+ gboolean move,
+ gboolean resize)
+{
+ if (window->debug_mode)
+ return;
+
+ g_debug ("Move and/or resize window x=%d y=%d w=%d h=%d",
+ window->geometry.x,
+ window->geometry.y,
+ window->geometry.width,
+ window->geometry.height);
+
+ if (resize) {
+ gtk_window_resize (GTK_WINDOW (window),
+ window->geometry.width,
+ window->geometry.height);
+ }
+
+ if (move) {
+ gtk_window_move (GTK_WINDOW (window),
+ window->geometry.x,
+ window->geometry.y);
+ }
+}
+
+static void
+update_geometry (GsmFailWhaleDialog *fail_dialog)
+{
+ gdk_monitor_get_geometry (fail_dialog->monitor, &fail_dialog->geometry);
+}
+
+static void
+on_screen_size_changed (GdkScreen *screen,
+ GsmFailWhaleDialog *fail_dialog)
+{
+ gtk_widget_queue_resize (GTK_WIDGET (fail_dialog));
+}
+
+static void
+gsm_fail_whale_dialog_realize (GtkWidget *widget)
+{
+ if (GTK_WIDGET_CLASS (gsm_fail_whale_dialog_parent_class)->realize) {
+ GTK_WIDGET_CLASS (gsm_fail_whale_dialog_parent_class)->realize (widget);
+ }
+
+ _window_override_user_time (GSM_FAIL_WHALE_DIALOG (widget));
+ update_geometry (GSM_FAIL_WHALE_DIALOG (widget));
+ _window_move_resize_window (GSM_FAIL_WHALE_DIALOG (widget), TRUE, TRUE);
+
+ g_signal_connect (gtk_window_get_screen (GTK_WINDOW (widget)),
+ "size_changed",
+ G_CALLBACK (on_screen_size_changed),
+ widget);
+}
+
+static void
+gsm_fail_whale_dialog_unrealize (GtkWidget *widget)
+{
+ g_signal_handlers_disconnect_by_func (gtk_window_get_screen (GTK_WINDOW (widget)),
+ on_screen_size_changed,
+ widget);
+
+ if (GTK_WIDGET_CLASS (gsm_fail_whale_dialog_parent_class)->unrealize) {
+ GTK_WIDGET_CLASS (gsm_fail_whale_dialog_parent_class)->unrealize (widget);
+ }
+}
+
+static void
+gsm_fail_whale_dialog_size_request (GtkWidget *widget,
+ GtkRequisition *requisition)
+{
+ GsmFailWhaleDialog *fail_dialog;
+ GdkRectangle old_geometry;
+ int position_changed = FALSE;
+ int size_changed = FALSE;
+
+ fail_dialog = GSM_FAIL_WHALE_DIALOG (widget);
+
+ old_geometry = fail_dialog->geometry;
+
+ update_geometry (fail_dialog);
+
+ requisition->width = fail_dialog->geometry.width;
+ requisition->height = fail_dialog->geometry.height;
+
+ if (!gtk_widget_get_realized (widget)) {
+ return;
+ }
+
+ if (old_geometry.width != fail_dialog->geometry.width ||
+ old_geometry.height != fail_dialog->geometry.height) {
+ size_changed = TRUE;
+ }
+
+ if (old_geometry.x != fail_dialog->geometry.x ||
+ old_geometry.y != fail_dialog->geometry.y) {
+ position_changed = TRUE;
+ }
+
+ _window_move_resize_window (fail_dialog,
+ position_changed, size_changed);
+}
+
+static void
+gsm_fail_whale_dialog_get_preferred_width (GtkWidget *widget,
+ gint *minimal_width,
+ gint *natural_width)
+{
+ GtkRequisition requisition;
+
+ gsm_fail_whale_dialog_size_request (widget, &requisition);
+
+ *minimal_width = *natural_width = requisition.width;
+}
+
+static void
+gsm_fail_whale_dialog_get_preferred_width_for_height (GtkWidget *widget,
+ gint for_height,
+ gint *minimal_width,
+ gint *natural_width)
+{
+ GtkRequisition requisition;
+
+ gsm_fail_whale_dialog_size_request (widget, &requisition);
+
+ *minimal_width = *natural_width = requisition.width;
+}
+
+static void
+gsm_fail_whale_dialog_get_preferred_height (GtkWidget *widget,
+ gint *minimal_height,
+ gint *natural_height)
+{
+ GtkRequisition requisition;
+
+ gsm_fail_whale_dialog_size_request (widget, &requisition);
+
+ *minimal_height = *natural_height = requisition.height;
+}
+
+static void
+gsm_fail_whale_dialog_get_preferred_height_for_width (GtkWidget *widget,
+ gint for_width,
+ gint *minimal_height,
+ gint *natural_height)
+{
+ GtkRequisition requisition;
+
+ gsm_fail_whale_dialog_size_request (widget, &requisition);
+
+ *minimal_height = *natural_height = requisition.height;
+}
+
+static void
+gsm_fail_whale_dialog_class_init (GsmFailWhaleDialogClass *klass)
+{
+ GtkWidgetClass *widget_class;
+
+ widget_class = GTK_WIDGET_CLASS (klass);
+
+ widget_class->realize = gsm_fail_whale_dialog_realize;
+ widget_class->unrealize = gsm_fail_whale_dialog_unrealize;
+ widget_class->get_preferred_width = gsm_fail_whale_dialog_get_preferred_width;
+ widget_class->get_preferred_height = gsm_fail_whale_dialog_get_preferred_height;
+ widget_class->get_preferred_width_for_height = gsm_fail_whale_dialog_get_preferred_width_for_height;
+ widget_class->get_preferred_height_for_width = gsm_fail_whale_dialog_get_preferred_height_for_width;
+}
+
+static void
+on_logout_clicked (GtkWidget *button,
+ GsmFailWhaleDialog *fail_dialog)
+{
+ if (!fail_dialog->debug_mode) {
+ g_spawn_command_line_async ("gnome-session-quit --force", NULL);
+ }
+ gtk_main_quit ();
+}
+
+static void
+setup_window (GsmFailWhaleDialog *fail_dialog)
+{
+ GtkWidget *box;
+ GtkWidget *image;
+ GtkWidget *label;
+ GtkWidget *message_label;
+ GtkWidget *button_box;
+ GtkWidget *button;
+ GdkPixbuf *fail_icon;
+ GdkDisplay *display;
+ char *markup;
+ int scale_factor;
+ int i;
+
+ gtk_window_set_title (GTK_WINDOW (fail_dialog), "");
+ gtk_window_set_icon_name (GTK_WINDOW (fail_dialog), GSM_ICON_COMPUTER_FAIL);
+
+ gtk_window_set_skip_taskbar_hint (GTK_WINDOW (fail_dialog), TRUE);
+ gtk_window_set_keep_above (GTK_WINDOW (fail_dialog), TRUE);
+ gtk_window_stick (GTK_WINDOW (fail_dialog));
+ gtk_window_set_position (GTK_WINDOW (fail_dialog), GTK_WIN_POS_CENTER_ALWAYS);
+
+ /* only works if there is a window manager which is unlikely */
+ display = gtk_widget_get_display (GTK_WIDGET (fail_dialog));
+ for (i = 0; i < gdk_display_get_n_monitors (display); i++) {
+ if (gdk_display_get_monitor (display, i) == fail_dialog->monitor) {
+ GdkScreen *screen;
+
+ screen = gtk_widget_get_screen (GTK_WIDGET (fail_dialog));
+ gtk_window_fullscreen_on_monitor (GTK_WINDOW (fail_dialog),
+ screen, i);
+ break;
+ }
+ }
+
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
+ gtk_widget_set_valign (box, GTK_ALIGN_CENTER);
+ gtk_widget_show (box);
+
+ gtk_container_add (GTK_CONTAINER (fail_dialog), box);
+
+ scale_factor = gdk_monitor_get_scale_factor (fail_dialog->monitor);
+ fail_icon = gtk_icon_theme_load_icon_for_scale (gtk_icon_theme_get_default (),
+ GSM_ICON_COMPUTER_FAIL,
+ 128,
+ scale_factor,
+ 0,
+ NULL);
+ if (fail_icon != NULL) {
+ image = gtk_image_new_from_pixbuf (fail_icon);
+ gtk_widget_show (image);
+ gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 0);
+ g_object_unref (fail_icon);
+ }
+
+ label = gtk_label_new (NULL);
+ markup = g_strdup_printf ("<b><big>%s</big></b>", _("Oh no! Something has gone wrong."));
+ gtk_label_set_markup (GTK_LABEL (label), markup);
+ g_free (markup);
+ gtk_widget_show (label);
+ gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
+
+ if (!fail_dialog->allow_logout)
+ message_label = gtk_label_new (_("A problem has occurred and the system can’t recover. Please contact a system administrator"));
+ else if (fail_dialog->extensions)
+ message_label = gtk_label_new (_("A problem has occurred and the system can’t recover. All extensions have been disabled as a precaution."));
+ else
+ message_label = gtk_label_new (_("A problem has occurred and the system can’t recover.\nPlease log out and try again."));
+
+ gtk_label_set_justify (GTK_LABEL (message_label), GTK_JUSTIFY_CENTER);
+ gtk_label_set_line_wrap (GTK_LABEL (message_label), TRUE);
+ gtk_widget_show (message_label);
+ gtk_box_pack_start (GTK_BOX (box),
+ message_label, FALSE, FALSE, 0);
+
+ button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_container_set_border_width (GTK_CONTAINER (button_box), 20);
+ gtk_widget_show (button_box);
+ gtk_box_pack_end (GTK_BOX (box),
+ button_box, FALSE, FALSE, 0);
+
+ if (fail_dialog->allow_logout) {
+ button = gtk_button_new_with_mnemonic (_("_Log Out"));
+ gtk_widget_show (button);
+ gtk_box_pack_end (GTK_BOX (button_box),
+ button, FALSE, FALSE, 0);
+ g_signal_connect (button, "clicked",
+ G_CALLBACK (on_logout_clicked), fail_dialog);
+ }
+}
+
+static void
+gsm_fail_whale_dialog_init (GsmFailWhaleDialog *fail_dialog)
+{
+}
+
+static gboolean debug_mode = FALSE;
+static gboolean allow_logout = FALSE;
+static gboolean extensions = FALSE;
+static GList *dialogs = NULL;
+
+static void
+create_fail_dialog (GdkMonitor *monitor)
+{
+ GsmFailWhaleDialog *fail_dialog;
+
+ fail_dialog = g_object_new (GSM_TYPE_FAIL_WHALE_DIALOG, NULL);
+ fail_dialog->debug_mode = debug_mode;
+ fail_dialog->allow_logout = allow_logout;
+ fail_dialog->extensions = extensions;
+ fail_dialog->monitor = monitor;
+
+ setup_window (fail_dialog);
+
+ g_signal_connect (fail_dialog, "destroy",
+ G_CALLBACK (gtk_main_quit), NULL);
+
+ gtk_widget_show (GTK_WIDGET (fail_dialog));
+
+ dialogs = g_list_prepend (dialogs, fail_dialog);
+}
+
+static void
+on_monitor_added (GdkDisplay *display,
+ GdkMonitor *monitor)
+{
+ create_fail_dialog (monitor);
+}
+
+static void
+on_monitor_removed (GdkDisplay *display,
+ GdkMonitor *monitor)
+{
+ GList *l;
+
+ for (l = dialogs; l;) {
+ GList *next = l->next;
+ GsmFailWhaleDialog *fail_dialog = l->data;
+
+ if (fail_dialog->monitor == monitor) {
+ dialogs = g_list_delete_link (dialogs, l);
+ gtk_widget_destroy (GTK_WIDGET (fail_dialog));
+ }
+ l = next;
+ }
+}
+
+int main (int argc, char *argv[])
+{
+ GOptionEntry entries[] = {
+ { "debug", 0, 0, G_OPTION_ARG_NONE, &debug_mode, N_("Enable debugging code"), NULL },
+ { "allow-logout", 0, 0, G_OPTION_ARG_NONE, &allow_logout, N_("Allow logout"), NULL },
+ { "extensions", 0, 0, G_OPTION_ARG_NONE, &extensions, N_("Show extension warning"), NULL },
+ { NULL, 0, 0, 0, NULL, NULL, NULL }
+ };
+
+ GError *error = NULL;
+ GdkDisplay *display;
+ int i;
+
+ bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ if (!gtk_init_with_args (&argc, &argv, " - fail whale",
+ entries, GETTEXT_PACKAGE,
+ &error)) {
+ if (error != NULL) {
+ g_warning ("%s", error->message);
+ exit (1);
+ }
+
+ /* display server probably went away. Could be for legitimate reasons, could be for
+ * unexpected reasons. If it went away unexpectantly, that's logged elsewhere, so
+ * let's not add noise by logging here.
+ */
+ return 0;
+ }
+
+ /* Force-off allow_logout when running inside GDM, this is needed
+ * because the systemd service always passes --allow-logout
+ */
+ if (g_strcmp0 (g_getenv ("RUNNING_UNDER_GDM"), "true") == 0)
+ allow_logout = FALSE;
+
+ display = gdk_display_get_default ();
+ for (i = 0; i < gdk_display_get_n_monitors (display); i++) {
+ create_fail_dialog (gdk_display_get_monitor (display, i));
+ }
+
+ g_signal_connect (display, "monitor-added",
+ G_CALLBACK (on_monitor_added), &dialogs);
+ g_signal_connect (display, "monitor-removed",
+ G_CALLBACK (on_monitor_removed), &dialogs);
+
+ gtk_main ();
+
+ return 0;
+}
+
diff --git a/gnome-session/gsm-fail-whale-dialog.h b/gnome-session/gsm-fail-whale-dialog.h
new file mode 100644
index 0000000..d91028a
--- /dev/null
+++ b/gnome-session/gsm-fail-whale-dialog.h
@@ -0,0 +1,36 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2019 Canonical Ltd.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Colin Walters <walters@verbum.org>
+ * Marco Trevisan <marco@ubuntu.com>
+ */
+
+#ifndef __GSM_FAIL_WHALE_DIALOG_H__
+#define __GSM_FAIL_WHALE_DIALOG_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_FAIL_WHALE_DIALOG (gsm_fail_whale_dialog_get_type ())
+G_DECLARE_FINAL_TYPE (GsmFailWhaleDialog, gsm_fail_whale_dialog, GSM, FAIL_WHALE_DIALOG, GtkWindow);
+
+G_END_DECLS
+
+#endif /* __GSM_FAIL_WHALE_DIALOG_H__ */
diff --git a/gnome-session/gsm-fail-whale.c b/gnome-session/gsm-fail-whale.c
new file mode 100644
index 0000000..6ec0663
--- /dev/null
+++ b/gnome-session/gsm-fail-whale.c
@@ -0,0 +1,66 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * gsm-fail-whale.c
+ * Copyright (C) 2012 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include <signal.h>
+#include <stdlib.h>
+
+#include <glib/gi18n.h>
+#include <glib/gstdio.h>
+
+#include "gsm-fail-whale.h"
+#include "gsm-util.h"
+
+static void
+on_fail_whale_failed (void)
+{
+ raise (SIGTERM);
+}
+
+void
+gsm_fail_whale_dialog_we_failed (gboolean debug_mode,
+ gboolean allow_logout,
+ GsmShellExtensions *extensions)
+{
+ gint i;
+ gchar *argv[5];
+ static GPid pid = 0;
+
+ if (pid != 0) {
+ return;
+ }
+
+ i = 0;
+ argv[i++] = LIBEXECDIR "/gnome-session-failed";
+ if (debug_mode)
+ argv[i++] = "--debug";
+ if (allow_logout)
+ argv[i++] = "--allow-logout";
+ if (extensions != NULL && gsm_shell_extensions_n_extensions (extensions) > 0)
+ argv[i++] = "--extensions";
+ argv[i++] = NULL;
+
+ if (!g_spawn_async (NULL, argv, (char **) gsm_util_listenv (), G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, NULL)) {
+ exit (1);
+ }
+
+ g_child_watch_add (pid,
+ (GChildWatchFunc)on_fail_whale_failed,
+ NULL);
+}
diff --git a/gnome-session/gsm-fail-whale.h b/gnome-session/gsm-fail-whale.h
new file mode 100644
index 0000000..b481e3c
--- /dev/null
+++ b/gnome-session/gsm-fail-whale.h
@@ -0,0 +1,34 @@
+/* gsm-fail-whale.h
+ * Copyright (C) 2012 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_FAIL_WHALE_H___
+#define __GSM_FAIL_WHALE_H__
+
+#include <glib.h>
+
+#include "gsm-shell-extensions.h"
+
+G_BEGIN_DECLS
+
+void gsm_fail_whale_dialog_we_failed (gboolean debug_mode,
+ gboolean allow_logout,
+ GsmShellExtensions *extensions);
+
+G_END_DECLS
+
+#endif /* __GSM_FAIL_WHALE_H__ */
+
diff --git a/gnome-session/gsm-icon-names.h b/gnome-session/gsm-icon-names.h
new file mode 100644
index 0000000..cca051b
--- /dev/null
+++ b/gnome-session/gsm-icon-names.h
@@ -0,0 +1,28 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2011 Novell, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_ICON_NAMES_H__
+#define __GSM_ICON_NAMES_H__
+
+#define GSM_ICON_COMPUTER_FAIL "computer-fail-symbolic"
+#define GSM_ICON_INHIBITOR_DEFAULT "gnome-windows"
+#define GSM_ICON_LOGOUT "system-log-out"
+#define GSM_ICON_SHUTDOWN "system-shutdown"
+#define GSM_ICON_XSMP_DEFAULT "system-run"
+
+#endif /*__GSM_ICON_NAMES_H__ */
diff --git a/gnome-session/gsm-inhibitor-flag.h b/gnome-session/gsm-inhibitor-flag.h
new file mode 100644
index 0000000..40698f9
--- /dev/null
+++ b/gnome-session/gsm-inhibitor-flag.h
@@ -0,0 +1,36 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_INHIBITOR_FLAG_H__
+#define __GSM_INHIBITOR_FLAG_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+typedef enum {
+ GSM_INHIBITOR_FLAG_LOGOUT = 1 << 0,
+ GSM_INHIBITOR_FLAG_SWITCH_USER = 1 << 1,
+ GSM_INHIBITOR_FLAG_SUSPEND = 1 << 2,
+ GSM_INHIBITOR_FLAG_IDLE = 1 << 3,
+ GSM_INHIBITOR_FLAG_AUTOMOUNT = 1 << 4
+} GsmInhibitorFlag;
+
+G_END_DECLS
+
+#endif /* __GSM_INHIBITOR_FLAG_H__ */
diff --git a/gnome-session/gsm-inhibitor.c b/gnome-session/gsm-inhibitor.c
new file mode 100644
index 0000000..a9a1f42
--- /dev/null
+++ b/gnome-session/gsm-inhibitor.c
@@ -0,0 +1,649 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include "config.h"
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "gsm-inhibitor.h"
+#include "org.gnome.SessionManager.Inhibitor.h"
+
+#include "gsm-util.h"
+
+static guint32 inhibitor_serial = 1;
+
+#define GSM_INHIBITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_INHIBITOR, GsmInhibitorPrivate))
+
+struct GsmInhibitorPrivate
+{
+ char *id;
+ char *bus_name;
+ char *app_id;
+ char *client_id;
+ char *reason;
+ guint flags;
+ guint toplevel_xid;
+ guint cookie;
+ GDBusConnection *connection;
+ GsmExportedInhibitor *skeleton;
+
+ guint watch_id;
+};
+
+enum {
+ PROP_0,
+ PROP_BUS_NAME,
+ PROP_REASON,
+ PROP_APP_ID,
+ PROP_CLIENT_ID,
+ PROP_FLAGS,
+ PROP_TOPLEVEL_XID,
+ PROP_COOKIE
+};
+
+enum {
+ VANISHED,
+ LAST_SIGNAL
+};
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_TYPE (GsmInhibitor, gsm_inhibitor, G_TYPE_OBJECT)
+
+#define GSM_INHIBITOR_DBUS_IFACE "org.gnome.SessionManager.Inhibitor"
+
+static const GDBusErrorEntry gsm_inhibitor_error_entries[] = {
+ { GSM_INHIBITOR_ERROR_GENERAL, GSM_INHIBITOR_DBUS_IFACE ".GeneralError" },
+ { GSM_INHIBITOR_ERROR_NOT_SET, GSM_INHIBITOR_DBUS_IFACE ".NotSet" }
+};
+
+GQuark
+gsm_inhibitor_error_quark (void)
+{
+ static volatile gsize quark_volatile = 0;
+
+ g_dbus_error_register_error_domain ("gsm_inhibitor_error",
+ &quark_volatile,
+ gsm_inhibitor_error_entries,
+ G_N_ELEMENTS (gsm_inhibitor_error_entries));
+ return quark_volatile;
+}
+
+static gboolean
+gsm_inhibitor_get_app_id (GsmExportedInhibitor *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmInhibitor *inhibitor)
+{
+ const gchar *id;
+
+ if (inhibitor->priv->app_id != NULL) {
+ id = inhibitor->priv->app_id;
+ } else {
+ id = "";
+ }
+
+ gsm_exported_inhibitor_complete_get_app_id (skeleton, invocation, id);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_inhibitor_get_client_id (GsmExportedInhibitor *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmInhibitor *inhibitor)
+{
+ /* object paths are not allowed to be NULL or blank */
+ if (IS_STRING_EMPTY (inhibitor->priv->client_id)) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_INHIBITOR_ERROR,
+ GSM_INHIBITOR_ERROR_NOT_SET,
+ "Value is not set");
+ return TRUE;
+ }
+
+ gsm_exported_inhibitor_complete_get_client_id (skeleton, invocation, inhibitor->priv->client_id);
+ g_debug ("GsmInhibitor: getting client-id = '%s'", inhibitor->priv->client_id);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_inhibitor_get_reason (GsmExportedInhibitor *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmInhibitor *inhibitor)
+{
+ const gchar *reason;
+
+ if (inhibitor->priv->reason != NULL) {
+ reason = inhibitor->priv->reason;
+ } else {
+ reason = "";
+ }
+
+ gsm_exported_inhibitor_complete_get_reason (skeleton, invocation, reason);
+ return TRUE;
+}
+
+static gboolean
+gsm_inhibitor_get_flags (GsmExportedInhibitor *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmInhibitor *inhibitor)
+{
+ gsm_exported_inhibitor_complete_get_flags (skeleton, invocation, inhibitor->priv->flags);
+ return TRUE;
+}
+
+static gboolean
+gsm_inhibitor_get_toplevel_xid (GsmExportedInhibitor *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmInhibitor *inhibitor)
+{
+ gsm_exported_inhibitor_complete_get_toplevel_xid (skeleton, invocation, inhibitor->priv->toplevel_xid);
+ return TRUE;
+}
+
+static guint32
+get_next_inhibitor_serial (void)
+{
+ guint32 serial;
+
+ serial = inhibitor_serial++;
+
+ if ((gint32)inhibitor_serial < 0) {
+ inhibitor_serial = 1;
+ }
+
+ return serial;
+}
+
+static gboolean
+register_inhibitor (GsmInhibitor *inhibitor)
+{
+ GError *error;
+ GsmExportedInhibitor *skeleton;
+
+ error = NULL;
+ inhibitor->priv->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (error != NULL) {
+ g_critical ("error getting session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ skeleton = gsm_exported_inhibitor_skeleton_new ();
+ inhibitor->priv->skeleton = skeleton;
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ inhibitor->priv->connection,
+ inhibitor->priv->id, &error);
+
+ if (error != NULL) {
+ g_critical ("error exporting inhibitor on session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_signal_connect (skeleton, "handle-get-app-id",
+ G_CALLBACK (gsm_inhibitor_get_app_id), inhibitor);
+ g_signal_connect (skeleton, "handle-get-client-id",
+ G_CALLBACK (gsm_inhibitor_get_client_id), inhibitor);
+ g_signal_connect (skeleton, "handle-get-flags",
+ G_CALLBACK (gsm_inhibitor_get_flags), inhibitor);
+ g_signal_connect (skeleton, "handle-get-reason",
+ G_CALLBACK (gsm_inhibitor_get_reason), inhibitor);
+ g_signal_connect (skeleton, "handle-get-toplevel-xid",
+ G_CALLBACK (gsm_inhibitor_get_toplevel_xid), inhibitor);
+
+ return TRUE;
+}
+
+static GObject *
+gsm_inhibitor_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmInhibitor *inhibitor;
+ gboolean res;
+
+ inhibitor = GSM_INHIBITOR (G_OBJECT_CLASS (gsm_inhibitor_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+
+ g_free (inhibitor->priv->id);
+ inhibitor->priv->id = g_strdup_printf ("/org/gnome/SessionManager/Inhibitor%u", get_next_inhibitor_serial ());
+ res = register_inhibitor (inhibitor);
+ if (! res) {
+ g_warning ("Unable to register inhibitor with session bus");
+ }
+
+ return G_OBJECT (inhibitor);
+}
+
+static void
+gsm_inhibitor_init (GsmInhibitor *inhibitor)
+{
+ inhibitor->priv = GSM_INHIBITOR_GET_PRIVATE (inhibitor);
+}
+
+static void
+on_inhibitor_vanished (GDBusConnection *connection,
+ const char *name,
+ gpointer user_data)
+{
+ GsmInhibitor *inhibitor = user_data;
+
+ g_bus_unwatch_name (inhibitor->priv->watch_id);
+ inhibitor->priv->watch_id = 0;
+
+ g_signal_emit (inhibitor, signals[VANISHED], 0);
+}
+
+static void
+gsm_inhibitor_set_bus_name (GsmInhibitor *inhibitor,
+ const char *bus_name)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ g_free (inhibitor->priv->bus_name);
+
+ if (bus_name != NULL) {
+ inhibitor->priv->bus_name = g_strdup (bus_name);
+
+ inhibitor->priv->watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
+ bus_name,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ NULL,
+ on_inhibitor_vanished,
+ inhibitor,
+ NULL);
+ } else {
+ inhibitor->priv->bus_name = g_strdup ("");
+ }
+ g_object_notify (G_OBJECT (inhibitor), "bus-name");
+}
+
+static void
+gsm_inhibitor_set_app_id (GsmInhibitor *inhibitor,
+ const char *app_id)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ g_free (inhibitor->priv->app_id);
+
+ inhibitor->priv->app_id = g_strdup (app_id);
+ g_object_notify (G_OBJECT (inhibitor), "app-id");
+}
+
+static void
+gsm_inhibitor_set_client_id (GsmInhibitor *inhibitor,
+ const char *client_id)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ g_free (inhibitor->priv->client_id);
+
+ g_debug ("GsmInhibitor: setting client-id = %s", client_id);
+
+ if (client_id != NULL) {
+ inhibitor->priv->client_id = g_strdup (client_id);
+ } else {
+ inhibitor->priv->client_id = g_strdup ("");
+ }
+ g_object_notify (G_OBJECT (inhibitor), "client-id");
+}
+
+static void
+gsm_inhibitor_set_reason (GsmInhibitor *inhibitor,
+ const char *reason)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ g_free (inhibitor->priv->reason);
+
+ if (reason != NULL) {
+ inhibitor->priv->reason = g_strdup (reason);
+ } else {
+ inhibitor->priv->reason = g_strdup ("");
+ }
+ g_object_notify (G_OBJECT (inhibitor), "reason");
+}
+
+static void
+gsm_inhibitor_set_cookie (GsmInhibitor *inhibitor,
+ guint cookie)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ if (inhibitor->priv->cookie != cookie) {
+ inhibitor->priv->cookie = cookie;
+ g_object_notify (G_OBJECT (inhibitor), "cookie");
+ }
+}
+
+static void
+gsm_inhibitor_set_flags (GsmInhibitor *inhibitor,
+ guint flags)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ if (inhibitor->priv->flags != flags) {
+ inhibitor->priv->flags = flags;
+ g_object_notify (G_OBJECT (inhibitor), "flags");
+ }
+}
+
+static void
+gsm_inhibitor_set_toplevel_xid (GsmInhibitor *inhibitor,
+ guint xid)
+{
+ g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
+
+ if (inhibitor->priv->toplevel_xid != xid) {
+ inhibitor->priv->toplevel_xid = xid;
+ g_object_notify (G_OBJECT (inhibitor), "toplevel-xid");
+ }
+}
+
+const char *
+gsm_inhibitor_peek_bus_name (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
+
+ return inhibitor->priv->bus_name;
+}
+
+const char *
+gsm_inhibitor_peek_id (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
+
+ return inhibitor->priv->id;
+}
+
+const char *
+gsm_inhibitor_peek_app_id (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
+
+ return inhibitor->priv->app_id;
+}
+
+const char *
+gsm_inhibitor_peek_client_id (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
+
+ return inhibitor->priv->client_id;
+}
+
+const char *
+gsm_inhibitor_peek_reason (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
+
+ return inhibitor->priv->reason;
+}
+
+guint
+gsm_inhibitor_peek_flags (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
+
+ return inhibitor->priv->flags;
+}
+
+guint
+gsm_inhibitor_peek_toplevel_xid (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
+
+ return inhibitor->priv->toplevel_xid;
+}
+
+guint
+gsm_inhibitor_peek_cookie (GsmInhibitor *inhibitor)
+{
+ g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
+
+ return inhibitor->priv->cookie;
+}
+
+static void
+gsm_inhibitor_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmInhibitor *self;
+
+ self = GSM_INHIBITOR (object);
+
+ switch (prop_id) {
+ case PROP_BUS_NAME:
+ gsm_inhibitor_set_bus_name (self, g_value_get_string (value));
+ break;
+ case PROP_APP_ID:
+ gsm_inhibitor_set_app_id (self, g_value_get_string (value));
+ break;
+ case PROP_CLIENT_ID:
+ gsm_inhibitor_set_client_id (self, g_value_get_string (value));
+ break;
+ case PROP_REASON:
+ gsm_inhibitor_set_reason (self, g_value_get_string (value));
+ break;
+ case PROP_FLAGS:
+ gsm_inhibitor_set_flags (self, g_value_get_uint (value));
+ break;
+ case PROP_COOKIE:
+ gsm_inhibitor_set_cookie (self, g_value_get_uint (value));
+ break;
+ case PROP_TOPLEVEL_XID:
+ gsm_inhibitor_set_toplevel_xid (self, g_value_get_uint (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_inhibitor_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmInhibitor *self;
+
+ self = GSM_INHIBITOR (object);
+
+ switch (prop_id) {
+ case PROP_BUS_NAME:
+ g_value_set_string (value, self->priv->bus_name);
+ break;
+ case PROP_APP_ID:
+ g_value_set_string (value, self->priv->app_id);
+ break;
+ case PROP_CLIENT_ID:
+ g_value_set_string (value, self->priv->client_id);
+ break;
+ case PROP_REASON:
+ g_value_set_string (value, self->priv->reason);
+ break;
+ case PROP_FLAGS:
+ g_value_set_uint (value, self->priv->flags);
+ break;
+ case PROP_COOKIE:
+ g_value_set_uint (value, self->priv->cookie);
+ break;
+ case PROP_TOPLEVEL_XID:
+ g_value_set_uint (value, self->priv->toplevel_xid);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_inhibitor_finalize (GObject *object)
+{
+ GsmInhibitor *inhibitor = (GsmInhibitor *) object;
+
+ g_free (inhibitor->priv->id);
+ g_free (inhibitor->priv->bus_name);
+ g_free (inhibitor->priv->app_id);
+ g_free (inhibitor->priv->client_id);
+ g_free (inhibitor->priv->reason);
+
+ if (inhibitor->priv->skeleton != NULL) {
+ g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (inhibitor->priv->skeleton),
+ inhibitor->priv->connection);
+ g_clear_object (&inhibitor->priv->skeleton);
+ }
+
+ if (inhibitor->priv->watch_id != 0) {
+ g_bus_unwatch_name (inhibitor->priv->watch_id);
+ }
+
+ g_clear_object (&inhibitor->priv->connection);
+
+ G_OBJECT_CLASS (gsm_inhibitor_parent_class)->finalize (object);
+}
+
+static void
+gsm_inhibitor_class_init (GsmInhibitorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = gsm_inhibitor_finalize;
+ object_class->constructor = gsm_inhibitor_constructor;
+ object_class->get_property = gsm_inhibitor_get_property;
+ object_class->set_property = gsm_inhibitor_set_property;
+
+ signals[VANISHED] =
+ g_signal_new ("vanished",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 0);
+ g_object_class_install_property (object_class,
+ PROP_BUS_NAME,
+ g_param_spec_string ("bus-name",
+ "bus-name",
+ "bus-name",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_APP_ID,
+ g_param_spec_string ("app-id",
+ "app-id",
+ "app-id",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_CLIENT_ID,
+ g_param_spec_string ("client-id",
+ "client-id",
+ "client-id",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_REASON,
+ g_param_spec_string ("reason",
+ "reason",
+ "reason",
+ "",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_FLAGS,
+ g_param_spec_uint ("flags",
+ "flags",
+ "flags",
+ 0,
+ G_MAXINT,
+ 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_TOPLEVEL_XID,
+ g_param_spec_uint ("toplevel-xid",
+ "toplevel-xid",
+ "toplevel-xid",
+ 0,
+ G_MAXINT,
+ 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_COOKIE,
+ g_param_spec_uint ("cookie",
+ "cookie",
+ "cookie",
+ 0,
+ G_MAXINT,
+ 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_type_class_add_private (klass, sizeof (GsmInhibitorPrivate));
+}
+
+GsmInhibitor *
+gsm_inhibitor_new (const char *app_id,
+ guint toplevel_xid,
+ guint flags,
+ const char *reason,
+ const char *bus_name,
+ guint cookie)
+{
+ GsmInhibitor *inhibitor;
+
+ inhibitor = g_object_new (GSM_TYPE_INHIBITOR,
+ "app-id", app_id,
+ "reason", reason,
+ "bus-name", bus_name,
+ "flags", flags,
+ "toplevel-xid", toplevel_xid,
+ "cookie", cookie,
+ NULL);
+
+ return inhibitor;
+}
+
+GsmInhibitor *
+gsm_inhibitor_new_for_client (const char *client_id,
+ const char *app_id,
+ guint flags,
+ const char *reason,
+ const char *bus_name,
+ guint cookie)
+{
+ GsmInhibitor *inhibitor;
+
+ inhibitor = g_object_new (GSM_TYPE_INHIBITOR,
+ "client-id", client_id,
+ "app-id", app_id,
+ "reason", reason,
+ "bus-name", bus_name,
+ "flags", flags,
+ "cookie", cookie,
+ NULL);
+
+ return inhibitor;
+}
diff --git a/gnome-session/gsm-inhibitor.h b/gnome-session/gsm-inhibitor.h
new file mode 100644
index 0000000..5229fe1
--- /dev/null
+++ b/gnome-session/gsm-inhibitor.h
@@ -0,0 +1,88 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_INHIBITOR_H__
+#define __GSM_INHIBITOR_H__
+
+#include <glib-object.h>
+#include <sys/types.h>
+
+#include "gsm-inhibitor-flag.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_INHIBITOR (gsm_inhibitor_get_type ())
+#define GSM_INHIBITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_INHIBITOR, GsmInhibitor))
+#define GSM_INHIBITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_INHIBITOR, GsmInhibitorClass))
+#define GSM_IS_INHIBITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_INHIBITOR))
+#define GSM_IS_INHIBITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_INHIBITOR))
+#define GSM_INHIBITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_INHIBITOR, GsmInhibitorClass))
+
+typedef struct _GsmInhibitor GsmInhibitor;
+typedef struct _GsmInhibitorClass GsmInhibitorClass;
+
+typedef struct GsmInhibitorPrivate GsmInhibitorPrivate;
+
+struct _GsmInhibitor
+{
+ GObject parent;
+ GsmInhibitorPrivate *priv;
+};
+
+struct _GsmInhibitorClass
+{
+ GObjectClass parent_class;
+};
+
+typedef enum
+{
+ GSM_INHIBITOR_ERROR_GENERAL = 0,
+ GSM_INHIBITOR_ERROR_NOT_SET,
+ GSM_INHIBITOR_NUM_ERRORS
+} GsmInhibitorError;
+
+#define GSM_INHIBITOR_ERROR gsm_inhibitor_error_quark ()
+GQuark gsm_inhibitor_error_quark (void);
+
+GType gsm_inhibitor_get_type (void) G_GNUC_CONST;
+
+GsmInhibitor * gsm_inhibitor_new (const char *app_id,
+ guint toplevel_xid,
+ guint flags,
+ const char *reason,
+ const char *bus_name,
+ guint cookie);
+GsmInhibitor * gsm_inhibitor_new_for_client (const char *client_id,
+ const char *app_id,
+ guint flags,
+ const char *reason,
+ const char *bus_name,
+ guint cookie);
+
+const char * gsm_inhibitor_peek_id (GsmInhibitor *inhibitor);
+const char * gsm_inhibitor_peek_app_id (GsmInhibitor *inhibitor);
+const char * gsm_inhibitor_peek_client_id (GsmInhibitor *inhibitor);
+const char * gsm_inhibitor_peek_reason (GsmInhibitor *inhibitor);
+const char * gsm_inhibitor_peek_bus_name (GsmInhibitor *inhibitor);
+guint gsm_inhibitor_peek_cookie (GsmInhibitor *inhibitor);
+guint gsm_inhibitor_peek_flags (GsmInhibitor *inhibitor);
+guint gsm_inhibitor_peek_toplevel_xid (GsmInhibitor *inhibitor);
+
+G_END_DECLS
+
+#endif /* __GSM_INHIBITOR_H__ */
diff --git a/gnome-session/gsm-manager-logout-mode.h b/gnome-session/gsm-manager-logout-mode.h
new file mode 100644
index 0000000..7b51751
--- /dev/null
+++ b/gnome-session/gsm-manager-logout-mode.h
@@ -0,0 +1,34 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 William Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#ifndef __GSM_MANAGER_LOGOUT_MODE_H
+#define __GSM_MANAGER_LOGOUT_MODE_H
+
+G_BEGIN_DECLS
+
+typedef enum {
+ GSM_MANAGER_LOGOUT_MODE_NORMAL = 0,
+ GSM_MANAGER_LOGOUT_MODE_NO_CONFIRMATION,
+ GSM_MANAGER_LOGOUT_MODE_FORCE
+} GsmManagerLogoutMode;
+
+G_END_DECLS
+
+#endif /* __GSM_MANAGER_LOGOUT_MODE_H */
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
new file mode 100644
index 0000000..1b88b26
--- /dev/null
+++ b/gnome-session/gsm-manager.c
@@ -0,0 +1,3928 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, Inc.
+ * Copyright (C) 2008 William Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <signal.h>
+#include <locale.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glib/gstdio.h>
+#include <glib-object.h>
+#include <gio/gio.h>
+
+#include "gsm-manager.h"
+#include "org.gnome.SessionManager.h"
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+#include <systemd/sd-journal.h>
+#endif
+
+#ifdef HAVE_SYSTEMD
+#include <systemd/sd-daemon.h>
+#else
+/* So we don't need to add ifdef's everywhere */
+#define sd_notify(u, m) do {} while (0)
+#define sd_notifyf(u, m, ...) do {} while (0)
+#endif
+
+#include "gsm-store.h"
+#include "gsm-inhibitor.h"
+#include "gsm-presence.h"
+#include "gsm-shell.h"
+
+#include "gsm-xsmp-server.h"
+#include "gsm-xsmp-client.h"
+#include "gsm-dbus-client.h"
+
+#include "gsm-autostart-app.h"
+
+#include "gsm-util.h"
+#include "gsm-icon-names.h"
+#include "gsm-system.h"
+#include "gsm-session-save.h"
+#include "gsm-shell-extensions.h"
+#include "gsm-fail-whale.h"
+
+/* UUIDs for log messages */
+#define GSM_MANAGER_STARTUP_SUCCEEDED_MSGID "0ce153587afa4095832d233c17a88001"
+#define GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID "10dd2dc188b54a5e98970f56499d1f73"
+
+#define GSM_MANAGER_DBUS_PATH "/org/gnome/SessionManager"
+#define GSM_MANAGER_DBUS_NAME "org.gnome.SessionManager"
+#define GSM_MANAGER_DBUS_IFACE "org.gnome.SessionManager"
+
+/* Probably about the longest amount of time someone could reasonably
+ * want to wait, at least for something happening more than once.
+ * We can get deployed on very slow media though like CDROM devices,
+ * often with complex stacking/compressing filesystems on top, which
+ * is not a recipie for speed. Particularly now that we throw up
+ * a fail whale if required components don't show up quickly enough,
+ * let's make this fairly long.
+ */
+#define GSM_MANAGER_PHASE_TIMEOUT 90 /* seconds */
+
+#define GDM_FLEXISERVER_COMMAND "gdmflexiserver"
+#define GDM_FLEXISERVER_ARGS "--startnew Standard"
+
+#define SESSION_SCHEMA "org.gnome.desktop.session"
+#define KEY_IDLE_DELAY "idle-delay"
+#define KEY_SESSION_NAME "session-name"
+
+#define GSM_MANAGER_SCHEMA "org.gnome.SessionManager"
+#define KEY_AUTOSAVE "auto-save-session"
+#define KEY_AUTOSAVE_ONE_SHOT "auto-save-session-one-shot"
+#define KEY_LOGOUT_PROMPT "logout-prompt"
+#define KEY_SHOW_FALLBACK_WARNING "show-fallback-warning"
+
+#define SCREENSAVER_SCHEMA "org.gnome.desktop.screensaver"
+#define KEY_SLEEP_LOCK "lock-enabled"
+
+#define LOCKDOWN_SCHEMA "org.gnome.desktop.lockdown"
+#define KEY_DISABLE_LOG_OUT "disable-log-out"
+#define KEY_DISABLE_USER_SWITCHING "disable-user-switching"
+
+static void app_registered (GsmApp *app, GParamSpec *spec, GsmManager *manager);
+
+typedef enum
+{
+ GSM_MANAGER_LOGOUT_NONE,
+ GSM_MANAGER_LOGOUT_LOGOUT,
+ GSM_MANAGER_LOGOUT_REBOOT,
+ GSM_MANAGER_LOGOUT_REBOOT_INTERACT,
+ GSM_MANAGER_LOGOUT_SHUTDOWN,
+ GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT,
+} GsmManagerLogoutType;
+
+typedef struct
+{
+ gboolean failsafe;
+ gboolean systemd_managed;
+ gboolean systemd_initialized;
+ gboolean manager_initialized;
+ GsmStore *clients;
+ GsmStore *inhibitors;
+ GsmInhibitorFlag inhibited_actions;
+ GsmStore *apps;
+ GsmPresence *presence;
+ GsmXsmpServer *xsmp_server;
+
+ char *session_name;
+ gboolean is_fallback_session : 1;
+
+ /* Current status */
+ GsmManagerPhase phase;
+ guint phase_timeout_id;
+ GSList *required_apps;
+ GSList *pending_apps;
+ GsmManagerLogoutMode logout_mode;
+ GSList *query_clients;
+ guint query_timeout_id;
+ /* This is used for GSM_MANAGER_PHASE_END_SESSION only at the moment,
+ * since it uses a sublist of all running client that replied in a
+ * specific way */
+ GSList *next_query_clients;
+ /* This is the action that will be done just before we exit */
+ GsmManagerLogoutType logout_type;
+
+ /* List of clients which were disconnected due to disabled condition
+ * and shouldn't be automatically restarted */
+ GSList *condition_clients;
+
+ GSList *pending_end_session_tasks;
+ GCancellable *end_session_cancellable;
+
+ GSettings *settings;
+ GSettings *session_settings;
+ GSettings *screensaver_settings;
+ GSettings *lockdown_settings;
+
+ GsmSystem *system;
+ GDBusConnection *connection;
+ GsmExportedManager *skeleton;
+ gboolean dbus_disconnected : 1;
+
+ GsmShell *shell;
+ guint shell_end_session_dialog_canceled_id;
+ guint shell_end_session_dialog_open_failed_id;
+ guint shell_end_session_dialog_confirmed_logout_id;
+ guint shell_end_session_dialog_confirmed_shutdown_id;
+ guint shell_end_session_dialog_confirmed_reboot_id;
+} GsmManagerPrivate;
+
+enum {
+ PROP_0,
+ PROP_CLIENT_STORE,
+ PROP_SESSION_NAME,
+ PROP_FALLBACK,
+ PROP_FAILSAFE,
+ PROP_SYSTEMD_MANAGED
+};
+
+enum {
+ PHASE_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals [LAST_SIGNAL] = { 0 };
+
+static void gsm_manager_class_init (GsmManagerClass *klass);
+static void gsm_manager_init (GsmManager *manager);
+
+static gboolean auto_save_is_enabled (GsmManager *manager);
+static void maybe_save_session (GsmManager *manager);
+
+static gboolean _log_out_is_locked_down (GsmManager *manager);
+
+static void _handle_client_end_session_response (GsmManager *manager,
+ GsmClient *client,
+ gboolean is_ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason);
+static void show_shell_end_session_dialog (GsmManager *manager,
+ GsmShellEndSessionDialogType type);
+static gpointer manager_object = NULL;
+
+G_DEFINE_TYPE_WITH_PRIVATE (GsmManager, gsm_manager, G_TYPE_OBJECT)
+
+static const GDBusErrorEntry gsm_manager_error_entries[] = {
+ { GSM_MANAGER_ERROR_GENERAL, GSM_MANAGER_DBUS_IFACE ".GeneralError" },
+ { GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION, GSM_MANAGER_DBUS_IFACE ".NotInInitialization" },
+ { GSM_MANAGER_ERROR_NOT_IN_RUNNING, GSM_MANAGER_DBUS_IFACE ".NotInRunning" },
+ { GSM_MANAGER_ERROR_ALREADY_REGISTERED, GSM_MANAGER_DBUS_IFACE ".AlreadyRegistered" },
+ { GSM_MANAGER_ERROR_NOT_REGISTERED, GSM_MANAGER_DBUS_IFACE ".NotRegistered" },
+ { GSM_MANAGER_ERROR_INVALID_OPTION, GSM_MANAGER_DBUS_IFACE ".InvalidOption" },
+ { GSM_MANAGER_ERROR_LOCKED_DOWN, GSM_MANAGER_DBUS_IFACE ".LockedDown" }
+};
+
+GQuark
+gsm_manager_error_quark (void)
+{
+ static volatile gsize quark_volatile = 0;
+
+ g_dbus_error_register_error_domain ("gsm_manager_error",
+ &quark_volatile,
+ gsm_manager_error_entries,
+ G_N_ELEMENTS (gsm_manager_error_entries));
+ return quark_volatile;
+}
+
+static gboolean
+start_app_or_warn (GsmManager *manager,
+ GsmApp *app)
+{
+ gboolean res;
+ GError *error = NULL;
+
+ g_debug ("GsmManager: starting app '%s'", gsm_app_peek_id (app));
+
+ res = gsm_app_start (app, &error);
+ if (error != NULL) {
+ g_warning ("Failed to start app: %s", error->message);
+ g_clear_error (&error);
+ }
+ return res;
+}
+
+static gboolean
+is_app_required (GsmManager *manager,
+ GsmApp *app)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ return g_slist_find (priv->required_apps, app) != NULL;
+}
+
+static void
+on_required_app_failure (GsmManager *manager,
+ GsmApp *app)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ const gchar *app_id;
+ gboolean allow_logout;
+ GsmShellExtensions *extensions;
+
+ app_id = gsm_app_peek_app_id (app);
+
+ if (g_str_equal (app_id, "org.gnome.Shell.desktop")) {
+ extensions = g_object_new (GSM_TYPE_SHELL_EXTENSIONS, NULL);
+ gsm_shell_extensions_disable_all (extensions);
+ } else {
+ extensions = NULL;
+ }
+
+ if (gsm_system_is_login_session (priv->system)) {
+ allow_logout = FALSE;
+ } else {
+ allow_logout = !_log_out_is_locked_down (manager);
+ }
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+ sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID,
+ "PRIORITY=%d", 3,
+ "MESSAGE=Unrecoverable failure in required component %s", app_id,
+ NULL);
+#endif
+
+ gsm_fail_whale_dialog_we_failed (FALSE,
+ allow_logout,
+ extensions);
+}
+
+static void
+on_display_server_failure (GsmManager *manager,
+ GsmApp *app)
+{
+ const gchar *app_id;
+ GsmShellExtensions *extensions;
+
+ app_id = gsm_app_peek_app_id (app);
+
+ if (g_str_equal (app_id, "org.gnome.Shell.desktop")) {
+ extensions = g_object_new (GSM_TYPE_SHELL_EXTENSIONS, NULL);
+ gsm_shell_extensions_disable_all (extensions);
+
+ g_object_unref (extensions);
+ } else {
+ extensions = NULL;
+ }
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+ sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID,
+ "PRIORITY=%d", 3,
+ "MESSAGE=Unrecoverable failure in required component %s", app_id,
+ NULL);
+#endif
+
+ gsm_quit ();
+}
+
+static gboolean
+_debug_client (const char *id,
+ GsmClient *client,
+ GsmManager *manager)
+{
+ g_debug ("GsmManager: Client %s", gsm_client_peek_id (client));
+ return FALSE;
+}
+
+static void
+debug_clients (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc)_debug_client,
+ manager);
+}
+
+static gboolean
+_find_by_cookie (const char *id,
+ GsmInhibitor *inhibitor,
+ guint *cookie_ap)
+{
+ guint cookie_b;
+
+ cookie_b = gsm_inhibitor_peek_cookie (inhibitor);
+
+ return (*cookie_ap == cookie_b);
+}
+
+static gboolean
+_client_has_startup_id (const char *id,
+ GsmClient *client,
+ const char *startup_id_a)
+{
+ const char *startup_id_b;
+
+ startup_id_b = gsm_client_peek_startup_id (client);
+ if (IS_STRING_EMPTY (startup_id_b)) {
+ return FALSE;
+ }
+
+ return (strcmp (startup_id_a, startup_id_b) == 0);
+}
+
+static void
+app_condition_changed (GsmApp *app,
+ gboolean condition,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmClient *client;
+
+ g_debug ("GsmManager: app:%s condition changed condition:%d",
+ gsm_app_peek_id (app),
+ condition);
+
+ client = (GsmClient *)gsm_store_find (priv->clients,
+ (GsmStoreFunc)_client_has_startup_id,
+ (char *)gsm_app_peek_startup_id (app));
+
+ if (condition) {
+ if (!gsm_app_is_running (app) && client == NULL) {
+ start_app_or_warn (manager, app);
+ } else {
+ g_debug ("GsmManager: not starting - app still running '%s'", gsm_app_peek_id (app));
+ }
+ } else {
+ GError *error;
+ gboolean res;
+
+ if (client != NULL) {
+ /* Kill client in case condition if false and make sure it won't
+ * be automatically restarted by adding the client to
+ * condition_clients */
+ priv->condition_clients =
+ g_slist_prepend (priv->condition_clients, client);
+
+ g_debug ("GsmManager: stopping client %s for app", gsm_client_peek_id (client));
+
+ error = NULL;
+ res = gsm_client_stop (client, &error);
+ if (! res) {
+ g_warning ("Not able to stop app client from its condition: %s",
+ error->message);
+ g_error_free (error);
+ }
+ } else {
+ g_debug ("GsmManager: stopping app %s", gsm_app_peek_id (app));
+
+ /* If we don't have a client then we should try to kill the app */
+ error = NULL;
+ res = gsm_app_stop (app, &error);
+ if (! res) {
+ g_warning ("Not able to stop app from its condition: %s",
+ error->message);
+ g_error_free (error);
+ }
+ }
+ }
+}
+
+static const char *
+phase_num_to_name (guint phase)
+{
+ const char *name;
+
+ switch (phase) {
+ case GSM_MANAGER_PHASE_STARTUP:
+ name = "STARTUP";
+ break;
+ case GSM_MANAGER_PHASE_EARLY_INITIALIZATION:
+ name = "EARLY_INITIALIZATION";
+ break;
+ case GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER:
+ name = "PRE_DISPLAY_SERVER";
+ break;
+ case GSM_MANAGER_PHASE_DISPLAY_SERVER:
+ name = "DISPLAY_SERVER";
+ break;
+ case GSM_MANAGER_PHASE_INITIALIZATION:
+ name = "INITIALIZATION";
+ break;
+ case GSM_MANAGER_PHASE_WINDOW_MANAGER:
+ name = "WINDOW_MANAGER";
+ break;
+ case GSM_MANAGER_PHASE_PANEL:
+ name = "PANEL";
+ break;
+ case GSM_MANAGER_PHASE_DESKTOP:
+ name = "DESKTOP";
+ break;
+ case GSM_MANAGER_PHASE_APPLICATION:
+ name = "APPLICATION";
+ break;
+ case GSM_MANAGER_PHASE_RUNNING:
+ name = "RUNNING";
+ break;
+ case GSM_MANAGER_PHASE_QUERY_END_SESSION:
+ name = "QUERY_END_SESSION";
+ break;
+ case GSM_MANAGER_PHASE_END_SESSION:
+ name = "END_SESSION";
+ break;
+ case GSM_MANAGER_PHASE_EXIT:
+ name = "EXIT";
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ return name;
+}
+
+static void start_phase (GsmManager *manager);
+
+static void
+gsm_manager_quit (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* See the comment in request_reboot() for some more details about how
+ * this works. */
+
+ switch (priv->logout_type) {
+ case GSM_MANAGER_LOGOUT_LOGOUT:
+ case GSM_MANAGER_LOGOUT_NONE:
+ gsm_quit ();
+ break;
+ case GSM_MANAGER_LOGOUT_REBOOT:
+ case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
+ gsm_system_complete_shutdown (priv->system);
+ gsm_quit ();
+ break;
+ case GSM_MANAGER_LOGOUT_SHUTDOWN:
+ case GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT:
+ gsm_system_complete_shutdown (priv->system);
+ gsm_quit ();
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+}
+
+static gboolean do_query_end_session_exit (GsmManager *manager);
+
+static void
+end_phase (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean start_next_phase = TRUE;
+
+ g_debug ("GsmManager: ending phase %s",
+ phase_num_to_name (priv->phase));
+
+ g_slist_free (priv->pending_apps);
+ priv->pending_apps = NULL;
+
+ g_slist_free (priv->query_clients);
+ priv->query_clients = NULL;
+
+ g_slist_free (priv->next_query_clients);
+ priv->next_query_clients = NULL;
+
+ if (priv->query_timeout_id > 0) {
+ g_source_remove (priv->query_timeout_id);
+ priv->query_timeout_id = 0;
+ }
+ if (priv->phase_timeout_id > 0) {
+ g_source_remove (priv->phase_timeout_id);
+ priv->phase_timeout_id = 0;
+ }
+
+ switch (priv->phase) {
+ case GSM_MANAGER_PHASE_STARTUP:
+ case GSM_MANAGER_PHASE_EARLY_INITIALIZATION:
+ case GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER:
+ case GSM_MANAGER_PHASE_DISPLAY_SERVER:
+ break;
+ case GSM_MANAGER_PHASE_INITIALIZATION:
+ priv->manager_initialized = TRUE;
+ /* Wait for systemd if it isn't initialized yet*/
+ if (priv->systemd_managed && !priv->systemd_initialized) {
+ sd_notify (0, "STATUS=GNOME Session Manager waiting for gnome-session-initialized.target (via signal)");
+ start_next_phase = FALSE;
+ }
+ break;
+ case GSM_MANAGER_PHASE_WINDOW_MANAGER:
+ case GSM_MANAGER_PHASE_PANEL:
+ case GSM_MANAGER_PHASE_DESKTOP:
+ case GSM_MANAGER_PHASE_APPLICATION:
+ break;
+ case GSM_MANAGER_PHASE_RUNNING:
+ if (_log_out_is_locked_down (manager)) {
+ g_warning ("Unable to logout: Logout has been locked down");
+ start_next_phase = FALSE;
+ }
+ break;
+ case GSM_MANAGER_PHASE_QUERY_END_SESSION:
+ if (!do_query_end_session_exit (manager))
+ start_next_phase = FALSE;
+ break;
+ case GSM_MANAGER_PHASE_END_SESSION:
+ maybe_save_session (manager);
+ break;
+ case GSM_MANAGER_PHASE_EXIT:
+ start_next_phase = FALSE;
+ gsm_manager_quit (manager);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ if (start_next_phase) {
+ priv->phase++;
+ start_phase (manager);
+ }
+}
+
+static void
+app_event_during_startup (GsmManager *manager,
+ GsmApp *app)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (!(priv->phase < GSM_MANAGER_PHASE_APPLICATION))
+ return;
+
+ priv->pending_apps = g_slist_remove (priv->pending_apps, app);
+
+ if (priv->pending_apps == NULL) {
+ if (priv->phase_timeout_id > 0) {
+ g_source_remove (priv->phase_timeout_id);
+ priv->phase_timeout_id = 0;
+ }
+
+ end_phase (manager);
+ }
+}
+
+static gboolean
+is_app_display_server (GsmManager *manager,
+ GsmApp *app)
+{
+ GsmManagerPhase phase;
+
+ /* Apps can only really act as a display server if
+ * we're a wayland session.
+ */
+ if (g_strcmp0 (g_getenv ("XDG_SESSION_TYPE"), "wayland") != 0)
+ return FALSE;
+
+ phase = gsm_app_peek_phase (app);
+
+ return (phase == GSM_MANAGER_PHASE_DISPLAY_SERVER &&
+ is_app_required (manager, app));
+}
+
+static void
+_restart_app (GsmManager *manager,
+ GsmApp *app)
+{
+ GError *error = NULL;
+
+ if (is_app_display_server (manager, app)) {
+ on_display_server_failure (manager, app);
+ return;
+ }
+
+ if (!gsm_app_restart (app, &error)) {
+ if (is_app_required (manager, app)) {
+ on_required_app_failure (manager, app);
+ } else {
+ g_warning ("Error on restarting session managed app: %s", error->message);
+ }
+ g_clear_error (&error);
+
+ app_event_during_startup (manager, app);
+ }
+}
+
+static void
+app_died (GsmApp *app,
+ int signal,
+ GsmManager *manager)
+{
+ g_warning ("Application '%s' killed by signal %d", gsm_app_peek_app_id (app), signal);
+
+ if (gsm_app_get_registered (app) && gsm_app_peek_autorestart (app)) {
+ g_debug ("Component '%s' is autorestart, ignoring died signal",
+ gsm_app_peek_app_id (app));
+ return;
+ }
+
+ _restart_app (manager, app);
+
+ /* For now, we don't do anything with crashes from
+ * non-required apps after they hit the restart limit.
+ *
+ * Note that both required and not-required apps will be
+ * caught by ABRT/apport type infrastructure, and it'd be
+ * better to pick up the crash from there and do something
+ * un-intrusive about it generically.
+ */
+}
+
+static void
+app_exited (GsmApp *app,
+ guchar exit_code,
+ GsmManager *manager)
+{
+ if (exit_code != 0)
+ g_warning ("App '%s' exited with code %d", gsm_app_peek_app_id (app), exit_code);
+ else
+ g_debug ("App %s exited successfully", gsm_app_peek_app_id (app));
+
+ /* Consider that non-success exit status means "crash" for required components */
+ if (exit_code != 0 && is_app_required (manager, app)) {
+ if (gsm_app_get_registered (app) && gsm_app_peek_autorestart (app)) {
+ g_debug ("Component '%s' is autorestart, ignoring non-successful exit",
+ gsm_app_peek_app_id (app));
+ return;
+ }
+
+ _restart_app (manager, app);
+ } else {
+ app_event_during_startup (manager, app);
+ }
+}
+
+static void
+app_registered (GsmApp *app,
+ GParamSpec *spec,
+ GsmManager *manager)
+{
+ if (!gsm_app_get_registered (app)) {
+ return;
+ }
+
+ g_debug ("App %s registered", gsm_app_peek_app_id (app));
+
+ app_event_during_startup (manager, app);
+}
+
+static gboolean
+on_phase_timeout (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GSList *a;
+
+ priv->phase_timeout_id = 0;
+
+ switch (priv->phase) {
+ case GSM_MANAGER_PHASE_STARTUP:
+ case GSM_MANAGER_PHASE_EARLY_INITIALIZATION:
+ case GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER:
+ case GSM_MANAGER_PHASE_DISPLAY_SERVER:
+ case GSM_MANAGER_PHASE_INITIALIZATION:
+ case GSM_MANAGER_PHASE_WINDOW_MANAGER:
+ case GSM_MANAGER_PHASE_PANEL:
+ case GSM_MANAGER_PHASE_DESKTOP:
+ case GSM_MANAGER_PHASE_APPLICATION:
+ for (a = priv->pending_apps; a; a = a->next) {
+ GsmApp *app = a->data;
+ g_warning ("Application '%s' failed to register before timeout",
+ gsm_app_peek_app_id (app));
+ if (is_app_required (manager, app))
+ on_required_app_failure (manager, app);
+ }
+ break;
+ case GSM_MANAGER_PHASE_RUNNING:
+ break;
+ case GSM_MANAGER_PHASE_QUERY_END_SESSION:
+ case GSM_MANAGER_PHASE_END_SESSION:
+ break;
+ case GSM_MANAGER_PHASE_EXIT:
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ end_phase (manager);
+
+ return FALSE;
+}
+
+static gboolean
+_start_app (const char *id,
+ GsmApp *app,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (gsm_app_peek_phase (app) != priv->phase) {
+ goto out;
+ }
+
+ /* Keep track of app autostart condition in order to react
+ * accordingly in the future. */
+ g_signal_connect (app,
+ "condition-changed",
+ G_CALLBACK (app_condition_changed),
+ manager);
+
+ if (gsm_app_peek_is_disabled (app)
+ || gsm_app_peek_is_conditionally_disabled (app)) {
+ g_debug ("GsmManager: Skipping disabled app: %s", id);
+ goto out;
+ }
+
+ if (!start_app_or_warn (manager, app))
+ goto out;
+
+ if (priv->phase < GSM_MANAGER_PHASE_APPLICATION) {
+ /* Historical note - apparently,
+ * e.g. gnome-settings-daemon used to "daemonize", and
+ * so gnome-session assumes process exit means "ok
+ * we're done". Of course this is broken, we don't
+ * even distinguish between exit code 0 versus not-0,
+ * nor do we have any metadata which tells us a
+ * process is going to "daemonize" or not (and
+ * basically nothing should be anyways).
+ */
+ g_signal_connect (app,
+ "exited",
+ G_CALLBACK (app_exited),
+ manager);
+ g_signal_connect (app,
+ "notify::registered",
+ G_CALLBACK (app_registered),
+ manager);
+ g_signal_connect (app,
+ "died",
+ G_CALLBACK (app_died),
+ manager);
+ priv->pending_apps = g_slist_prepend (priv->pending_apps, app);
+ }
+ out:
+ return FALSE;
+}
+
+static void
+do_phase_startup (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ gsm_store_foreach (priv->apps,
+ (GsmStoreFunc)_start_app,
+ manager);
+
+ if (priv->pending_apps != NULL) {
+ if (priv->phase < GSM_MANAGER_PHASE_APPLICATION) {
+ priv->phase_timeout_id = g_timeout_add_seconds (GSM_MANAGER_PHASE_TIMEOUT,
+ (GSourceFunc)on_phase_timeout,
+ manager);
+ }
+ } else {
+ end_phase (manager);
+ }
+}
+
+typedef struct {
+ GsmManager *manager;
+ guint flags;
+} ClientEndSessionData;
+
+
+static gboolean
+_client_end_session (GsmClient *client,
+ ClientEndSessionData *data)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (data->manager);
+ gboolean ret;
+ GError *error;
+
+ error = NULL;
+ ret = gsm_client_end_session (client, data->flags, &error);
+ if (! ret) {
+ g_warning ("Unable to query client: %s", error->message);
+ g_error_free (error);
+ /* FIXME: what should we do if we can't communicate with client? */
+ } else {
+ g_debug ("GsmManager: adding client to end-session clients: %s", gsm_client_peek_id (client));
+ priv->query_clients = g_slist_prepend (priv->query_clients, client);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+_client_end_session_helper (const char *id,
+ GsmClient *client,
+ ClientEndSessionData *data)
+{
+ return _client_end_session (client, data);
+}
+
+static void
+complete_end_session_tasks (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GSList *l;
+
+ for (l = priv->pending_end_session_tasks;
+ l != NULL;
+ l = l->next) {
+ GTask *task = G_TASK (l->data);
+ if (!g_task_return_error_if_cancelled (task))
+ g_task_return_boolean (task, TRUE);
+ }
+
+ g_slist_free_full (priv->pending_end_session_tasks,
+ (GDestroyNotify) g_object_unref);
+ priv->pending_end_session_tasks = NULL;
+}
+
+static void
+do_phase_end_session (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ ClientEndSessionData data;
+
+ complete_end_session_tasks (manager);
+
+ data.manager = manager;
+ data.flags = 0;
+
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_FORCEFUL;
+ }
+ if (auto_save_is_enabled (manager)) {
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_SAVE;
+ }
+
+ if (priv->phase_timeout_id > 0) {
+ g_source_remove (priv->phase_timeout_id);
+ priv->phase_timeout_id = 0;
+ }
+
+ if (gsm_store_size (priv->clients) > 0) {
+ priv->phase_timeout_id = g_timeout_add_seconds (GSM_MANAGER_PHASE_TIMEOUT,
+ (GSourceFunc)on_phase_timeout,
+ manager);
+
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc)_client_end_session_helper,
+ &data);
+ } else {
+ end_phase (manager);
+ }
+}
+
+static void
+do_phase_end_session_part_2 (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ ClientEndSessionData data;
+
+ data.manager = manager;
+ data.flags = 0;
+
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_FORCEFUL;
+ }
+ if (auto_save_is_enabled (manager)) {
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_SAVE;
+ }
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_LAST;
+
+ /* keep the timeout that was started at the beginning of the
+ * GSM_MANAGER_PHASE_END_SESSION phase */
+
+ if (g_slist_length (priv->next_query_clients) > 0) {
+ g_slist_foreach (priv->next_query_clients,
+ (GFunc)_client_end_session,
+ &data);
+
+ g_slist_free (priv->next_query_clients);
+ priv->next_query_clients = NULL;
+ } else {
+ end_phase (manager);
+ }
+}
+
+static gboolean
+_client_stop (const char *id,
+ GsmClient *client,
+ gpointer user_data)
+{
+ gboolean ret;
+ GError *error;
+
+ error = NULL;
+ ret = gsm_client_stop (client, &error);
+ if (! ret) {
+ g_warning ("Unable to stop client: %s", error->message);
+ g_error_free (error);
+ /* FIXME: what should we do if we can't communicate with client? */
+ } else {
+ g_debug ("GsmManager: stopped client: %s", gsm_client_peek_id (client));
+ }
+
+ return FALSE;
+}
+
+#ifdef HAVE_SYSTEMD
+static void
+maybe_restart_user_bus (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmSystem *system;
+ g_autoptr(GVariant) reply = NULL;
+ g_autoptr(GError) error = NULL;
+
+ if (priv->dbus_disconnected)
+ return;
+
+ system = gsm_get_system ();
+
+ if (!gsm_system_is_last_session_for_user (system))
+ return;
+
+ reply = g_dbus_connection_call_sync (priv->connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "StopUnit",
+ g_variant_new ("(ss)", "dbus.service", "fail"),
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+
+ if (error != NULL) {
+ g_debug ("GsmManager: reloading user bus failed: %s", error->message);
+ }
+}
+#endif
+
+static void
+do_phase_exit (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (gsm_store_size (priv->clients) > 0) {
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc)_client_stop,
+ NULL);
+ }
+
+#ifdef HAVE_SYSTEMD
+ if (!priv->systemd_managed)
+ maybe_restart_user_bus (manager);
+#endif
+
+ end_phase (manager);
+}
+
+static gboolean
+_client_query_end_session (const char *id,
+ GsmClient *client,
+ ClientEndSessionData *data)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (data->manager);
+ gboolean ret;
+ GError *error;
+
+ error = NULL;
+ ret = gsm_client_query_end_session (client, data->flags, &error);
+ if (! ret) {
+ g_warning ("Unable to query client: %s", error->message);
+ g_error_free (error);
+ /* FIXME: what should we do if we can't communicate with client? */
+ } else {
+ g_debug ("GsmManager: adding client to query clients: %s", gsm_client_peek_id (client));
+ priv->query_clients = g_slist_prepend (priv->query_clients, client);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+inhibitor_has_flag (gpointer key,
+ GsmInhibitor *inhibitor,
+ gpointer data)
+{
+ guint flag;
+ guint flags;
+
+ flag = GPOINTER_TO_UINT (data);
+
+ flags = gsm_inhibitor_peek_flags (inhibitor);
+
+ return (flags & flag);
+}
+
+static gboolean
+gsm_manager_is_logout_inhibited (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *inhibitor;
+
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ return FALSE;
+ }
+
+ if (priv->inhibitors == NULL) {
+ return FALSE;
+ }
+
+ inhibitor = (GsmInhibitor *)gsm_store_find (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_flag,
+ GUINT_TO_POINTER (GSM_INHIBITOR_FLAG_LOGOUT));
+ if (inhibitor == NULL) {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_is_idle_inhibited (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *inhibitor;
+
+ if (priv->inhibitors == NULL) {
+ return FALSE;
+ }
+
+ inhibitor = (GsmInhibitor *)gsm_store_find (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_flag,
+ GUINT_TO_POINTER (GSM_INHIBITOR_FLAG_IDLE));
+ if (inhibitor == NULL) {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static gboolean
+_client_cancel_end_session (const char *id,
+ GsmClient *client,
+ GsmManager *manager)
+{
+ gboolean res;
+ GError *error;
+
+ error = NULL;
+ res = gsm_client_cancel_end_session (client, &error);
+ if (! res) {
+ g_warning ("Unable to cancel end session: %s", error->message);
+ g_error_free (error);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+inhibitor_is_jit (gpointer key,
+ GsmInhibitor *inhibitor,
+ GsmManager *manager)
+{
+ gboolean matches;
+ const char *id;
+
+ id = gsm_inhibitor_peek_client_id (inhibitor);
+
+ matches = (id != NULL && id[0] != '\0');
+
+ return matches;
+}
+
+static void
+cancel_end_session (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* just ignore if received outside of shutdown */
+ if (priv->phase < GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ return;
+ }
+
+ /* switch back to running phase */
+ g_debug ("GsmManager: Cancelling the end of session");
+
+ g_cancellable_cancel (priv->end_session_cancellable);
+
+ gsm_manager_set_phase (manager, GSM_MANAGER_PHASE_RUNNING);
+ priv->logout_mode = GSM_MANAGER_LOGOUT_MODE_NORMAL;
+
+ priv->logout_type = GSM_MANAGER_LOGOUT_NONE;
+
+ /* clear all JIT inhibitors */
+ gsm_store_foreach_remove (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_is_jit,
+ (gpointer)manager);
+
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc)_client_cancel_end_session,
+ NULL);
+
+ start_phase (manager);
+}
+
+static void
+end_session_or_show_shell_dialog (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean logout_prompt;
+ GsmShellEndSessionDialogType type;
+ gboolean logout_inhibited;
+
+ switch (priv->logout_type) {
+ case GSM_MANAGER_LOGOUT_LOGOUT:
+ type = GSM_SHELL_END_SESSION_DIALOG_TYPE_LOGOUT;
+ break;
+ case GSM_MANAGER_LOGOUT_REBOOT:
+ case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
+ type = GSM_SHELL_END_SESSION_DIALOG_TYPE_RESTART;
+ break;
+ case GSM_MANAGER_LOGOUT_SHUTDOWN:
+ case GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT:
+ type = GSM_SHELL_END_SESSION_DIALOG_TYPE_SHUTDOWN;
+ break;
+ default:
+ g_warning ("Unexpected logout type %d when creating end session dialog",
+ priv->logout_type);
+ type = GSM_SHELL_END_SESSION_DIALOG_TYPE_LOGOUT;
+ break;
+ }
+
+ logout_inhibited = gsm_manager_is_logout_inhibited (manager);
+ logout_prompt = g_settings_get_boolean (priv->settings,
+ KEY_LOGOUT_PROMPT);
+
+ switch (priv->logout_mode) {
+ case GSM_MANAGER_LOGOUT_MODE_NORMAL:
+ if (logout_inhibited || logout_prompt) {
+ show_shell_end_session_dialog (manager, type);
+ } else {
+ end_phase (manager);
+ }
+ break;
+
+ case GSM_MANAGER_LOGOUT_MODE_NO_CONFIRMATION:
+ if (logout_inhibited) {
+ show_shell_end_session_dialog (manager, type);
+ } else {
+ end_phase (manager);
+ }
+ break;
+
+ case GSM_MANAGER_LOGOUT_MODE_FORCE:
+ end_phase (manager);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+}
+
+static void
+query_end_session_complete (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: query end session complete");
+
+ /* Remove the timeout since this can be called from outside the timer
+ * and we don't want to have it called twice */
+ if (priv->query_timeout_id > 0) {
+ g_source_remove (priv->query_timeout_id);
+ priv->query_timeout_id = 0;
+ }
+
+ end_session_or_show_shell_dialog (manager);
+}
+
+static guint32
+generate_cookie (void)
+{
+ guint32 cookie;
+
+ cookie = (guint32)g_random_int_range (1, G_MAXINT32);
+
+ return cookie;
+}
+
+static guint32
+_generate_unique_cookie (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ guint32 cookie;
+
+ do {
+ cookie = generate_cookie ();
+ } while (gsm_store_find (priv->inhibitors, (GsmStoreFunc)_find_by_cookie, &cookie) != NULL);
+
+ return cookie;
+}
+
+static gboolean
+_on_query_end_session_timeout (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GSList *l;
+
+ priv->query_timeout_id = 0;
+
+ g_debug ("GsmManager: query end session timed out");
+
+ for (l = priv->query_clients; l != NULL; l = l->next) {
+ guint cookie;
+ GsmInhibitor *inhibitor;
+ const char *bus_name;
+ char *app_id;
+
+ g_warning ("Client '%s' failed to reply before timeout",
+ gsm_client_peek_id (l->data));
+
+ /* Don't add "not responding" inhibitors if logout is forced
+ */
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ continue;
+ }
+
+ /* Add JIT inhibit for unresponsive client */
+ if (GSM_IS_DBUS_CLIENT (l->data)) {
+ bus_name = gsm_dbus_client_get_bus_name (l->data);
+ } else {
+ bus_name = NULL;
+ }
+
+ app_id = g_strdup (gsm_client_peek_app_id (l->data));
+ if (IS_STRING_EMPTY (app_id)) {
+ /* XSMP clients don't give us an app id unless we start them */
+ g_free (app_id);
+ app_id = gsm_client_get_app_name (l->data);
+ }
+
+ cookie = _generate_unique_cookie (manager);
+ inhibitor = gsm_inhibitor_new_for_client (gsm_client_peek_id (l->data),
+ app_id,
+ GSM_INHIBITOR_FLAG_LOGOUT,
+ _("Not responding"),
+ bus_name,
+ cookie);
+ g_free (app_id);
+ gsm_store_add (priv->inhibitors, gsm_inhibitor_peek_id (inhibitor), G_OBJECT (inhibitor));
+ g_object_unref (inhibitor);
+ }
+
+ g_slist_free (priv->query_clients);
+ priv->query_clients = NULL;
+
+ query_end_session_complete (manager);
+
+ return FALSE;
+}
+
+static void
+do_phase_query_end_session (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ ClientEndSessionData data;
+
+ data.manager = manager;
+ data.flags = 0;
+
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ data.flags |= GSM_CLIENT_END_SESSION_FLAG_FORCEFUL;
+ }
+ /* We only query if an app is ready to log out, so we don't use
+ * GSM_CLIENT_END_SESSION_FLAG_SAVE here.
+ */
+
+ debug_clients (manager);
+ g_debug ("GsmManager: sending query-end-session to clients (logout mode: %s)",
+ priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_NORMAL? "normal" :
+ priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE? "forceful":
+ "no confirmation");
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc)_client_query_end_session,
+ &data);
+
+ /* This phase doesn't time out unless logout is forced. Typically, this
+ * separate timer is only used to show UI. */
+ priv->query_timeout_id = g_timeout_add_seconds (1, (GSourceFunc)_on_query_end_session_timeout, manager);
+}
+
+static void
+update_idle (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (gsm_manager_is_idle_inhibited (manager)) {
+ gsm_presence_set_idle_enabled (priv->presence, FALSE);
+ } else {
+ gsm_presence_set_idle_enabled (priv->presence, TRUE);
+ }
+}
+
+static void
+start_phase (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: starting phase %s\n",
+ phase_num_to_name (priv->phase));
+
+ /* reset state */
+ g_slist_free (priv->pending_apps);
+ priv->pending_apps = NULL;
+ g_slist_free (priv->query_clients);
+ priv->query_clients = NULL;
+ g_slist_free (priv->next_query_clients);
+ priv->next_query_clients = NULL;
+
+ if (priv->query_timeout_id > 0) {
+ g_source_remove (priv->query_timeout_id);
+ priv->query_timeout_id = 0;
+ }
+ if (priv->phase_timeout_id > 0) {
+ g_source_remove (priv->phase_timeout_id);
+ priv->phase_timeout_id = 0;
+ }
+
+ sd_notifyf (0, "STATUS=GNOME Session Manager phase is %s", phase_num_to_name (priv->phase));
+
+ switch (priv->phase) {
+ case GSM_MANAGER_PHASE_STARTUP:
+ case GSM_MANAGER_PHASE_EARLY_INITIALIZATION:
+ case GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER:
+ do_phase_startup (manager);
+ break;
+ case GSM_MANAGER_PHASE_DISPLAY_SERVER:
+ sd_notify (0, "READY=1");
+ do_phase_startup (manager);
+ break;
+ case GSM_MANAGER_PHASE_INITIALIZATION:
+ case GSM_MANAGER_PHASE_WINDOW_MANAGER:
+ case GSM_MANAGER_PHASE_PANEL:
+ case GSM_MANAGER_PHASE_DESKTOP:
+ case GSM_MANAGER_PHASE_APPLICATION:
+ do_phase_startup (manager);
+ break;
+ case GSM_MANAGER_PHASE_RUNNING:
+#ifdef ENABLE_SYSTEMD_JOURNAL
+ sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_STARTUP_SUCCEEDED_MSGID,
+ "PRIORITY=%d", 5,
+ "MESSAGE=Entering running state",
+ NULL);
+#endif
+ gsm_xsmp_server_start_accepting_new_clients (priv->xsmp_server);
+ if (priv->pending_end_session_tasks != NULL)
+ complete_end_session_tasks (manager);
+ g_object_unref (priv->end_session_cancellable);
+ priv->end_session_cancellable = g_cancellable_new ();
+ gsm_exported_manager_emit_session_running (priv->skeleton);
+ update_idle (manager);
+ break;
+ case GSM_MANAGER_PHASE_QUERY_END_SESSION:
+ gsm_xsmp_server_stop_accepting_new_clients (priv->xsmp_server);
+ do_phase_query_end_session (manager);
+ break;
+ case GSM_MANAGER_PHASE_END_SESSION:
+ sd_notify (0, "STOPPING=1");
+
+ do_phase_end_session (manager);
+ break;
+ case GSM_MANAGER_PHASE_EXIT:
+ sd_notify (0, "STOPPING=1");
+
+ do_phase_exit (manager);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+}
+
+static gboolean
+_debug_app_for_phase (const char *id,
+ GsmApp *app,
+ gpointer data)
+{
+ guint phase;
+
+ phase = GPOINTER_TO_UINT (data);
+
+ if (gsm_app_peek_phase (app) != phase) {
+ return FALSE;
+ }
+
+ g_debug ("GsmManager:\tID: %s\tapp-id:%s\tis-disabled:%d\tis-conditionally-disabled:%d",
+ gsm_app_peek_id (app),
+ gsm_app_peek_app_id (app),
+ gsm_app_peek_is_disabled (app),
+ gsm_app_peek_is_conditionally_disabled (app));
+
+ return FALSE;
+}
+
+static void
+debug_app_summary (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ guint phase;
+
+ g_debug ("GsmManager: App startup summary");
+ for (phase = GSM_MANAGER_PHASE_EARLY_INITIALIZATION; phase < GSM_MANAGER_PHASE_RUNNING; phase++) {
+ g_debug ("GsmManager: Phase %s", phase_num_to_name (phase));
+ gsm_store_foreach (priv->apps,
+ (GsmStoreFunc)_debug_app_for_phase,
+ GUINT_TO_POINTER (phase));
+ }
+}
+
+void
+gsm_manager_start (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: GSM starting to manage");
+
+ g_return_if_fail (GSM_IS_MANAGER (manager));
+
+ gsm_xsmp_server_start (priv->xsmp_server);
+ gsm_manager_set_phase (manager, GSM_MANAGER_PHASE_EARLY_INITIALIZATION);
+ debug_app_summary (manager);
+ start_phase (manager);
+}
+
+char *
+_gsm_manager_get_default_session (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ g_autoptr(GSettings) session_settings = NULL;
+
+ if (manager)
+ session_settings = g_object_ref (priv->session_settings);
+ else
+ session_settings = g_settings_new (SESSION_SCHEMA);
+ return g_settings_get_string (session_settings,
+ KEY_SESSION_NAME);
+}
+
+void
+_gsm_manager_set_active_session (GsmManager *manager,
+ const char *session_name,
+ gboolean is_fallback)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_free (priv->session_name);
+ priv->session_name = g_strdup (session_name);
+ priv->is_fallback_session = is_fallback;
+
+ gsm_exported_manager_set_session_name (priv->skeleton, session_name);
+}
+
+void
+_gsm_manager_set_renderer (GsmManager *manager,
+ const char *renderer)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ gsm_exported_manager_set_renderer (priv->skeleton, renderer);
+}
+
+static gboolean
+_app_has_app_id (const char *id,
+ GsmApp *app,
+ const char *app_id_a)
+{
+ const char *app_id_b;
+
+ app_id_b = gsm_app_peek_app_id (app);
+ return (app_id_b != NULL && strcmp (app_id_a, app_id_b) == 0);
+}
+
+static GsmApp *
+find_app_for_app_id (GsmManager *manager,
+ const char *app_id)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmApp *app;
+
+ app = (GsmApp *)gsm_store_find (priv->apps,
+ (GsmStoreFunc)_app_has_app_id,
+ (char *)app_id);
+ return app;
+}
+
+static gboolean
+inhibitor_has_client_id (gpointer key,
+ GsmInhibitor *inhibitor,
+ const char *client_id_a)
+{
+ gboolean matches;
+ const char *client_id_b;
+
+ client_id_b = gsm_inhibitor_peek_client_id (inhibitor);
+
+ matches = FALSE;
+ if (! IS_STRING_EMPTY (client_id_a) && ! IS_STRING_EMPTY (client_id_b)) {
+ matches = (strcmp (client_id_a, client_id_b) == 0);
+ if (matches) {
+ g_debug ("GsmManager: removing JIT inhibitor for %s for reason '%s'",
+ gsm_inhibitor_peek_client_id (inhibitor),
+ gsm_inhibitor_peek_reason (inhibitor));
+ }
+ }
+
+ return matches;
+}
+
+static gboolean
+_app_has_startup_id (const char *id,
+ GsmApp *app,
+ const char *startup_id_a)
+{
+ const char *startup_id_b;
+
+ startup_id_b = gsm_app_peek_startup_id (app);
+
+ if (IS_STRING_EMPTY (startup_id_b)) {
+ return FALSE;
+ }
+
+ return (strcmp (startup_id_a, startup_id_b) == 0);
+}
+
+static GsmApp *
+find_app_for_startup_id (GsmManager *manager,
+ const char *startup_id)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmApp *found_app;
+ GSList *a;
+
+ found_app = NULL;
+
+ /* If we're starting up the session, try to match the new client
+ * with one pending apps for the current phase. If not, try to match
+ * with any of the autostarted apps. */
+ if (priv->phase < GSM_MANAGER_PHASE_APPLICATION) {
+ for (a = priv->pending_apps; a != NULL; a = a->next) {
+ GsmApp *app = GSM_APP (a->data);
+
+ if (strcmp (startup_id, gsm_app_peek_startup_id (app)) == 0) {
+ found_app = app;
+ goto out;
+ }
+ }
+ } else {
+ GsmApp *app;
+
+ app = (GsmApp *)gsm_store_find (priv->apps,
+ (GsmStoreFunc)_app_has_startup_id,
+ (char *)startup_id);
+ if (app != NULL) {
+ found_app = app;
+ goto out;
+ }
+ }
+ out:
+ return found_app;
+}
+
+static void
+_disconnect_client (GsmManager *manager,
+ GsmClient *client)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean is_condition_client;
+ GsmApp *app;
+ const char *app_id;
+ const char *startup_id;
+ gboolean app_restart;
+ GsmClientRestartStyle client_restart_hint;
+
+ g_debug ("GsmManager: disconnect client: %s", gsm_client_peek_id (client));
+
+ /* take a ref so it doesn't get finalized */
+ g_object_ref (client);
+
+ gsm_client_set_status (client, GSM_CLIENT_FINISHED);
+
+ is_condition_client = FALSE;
+ if (g_slist_find (priv->condition_clients, client)) {
+ priv->condition_clients = g_slist_remove (priv->condition_clients, client);
+
+ is_condition_client = TRUE;
+ }
+
+ /* remove any inhibitors for this client */
+ gsm_store_foreach_remove (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_client_id,
+ (gpointer)gsm_client_peek_id (client));
+
+ app = NULL;
+
+ /* first try to match on startup ID */
+ startup_id = gsm_client_peek_startup_id (client);
+ if (! IS_STRING_EMPTY (startup_id)) {
+ app = find_app_for_startup_id (manager, startup_id);
+
+ }
+
+ /* then try to find matching app-id */
+ if (app == NULL) {
+ app_id = gsm_client_peek_app_id (client);
+ if (! IS_STRING_EMPTY (app_id)) {
+ g_debug ("GsmManager: disconnect for app '%s'", app_id);
+ app = find_app_for_app_id (manager, app_id);
+ }
+ }
+
+ switch (priv->phase) {
+ case GSM_MANAGER_PHASE_QUERY_END_SESSION:
+ /* Instead of answering our end session query, the client just exited.
+ * Treat that as an "okay, end the session" answer.
+ *
+ * This call implicitly removes any inhibitors for the client, along
+ * with removing the client from the pending query list.
+ */
+ _handle_client_end_session_response (manager,
+ client,
+ TRUE,
+ FALSE,
+ FALSE,
+ "Client exited in "
+ "query end session phase "
+ "instead of end session "
+ "phase");
+ break;
+ case GSM_MANAGER_PHASE_END_SESSION:
+ if (! g_slist_find (priv->query_clients, client)) {
+ /* the client sent its EndSessionResponse and we already
+ * processed it.
+ */
+ break;
+ }
+
+ /* Client exited without sending EndSessionResponse.
+ * The likely reason is that its exit code is written in a way
+ * that never returns, and sending EndSessionResponse is handled
+ * in library code after the callback. Or maybe the application
+ * crashed while handling EndSession. Or it was lazy.
+ */
+ _handle_client_end_session_response (manager,
+ client,
+ TRUE,
+ FALSE,
+ FALSE,
+ "Client exited in "
+ "end session phase without "
+ "sending EndSessionResponse");
+ default:
+ /* do nothing */
+ break;
+ }
+
+ if (priv->dbus_disconnected && GSM_IS_DBUS_CLIENT (client)) {
+ g_debug ("GsmManager: dbus disconnected, not restarting application");
+ goto out;
+ }
+
+ if (app == NULL) {
+ g_debug ("GsmManager: unable to find application for client - not restarting");
+ goto out;
+ }
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ g_debug ("GsmManager: in shutdown, not restarting application");
+ goto out;
+ }
+
+ app_restart = gsm_app_peek_autorestart (app);
+ client_restart_hint = gsm_client_peek_restart_style_hint (client);
+
+ /* allow legacy clients to override the app info */
+ if (! app_restart
+ && client_restart_hint != GSM_CLIENT_RESTART_IMMEDIATELY) {
+ g_debug ("GsmManager: autorestart not set, not restarting application");
+ goto out;
+ }
+
+ if (is_condition_client) {
+ g_debug ("GsmManager: app conditionally disabled, not restarting application");
+ goto out;
+ }
+
+ g_debug ("GsmManager: restarting app");
+
+ _restart_app (manager, app);
+
+ out:
+ g_object_unref (client);
+}
+
+typedef struct {
+ const char *service_name;
+ GsmManager *manager;
+} RemoveClientData;
+
+static gboolean
+_disconnect_dbus_client (const char *id,
+ GsmClient *client,
+ RemoveClientData *data)
+{
+ const char *name;
+
+ if (! GSM_IS_DBUS_CLIENT (client)) {
+ return FALSE;
+ }
+
+ /* If no service name, then we simply disconnect all clients */
+ if (!data->service_name) {
+ _disconnect_client (data->manager, client);
+ return TRUE;
+ }
+
+ name = gsm_dbus_client_get_bus_name (GSM_DBUS_CLIENT (client));
+ if (IS_STRING_EMPTY (name)) {
+ return FALSE;
+ }
+
+ if (strcmp (data->service_name, name) == 0) {
+ _disconnect_client (data->manager, client);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/**
+ * remove_clients_for_connection:
+ * @manager: a #GsmManager
+ * @service_name: a service name
+ *
+ * Disconnects clients that own @service_name.
+ *
+ * If @service_name is NULL, then disconnects all clients for the connection.
+ */
+static void
+remove_clients_for_connection (GsmManager *manager,
+ const char *service_name)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ RemoveClientData data;
+
+ data.service_name = service_name;
+ data.manager = manager;
+
+ /* disconnect dbus clients for name */
+ gsm_store_foreach_remove (priv->clients,
+ (GsmStoreFunc)_disconnect_dbus_client,
+ &data);
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION
+ && gsm_store_size (priv->clients) == 0) {
+ g_debug ("GsmManager: last client disconnected - exiting");
+ end_phase (manager);
+ }
+}
+
+static void
+gsm_manager_set_failsafe (GsmManager *manager,
+ gboolean enabled)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_return_if_fail (GSM_IS_MANAGER (manager));
+
+ priv->failsafe = enabled;
+}
+
+gboolean
+gsm_manager_get_failsafe (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+ return priv->failsafe;
+}
+
+gboolean
+gsm_manager_get_systemd_managed (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+ return priv->systemd_managed;
+}
+
+static void
+on_client_disconnected (GsmClient *client,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: disconnect client");
+ _disconnect_client (manager, client);
+ gsm_store_remove (priv->clients, gsm_client_peek_id (client));
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION
+ && gsm_store_size (priv->clients) == 0) {
+ g_debug ("GsmManager: last client disconnected - exiting");
+ end_phase (manager);
+ }
+}
+
+static gboolean
+on_xsmp_client_register_request (GsmXSMPClient *client,
+ char **id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean handled;
+ char *new_id;
+ GsmApp *app;
+
+ handled = TRUE;
+ new_id = NULL;
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ goto out;
+ }
+
+ if (IS_STRING_EMPTY (*id)) {
+ new_id = gsm_util_generate_startup_id ();
+ } else {
+ GsmClient *client;
+
+ client = (GsmClient *)gsm_store_find (priv->clients,
+ (GsmStoreFunc)_client_has_startup_id,
+ *id);
+ /* We can't have two clients with the same id. */
+ if (client != NULL) {
+ goto out;
+ }
+
+ new_id = g_strdup (*id);
+ }
+
+ g_debug ("GsmManager: Adding new client %s to session", new_id);
+
+ g_signal_connect (client,
+ "disconnected",
+ G_CALLBACK (on_client_disconnected),
+ manager);
+
+ /* If it's a brand new client id, we just accept the client*/
+ if (IS_STRING_EMPTY (*id)) {
+ goto out;
+ }
+
+ app = find_app_for_startup_id (manager, new_id);
+ if (app != NULL) {
+ gsm_client_set_app_id (GSM_CLIENT (client), gsm_app_peek_app_id (app));
+ goto out;
+ }
+
+ /* app not found */
+ g_free (new_id);
+ new_id = NULL;
+
+ out:
+ g_free (*id);
+ *id = new_id;
+
+ return handled;
+}
+
+static void
+on_xsmp_client_register_confirmed (GsmXSMPClient *client,
+ const gchar *id,
+ GsmManager *manager)
+{
+ GsmApp *app;
+
+ app = find_app_for_startup_id (manager, id);
+
+ if (app != NULL) {
+ gsm_app_set_registered (app, TRUE);
+ }
+}
+
+static gboolean
+auto_save_is_enabled (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* Note that saving/restoring sessions is not really possible on systemd, as
+ * XSMP clients cannot be reliably mapped to .desktop files. */
+ if (priv->systemd_managed)
+ return FALSE;
+
+ return g_settings_get_boolean (priv->settings, KEY_AUTOSAVE_ONE_SHOT)
+ || g_settings_get_boolean (priv->settings, KEY_AUTOSAVE);
+}
+
+static void
+maybe_save_session (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GError *error;
+
+ if (gsm_system_is_login_session (priv->system))
+ return;
+
+ /* We only allow session saving when session is running or when
+ * logging out */
+ if (priv->phase != GSM_MANAGER_PHASE_RUNNING &&
+ priv->phase != GSM_MANAGER_PHASE_END_SESSION) {
+ return;
+ }
+
+ if (!auto_save_is_enabled (manager)) {
+ gsm_session_save_clear ();
+ return;
+ }
+
+ error = NULL;
+ gsm_session_save (priv->clients, priv->apps, &error);
+
+ if (error) {
+ g_warning ("Error saving session: %s", error->message);
+ g_error_free (error);
+ }
+}
+
+static void
+_handle_client_end_session_response (GsmManager *manager,
+ GsmClient *client,
+ gboolean is_ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* just ignore if received outside of shutdown */
+ if (priv->phase < GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ return;
+ }
+
+ g_debug ("GsmManager: Response from end session request: is-ok=%d do-last=%d cancel=%d reason=%s", is_ok, do_last, cancel, reason ? reason :"");
+
+ if (cancel) {
+ cancel_end_session (manager);
+ return;
+ }
+
+ priv->query_clients = g_slist_remove (priv->query_clients, client);
+
+ if (! is_ok && priv->logout_mode != GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ guint cookie;
+ GsmInhibitor *inhibitor;
+ char *app_id;
+ const char *bus_name;
+
+ /* FIXME: do we support updating the reason? */
+
+ /* Create JIT inhibit */
+ if (GSM_IS_DBUS_CLIENT (client)) {
+ bus_name = gsm_dbus_client_get_bus_name (GSM_DBUS_CLIENT (client));
+ } else {
+ bus_name = NULL;
+ }
+
+ app_id = g_strdup (gsm_client_peek_app_id (client));
+ if (IS_STRING_EMPTY (app_id)) {
+ /* XSMP clients don't give us an app id unless we start them */
+ g_free (app_id);
+ app_id = gsm_client_get_app_name (client);
+ }
+
+ cookie = _generate_unique_cookie (manager);
+ inhibitor = gsm_inhibitor_new_for_client (gsm_client_peek_id (client),
+ app_id,
+ GSM_INHIBITOR_FLAG_LOGOUT,
+ reason != NULL ? reason : _("Not responding"),
+ bus_name,
+ cookie);
+ g_free (app_id);
+ gsm_store_add (priv->inhibitors, gsm_inhibitor_peek_id (inhibitor), G_OBJECT (inhibitor));
+ g_object_unref (inhibitor);
+ } else {
+ gsm_store_foreach_remove (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_client_id,
+ (gpointer)gsm_client_peek_id (client));
+ }
+
+ if (priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ if (priv->query_clients == NULL) {
+ query_end_session_complete (manager);
+ }
+ } else if (priv->phase == GSM_MANAGER_PHASE_END_SESSION) {
+ if (do_last) {
+ /* This only makes sense if we're in part 1 of
+ * GSM_MANAGER_PHASE_END_SESSION. Doing this in part 2
+ * can only happen because of a buggy client that loops
+ * wanting to be last again and again. The phase
+ * timeout will take care of this issue. */
+ priv->next_query_clients = g_slist_prepend (priv->next_query_clients,
+ client);
+ }
+
+ /* we can continue to the next step if all clients have replied
+ * and if there's no inhibitor */
+ if (priv->query_clients != NULL
+ || gsm_manager_is_logout_inhibited (manager)) {
+ return;
+ }
+
+ if (priv->next_query_clients != NULL) {
+ do_phase_end_session_part_2 (manager);
+ } else {
+ end_phase (manager);
+ }
+ }
+}
+
+static void
+on_client_end_session_response (GsmClient *client,
+ gboolean is_ok,
+ gboolean do_last,
+ gboolean cancel,
+ const char *reason,
+ GsmManager *manager)
+{
+ _handle_client_end_session_response (manager,
+ client,
+ is_ok,
+ do_last,
+ cancel,
+ reason);
+}
+
+static void
+on_xsmp_client_logout_request (GsmXSMPClient *client,
+ gboolean show_dialog,
+ GsmManager *manager)
+{
+ GError *error;
+ int logout_mode;
+
+ if (show_dialog) {
+ logout_mode = GSM_MANAGER_LOGOUT_MODE_NORMAL;
+ } else {
+ logout_mode = GSM_MANAGER_LOGOUT_MODE_NO_CONFIRMATION;
+ }
+
+ error = NULL;
+ gsm_manager_logout (manager, logout_mode, &error);
+ if (error != NULL) {
+ g_warning ("Unable to logout: %s", error->message);
+ g_error_free (error);
+ }
+}
+
+static void
+on_store_client_added (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmClient *client;
+
+ g_debug ("GsmManager: Client added: %s", id);
+
+ client = (GsmClient *)gsm_store_lookup (store, id);
+
+ /* a bit hacky */
+ if (GSM_IS_XSMP_CLIENT (client)) {
+ g_signal_connect (client,
+ "register-request",
+ G_CALLBACK (on_xsmp_client_register_request),
+ manager);
+ g_signal_connect (client,
+ "register-confirmed",
+ G_CALLBACK (on_xsmp_client_register_confirmed),
+ manager);
+ g_signal_connect (client,
+ "logout-request",
+ G_CALLBACK (on_xsmp_client_logout_request),
+ manager);
+ }
+
+ g_signal_connect (client,
+ "end-session-response",
+ G_CALLBACK (on_client_end_session_response),
+ manager);
+
+ gsm_exported_manager_emit_client_added (priv->skeleton, id);
+ /* FIXME: disconnect signal handler */
+}
+
+static void
+on_store_client_removed (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: Client removed: %s", id);
+
+ gsm_exported_manager_emit_client_removed (priv->skeleton, id);
+}
+
+static void
+gsm_manager_set_client_store (GsmManager *manager,
+ GsmStore *store)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_return_if_fail (GSM_IS_MANAGER (manager));
+
+ if (store != NULL) {
+ g_object_ref (store);
+ }
+
+ if (priv->clients != NULL) {
+ g_signal_handlers_disconnect_by_func (priv->clients,
+ on_store_client_added,
+ manager);
+ g_signal_handlers_disconnect_by_func (priv->clients,
+ on_store_client_removed,
+ manager);
+
+ g_object_unref (priv->clients);
+ }
+
+
+ g_debug ("GsmManager: setting client store %p", store);
+
+ priv->clients = store;
+
+ if (priv->clients != NULL) {
+ if (priv->xsmp_server)
+ g_object_unref (priv->xsmp_server);
+
+ priv->xsmp_server = gsm_xsmp_server_new (store);
+
+ g_signal_connect (priv->clients,
+ "added",
+ G_CALLBACK (on_store_client_added),
+ manager);
+ g_signal_connect (priv->clients,
+ "removed",
+ G_CALLBACK (on_store_client_removed),
+ manager);
+ }
+}
+
+static void
+gsm_manager_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmManager *self = GSM_MANAGER (object);
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (self);
+
+ switch (prop_id) {
+ case PROP_FAILSAFE:
+ gsm_manager_set_failsafe (self, g_value_get_boolean (value));
+ break;
+ case PROP_FALLBACK:
+ priv->is_fallback_session = g_value_get_boolean (value);
+ break;
+ case PROP_CLIENT_STORE:
+ gsm_manager_set_client_store (self, g_value_get_object (value));
+ break;
+ case PROP_SYSTEMD_MANAGED:
+ priv->systemd_managed = g_value_get_boolean (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_manager_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmManager *self = GSM_MANAGER (object);
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (self);
+
+ switch (prop_id) {
+ case PROP_FAILSAFE:
+ g_value_set_boolean (value, priv->failsafe);
+ break;
+ case PROP_SESSION_NAME:
+ g_value_set_string (value, priv->session_name);
+ break;
+ case PROP_FALLBACK:
+ g_value_set_boolean (value, priv->is_fallback_session);
+ break;
+ case PROP_CLIENT_STORE:
+ g_value_set_object (value, priv->clients);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static gboolean
+_find_app_provides (const char *id,
+ GsmApp *app,
+ const char *service)
+{
+ return gsm_app_provides (app, service);
+}
+
+static GObject *
+gsm_manager_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmManager *manager;
+
+ manager = GSM_MANAGER (G_OBJECT_CLASS (gsm_manager_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+ return G_OBJECT (manager);
+}
+
+static void
+update_inhibited_actions (GsmManager *manager,
+ GsmInhibitorFlag new_inhibited_actions)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->inhibited_actions == new_inhibited_actions)
+ return;
+
+ gsm_system_set_inhibitors (priv->system, new_inhibited_actions);
+
+ priv->inhibited_actions = new_inhibited_actions;
+ gsm_exported_manager_set_inhibited_actions (priv->skeleton,
+ priv->inhibited_actions);
+}
+
+static void
+on_inhibitor_vanished (GsmInhibitor *inhibitor,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ gsm_store_remove (priv->inhibitors, gsm_inhibitor_peek_id (inhibitor));
+}
+
+static void
+on_store_inhibitor_added (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *i;
+ GsmInhibitorFlag new_inhibited_actions;
+
+ g_debug ("GsmManager: Inhibitor added: %s", id);
+
+ i = GSM_INHIBITOR (gsm_store_lookup (store, id));
+
+ new_inhibited_actions = priv->inhibited_actions | gsm_inhibitor_peek_flags (i);
+ update_inhibited_actions (manager, new_inhibited_actions);
+
+ g_signal_connect_object (i, "vanished", G_CALLBACK (on_inhibitor_vanished), manager, 0);
+
+ gsm_exported_manager_emit_inhibitor_added (priv->skeleton, id);
+
+ update_idle (manager);
+}
+
+static gboolean
+collect_inhibition_flags (const char *id,
+ GObject *object,
+ gpointer user_data)
+{
+ GsmInhibitorFlag *new_inhibited_actions = user_data;
+
+ *new_inhibited_actions |= gsm_inhibitor_peek_flags (GSM_INHIBITOR (object));
+
+ return FALSE;
+}
+
+static void
+on_store_inhibitor_removed (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitorFlag new_inhibited_actions;
+
+ g_debug ("GsmManager: Inhibitor removed: %s", id);
+
+ new_inhibited_actions = 0;
+ gsm_store_foreach (priv->inhibitors,
+ collect_inhibition_flags,
+ &new_inhibited_actions);
+ update_inhibited_actions (manager, new_inhibited_actions);
+
+ gsm_exported_manager_emit_inhibitor_removed (priv->skeleton, id);
+
+ update_idle (manager);
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ end_session_or_show_shell_dialog (manager);
+ }
+}
+
+static void
+gsm_manager_dispose (GObject *object)
+{
+ GsmManager *manager = GSM_MANAGER (object);
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: disposing manager");
+
+ g_clear_object (&priv->end_session_cancellable);
+ g_clear_object (&priv->xsmp_server);
+ g_clear_pointer (&priv->session_name, g_free);
+
+ if (priv->clients != NULL) {
+ g_signal_handlers_disconnect_by_func (priv->clients,
+ on_store_client_added,
+ manager);
+ g_signal_handlers_disconnect_by_func (priv->clients,
+ on_store_client_removed,
+ manager);
+ g_object_unref (priv->clients);
+ priv->clients = NULL;
+ }
+
+ g_clear_object (&priv->apps);
+ g_slist_free (priv->required_apps);
+ priv->required_apps = NULL;
+ g_slist_free (priv->pending_apps);
+ priv->pending_apps = NULL;
+
+ if (priv->inhibitors != NULL) {
+ g_signal_handlers_disconnect_by_func (priv->inhibitors,
+ on_store_inhibitor_added,
+ manager);
+ g_signal_handlers_disconnect_by_func (priv->inhibitors,
+ on_store_inhibitor_removed,
+ manager);
+
+ g_object_unref (priv->inhibitors);
+ priv->inhibitors = NULL;
+ }
+
+ g_clear_object (&priv->presence);
+ g_clear_object (&priv->settings);
+ g_clear_object (&priv->session_settings);
+ g_clear_object (&priv->screensaver_settings);
+ g_clear_object (&priv->lockdown_settings);
+ g_clear_object (&priv->system);
+ g_clear_object (&priv->shell);
+
+ if (priv->skeleton != NULL) {
+ g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (priv->skeleton),
+ priv->connection);
+ g_clear_object (&priv->skeleton);
+ }
+
+ g_clear_object (&priv->connection);
+
+ G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
+}
+
+static void
+gsm_manager_class_init (GsmManagerClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->get_property = gsm_manager_get_property;
+ object_class->set_property = gsm_manager_set_property;
+ object_class->constructor = gsm_manager_constructor;
+ object_class->dispose = gsm_manager_dispose;
+
+ signals [PHASE_CHANGED] =
+ g_signal_new ("phase-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmManagerClass, phase_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+
+ g_object_class_install_property (object_class,
+ PROP_FAILSAFE,
+ g_param_spec_boolean ("failsafe",
+ NULL,
+ NULL,
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ /**
+ * GsmManager::session-name
+ *
+ * Then name of the currently active session, typically "gnome" or "gnome-fallback".
+ * This may be the name of the configured default session, or the name of a fallback
+ * session in case we fell back.
+ */
+ g_object_class_install_property (object_class,
+ PROP_SESSION_NAME,
+ g_param_spec_string ("session-name",
+ NULL,
+ NULL,
+ NULL,
+ G_PARAM_READABLE));
+
+ /**
+ * GsmManager::fallback
+ *
+ * If %TRUE, the current session is running in the "fallback" mode;
+ * this is distinct from whether or not it was configured as default.
+ */
+ g_object_class_install_property (object_class,
+ PROP_FALLBACK,
+ g_param_spec_boolean ("fallback",
+ NULL,
+ NULL,
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class,
+ PROP_CLIENT_STORE,
+ g_param_spec_object ("client-store",
+ NULL,
+ NULL,
+ GSM_TYPE_STORE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class,
+ PROP_SYSTEMD_MANAGED,
+ g_param_spec_boolean ("systemd-managed",
+ NULL,
+ NULL,
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+}
+
+static void
+on_presence_status_changed (GsmPresence *presence,
+ guint status,
+ GsmManager *manager)
+{
+ GsmSystem *system;
+
+ system = gsm_get_system ();
+ gsm_system_set_session_idle (system,
+ (status == GSM_PRESENCE_STATUS_IDLE));
+ g_object_unref (system);
+}
+
+static void
+on_gsm_system_active_changed (GsmSystem *system,
+ GParamSpec *pspec,
+ GsmManager *self)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (self);
+ gboolean is_active;
+
+ is_active = gsm_system_is_active (priv->system);
+
+ g_debug ("emitting SessionIsActive");
+ gsm_exported_manager_set_session_is_active (priv->skeleton, is_active);
+}
+
+static gboolean
+_log_out_is_locked_down (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ return g_settings_get_boolean (priv->lockdown_settings,
+ KEY_DISABLE_LOG_OUT);
+}
+
+static void
+complete_end_session_task (GsmManager *manager,
+ GAsyncResult *result,
+ GDBusMethodInvocation *invocation)
+{
+ GError *error = NULL;
+
+ if (!g_task_propagate_boolean (G_TASK (result), &error))
+ g_dbus_method_invocation_take_error (invocation, error);
+ else
+ g_dbus_method_invocation_return_value (invocation, NULL);
+}
+
+static void
+request_reboot (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: requesting reboot");
+
+ /* FIXME: We need to support a more structured shutdown here,
+ * but that's blocking on an improved ConsoleKit api.
+ *
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=585614
+ */
+ priv->logout_type = GSM_MANAGER_LOGOUT_REBOOT_INTERACT;
+ end_phase (manager);
+}
+
+static void
+request_shutdown (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: requesting shutdown");
+
+ /* See the comment in request_reboot() for some more details about
+ * what work needs to be done here. */
+ priv->logout_type = GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT;
+ end_phase (manager);
+}
+
+static void
+request_logout (GsmManager *manager,
+ GsmManagerLogoutMode mode)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: requesting logout");
+
+ priv->logout_mode = mode;
+ priv->logout_type = GSM_MANAGER_LOGOUT_LOGOUT;
+
+ end_phase (manager);
+}
+
+static gboolean
+gsm_manager_shutdown (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GTask *task;
+
+ g_debug ("GsmManager: Shutdown called");
+
+ if (priv->phase < GSM_MANAGER_PHASE_RUNNING) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
+ "Shutdown interface is only available after the Running phase starts");
+ return TRUE;
+ }
+
+ if (_log_out_is_locked_down (manager)) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_LOCKED_DOWN,
+ "Logout has been locked down");
+ return TRUE;
+ }
+
+ task = g_task_new (manager, priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
+
+ priv->pending_end_session_tasks = g_slist_prepend (priv->pending_end_session_tasks,
+ task);
+
+ request_shutdown (manager);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_reboot (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GTask *task;
+
+ g_debug ("GsmManager: Reboot called");
+
+ if (priv->phase < GSM_MANAGER_PHASE_RUNNING) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
+ "Reboot interface is only available after the Running phase starts");
+ return TRUE;
+ }
+
+ if (_log_out_is_locked_down (manager)) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_LOCKED_DOWN,
+ "Logout has been locked down");
+ return TRUE;
+ }
+
+ task = g_task_new (manager, priv->end_session_cancellable, (GAsyncReadyCallback) complete_end_session_task, invocation);
+
+ priv->pending_end_session_tasks = g_slist_prepend (priv->pending_end_session_tasks,
+ task);
+
+ request_reboot (manager);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_can_shutdown (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean shutdown_available;
+
+ g_debug ("GsmManager: CanShutdown called");
+
+ shutdown_available = !_log_out_is_locked_down (manager) &&
+ (gsm_system_can_stop (priv->system)
+ || gsm_system_can_restart (priv->system)
+ || gsm_system_can_suspend (priv->system)
+ || gsm_system_can_hibernate (priv->system));
+
+ gsm_exported_manager_complete_can_shutdown (skeleton, invocation, shutdown_available);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_can_reboot_to_firmware_setup (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean reboot_to_firmware_available;
+
+ g_debug ("GsmManager: CanRebootToFirmwareSetup called");
+
+ reboot_to_firmware_available = !_log_out_is_locked_down (manager) &&
+ gsm_system_can_restart_to_firmware_setup (priv->system);
+
+ gsm_exported_manager_complete_can_reboot_to_firmware_setup (skeleton, invocation, reboot_to_firmware_available);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_set_reboot_to_firmware_setup (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ gboolean enable,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: SetRebootToFirmwareSetup called");
+
+ gsm_system_set_restart_to_firmware_setup (priv->system, enable);
+
+ gsm_exported_manager_complete_set_reboot_to_firmware_setup (skeleton, invocation);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_setenv (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *variable,
+ const char *value,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->phase > GSM_MANAGER_PHASE_INITIALIZATION) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION,
+ "Setenv interface is only available during the DisplayServer and Initialization phase");
+ } else {
+ gsm_util_setenv (variable, value);
+ gsm_exported_manager_complete_setenv (skeleton, invocation);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_initialized (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* Signaled by helper when gnome-session-initialized.target is reached. */
+ if (!priv->systemd_managed) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Initialized interface is only available when gnome-session is managed by systemd");
+ } else if (priv->systemd_initialized) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION,
+ "Systemd initialization was already signaled");
+ } else if (priv->phase > GSM_MANAGER_PHASE_INITIALIZATION) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION,
+ "Initialized interface is only available during startup");
+ } else {
+ priv->systemd_initialized = TRUE;
+
+ if (priv->manager_initialized) {
+ g_assert (priv->phase == GSM_MANAGER_PHASE_INITIALIZATION);
+ priv->phase++;
+ start_phase (manager);
+ }
+
+ gsm_exported_manager_complete_initialized (skeleton, invocation);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+is_valid_category (int category)
+{
+ int categories[] = {
+ LC_CTYPE,
+ LC_NUMERIC,
+ LC_TIME,
+ LC_COLLATE,
+ LC_MONETARY,
+ LC_MESSAGES,
+#if defined (LC_PAPER)
+ LC_PAPER,
+#endif
+#if defined (LC_NAME)
+ LC_NAME,
+#endif
+#if defined (LC_ADDRESS)
+ LC_ADDRESS,
+#endif
+#if defined (LC_TELEPHONE)
+ LC_TELEPHONE,
+#endif
+#if defined (LC_MEASUREMENT)
+ LC_MEASUREMENT,
+#endif
+#if defined (LC_IDENTIFICATION)
+ LC_IDENTIFICATION,
+#endif
+ LC_ALL
+ };
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS(categories); i++)
+ if (categories[i] == category)
+ return TRUE;
+
+ return FALSE;
+}
+
+static gboolean
+gsm_manager_get_locale (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ int category,
+ GsmManager *manager)
+{
+ if (!is_valid_category (category)) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_INVALID_OPTION,
+ "GetLocale doesn't support locale category '%d'", category);
+ } else {
+ const char *value;
+ value = setlocale (category, NULL);
+ if (value == NULL)
+ value = "";
+
+ gsm_exported_manager_complete_get_locale (skeleton, invocation, value);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_initialization_error (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *message,
+ gboolean fatal,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->phase != GSM_MANAGER_PHASE_INITIALIZATION) {
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION,
+ "InitializationError interface is only available during the Initialization phase");
+ return TRUE;
+ }
+
+ gsm_util_init_error (fatal, "%s", message);
+ gsm_exported_manager_complete_initialization_error (skeleton, invocation);
+
+ return TRUE;
+}
+
+static void
+user_logout (GsmManager *manager,
+ GsmManagerLogoutMode mode)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ priv->logout_mode = mode;
+ end_session_or_show_shell_dialog (manager);
+ return;
+ }
+
+ request_logout (manager, mode);
+}
+
+gboolean
+gsm_manager_logout (GsmManager *manager,
+ guint logout_mode,
+ GError **error)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->phase < GSM_MANAGER_PHASE_RUNNING) {
+ g_set_error (error,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
+ "Logout interface is only available after the Running phase starts");
+ return FALSE;
+ }
+
+ if (_log_out_is_locked_down (manager)) {
+ g_set_error (error,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_LOCKED_DOWN,
+ "Logout has been locked down");
+ return FALSE;
+ }
+
+ switch (logout_mode) {
+ case GSM_MANAGER_LOGOUT_MODE_NORMAL:
+ case GSM_MANAGER_LOGOUT_MODE_NO_CONFIRMATION:
+ case GSM_MANAGER_LOGOUT_MODE_FORCE:
+ user_logout (manager, logout_mode);
+ break;
+
+ default:
+ g_debug ("Unknown logout mode option");
+
+ g_set_error (error,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_INVALID_OPTION,
+ "Unknown logout mode flag");
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_logout_dbus (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ guint logout_mode,
+ GsmManager *manager)
+{
+ GError *error = NULL;
+
+ g_debug ("GsmManager: Logout called");
+
+ if (!gsm_manager_logout (manager, logout_mode, &error)) {
+ g_dbus_method_invocation_take_error (invocation, error);
+ } else {
+ gsm_exported_manager_complete_logout (skeleton, invocation);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_register_client (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *app_id,
+ const char *startup_id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ char *new_startup_id;
+ const char *sender;
+ GsmClient *client;
+ GsmApp *app;
+
+ app = NULL;
+ client = NULL;
+
+ g_debug ("GsmManager: RegisterClient %s", startup_id);
+
+ if (priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
+ g_debug ("Unable to register client: shutting down");
+
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
+ "Unable to register client");
+ return TRUE;
+ }
+
+ if (IS_STRING_EMPTY (startup_id)) {
+ new_startup_id = gsm_util_generate_startup_id ();
+ } else {
+
+ client = (GsmClient *)gsm_store_find (priv->clients,
+ (GsmStoreFunc)_client_has_startup_id,
+ (char *)startup_id);
+ /* We can't have two clients with the same startup id. */
+ if (client != NULL) {
+ g_debug ("Unable to register client: already registered");
+
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_ALREADY_REGISTERED,
+ "Unable to register client");
+ return TRUE;
+ }
+
+ new_startup_id = g_strdup (startup_id);
+ }
+
+ g_debug ("GsmManager: Adding new client %s to session", new_startup_id);
+
+ if (app == NULL && !IS_STRING_EMPTY (startup_id)) {
+ app = find_app_for_startup_id (manager, startup_id);
+ }
+ if (app == NULL && !IS_STRING_EMPTY (app_id)) {
+ /* try to associate this app id with a known app */
+ app = find_app_for_app_id (manager, app_id);
+ }
+
+ sender = g_dbus_method_invocation_get_sender (invocation);
+ client = gsm_dbus_client_new (new_startup_id, sender);
+ if (client == NULL) {
+ g_debug ("Unable to create client");
+
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Unable to register client");
+ return TRUE;
+ }
+
+ gsm_store_add (priv->clients, gsm_client_peek_id (client), G_OBJECT (client));
+ /* the store will own the ref */
+ g_object_unref (client);
+
+ g_signal_connect (client,
+ "disconnected",
+ G_CALLBACK (on_client_disconnected),
+ manager);
+
+ if (app != NULL) {
+ gsm_client_set_app_id (client, gsm_app_peek_app_id (app));
+ gsm_app_set_registered (app, TRUE);
+ } else {
+ /* if an app id is specified store it in the client
+ so we can save it later */
+ gsm_client_set_app_id (client, app_id);
+ }
+
+ gsm_client_set_status (client, GSM_CLIENT_REGISTERED);
+
+ g_assert (new_startup_id != NULL);
+ g_free (new_startup_id);
+
+ gsm_exported_manager_complete_register_client (skeleton, invocation, gsm_client_peek_id (client));
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_unregister_client (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *client_id,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmClient *client;
+
+ g_debug ("GsmManager: UnregisterClient %s", client_id);
+
+ client = (GsmClient *)gsm_store_lookup (priv->clients, client_id);
+ if (client == NULL) {
+ g_debug ("Unable to unregister client: not registered");
+
+ g_dbus_method_invocation_return_error (invocation,
+ GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_NOT_REGISTERED,
+ "Unable to unregister client");
+ return TRUE;
+ }
+
+ /* don't disconnect client here, only change the status.
+ Wait until it leaves the bus before disconnecting it */
+ gsm_client_set_status (client, GSM_CLIENT_UNREGISTERED);
+
+ gsm_exported_manager_complete_unregister_client (skeleton, invocation);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_inhibit (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *app_id,
+ guint toplevel_xid,
+ const char *reason,
+ guint flags,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *inhibitor;
+ guint cookie;
+
+ g_debug ("GsmManager: Inhibit xid=%u app_id=%s reason=%s flags=%u",
+ toplevel_xid,
+ app_id,
+ reason,
+ flags);
+
+ if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
+ GError *new_error;
+
+ new_error = g_error_new (GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Forced logout cannot be inhibited");
+ g_debug ("GsmManager: Unable to inhibit: %s", new_error->message);
+ g_dbus_method_invocation_take_error (invocation, new_error);
+ return TRUE;
+ }
+
+ if (IS_STRING_EMPTY (app_id)) {
+ GError *new_error;
+
+ new_error = g_error_new (GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Application ID not specified");
+ g_debug ("GsmManager: Unable to inhibit: %s", new_error->message);
+ g_dbus_method_invocation_take_error (invocation, new_error);
+ return TRUE;
+ }
+
+ if (IS_STRING_EMPTY (reason)) {
+ GError *new_error;
+
+ new_error = g_error_new (GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Reason not specified");
+ g_debug ("GsmManager: Unable to inhibit: %s", new_error->message);
+ g_dbus_method_invocation_take_error (invocation, new_error);
+ return FALSE;
+ }
+
+ if (flags == 0) {
+ GError *new_error;
+
+ new_error = g_error_new (GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Invalid inhibit flags");
+ g_debug ("GsmManager: Unable to inhibit: %s", new_error->message);
+ g_dbus_method_invocation_take_error (invocation, new_error);
+ return FALSE;
+ }
+
+ cookie = _generate_unique_cookie (manager);
+ inhibitor = gsm_inhibitor_new (app_id,
+ toplevel_xid,
+ flags,
+ reason,
+ g_dbus_method_invocation_get_sender (invocation),
+ cookie);
+ gsm_store_add (priv->inhibitors, gsm_inhibitor_peek_id (inhibitor), G_OBJECT (inhibitor));
+ g_object_unref (inhibitor);
+
+ gsm_exported_manager_complete_inhibit (skeleton, invocation, cookie);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_uninhibit (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ guint cookie,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *inhibitor;
+
+ g_debug ("GsmManager: Uninhibit %u", cookie);
+
+ inhibitor = (GsmInhibitor *)gsm_store_find (priv->inhibitors,
+ (GsmStoreFunc)_find_by_cookie,
+ &cookie);
+ if (inhibitor == NULL) {
+ GError *new_error;
+
+ new_error = g_error_new (GSM_MANAGER_ERROR,
+ GSM_MANAGER_ERROR_GENERAL,
+ "Unable to uninhibit: Invalid cookie");
+ g_debug ("Unable to uninhibit: %s", new_error->message);
+ g_dbus_method_invocation_take_error (invocation, new_error);
+ return TRUE;
+ }
+
+ g_debug ("GsmManager: removing inhibitor %s %u reason '%s' %u connection %s",
+ gsm_inhibitor_peek_app_id (inhibitor),
+ gsm_inhibitor_peek_toplevel_xid (inhibitor),
+ gsm_inhibitor_peek_reason (inhibitor),
+ gsm_inhibitor_peek_flags (inhibitor),
+ gsm_inhibitor_peek_bus_name (inhibitor));
+
+ gsm_store_remove (priv->inhibitors, gsm_inhibitor_peek_id (inhibitor));
+
+ gsm_exported_manager_complete_uninhibit (skeleton, invocation);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_is_inhibited (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ guint flags,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmInhibitor *inhibitor;
+ gboolean is_inhibited;
+
+ if (priv->inhibitors == NULL
+ || gsm_store_size (priv->inhibitors) == 0) {
+ is_inhibited = FALSE;
+ } else {
+ inhibitor = (GsmInhibitor *) gsm_store_find (priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_flag,
+ GUINT_TO_POINTER (flags));
+ if (inhibitor == NULL) {
+ is_inhibited = FALSE;
+ } else {
+ is_inhibited = TRUE;
+ }
+ }
+
+ gsm_exported_manager_complete_is_inhibited (skeleton, invocation, is_inhibited);
+
+ return TRUE;
+}
+
+static gboolean
+listify_store_ids (char *id,
+ GObject *object,
+ GPtrArray **array)
+{
+ g_ptr_array_add (*array, g_strdup (id));
+ return FALSE;
+}
+
+static gboolean
+gsm_manager_get_clients (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GPtrArray *clients;
+
+ clients = g_ptr_array_new_with_free_func (g_free);
+ gsm_store_foreach (priv->clients,
+ (GsmStoreFunc) listify_store_ids,
+ &clients);
+ g_ptr_array_add (clients, NULL);
+
+ gsm_exported_manager_complete_get_clients (skeleton, invocation,
+ (const gchar * const *) clients->pdata);
+ g_ptr_array_unref (clients);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_get_inhibitors (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GPtrArray *inhibitors;
+
+ inhibitors = g_ptr_array_new_with_free_func (g_free);
+ gsm_store_foreach (priv->inhibitors,
+ (GsmStoreFunc) listify_store_ids,
+ &inhibitors);
+ g_ptr_array_add (inhibitors, NULL);
+
+ gsm_exported_manager_complete_get_inhibitors (skeleton, invocation,
+ (const gchar * const *) inhibitors->pdata);
+ g_ptr_array_unref (inhibitors);
+
+ return TRUE;
+}
+
+static gboolean
+_app_has_autostart_condition (const char *id,
+ GsmApp *app,
+ const char *condition)
+{
+ gboolean has;
+ gboolean disabled;
+
+ has = gsm_app_has_autostart_condition (app, condition);
+ disabled = gsm_app_peek_is_disabled (app);
+
+ return has && !disabled;
+}
+
+static gboolean
+gsm_manager_is_autostart_condition_handled (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ const char *condition,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmApp *app;
+ gboolean handled;
+
+ app = (GsmApp *) gsm_store_find (priv->apps,(
+ GsmStoreFunc) _app_has_autostart_condition,
+ (char *)condition);
+
+ if (app != NULL) {
+ handled = TRUE;
+ } else {
+ handled = FALSE;
+ }
+
+ gsm_exported_manager_complete_is_autostart_condition_handled (skeleton, invocation, handled);
+
+ return TRUE;
+}
+
+static gboolean
+gsm_manager_is_session_running (GsmExportedManager *skeleton,
+ GDBusMethodInvocation *invocation,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ gsm_exported_manager_complete_is_session_running (skeleton, invocation,
+ priv->phase == GSM_MANAGER_PHASE_RUNNING);
+ return TRUE;
+}
+
+static void
+on_session_connection_closed (GDBusConnection *connection,
+ gboolean remote_peer_vanished,
+ GError *error,
+ gpointer user_data)
+{
+ GsmManager *manager;
+ GsmManagerPrivate *priv;
+
+ manager = GSM_MANAGER (user_data);
+ priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: dbus disconnected; disconnecting dbus clients...");
+ priv->dbus_disconnected = TRUE;
+ remove_clients_for_connection (manager, NULL);
+}
+
+static gboolean
+register_manager (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GDBusConnection *connection;
+ GsmExportedManager *skeleton;
+ GError *error = NULL;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (error != NULL) {
+ g_critical ("error getting session bus: %s", error->message);
+ g_error_free (error);
+
+ exit (1);
+ }
+
+ skeleton = gsm_exported_manager_skeleton_new ();
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ connection,
+ GSM_MANAGER_DBUS_PATH, &error);
+
+ if (error != NULL) {
+ g_critical ("error exporting manager on session bus: %s", error->message);
+ g_error_free (error);
+
+ exit (1);
+ }
+
+ g_signal_connect (skeleton, "handle-can-reboot-to-firmware-setup",
+ G_CALLBACK (gsm_manager_can_reboot_to_firmware_setup), manager);
+ g_signal_connect (skeleton, "handle-can-shutdown",
+ G_CALLBACK (gsm_manager_can_shutdown), manager);
+ g_signal_connect (skeleton, "handle-get-clients",
+ G_CALLBACK (gsm_manager_get_clients), manager);
+ g_signal_connect (skeleton, "handle-get-inhibitors",
+ G_CALLBACK (gsm_manager_get_inhibitors), manager);
+ g_signal_connect (skeleton, "handle-get-locale",
+ G_CALLBACK (gsm_manager_get_locale), manager);
+ g_signal_connect (skeleton, "handle-inhibit",
+ G_CALLBACK (gsm_manager_inhibit), manager);
+ g_signal_connect (skeleton, "handle-initialization-error",
+ G_CALLBACK (gsm_manager_initialization_error), manager);
+ g_signal_connect (skeleton, "handle-is-autostart-condition-handled",
+ G_CALLBACK (gsm_manager_is_autostart_condition_handled), manager);
+ g_signal_connect (skeleton, "handle-is-inhibited",
+ G_CALLBACK (gsm_manager_is_inhibited), manager);
+ g_signal_connect (skeleton, "handle-is-session-running",
+ G_CALLBACK (gsm_manager_is_session_running), manager);
+ g_signal_connect (skeleton, "handle-logout",
+ G_CALLBACK (gsm_manager_logout_dbus), manager);
+ g_signal_connect (skeleton, "handle-reboot",
+ G_CALLBACK (gsm_manager_reboot), manager);
+ g_signal_connect (skeleton, "handle-register-client",
+ G_CALLBACK (gsm_manager_register_client), manager);
+ g_signal_connect (skeleton, "handle-set-reboot-to-firmware-setup",
+ G_CALLBACK (gsm_manager_set_reboot_to_firmware_setup), manager);
+ g_signal_connect (skeleton, "handle-setenv",
+ G_CALLBACK (gsm_manager_setenv), manager);
+ g_signal_connect (skeleton, "handle-initialized",
+ G_CALLBACK (gsm_manager_initialized), manager);
+ g_signal_connect (skeleton, "handle-shutdown",
+ G_CALLBACK (gsm_manager_shutdown), manager);
+ g_signal_connect (skeleton, "handle-uninhibit",
+ G_CALLBACK (gsm_manager_uninhibit), manager);
+ g_signal_connect (skeleton, "handle-unregister-client",
+ G_CALLBACK (gsm_manager_unregister_client), manager);
+
+ priv->dbus_disconnected = FALSE;
+ g_signal_connect (connection, "closed",
+ G_CALLBACK (on_session_connection_closed), manager);
+
+ priv->connection = connection;
+ priv->skeleton = skeleton;
+
+ g_signal_connect (priv->system, "notify::active",
+ G_CALLBACK (on_gsm_system_active_changed), manager);
+
+ /* cold-plug SessionIsActive */
+ on_gsm_system_active_changed (priv->system, NULL, manager);
+
+ return TRUE;
+}
+
+static gboolean
+idle_timeout_get_mapping (GValue *value,
+ GVariant *variant,
+ gpointer user_data)
+{
+ guint32 idle_timeout;
+
+ idle_timeout = g_variant_get_uint32 (variant);
+ g_value_set_uint (value, idle_timeout * 1000);
+
+ return TRUE;
+}
+
+static void
+gsm_manager_init (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ priv->settings = g_settings_new (GSM_MANAGER_SCHEMA);
+ priv->session_settings = g_settings_new (SESSION_SCHEMA);
+ priv->screensaver_settings = g_settings_new (SCREENSAVER_SCHEMA);
+ priv->lockdown_settings = g_settings_new (LOCKDOWN_SCHEMA);
+
+ priv->inhibitors = gsm_store_new ();
+ g_signal_connect (priv->inhibitors,
+ "added",
+ G_CALLBACK (on_store_inhibitor_added),
+ manager);
+ g_signal_connect (priv->inhibitors,
+ "removed",
+ G_CALLBACK (on_store_inhibitor_removed),
+ manager);
+
+ priv->apps = gsm_store_new ();
+
+ priv->presence = gsm_presence_new ();
+ g_signal_connect (priv->presence,
+ "status-changed",
+ G_CALLBACK (on_presence_status_changed),
+ manager);
+
+ g_settings_bind_with_mapping (priv->session_settings,
+ KEY_IDLE_DELAY,
+ priv->presence,
+ "idle-timeout",
+ G_SETTINGS_BIND_GET,
+ idle_timeout_get_mapping,
+ NULL,
+ NULL, NULL);
+
+ priv->system = gsm_get_system ();
+ priv->shell = gsm_get_shell ();
+ priv->end_session_cancellable = g_cancellable_new ();
+}
+
+GsmManager *
+gsm_manager_get (void)
+{
+ return manager_object;
+}
+
+GsmManager *
+gsm_manager_new (GsmStore *client_store,
+ gboolean failsafe,
+ gboolean systemd_managed)
+{
+ if (manager_object != NULL) {
+ g_object_ref (manager_object);
+ } else {
+ gboolean res;
+
+ manager_object = g_object_new (GSM_TYPE_MANAGER,
+ "client-store", client_store,
+ "failsafe", failsafe,
+ "systemd-managed", systemd_managed,
+ NULL);
+
+ g_object_add_weak_pointer (manager_object,
+ (gpointer *) &manager_object);
+ res = register_manager (manager_object);
+ if (! res) {
+ g_object_unref (manager_object);
+ return NULL;
+ }
+ }
+
+ return GSM_MANAGER (manager_object);
+}
+
+static void
+disconnect_shell_dialog_signals (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->shell_end_session_dialog_canceled_id != 0) {
+ g_signal_handler_disconnect (priv->shell,
+ priv->shell_end_session_dialog_canceled_id);
+ priv->shell_end_session_dialog_canceled_id = 0;
+ }
+
+ if (priv->shell_end_session_dialog_confirmed_logout_id != 0) {
+ g_signal_handler_disconnect (priv->shell,
+ priv->shell_end_session_dialog_confirmed_logout_id);
+ priv->shell_end_session_dialog_confirmed_logout_id = 0;
+ }
+
+ if (priv->shell_end_session_dialog_confirmed_shutdown_id != 0) {
+ g_signal_handler_disconnect (priv->shell,
+ priv->shell_end_session_dialog_confirmed_shutdown_id);
+ priv->shell_end_session_dialog_confirmed_shutdown_id = 0;
+ }
+
+ if (priv->shell_end_session_dialog_confirmed_reboot_id != 0) {
+ g_signal_handler_disconnect (priv->shell,
+ priv->shell_end_session_dialog_confirmed_reboot_id);
+ priv->shell_end_session_dialog_confirmed_reboot_id = 0;
+ }
+
+ if (priv->shell_end_session_dialog_open_failed_id != 0) {
+ g_signal_handler_disconnect (priv->shell,
+ priv->shell_end_session_dialog_open_failed_id);
+ priv->shell_end_session_dialog_open_failed_id = 0;
+ }
+}
+
+static void
+on_shell_end_session_dialog_canceled (GsmShell *shell,
+ GsmManager *manager)
+{
+ cancel_end_session (manager);
+ disconnect_shell_dialog_signals (manager);
+}
+
+static void
+_handle_end_session_dialog_response (GsmManager *manager,
+ GsmManagerLogoutType logout_type)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ /* Note we're checking for END_SESSION here and
+ * QUERY_END_SESSION in the fallback cases elsewhere.
+ *
+ * That's because they run at different times in the logout
+ * process. The shell combines the inhibit and
+ * confirmation dialogs, so it gets displayed after we've collected
+ * inhibitors. The fallback code has two distinct dialogs, once of
+ * which we can (and do show) before collecting the inhibitors.
+ */
+ if (priv->phase >= GSM_MANAGER_PHASE_END_SESSION) {
+ /* Already shutting down, nothing more to do */
+ return;
+ }
+
+ priv->logout_mode = GSM_MANAGER_LOGOUT_MODE_FORCE;
+ priv->logout_type = logout_type;
+ end_phase (manager);
+}
+
+static void
+on_shell_end_session_dialog_confirmed_logout (GsmShell *shell,
+ GsmManager *manager)
+{
+ _handle_end_session_dialog_response (manager, GSM_MANAGER_LOGOUT_LOGOUT);
+ disconnect_shell_dialog_signals (manager);
+}
+
+static void
+on_shell_end_session_dialog_confirmed_shutdown (GsmShell *shell,
+ GsmManager *manager)
+{
+ _handle_end_session_dialog_response (manager, GSM_MANAGER_LOGOUT_SHUTDOWN);
+ disconnect_shell_dialog_signals (manager);
+}
+
+static void
+on_shell_end_session_dialog_confirmed_reboot (GsmShell *shell,
+ GsmManager *manager)
+{
+ _handle_end_session_dialog_response (manager, GSM_MANAGER_LOGOUT_REBOOT);
+ disconnect_shell_dialog_signals (manager);
+}
+
+static void
+connect_shell_dialog_signals (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (priv->shell_end_session_dialog_canceled_id != 0)
+ return;
+
+ priv->shell_end_session_dialog_canceled_id =
+ g_signal_connect (priv->shell,
+ "end-session-dialog-canceled",
+ G_CALLBACK (on_shell_end_session_dialog_canceled),
+ manager);
+
+ priv->shell_end_session_dialog_open_failed_id =
+ g_signal_connect (priv->shell,
+ "end-session-dialog-open-failed",
+ G_CALLBACK (on_shell_end_session_dialog_canceled),
+ manager);
+
+ priv->shell_end_session_dialog_confirmed_logout_id =
+ g_signal_connect (priv->shell,
+ "end-session-dialog-confirmed-logout",
+ G_CALLBACK (on_shell_end_session_dialog_confirmed_logout),
+ manager);
+
+ priv->shell_end_session_dialog_confirmed_shutdown_id =
+ g_signal_connect (priv->shell,
+ "end-session-dialog-confirmed-shutdown",
+ G_CALLBACK (on_shell_end_session_dialog_confirmed_shutdown),
+ manager);
+
+ priv->shell_end_session_dialog_confirmed_reboot_id =
+ g_signal_connect (priv->shell,
+ "end-session-dialog-confirmed-reboot",
+ G_CALLBACK (on_shell_end_session_dialog_confirmed_reboot),
+ manager);
+}
+
+static void
+show_shell_end_session_dialog (GsmManager *manager,
+ GsmShellEndSessionDialogType type)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ if (!gsm_shell_is_running (priv->shell))
+ return;
+
+ gsm_shell_open_end_session_dialog (priv->shell,
+ type,
+ priv->inhibitors);
+ connect_shell_dialog_signals (manager);
+}
+
+/*
+ dbus-send --session --type=method_call --print-reply
+ --dest=org.gnome.SessionManager
+ /org/gnome/SessionManager
+ org.freedesktop.DBus.Introspectable.Introspect
+*/
+
+gboolean
+gsm_manager_set_phase (GsmManager *manager,
+ GsmManagerPhase phase)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+ priv->phase = phase;
+ return (TRUE);
+}
+
+static void
+append_app (GsmManager *manager,
+ GsmApp *app,
+ gboolean is_required)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ const char *id;
+ const char *app_id;
+ GsmApp *dup;
+
+ id = gsm_app_peek_id (app);
+ if (IS_STRING_EMPTY (id)) {
+ g_debug ("GsmManager: not adding app: no id");
+ return;
+ }
+
+ dup = (GsmApp *)gsm_store_lookup (priv->apps, id);
+ if (dup != NULL) {
+ g_debug ("GsmManager: not adding app: already added");
+ return;
+ }
+
+ app_id = gsm_app_peek_app_id (app);
+ if (IS_STRING_EMPTY (app_id)) {
+ g_debug ("GsmManager: not adding app: no app-id");
+ return;
+ }
+
+ dup = find_app_for_app_id (manager, app_id);
+ if (dup != NULL) {
+ g_debug ("GsmManager: not adding app: app-id '%s' already exists", app_id);
+
+ if (is_required &&
+ !g_slist_find (priv->required_apps, dup)) {
+ g_debug ("GsmManager: making app '%s' required", gsm_app_peek_app_id (dup));
+ priv->required_apps = g_slist_prepend (priv->required_apps, dup);
+ }
+
+ return;
+ }
+
+ gsm_store_add (priv->apps, id, G_OBJECT (app));
+ if (is_required) {
+ g_debug ("GsmManager: adding required app %s", gsm_app_peek_app_id (app));
+ priv->required_apps = g_slist_prepend (priv->required_apps, app);
+ }
+}
+
+static gboolean
+add_autostart_app_internal (GsmManager *manager,
+ const char *path,
+ gboolean is_required)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ GsmApp *app;
+ char **internal_provides;
+ GError *error = NULL;
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+ g_return_val_if_fail (path != NULL, FALSE);
+
+ /* Note: if we cannot add the app because its service is already
+ * provided, because its app-id is taken, or because of any other
+ * reason meaning there is already an app playing its role, then we
+ * should make sure that relevant properties (like
+ * provides/is_required) are set in the pre-existing app if needed. */
+ app = gsm_autostart_app_new (path, priv->systemd_managed, &error);
+ if (app == NULL) {
+ g_warning ("%s", error->message);
+ g_clear_error (&error);
+ return FALSE;
+ }
+
+ internal_provides = gsm_app_get_provides (app);
+ if (internal_provides) {
+ int i;
+ gboolean provided = FALSE;
+
+ for (i = 0; internal_provides[i] != NULL; i++) {
+ GsmApp *dup;
+
+ dup = (GsmApp *)gsm_store_find (priv->apps,
+ (GsmStoreFunc)_find_app_provides,
+ (char *)internal_provides[i]);
+ if (dup != NULL) {
+ g_debug ("GsmManager: service '%s' is already provided", internal_provides[i]);
+
+ if (is_required &&
+ !g_slist_find (priv->required_apps, dup)) {
+ g_debug ("GsmManager: making app '%s' required", gsm_app_peek_app_id (dup));
+ priv->required_apps = g_slist_prepend (priv->required_apps, dup);
+ }
+
+ provided = TRUE;
+ break;
+ }
+ }
+
+ g_strfreev (internal_provides);
+
+ if (provided) {
+ g_object_unref (app);
+ return FALSE;
+ }
+ }
+
+ g_debug ("GsmManager: read %s", path);
+ append_app (manager, app, is_required);
+ g_object_unref (app);
+
+ return TRUE;
+}
+
+gboolean
+gsm_manager_add_autostart_app (GsmManager *manager,
+ const char *path)
+{
+ return add_autostart_app_internal (manager, path, FALSE);
+}
+
+/**
+ * gsm_manager_add_required_app:
+ * @manager: a #GsmManager
+ * @path: Path to desktop file
+ *
+ * Similar to gsm_manager_add_autostart_app(), except marks the
+ * component as being required; we then try harder to ensure
+ * it's running and inform the user if we can't.
+ *
+ */
+gboolean
+gsm_manager_add_required_app (GsmManager *manager,
+ const char *path)
+{
+ return add_autostart_app_internal (manager, path, TRUE);
+}
+
+
+gboolean
+gsm_manager_add_autostart_apps_from_dir (GsmManager *manager,
+ const char *path)
+{
+ GDir *dir;
+ const char *name;
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+ g_return_val_if_fail (path != NULL, FALSE);
+
+ g_debug ("GsmManager: *** Adding autostart apps for %s", path);
+
+ dir = g_dir_open (path, 0, NULL);
+ if (dir == NULL) {
+ return FALSE;
+ }
+
+ while ((name = g_dir_read_name (dir))) {
+ char *desktop_file;
+
+ if (!g_str_has_suffix (name, ".desktop")) {
+ continue;
+ }
+
+ desktop_file = g_build_filename (path, name, NULL);
+ gsm_manager_add_autostart_app (manager, desktop_file);
+ g_free (desktop_file);
+ }
+
+ g_dir_close (dir);
+
+ return TRUE;
+}
+
+static void
+on_shutdown_prepared (GsmSystem *system,
+ gboolean success,
+ GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+
+ g_debug ("GsmManager: on_shutdown_prepared, success: %d", success);
+ g_signal_handlers_disconnect_by_func (system, on_shutdown_prepared, manager);
+
+ if (success) {
+ /* move to end-session phase */
+ g_assert (priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION);
+ priv->phase++;
+ start_phase (manager);
+ } else {
+ disconnect_shell_dialog_signals (manager);
+ gsm_shell_close_end_session_dialog (priv->shell);
+ /* back to running phase */
+ cancel_end_session (manager);
+ }
+}
+
+static gboolean
+do_query_end_session_exit (GsmManager *manager)
+{
+ GsmManagerPrivate *priv = gsm_manager_get_instance_private (manager);
+ gboolean reboot = FALSE;
+ gboolean shutdown = FALSE;
+
+ switch (priv->logout_type) {
+ case GSM_MANAGER_LOGOUT_LOGOUT:
+ break;
+ case GSM_MANAGER_LOGOUT_REBOOT:
+ case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
+ reboot = TRUE;
+ break;
+ case GSM_MANAGER_LOGOUT_SHUTDOWN:
+ case GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT:
+ shutdown = TRUE;
+ break;
+ default:
+ g_warning ("Unexpected logout type %d in do_query_end_session_exit()",
+ priv->logout_type);
+ break;
+ }
+
+ if (reboot || shutdown) {
+ g_signal_connect (priv->system, "shutdown-prepared",
+ G_CALLBACK (on_shutdown_prepared), manager);
+ gsm_system_prepare_shutdown (priv->system, reboot);
+ return FALSE; /* don't leave query end session yet */
+ }
+
+ return TRUE; /* go to end session phase */
+}
diff --git a/gnome-session/gsm-manager.h b/gnome-session/gsm-manager.h
new file mode 100644
index 0000000..7cd5cc4
--- /dev/null
+++ b/gnome-session/gsm-manager.h
@@ -0,0 +1,121 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 William Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#ifndef __GSM_MANAGER_H
+#define __GSM_MANAGER_H
+
+#include <glib-object.h>
+
+#include "gsm-store.h"
+#include "gsm-manager-logout-mode.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_MANAGER (gsm_manager_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GsmManager, gsm_manager, GSM, MANAGER, GObject)
+
+struct _GsmManagerClass
+{
+ GObjectClass parent_class;
+
+ void (* phase_changed) (GsmManager *manager,
+ const char *phase);
+};
+
+typedef enum {
+ /* gsm's own startup/initialization phase */
+ GSM_MANAGER_PHASE_STARTUP = 0,
+ /* gnome-initial-setup */
+ GSM_MANAGER_PHASE_EARLY_INITIALIZATION,
+ /* gnome-keyring-daemon */
+ GSM_MANAGER_PHASE_PRE_DISPLAY_SERVER,
+ /* wayland compositor and XWayland */
+ GSM_MANAGER_PHASE_DISPLAY_SERVER,
+ /* xrandr setup, gnome-settings-daemon, etc */
+ GSM_MANAGER_PHASE_INITIALIZATION,
+ /* window/compositing managers */
+ GSM_MANAGER_PHASE_WINDOW_MANAGER,
+ /* apps that will create _NET_WM_WINDOW_TYPE_PANEL windows */
+ GSM_MANAGER_PHASE_PANEL,
+ /* apps that will create _NET_WM_WINDOW_TYPE_DESKTOP windows */
+ GSM_MANAGER_PHASE_DESKTOP,
+ /* everything else */
+ GSM_MANAGER_PHASE_APPLICATION,
+ /* done launching */
+ GSM_MANAGER_PHASE_RUNNING,
+ /* shutting down */
+ GSM_MANAGER_PHASE_QUERY_END_SESSION,
+ GSM_MANAGER_PHASE_END_SESSION,
+ GSM_MANAGER_PHASE_EXIT
+} GsmManagerPhase;
+
+typedef enum
+{
+ GSM_MANAGER_ERROR_GENERAL = 0,
+ GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION,
+ GSM_MANAGER_ERROR_NOT_IN_RUNNING,
+ GSM_MANAGER_ERROR_ALREADY_REGISTERED,
+ GSM_MANAGER_ERROR_NOT_REGISTERED,
+ GSM_MANAGER_ERROR_INVALID_OPTION,
+ GSM_MANAGER_ERROR_LOCKED_DOWN,
+ GSM_MANAGER_NUM_ERRORS
+} GsmManagerError;
+
+#define GSM_MANAGER_ERROR gsm_manager_error_quark ()
+GQuark gsm_manager_error_quark (void);
+
+GsmManager * gsm_manager_new (GsmStore *client_store,
+ gboolean failsafe,
+ gboolean systemd_managed);
+GsmManager * gsm_manager_get (void);
+
+gboolean gsm_manager_get_failsafe (GsmManager *manager);
+gboolean gsm_manager_get_systemd_managed (GsmManager *manager);
+
+gboolean gsm_manager_add_autostart_app (GsmManager *manager,
+ const char *path);
+gboolean gsm_manager_add_required_app (GsmManager *manager,
+ const char *path);
+gboolean gsm_manager_add_autostart_apps_from_dir (GsmManager *manager,
+ const char *path);
+gboolean gsm_manager_add_legacy_session_apps (GsmManager *manager,
+ const char *path);
+
+void gsm_manager_start (GsmManager *manager);
+
+char * _gsm_manager_get_default_session (GsmManager *manager);
+
+void _gsm_manager_set_active_session (GsmManager *manager,
+ const char *session_name,
+ gboolean is_fallback);
+
+void _gsm_manager_set_renderer (GsmManager *manager,
+ const char *renderer);
+
+gboolean gsm_manager_logout (GsmManager *manager,
+ guint logout_mode,
+ GError **error);
+
+gboolean gsm_manager_set_phase (GsmManager *manager,
+ GsmManagerPhase phase);
+
+G_END_DECLS
+
+#endif /* __GSM_MANAGER_H */
diff --git a/gnome-session/gsm-presence-flag.h b/gnome-session/gsm-presence-flag.h
new file mode 100644
index 0000000..f3bbca4
--- /dev/null
+++ b/gnome-session/gsm-presence-flag.h
@@ -0,0 +1,33 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2009 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_PRESENCE_FLAG_H__
+#define __GSM_PRESENCE_FLAG_H__
+
+G_BEGIN_DECLS
+
+typedef enum {
+ GSM_PRESENCE_STATUS_AVAILABLE = 0,
+ GSM_PRESENCE_STATUS_INVISIBLE,
+ GSM_PRESENCE_STATUS_BUSY,
+ GSM_PRESENCE_STATUS_IDLE,
+} GsmPresenceStatus;
+
+G_END_DECLS
+
+#endif /* __GSM_PRESENCE_FLAG_H__ */
diff --git a/gnome-session/gsm-presence.c b/gnome-session/gsm-presence.c
new file mode 100644
index 0000000..f4aa488
--- /dev/null
+++ b/gnome-session/gsm-presence.c
@@ -0,0 +1,542 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2009 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include "config.h"
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <libgnome-desktop/gnome-idle-monitor.h>
+
+#include "gsm-presence.h"
+#include "org.gnome.SessionManager.Presence.h"
+
+#define GSM_PRESENCE_DBUS_IFACE "org.gnome.SessionManager.Presence"
+#define GSM_PRESENCE_DBUS_PATH "/org/gnome/SessionManager/Presence"
+
+#define GS_NAME "org.gnome.ScreenSaver"
+#define GS_PATH "/org/gnome/ScreenSaver"
+#define GS_INTERFACE "org.gnome.ScreenSaver"
+
+#define MAX_STATUS_TEXT 140
+
+#define GSM_PRESENCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_PRESENCE, GsmPresencePrivate))
+
+struct GsmPresencePrivate
+{
+ guint status;
+ guint saved_status;
+ char *status_text;
+ gboolean idle_enabled;
+ GnomeIdleMonitor *idle_monitor;
+ guint idle_watch_id;
+ guint idle_timeout;
+ gboolean screensaver_active;
+ GDBusConnection *connection;
+ GDBusProxy *screensaver_proxy;
+
+ GsmExportedPresence *skeleton;
+};
+
+enum {
+ PROP_0,
+ PROP_IDLE_ENABLED,
+ PROP_IDLE_TIMEOUT,
+};
+
+enum {
+ STATUS_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0, };
+
+G_DEFINE_TYPE (GsmPresence, gsm_presence, G_TYPE_OBJECT)
+
+static const GDBusErrorEntry gsm_presence_error_entries[] = {
+ { GSM_PRESENCE_ERROR_GENERAL, GSM_PRESENCE_DBUS_IFACE ".GeneralError" }
+};
+
+GQuark
+gsm_presence_error_quark (void)
+{
+ static volatile gsize quark_volatile = 0;
+
+ g_dbus_error_register_error_domain ("gsm_presence_error",
+ &quark_volatile,
+ gsm_presence_error_entries,
+ G_N_ELEMENTS (gsm_presence_error_entries));
+ return quark_volatile;
+}
+
+static void idle_became_active_cb (GnomeIdleMonitor *idle_monitor,
+ guint id,
+ gpointer user_data);
+
+static void
+gsm_presence_set_status (GsmPresence *presence,
+ guint status)
+{
+ if (status != presence->priv->status) {
+ presence->priv->status = status;
+ gsm_exported_presence_set_status (presence->priv->skeleton, status);
+ gsm_exported_presence_emit_status_changed (presence->priv->skeleton, presence->priv->status);
+ g_signal_emit (presence, signals[STATUS_CHANGED], 0, presence->priv->status);
+ }
+}
+
+static gboolean
+gsm_presence_set_status_text (GsmPresence *presence,
+ const char *status_text,
+ GError **error)
+{
+ g_return_val_if_fail (GSM_IS_PRESENCE (presence), FALSE);
+
+ g_free (presence->priv->status_text);
+ presence->priv->status_text = NULL;
+
+ /* check length */
+ if (status_text != NULL && strlen (status_text) > MAX_STATUS_TEXT) {
+ g_set_error (error,
+ GSM_PRESENCE_ERROR,
+ GSM_PRESENCE_ERROR_GENERAL,
+ "Status text too long");
+ return FALSE;
+ }
+
+ if (status_text != NULL) {
+ presence->priv->status_text = g_strdup (status_text);
+ } else {
+ presence->priv->status_text = g_strdup ("");
+ }
+
+ gsm_exported_presence_set_status_text (presence->priv->skeleton, presence->priv->status_text);
+ gsm_exported_presence_emit_status_text_changed (presence->priv->skeleton, presence->priv->status_text);
+ return TRUE;
+}
+
+static void
+set_session_idle (GsmPresence *presence,
+ gboolean is_idle)
+{
+ g_debug ("GsmPresence: setting idle: %d", is_idle);
+
+ if (is_idle) {
+ if (presence->priv->status == GSM_PRESENCE_STATUS_IDLE) {
+ g_debug ("GsmPresence: already idle, ignoring");
+ return;
+ }
+
+ /* save current status */
+ presence->priv->saved_status = presence->priv->status;
+ gsm_presence_set_status (presence, GSM_PRESENCE_STATUS_IDLE);
+
+ gnome_idle_monitor_add_user_active_watch (presence->priv->idle_monitor,
+ idle_became_active_cb,
+ presence,
+ NULL);
+ } else {
+ if (presence->priv->status != GSM_PRESENCE_STATUS_IDLE) {
+ g_debug ("GsmPresence: already not idle, ignoring");
+ return;
+ }
+
+ /* restore saved status */
+ gsm_presence_set_status (presence, presence->priv->saved_status);
+ g_debug ("GsmPresence: setting non-idle status %d", presence->priv->saved_status);
+ presence->priv->saved_status = GSM_PRESENCE_STATUS_AVAILABLE;
+ }
+}
+
+static void
+idle_became_idle_cb (GnomeIdleMonitor *idle_monitor,
+ guint id,
+ gpointer user_data)
+{
+ GsmPresence *presence = user_data;
+ set_session_idle (presence, TRUE);
+}
+
+static void
+idle_became_active_cb (GnomeIdleMonitor *idle_monitor,
+ guint id,
+ gpointer user_data)
+{
+ GsmPresence *presence = user_data;
+ set_session_idle (presence, FALSE);
+}
+
+static void
+reset_idle_watch (GsmPresence *presence)
+{
+ if (presence->priv->idle_watch_id > 0) {
+ g_debug ("GsmPresence: removing idle watch (%i)", presence->priv->idle_watch_id);
+ gnome_idle_monitor_remove_watch (presence->priv->idle_monitor,
+ presence->priv->idle_watch_id);
+ presence->priv->idle_watch_id = 0;
+ }
+
+ if (presence->priv->idle_enabled
+ && presence->priv->idle_timeout > 0) {
+ presence->priv->idle_watch_id = gnome_idle_monitor_add_idle_watch (presence->priv->idle_monitor,
+ presence->priv->idle_timeout,
+ idle_became_idle_cb,
+ presence,
+ NULL);
+ g_debug ("GsmPresence: adding idle watch (%i) for %d secs",
+ presence->priv->idle_watch_id,
+ presence->priv->idle_timeout / 1000);
+ }
+}
+
+static void
+on_screensaver_dbus_signal (GDBusProxy *proxy,
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ GsmPresence *presence)
+{
+ gboolean is_active;
+
+ if (g_strcmp0 (signal_name, "ActiveChanged") != 0) {
+ return;
+ }
+
+ g_variant_get (parameters, "(b)", &is_active);
+
+ if (presence->priv->screensaver_active != is_active) {
+ presence->priv->screensaver_active = is_active;
+ set_session_idle (presence, is_active);
+ }
+}
+
+static void
+screensaver_get_active_cb (GDBusProxy *screensaver_proxy,
+ GAsyncResult *res,
+ GsmPresence *presence)
+{
+ g_autoptr(GVariant) data = NULL;
+ g_autoptr(GError) error = NULL;
+ gboolean is_active;
+
+ data = g_dbus_proxy_call_finish (screensaver_proxy, res, &error);
+ if (!data) {
+ if (error) {
+ g_warning ("Could not retrieve current screensaver active state: %s",
+ error->message);
+ } else {
+ g_warning ("Could not retrieve current screensaver active state!");
+ }
+
+ return;
+ }
+
+ g_variant_get (data, "(b)", &is_active);
+ if (presence->priv->screensaver_active != is_active) {
+ presence->priv->screensaver_active = is_active;
+ set_session_idle (presence, is_active);
+ }
+}
+
+static void
+on_screensaver_name_owner_changed (GDBusProxy *screensaver_proxy,
+ GParamSpec *pspec,
+ GsmPresence *presence)
+{
+ gchar *name_owner;
+
+ name_owner = g_dbus_proxy_get_name_owner (screensaver_proxy);
+ if (name_owner == NULL) {
+ g_debug ("Detected that screensaver has left the bus");
+
+ presence->priv->screensaver_active = FALSE;
+ set_session_idle (presence, FALSE);
+ } else {
+ g_debug ("Detected that screensaver has aquired the bus");
+
+ g_dbus_proxy_call (presence->priv->screensaver_proxy,
+ "GetActive",
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ 1000,
+ NULL,
+ (GAsyncReadyCallback) screensaver_get_active_cb,
+ presence);
+ }
+
+ g_free (name_owner);
+}
+
+static gboolean
+gsm_presence_set_status_text_dbus (GsmExportedPresence *skeleton,
+ GDBusMethodInvocation *invocation,
+ gchar *status_text,
+ GsmPresence *presence)
+{
+ GError *error = NULL;
+
+ if (gsm_presence_set_status_text (presence, status_text, &error)) {
+ gsm_exported_presence_complete_set_status_text (skeleton, invocation);
+ } else {
+ g_dbus_method_invocation_take_error (invocation, error);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_presence_set_status_dbus (GsmExportedPresence *skeleton,
+ GDBusMethodInvocation *invocation,
+ guint status,
+ GsmPresence *presence)
+{
+ gsm_presence_set_status (presence, status);
+ gsm_exported_presence_complete_set_status (skeleton, invocation);
+ return TRUE;
+}
+
+static gboolean
+register_presence (GsmPresence *presence)
+{
+ GError *error;
+ GsmExportedPresence *skeleton;
+
+ error = NULL;
+ presence->priv->connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (error != NULL) {
+ g_critical ("error getting session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ skeleton = gsm_exported_presence_skeleton_new ();
+ presence->priv->skeleton = skeleton;
+ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (skeleton),
+ presence->priv->connection,
+ GSM_PRESENCE_DBUS_PATH, &error);
+ if (error != NULL) {
+ g_critical ("error registering presence object on session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_signal_connect (skeleton, "handle-set-status",
+ G_CALLBACK (gsm_presence_set_status_dbus), presence);
+ g_signal_connect (skeleton, "handle-set-status-text",
+ G_CALLBACK (gsm_presence_set_status_text_dbus), presence);
+
+ return TRUE;
+}
+
+static GObject *
+gsm_presence_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmPresence *presence;
+ gboolean res;
+ GError *error = NULL;
+
+ presence = GSM_PRESENCE (G_OBJECT_CLASS (gsm_presence_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+
+ res = register_presence (presence);
+ if (! res) {
+ g_warning ("Unable to register presence with session bus");
+ }
+
+ /* This only connects to signals and resolves the current name owner
+ * synchronously. It is important to not auto-start the service!
+ */
+ presence->priv->screensaver_proxy = g_dbus_proxy_new_sync (presence->priv->connection,
+ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
+ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+ NULL,
+ GS_NAME,
+ GS_PATH,
+ GS_INTERFACE,
+ NULL, &error);
+ if (error != NULL) {
+ g_critical ("Unable to create a DBus proxy for GnomeScreensaver: %s",
+ error->message);
+ g_error_free (error);
+ } else {
+ g_signal_connect (presence->priv->screensaver_proxy, "notify::g-name-owner",
+ G_CALLBACK (on_screensaver_name_owner_changed), presence);
+ g_signal_connect (presence->priv->screensaver_proxy, "g-signal",
+ G_CALLBACK (on_screensaver_dbus_signal), presence);
+ }
+
+ return G_OBJECT (presence);
+}
+
+static void
+gsm_presence_init (GsmPresence *presence)
+{
+ presence->priv = GSM_PRESENCE_GET_PRIVATE (presence);
+
+ presence->priv->idle_monitor = gnome_idle_monitor_new ();
+}
+
+void
+gsm_presence_set_idle_enabled (GsmPresence *presence,
+ gboolean enabled)
+{
+ g_return_if_fail (GSM_IS_PRESENCE (presence));
+
+ if (presence->priv->idle_enabled != enabled) {
+ presence->priv->idle_enabled = enabled;
+ reset_idle_watch (presence);
+ g_object_notify (G_OBJECT (presence), "idle-enabled");
+
+ }
+}
+
+void
+gsm_presence_set_idle_timeout (GsmPresence *presence,
+ guint timeout)
+{
+ g_return_if_fail (GSM_IS_PRESENCE (presence));
+
+ if (timeout != presence->priv->idle_timeout) {
+ presence->priv->idle_timeout = timeout;
+ reset_idle_watch (presence);
+ g_object_notify (G_OBJECT (presence), "idle-timeout");
+ }
+}
+
+static void
+gsm_presence_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmPresence *self;
+
+ self = GSM_PRESENCE (object);
+
+ switch (prop_id) {
+ case PROP_IDLE_ENABLED:
+ gsm_presence_set_idle_enabled (self, g_value_get_boolean (value));
+ break;
+ case PROP_IDLE_TIMEOUT:
+ gsm_presence_set_idle_timeout (self, g_value_get_uint (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_presence_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmPresence *self;
+
+ self = GSM_PRESENCE (object);
+
+ switch (prop_id) {
+ case PROP_IDLE_ENABLED:
+ g_value_set_boolean (value, self->priv->idle_enabled);
+ break;
+ case PROP_IDLE_TIMEOUT:
+ g_value_set_uint (value, self->priv->idle_timeout);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_presence_finalize (GObject *object)
+{
+ GsmPresence *presence = (GsmPresence *) object;
+
+ if (presence->priv->idle_watch_id > 0) {
+ gnome_idle_monitor_remove_watch (presence->priv->idle_monitor,
+ presence->priv->idle_watch_id);
+ presence->priv->idle_watch_id = 0;
+ }
+
+ g_clear_pointer (&presence->priv->status_text, g_free);
+ g_clear_object (&presence->priv->idle_monitor);
+ g_clear_object (&presence->priv->screensaver_proxy);
+
+ G_OBJECT_CLASS (gsm_presence_parent_class)->finalize (object);
+}
+
+static void
+gsm_presence_class_init (GsmPresenceClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = gsm_presence_finalize;
+ object_class->constructor = gsm_presence_constructor;
+ object_class->get_property = gsm_presence_get_property;
+ object_class->set_property = gsm_presence_set_property;
+
+ signals [STATUS_CHANGED] =
+ g_signal_new ("status-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmPresenceClass, status_changed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__UINT,
+ G_TYPE_NONE,
+ 1, G_TYPE_UINT);
+
+ g_object_class_install_property (object_class,
+ PROP_IDLE_ENABLED,
+ g_param_spec_boolean ("idle-enabled",
+ NULL,
+ NULL,
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class,
+ PROP_IDLE_TIMEOUT,
+ g_param_spec_uint ("idle-timeout",
+ "idle timeout",
+ "idle timeout",
+ 0,
+ G_MAXINT,
+ 120000,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_type_class_add_private (klass, sizeof (GsmPresencePrivate));
+}
+
+GsmPresence *
+gsm_presence_new (void)
+{
+ GsmPresence *presence;
+
+ presence = g_object_new (GSM_TYPE_PRESENCE,
+ NULL);
+
+ return presence;
+}
diff --git a/gnome-session/gsm-presence.h b/gnome-session/gsm-presence.h
new file mode 100644
index 0000000..8646936
--- /dev/null
+++ b/gnome-session/gsm-presence.h
@@ -0,0 +1,75 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2009 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_PRESENCE_H__
+#define __GSM_PRESENCE_H__
+
+#include <glib-object.h>
+#include <sys/types.h>
+
+#include "gsm-presence-flag.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_PRESENCE (gsm_presence_get_type ())
+#define GSM_PRESENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_PRESENCE, GsmPresence))
+#define GSM_PRESENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_PRESENCE, GsmPresenceClass))
+#define GSM_IS_PRESENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_PRESENCE))
+#define GSM_IS_PRESENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_PRESENCE))
+#define GSM_PRESENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_PRESENCE, GsmPresenceClass))
+
+typedef struct _GsmPresence GsmPresence;
+typedef struct _GsmPresenceClass GsmPresenceClass;
+
+typedef struct GsmPresencePrivate GsmPresencePrivate;
+
+struct _GsmPresence
+{
+ GObject parent;
+ GsmPresencePrivate *priv;
+};
+
+struct _GsmPresenceClass
+{
+ GObjectClass parent_class;
+
+ void (* status_changed) (GsmPresence *presence,
+ guint status);
+};
+
+typedef enum
+{
+ GSM_PRESENCE_ERROR_GENERAL = 0,
+ GSM_PRESENCE_NUM_ERRORS
+} GsmPresenceError;
+
+#define GSM_PRESENCE_ERROR gsm_presence_error_quark ()
+GQuark gsm_presence_error_quark (void);
+
+GType gsm_presence_get_type (void) G_GNUC_CONST;
+
+GsmPresence * gsm_presence_new (void);
+
+void gsm_presence_set_idle_enabled (GsmPresence *presence,
+ gboolean enabled);
+void gsm_presence_set_idle_timeout (GsmPresence *presence,
+ guint n_seconds);
+
+G_END_DECLS
+
+#endif /* __GSM_PRESENCE_H__ */
diff --git a/gnome-session/gsm-process-helper.c b/gnome-session/gsm-process-helper.c
new file mode 100644
index 0000000..01d581d
--- /dev/null
+++ b/gnome-session/gsm-process-helper.c
@@ -0,0 +1,113 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2010 Novell, 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 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include <gio/gio.h>
+#include <glib/gi18n.h>
+
+#include "gsm-process-helper.h"
+
+typedef struct {
+ gboolean done;
+ GSubprocess *process;
+ gboolean caught_error;
+ GError **error;
+ GMainContext *maincontext;
+ GSource *timeout_source;
+} GsmProcessHelper;
+
+static void
+on_child_exited (GObject *source,
+ GAsyncResult *result,
+ gpointer data)
+{
+ GsmProcessHelper *helper = data;
+
+ helper->done = TRUE;
+
+ if (!g_subprocess_wait_check_finish ((GSubprocess*)source, result,
+ helper->caught_error ? NULL : helper->error))
+ helper->caught_error = TRUE;
+
+ g_clear_pointer (&helper->timeout_source, g_source_destroy);
+
+ g_main_context_wakeup (helper->maincontext);
+}
+
+static gboolean
+on_child_timeout (gpointer data)
+{
+ GsmProcessHelper *helper = data;
+
+ g_assert (!helper->done);
+
+ g_subprocess_force_exit (helper->process);
+
+ g_set_error_literal (helper->error,
+ G_IO_CHANNEL_ERROR,
+ G_IO_CHANNEL_ERROR_FAILED,
+ "Timed out");
+
+ helper->timeout_source = NULL;
+
+ return FALSE;
+}
+
+gboolean
+gsm_process_helper (const char *command_line,
+ unsigned int timeout,
+ GError **error)
+{
+ gboolean ret = FALSE;
+ GsmProcessHelper helper = { 0, };
+ gchar **argv = NULL;
+ GMainContext *subcontext = NULL;
+
+ if (!g_shell_parse_argv (command_line, NULL, &argv, error))
+ goto out;
+
+ helper.error = error;
+
+ subcontext = g_main_context_new ();
+ g_main_context_push_thread_default (subcontext);
+
+ helper.process = g_subprocess_newv ((const char*const*)argv, 0, error);
+ if (!helper.process)
+ goto out;
+
+ g_subprocess_wait_async (helper.process, NULL, on_child_exited, &helper);
+
+ helper.timeout_source = g_timeout_source_new (timeout);
+
+ g_source_set_callback (helper.timeout_source, on_child_timeout, &helper, NULL);
+ g_source_attach (helper.timeout_source, subcontext);
+
+ while (!helper.done)
+ g_main_context_iteration (subcontext, TRUE);
+
+ ret = helper.caught_error;
+ out:
+ g_strfreev (argv);
+ if (subcontext) {
+ g_main_context_pop_thread_default (subcontext);
+ g_main_context_unref (subcontext);
+ }
+ g_clear_object (&helper.process);
+ return ret;
+}
diff --git a/gnome-session/gsm-process-helper.h b/gnome-session/gsm-process-helper.h
new file mode 100644
index 0000000..6ba6ea4
--- /dev/null
+++ b/gnome-session/gsm-process-helper.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2010 Novell, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_PROCESS_HELPER_H
+#define __GSM_PROCESS_HELPER_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+int gsm_process_helper (const char *command_line,
+ unsigned int timeout,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __GSM_PROCESS_HELPER_H */
diff --git a/gnome-session/gsm-session-fill.c b/gnome-session/gsm-session-fill.c
new file mode 100644
index 0000000..93a6dbc
--- /dev/null
+++ b/gnome-session/gsm-session-fill.c
@@ -0,0 +1,334 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2006, 2010 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include "gsm-session-fill.h"
+
+#include "gsm-system.h"
+#include "gsm-manager.h"
+#include "gsm-process-helper.h"
+#include "gsm-util.h"
+
+#define GSM_KEYFILE_SESSION_GROUP "GNOME Session"
+#define GSM_KEYFILE_RUNNABLE_KEY "IsRunnableHelper"
+#define GSM_KEYFILE_FALLBACK_KEY "FallbackSession"
+#define GSM_KEYFILE_REQUIRED_COMPONENTS_KEY "RequiredComponents"
+
+/* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */
+#define GSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */
+
+typedef void (*GsmFillHandleComponent) (const char *component,
+ const char *app_path,
+ gpointer user_data);
+
+static void
+handle_required_components (GKeyFile *keyfile,
+ gboolean look_in_saved_session,
+ GsmFillHandleComponent callback,
+ gpointer user_data)
+{
+ char **required_components;
+ int i;
+
+ g_assert (keyfile != NULL);
+ g_assert (callback != NULL);
+
+ required_components = g_key_file_get_string_list (keyfile,
+ GSM_KEYFILE_SESSION_GROUP,
+ GSM_KEYFILE_REQUIRED_COMPONENTS_KEY,
+ NULL, NULL);
+
+ if (!required_components)
+ return;
+
+ for (i = 0; required_components[i] != NULL; i++) {
+ char *app_path;
+
+ app_path = gsm_util_find_desktop_file_for_app_name (required_components[i],
+ look_in_saved_session, TRUE);
+ callback (required_components[i], app_path, user_data);
+ g_free (app_path);
+ }
+
+ g_strfreev (required_components);
+}
+
+static void
+check_required_components_helper (const char *component,
+ const char *app_path,
+ gpointer user_data)
+{
+ gboolean *error = user_data;
+
+ if (app_path == NULL) {
+ g_warning ("Unable to find required component '%s'", component);
+ *error = TRUE;
+ }
+}
+
+static gboolean
+check_required (GKeyFile *keyfile)
+{
+ gboolean error = FALSE;
+
+ g_debug ("fill: *** Checking required components");
+
+ handle_required_components (keyfile, FALSE,
+ check_required_components_helper, &error);
+
+ g_debug ("fill: *** Done checking required components");
+
+ return !error;
+}
+
+static void
+maybe_load_saved_session_apps (GsmManager *manager)
+{
+ GsmSystem *system;
+ gboolean is_login;
+
+ system = gsm_get_system ();
+ is_login = gsm_system_is_login_session (system);
+ g_object_unref (system);
+
+ if (is_login)
+ return;
+
+ gsm_manager_add_autostart_apps_from_dir (manager, gsm_util_get_saved_session_dir ());
+}
+
+static void
+append_required_components_helper (const char *component,
+ const char *app_path,
+ gpointer user_data)
+{
+ GsmManager *manager = user_data;
+
+ if (app_path == NULL)
+ g_warning ("Unable to find required component '%s'", component);
+ else
+ gsm_manager_add_required_app (manager, app_path);
+}
+
+
+static void
+load_standard_apps (GsmManager *manager,
+ GKeyFile *keyfile)
+{
+ /* Note that saving/restoring sessions is not really possible on systemd, as
+ * XSMP clients cannot be reliably mapped to .desktop files. */
+ g_debug ("fill: *** Adding required components");
+ handle_required_components (keyfile,
+ !gsm_manager_get_failsafe (manager) && !gsm_manager_get_systemd_managed (manager),
+ append_required_components_helper, manager);
+ g_debug ("fill: *** Done adding required components");
+
+ if (!gsm_manager_get_failsafe (manager)) {
+ char **autostart_dirs;
+ int i;
+
+ autostart_dirs = gsm_util_get_autostart_dirs ();
+
+ if (!gsm_manager_get_systemd_managed (manager))
+ maybe_load_saved_session_apps (manager);
+
+ for (i = 0; autostart_dirs[i]; i++) {
+ gsm_manager_add_autostart_apps_from_dir (manager,
+ autostart_dirs[i]);
+ }
+
+ g_strfreev (autostart_dirs);
+ }
+}
+
+static GKeyFile *
+get_session_keyfile_if_valid (const char *path)
+{
+ GKeyFile *keyfile;
+ gsize len;
+ char **list;
+
+ g_debug ("fill: *** Looking if %s is a valid session file", path);
+
+ keyfile = g_key_file_new ();
+
+ if (!g_key_file_load_from_file (keyfile, path, G_KEY_FILE_NONE, NULL)) {
+ g_debug ("Cannot use session '%s': non-existing or invalid file.", path);
+ goto error;
+ }
+
+ if (!g_key_file_has_group (keyfile, GSM_KEYFILE_SESSION_GROUP)) {
+ g_warning ("Cannot use session '%s': no '%s' group.", path, GSM_KEYFILE_SESSION_GROUP);
+ goto error;
+ }
+
+ list = g_key_file_get_string_list (keyfile,
+ GSM_KEYFILE_SESSION_GROUP,
+ GSM_KEYFILE_REQUIRED_COMPONENTS_KEY,
+ &len, NULL);
+ if (list)
+ g_strfreev (list);
+ if (len == 0)
+ g_warning ("Session '%s': no component in the session.", path);
+
+ return keyfile;
+
+error:
+ g_key_file_free (keyfile);
+ return NULL;
+}
+
+/**
+ * find_valid_session_keyfile:
+ * @session: name of session
+ *
+ * We look for the session file in XDG_CONFIG_HOME, XDG_CONFIG_DIRS and
+ * XDG_DATA_DIRS. This enables users and sysadmins to override a specific
+ * session that is shipped in XDG_DATA_DIRS.
+ */
+static GKeyFile *
+find_valid_session_keyfile (const char *session)
+{
+ GPtrArray *dirs;
+ const char * const *system_config_dirs;
+ const char * const *system_data_dirs;
+ int i;
+ GKeyFile *keyfile;
+ char *basename;
+
+ dirs = g_ptr_array_new ();
+
+ g_ptr_array_add (dirs, (gpointer) g_get_user_config_dir ());
+
+ system_config_dirs = g_get_system_config_dirs ();
+ for (i = 0; system_config_dirs[i]; i++)
+ g_ptr_array_add (dirs, (gpointer) system_config_dirs[i]);
+
+ system_data_dirs = g_get_system_data_dirs ();
+ for (i = 0; system_data_dirs[i]; i++)
+ g_ptr_array_add (dirs, (gpointer) system_data_dirs[i]);
+
+ keyfile = NULL;
+ basename = g_strdup_printf ("%s.session", session);
+
+ for (i = 0; i < dirs->len; i++) {
+ g_autofree gchar *path = g_build_filename (dirs->pdata[i], "gnome-session", "sessions", basename, NULL);
+ keyfile = get_session_keyfile_if_valid (path);
+ if (keyfile != NULL)
+ break;
+ }
+
+ if (dirs)
+ g_ptr_array_free (dirs, TRUE);
+ if (basename)
+ g_free (basename);
+
+ return keyfile;
+}
+
+static GKeyFile *
+get_session_keyfile (const char *session,
+ char **actual_session,
+ gboolean *is_fallback)
+{
+ GKeyFile *keyfile;
+ gboolean session_runnable;
+ char *value;
+ GError *error = NULL;
+
+ *actual_session = NULL;
+
+ g_debug ("fill: *** Getting session '%s'", session);
+
+ keyfile = find_valid_session_keyfile (session);
+
+ if (!keyfile)
+ return NULL;
+
+ session_runnable = TRUE;
+
+ value = g_key_file_get_string (keyfile,
+ GSM_KEYFILE_SESSION_GROUP, GSM_KEYFILE_RUNNABLE_KEY,
+ NULL);
+ if (!IS_STRING_EMPTY (value)) {
+ g_debug ("fill: *** Launching helper '%s' to know if session is runnable", value);
+ session_runnable = gsm_process_helper (value, GSM_RUNNABLE_HELPER_TIMEOUT, &error);
+ if (!session_runnable) {
+ g_warning ("Session '%s' runnable check failed: %s", session,
+ error->message);
+ g_clear_error (&error);
+ }
+ }
+ g_free (value);
+
+ if (session_runnable) {
+ session_runnable = check_required (keyfile);
+ }
+
+ if (session_runnable) {
+ *actual_session = g_strdup (session);
+ if (is_fallback)
+ *is_fallback = FALSE;
+ return keyfile;
+ }
+
+ g_debug ("fill: *** Session is not runnable");
+
+ /* We can't run this session, so try to use the fallback */
+ value = g_key_file_get_string (keyfile,
+ GSM_KEYFILE_SESSION_GROUP, GSM_KEYFILE_FALLBACK_KEY,
+ NULL);
+
+ g_key_file_free (keyfile);
+ keyfile = NULL;
+
+ if (!IS_STRING_EMPTY (value)) {
+ if (is_fallback)
+ *is_fallback = TRUE;
+ keyfile = get_session_keyfile (value, actual_session, NULL);
+ }
+ g_free (value);
+
+ return keyfile;
+}
+
+gboolean
+gsm_session_fill (GsmManager *manager,
+ const char *session)
+{
+ GKeyFile *keyfile;
+ gboolean is_fallback;
+ char *actual_session;
+
+ keyfile = get_session_keyfile (session, &actual_session, &is_fallback);
+
+ if (!keyfile)
+ return FALSE;
+
+ _gsm_manager_set_active_session (manager, actual_session, is_fallback);
+
+ g_free (actual_session);
+
+ load_standard_apps (manager, keyfile);
+
+ g_key_file_free (keyfile);
+
+ return TRUE;
+}
diff --git a/gnome-session/gsm-session-fill.h b/gnome-session/gsm-session-fill.h
new file mode 100644
index 0000000..470a441
--- /dev/null
+++ b/gnome-session/gsm-session-fill.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2006, 2010 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_SESSION_FILL_H
+#define __GSM_SESSION_FILL_H
+
+#include "gsm-manager.h"
+
+G_BEGIN_DECLS
+
+gboolean gsm_session_fill (GsmManager *manager,
+ const char *session);
+
+G_END_DECLS
+
+#endif /* __GSM_SESSION_FILL_H */
diff --git a/gnome-session/gsm-session-save.c b/gnome-session/gsm-session-save.c
new file mode 100644
index 0000000..e7f3653
--- /dev/null
+++ b/gnome-session/gsm-session-save.c
@@ -0,0 +1,293 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * gsm-session-save.c
+ * Copyright (C) 2008 Lucas Rocha.
+ *
+ * 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <gio/gio.h>
+
+#include "gsm-app.h"
+#include "gsm-util.h"
+#include "gsm-autostart-app.h"
+#include "gsm-client.h"
+
+#include "gsm-session-save.h"
+
+#define GSM_MANAGER_SCHEMA "org.gnome.SessionManager"
+#define KEY_AUTOSAVE_ONE_SHOT "auto-save-session-one-shot"
+
+
+static gboolean gsm_session_clear_saved_session (const char *directory,
+ GHashTable *discard_hash);
+
+typedef struct {
+ const char *dir;
+ GHashTable *discard_hash;
+ GsmStore *app_store;
+ GError **error;
+} SessionSaveData;
+
+static gboolean
+_app_has_app_id (const char *id,
+ GsmApp *app,
+ const char *app_id_a)
+{
+ const char *app_id_b;
+
+ app_id_b = gsm_app_peek_app_id (app);
+ return g_strcmp0 (app_id_a, app_id_b) == 0;
+}
+
+static gboolean
+save_one_client (char *id,
+ GObject *object,
+ SessionSaveData *data)
+{
+ GsmClient *client;
+ GKeyFile *keyfile;
+ GsmApp *app = NULL;
+ const char *app_id;
+ char *path = NULL;
+ char *filename = NULL;
+ char *contents = NULL;
+ gsize length = 0;
+ char *discard_exec;
+ g_autoptr(GError) local_error = NULL;
+
+ client = GSM_CLIENT (object);
+
+ app_id = gsm_client_peek_app_id (client);
+ if (!IS_STRING_EMPTY (app_id)) {
+ if (g_str_has_suffix (app_id, ".desktop"))
+ filename = g_strdup (app_id);
+ else
+ filename = g_strdup_printf ("%s.desktop", app_id);
+
+ path = g_build_filename (data->dir, filename, NULL);
+
+ app = (GsmApp *)gsm_store_find (data->app_store,
+ (GsmStoreFunc)_app_has_app_id,
+ (char *)app_id);
+ }
+ keyfile = gsm_client_save (client, app, &local_error);
+
+ if (keyfile == NULL || local_error) {
+ goto out;
+ }
+
+ contents = g_key_file_to_data (keyfile, &length, &local_error);
+
+ if (local_error) {
+ goto out;
+ }
+
+ if (!path || g_file_test (path, G_FILE_TEST_EXISTS)) {
+ if (filename)
+ g_free (filename);
+ if (path)
+ g_free (path);
+
+ filename = g_strdup_printf ("%s.desktop",
+ gsm_client_peek_startup_id (client));
+ path = g_build_filename (data->dir, filename, NULL);
+ }
+
+ g_file_set_contents (path,
+ contents,
+ length,
+ &local_error);
+
+ if (local_error) {
+ goto out;
+ }
+
+ discard_exec = g_key_file_get_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_DISCARD_KEY,
+ NULL);
+ if (discard_exec) {
+ g_hash_table_insert (data->discard_hash,
+ discard_exec, discard_exec);
+ }
+
+ g_debug ("GsmSessionSave: saved client %s to %s", id, filename);
+
+out:
+ if (keyfile != NULL) {
+ g_key_file_free (keyfile);
+ }
+
+ g_free (contents);
+ g_free (filename);
+ g_free (path);
+
+ /* in case of any error, stop saving session */
+ if (local_error) {
+ g_propagate_error (data->error, g_steal_pointer (&local_error));
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void
+gsm_session_save (GsmStore *client_store,
+ GsmStore *app_store,
+ GError **error)
+{
+ GSettings *settings;
+ const char *save_dir;
+ SessionSaveData data;
+
+ g_debug ("GsmSessionSave: Saving session");
+
+ /* Clear one shot key autosave in the event its set (so that it's actually
+ * one shot only)
+ */
+ settings = g_settings_new (GSM_MANAGER_SCHEMA);
+ g_settings_set_boolean (settings, KEY_AUTOSAVE_ONE_SHOT, FALSE);
+ g_object_unref (settings);
+
+ save_dir = gsm_util_get_saved_session_dir ();
+ if (save_dir == NULL) {
+ g_warning ("GsmSessionSave: cannot create saved session directory");
+ return;
+ }
+
+ data.dir = save_dir;
+ data.discard_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL);
+ data.app_store = app_store;
+
+ /* remove old saved session */
+ gsm_session_clear_saved_session (save_dir, data.discard_hash);
+ data.error = error;
+
+ gsm_store_foreach (client_store,
+ (GsmStoreFunc) save_one_client,
+ &data);
+
+ g_hash_table_destroy (data.discard_hash);
+}
+
+static gboolean
+gsm_session_clear_one_client (const char *filename,
+ GHashTable *discard_hash)
+{
+ gboolean result = TRUE;
+ GKeyFile *key_file;
+ char *discard_exec = NULL;
+ char **envp;
+
+ g_debug ("GsmSessionSave: removing '%s' from saved session", filename);
+
+ envp = (char **) gsm_util_listenv ();
+ key_file = g_key_file_new ();
+ if (g_key_file_load_from_file (key_file, filename,
+ G_KEY_FILE_NONE, NULL)) {
+ char **argv;
+ int argc;
+
+ discard_exec = g_key_file_get_string (key_file,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_DISCARD_KEY,
+ NULL);
+ if (!discard_exec)
+ goto out;
+
+ if (discard_hash && g_hash_table_lookup (discard_hash, discard_exec))
+ goto out;
+
+ if (!g_shell_parse_argv (discard_exec, &argc, &argv, NULL))
+ goto out;
+
+ result = g_spawn_async (NULL, argv, envp, G_SPAWN_SEARCH_PATH,
+ NULL, NULL, NULL, NULL) && result;
+
+ g_strfreev (argv);
+ } else {
+ result = FALSE;
+ }
+
+out:
+ if (key_file)
+ g_key_file_free (key_file);
+ if (discard_exec)
+ g_free (discard_exec);
+
+ result = (g_unlink (filename) == 0) && result;
+
+ return result;
+}
+
+static gboolean
+gsm_session_clear_saved_session (const char *directory,
+ GHashTable *discard_hash)
+{
+ GDir *dir;
+ const char *filename;
+ gboolean result = TRUE;
+ GError *error;
+
+ g_debug ("GsmSessionSave: clearing currently saved session at %s",
+ directory);
+
+ if (directory == NULL) {
+ return FALSE;
+ }
+
+ error = NULL;
+ dir = g_dir_open (directory, 0, &error);
+ if (error) {
+ g_warning ("GsmSessionSave: error loading saved session directory: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ while ((filename = g_dir_read_name (dir))) {
+ char *path = g_build_filename (directory,
+ filename, NULL);
+
+ result = gsm_session_clear_one_client (path, discard_hash)
+ && result;
+
+ g_free (path);
+ }
+
+ g_dir_close (dir);
+
+ return result;
+}
+
+void
+gsm_session_save_clear (void)
+{
+ const char *save_dir;
+
+ g_debug ("GsmSessionSave: Clearing saved session");
+
+ save_dir = gsm_util_get_saved_session_dir ();
+ if (save_dir == NULL) {
+ g_warning ("GsmSessionSave: cannot create saved session directory");
+ return;
+ }
+
+ gsm_session_clear_saved_session (save_dir, NULL);
+}
diff --git a/gnome-session/gsm-session-save.h b/gnome-session/gsm-session-save.h
new file mode 100644
index 0000000..f55c9c1
--- /dev/null
+++ b/gnome-session/gsm-session-save.h
@@ -0,0 +1,34 @@
+/* gsm-session-save.h
+ * Copyright (C) 2008 Lucas Rocha.
+ *
+ * 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_SESSION_SAVE_H__
+#define __GSM_SESSION_SAVE_H__
+
+#include <glib.h>
+
+#include "gsm-store.h"
+
+G_BEGIN_DECLS
+
+void gsm_session_save (GsmStore *client_store,
+ GsmStore *app_store,
+ GError **error);
+void gsm_session_save_clear (void);
+
+G_END_DECLS
+
+#endif /* __GSM_SESSION_SAVE_H__ */
diff --git a/gnome-session/gsm-shell-extensions.c b/gnome-session/gsm-shell-extensions.c
new file mode 100644
index 0000000..73d898f
--- /dev/null
+++ b/gnome-session/gsm-shell-extensions.c
@@ -0,0 +1,199 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, 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/>.
+ *
+ * Authors:
+ * Jasper St. Pierre <jstpierre@mecheye.net>
+ */
+
+#include <config.h>
+
+#include <glib.h>
+#include <gio/gio.h>
+#include <json-glib/json-glib.h>
+
+#include "gsm-shell-extensions.h"
+
+#define SHELL_SCHEMA "org.gnome.shell"
+#define DISABLE_EXTENSIONS_KEY "disable-user-extensions"
+
+#define SHELL_EXTENSIONS_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_SHELL_EXTENSIONS, GsmShellExtensionsPrivate))
+
+struct _GsmShellExtensionsPrivate
+{
+ GSettings *settings;
+ guint num_extensions;
+};
+
+G_DEFINE_TYPE (GsmShellExtensions, gsm_shell_extensions, G_TYPE_OBJECT);
+
+/**
+ * gsm_shell_extensions_finalize:
+ * @object: (in): A #GsmShellExtensions.
+ *
+ * Finalizer for a #GsmShellExtensions instance. Frees any resources held by
+ * the instance.
+ */
+static void
+gsm_shell_extensions_finalize (GObject *object)
+{
+ GsmShellExtensions *extensions = GSM_SHELL_EXTENSIONS (object);
+ GsmShellExtensionsPrivate *priv = extensions->priv;
+
+ g_clear_object (&priv->settings);
+
+ G_OBJECT_CLASS (gsm_shell_extensions_parent_class)->finalize (object);
+}
+
+/**
+ * gsm_shell_extensions_class_init:
+ * @klass: (in): A #GsmShellExtensionsClass.
+ *
+ * Initializes the #GsmShellExtensionsClass and prepares the vtable.
+ */
+static void
+gsm_shell_extensions_class_init (GsmShellExtensionsClass *klass)
+{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (klass);
+ object_class->finalize = gsm_shell_extensions_finalize;
+ g_type_class_add_private (object_class, sizeof (GsmShellExtensionsPrivate));
+}
+
+static void
+gsm_shell_extensions_scan_dir (GsmShellExtensions *self,
+ GFile *dir)
+{
+ GFileEnumerator *enumerator;
+ GFileInfo *info;
+ JsonParser *metadata_parser;
+
+ metadata_parser = json_parser_new ();
+
+ enumerator = g_file_enumerate_children (dir,
+ "standard::*",
+ G_FILE_QUERY_INFO_NONE,
+ NULL,
+ NULL);
+
+ if (enumerator == NULL)
+ return;
+
+ while ((info = g_file_enumerator_next_file (enumerator, NULL, NULL)) != NULL)
+ {
+ gchar *metadata_filename;
+ const gchar *metadata_uuid;
+ gchar *dir_uuid;
+ JsonObject *metadata_root;
+
+ dir_uuid = (char *) g_file_info_get_name (info);
+
+ metadata_filename = g_build_filename (g_file_get_path (dir),
+ dir_uuid,
+ "metadata.json",
+ NULL);
+
+ if (!json_parser_load_from_file (metadata_parser, metadata_filename, NULL))
+ continue;
+
+ g_free (metadata_filename);
+
+ metadata_root = json_node_get_object (json_parser_get_root (metadata_parser));
+
+ metadata_uuid = json_object_get_string_member (metadata_root, "uuid");
+ if (!g_str_equal (metadata_uuid, dir_uuid))
+ {
+ g_warning ("Extension with dirname '%s' does not match metadata's UUID of '%s'. Skipping.",
+ dir_uuid, metadata_uuid);
+ continue;
+ }
+
+ self->priv->num_extensions++;
+ }
+}
+
+static void
+gsm_shell_extensions_scan (GsmShellExtensions *self)
+{
+ gchar *dirname;
+ GFile *dir;
+ const gchar * const * system_data_dirs;
+ int i;
+
+ /* User data dir first. */
+ dirname = g_build_filename (g_get_user_data_dir (), "gnome-shell", "extensions", NULL);
+ dir = g_file_new_for_path (dirname);
+ g_free (dirname);
+
+ gsm_shell_extensions_scan_dir (self, dir);
+ g_object_unref (dir);
+
+ system_data_dirs = g_get_system_data_dirs ();
+ for (i = 0; system_data_dirs[i]; i++)
+ {
+ dirname = g_build_filename (system_data_dirs[i], "gnome-shell", "extensions", NULL);
+ dir = g_file_new_for_path (dirname);
+ g_free (dirname);
+
+ gsm_shell_extensions_scan_dir (self, dir);
+ g_object_unref (dir);
+ }
+}
+
+/**
+ * gsm_shell_extensions_init:
+ * @self: (in): A #GsmShellExtensions.
+ *
+ * Initializes the newly created #GsmShellExtensions instance.
+ */
+static void
+gsm_shell_extensions_init (GsmShellExtensions *self)
+{
+ GSettingsSchemaSource *source;
+ GSettingsSchema *schema;
+
+ self->priv = SHELL_EXTENSIONS_PRIVATE (self);
+
+ source = g_settings_schema_source_get_default ();
+ schema = g_settings_schema_source_lookup (source, SHELL_SCHEMA, TRUE);
+
+ if (schema != NULL)
+ {
+ self->priv->settings = g_settings_new_full (schema, NULL, NULL);
+ g_settings_schema_unref (schema);
+ }
+
+ if (self->priv->settings != NULL)
+ gsm_shell_extensions_scan (self);
+}
+
+gboolean
+gsm_shell_extensions_disable_all (GsmShellExtensions *self)
+{
+ return g_settings_set_boolean (self->priv->settings,
+ DISABLE_EXTENSIONS_KEY,
+ TRUE);
+}
+
+guint
+gsm_shell_extensions_n_extensions (GsmShellExtensions *self)
+{
+ if (self->priv->settings == NULL)
+ return 0;
+
+ return self->priv->num_extensions;
+}
diff --git a/gnome-session/gsm-shell-extensions.h b/gnome-session/gsm-shell-extensions.h
new file mode 100644
index 0000000..a3b3d06
--- /dev/null
+++ b/gnome-session/gsm-shell-extensions.h
@@ -0,0 +1,61 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, 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/>.
+ *
+ * Authors:
+ * Jasper St. Pierre <jstpierre@mecheye.net>
+ */
+
+#ifndef __GSM_SHELL_EXTENSIONS_H
+#define __GSM_SHELL_EXTENSIONS_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_SHELL_EXTENSIONS (gsm_shell_extensions_get_type ())
+#define GSM_SHELL_EXTENSIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_SHELL_EXTENSIONS, GsmShellExtensions))
+#define GSM_SHELL_EXTENSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_SHELL_EXTENSIONS, GsmShellExtensionsClass))
+#define GSM_IS_SHELL_EXTENSIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_SHELL_EXTENSIONS))
+#define GSM_IS_SHELL_EXTENSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_SHELL_EXTENSIONS))
+#define GSM_SHELL_EXTENSIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_SHELL_EXTENSIONS, GsmShellExtensionsClass))
+
+typedef struct _GsmShellExtensions GsmShellExtensions;
+typedef struct _GsmShellExtensionsClass GsmShellExtensionsClass;
+typedef struct _GsmShellExtensionsPrivate GsmShellExtensionsPrivate;
+
+struct _GsmShellExtensions
+{
+ GObject parent;
+
+ /*< private >*/
+ GsmShellExtensionsPrivate *priv;
+};
+
+struct _GsmShellExtensionsClass
+{
+ GObjectClass parent_class;
+};
+
+GType gsm_shell_extensions_get_type (void) G_GNUC_CONST;
+
+gboolean gsm_shell_extensions_disable_all (GsmShellExtensions *self);
+
+guint gsm_shell_extensions_n_extensions (GsmShellExtensions *self);
+
+G_END_DECLS
+
+#endif /* __GSM_SHELL_EXTENSIONS_H */
diff --git a/gnome-session/gsm-shell.c b/gnome-session/gsm-shell.c
new file mode 100644
index 0000000..04cfa2f
--- /dev/null
+++ b/gnome-session/gsm-shell.c
@@ -0,0 +1,507 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2010 Red Hat, 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/>.
+ */
+
+#include "config.h"
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#include "gsm-inhibitor.h"
+#include "gsm-shell.h"
+
+#define SHELL_NAME "org.gnome.Shell"
+#define SHELL_PATH "/org/gnome/Shell"
+#define SHELL_INTERFACE "org.gnome.Shell"
+
+#define SHELL_END_SESSION_DIALOG_PATH "/org/gnome/SessionManager/EndSessionDialog"
+#define SHELL_END_SESSION_DIALOG_INTERFACE "org.gnome.SessionManager.EndSessionDialog"
+
+#define AUTOMATIC_ACTION_TIMEOUT 60
+
+#define GSM_SHELL_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_SHELL, GsmShellPrivate))
+
+struct _GsmShellPrivate
+{
+ GDBusProxy *end_session_dialog_proxy;
+ GsmStore *inhibitors;
+
+ guint32 is_running : 1;
+
+ gboolean dialog_is_open;
+ GsmShellEndSessionDialogType end_session_dialog_type;
+
+ guint update_idle_id;
+ guint watch_id;
+};
+
+enum {
+ PROP_0,
+ PROP_IS_RUNNING
+};
+
+enum {
+ END_SESSION_DIALOG_OPENED = 0,
+ END_SESSION_DIALOG_OPEN_FAILED,
+ END_SESSION_DIALOG_CLOSED,
+ END_SESSION_DIALOG_CANCELED,
+ END_SESSION_DIALOG_CONFIRMED_LOGOUT,
+ END_SESSION_DIALOG_CONFIRMED_SHUTDOWN,
+ END_SESSION_DIALOG_CONFIRMED_REBOOT,
+ NUMBER_OF_SIGNALS
+};
+
+static guint signals[NUMBER_OF_SIGNALS] = { 0 };
+
+static void gsm_shell_class_init (GsmShellClass *klass);
+static void gsm_shell_init (GsmShell *ck);
+static void gsm_shell_finalize (GObject *object);
+
+static void queue_end_session_dialog_update (GsmShell *shell);
+
+G_DEFINE_TYPE (GsmShell, gsm_shell, G_TYPE_OBJECT);
+
+static void
+gsm_shell_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmShell *shell = GSM_SHELL (object);
+
+ switch (prop_id) {
+ case PROP_IS_RUNNING:
+ g_value_set_boolean (value,
+ shell->priv->is_running);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object,
+ prop_id,
+ pspec);
+ }
+}
+
+static void
+gsm_shell_class_init (GsmShellClass *shell_class)
+{
+ GObjectClass *object_class;
+ GParamSpec *param_spec;
+
+ object_class = G_OBJECT_CLASS (shell_class);
+
+ object_class->finalize = gsm_shell_finalize;
+ object_class->get_property = gsm_shell_get_property;
+
+ param_spec = g_param_spec_boolean ("is-running",
+ "Is running",
+ "Whether GNOME Shell is running in the session",
+ FALSE,
+ G_PARAM_READABLE);
+
+ g_object_class_install_property (object_class, PROP_IS_RUNNING,
+ param_spec);
+
+ signals [END_SESSION_DIALOG_OPENED] =
+ g_signal_new ("end-session-dialog-opened",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_opened),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_OPEN_FAILED] =
+ g_signal_new ("end-session-dialog-open-failed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_open_failed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_CLOSED] =
+ g_signal_new ("end-session-dialog-closed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_closed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_CANCELED] =
+ g_signal_new ("end-session-dialog-canceled",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_canceled),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_CONFIRMED_LOGOUT] =
+ g_signal_new ("end-session-dialog-confirmed-logout",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_confirmed_logout),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_CONFIRMED_SHUTDOWN] =
+ g_signal_new ("end-session-dialog-confirmed-shutdown",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_confirmed_shutdown),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ signals [END_SESSION_DIALOG_CONFIRMED_REBOOT] =
+ g_signal_new ("end-session-dialog-confirmed-reboot",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmShellClass, end_session_dialog_confirmed_reboot),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
+ g_type_class_add_private (shell_class, sizeof (GsmShellPrivate));
+}
+
+static void
+on_shell_name_vanished (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data)
+{
+ GsmShell *shell = user_data;
+ shell->priv->is_running = FALSE;
+}
+
+static void
+on_shell_name_appeared (GDBusConnection *connection,
+ const gchar *name,
+ const gchar *name_owner,
+ gpointer user_data)
+{
+ GsmShell *shell = user_data;
+ shell->priv->is_running = TRUE;
+}
+
+static void
+gsm_shell_ensure_connection (GsmShell *shell)
+{
+ if (shell->priv->watch_id != 0) {
+ return;
+ }
+
+ shell->priv->watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
+ SHELL_NAME,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ on_shell_name_appeared,
+ on_shell_name_vanished,
+ shell, NULL);
+}
+
+static void
+gsm_shell_init (GsmShell *shell)
+{
+ shell->priv = GSM_SHELL_GET_PRIVATE (shell);
+
+ gsm_shell_ensure_connection (shell);
+}
+
+static void
+gsm_shell_finalize (GObject *object)
+{
+ GsmShell *shell;
+ GObjectClass *parent_class;
+
+ shell = GSM_SHELL (object);
+
+ parent_class = G_OBJECT_CLASS (gsm_shell_parent_class);
+
+ g_object_unref (shell->priv->inhibitors);
+
+ if (shell->priv->watch_id != 0) {
+ g_bus_unwatch_name (shell->priv->watch_id);
+ shell->priv->watch_id = 0;
+ }
+
+ if (parent_class->finalize != NULL) {
+ parent_class->finalize (object);
+ }
+}
+
+GsmShell *
+gsm_shell_new (void)
+{
+ GsmShell *shell;
+
+ shell = g_object_new (GSM_TYPE_SHELL, NULL);
+
+ return shell;
+}
+
+GsmShell *
+gsm_get_shell (void)
+{
+ static GsmShell *shell = NULL;
+
+ if (shell == NULL) {
+ shell = gsm_shell_new ();
+ }
+
+ return g_object_ref (shell);
+}
+
+gboolean
+gsm_shell_is_running (GsmShell *shell)
+{
+ gsm_shell_ensure_connection (shell);
+
+ return shell->priv->is_running;
+}
+
+static gboolean
+add_inhibitor_to_array (const char *id,
+ GsmInhibitor *inhibitor,
+ GVariantBuilder *builder)
+{
+ g_variant_builder_add (builder, "o", gsm_inhibitor_peek_id (inhibitor));
+ return FALSE;
+}
+
+static GVariant *
+get_array_from_store (GsmStore *inhibitors)
+{
+ GVariantBuilder builder;
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("ao"));
+ gsm_store_foreach (inhibitors,
+ (GsmStoreFunc) add_inhibitor_to_array,
+ &builder);
+
+ return g_variant_builder_end (&builder);
+}
+
+static void
+on_open_finished (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GsmShell *shell = user_data;
+ GError *error;
+
+ if (shell->priv->update_idle_id != 0) {
+ g_source_remove (shell->priv->update_idle_id);
+ shell->priv->update_idle_id = 0;
+ }
+
+ shell->priv->dialog_is_open = FALSE;
+
+ error = NULL;
+ g_dbus_proxy_call_finish (G_DBUS_PROXY (source), result, &error);
+
+ if (error != NULL) {
+ g_warning ("Unable to open shell end session dialog: %s", error->message);
+ g_error_free (error);
+
+ g_signal_emit (G_OBJECT (shell), signals[END_SESSION_DIALOG_OPEN_FAILED], 0);
+ return;
+ }
+
+ g_signal_emit (G_OBJECT (shell), signals[END_SESSION_DIALOG_OPENED], 0);
+}
+
+static void
+on_end_session_dialog_dbus_signal (GDBusProxy *proxy,
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ GsmShell *shell)
+{
+ struct {
+ const char *name;
+ int index;
+ } signal_map[] = {
+ { "Closed", END_SESSION_DIALOG_CLOSED },
+ { "Canceled", END_SESSION_DIALOG_CANCELED },
+ { "ConfirmedLogout", END_SESSION_DIALOG_CONFIRMED_LOGOUT },
+ { "ConfirmedReboot", END_SESSION_DIALOG_CONFIRMED_REBOOT },
+ { "ConfirmedShutdown", END_SESSION_DIALOG_CONFIRMED_SHUTDOWN },
+ { NULL, -1 }
+ };
+ int signal_index = -1;
+ int i;
+
+ for (i = 0; signal_map[i].name != NULL; i++) {
+ if (g_strcmp0 (signal_map[i].name, signal_name) == 0) {
+ signal_index = signal_map[i].index;
+ break;
+ }
+ }
+
+ if (signal_index == -1)
+ return;
+
+ shell->priv->dialog_is_open = FALSE;
+
+ if (shell->priv->update_idle_id != 0) {
+ g_source_remove (shell->priv->update_idle_id);
+ shell->priv->update_idle_id = 0;
+ }
+
+ g_signal_handlers_disconnect_by_func (shell->priv->inhibitors,
+ G_CALLBACK (queue_end_session_dialog_update),
+ shell);
+
+ g_signal_emit (G_OBJECT (shell), signals[signal_index], 0);
+}
+
+static void
+on_end_session_dialog_name_owner_changed (GDBusProxy *proxy,
+ GParamSpec *pspec,
+ GsmShell *shell)
+{
+ gchar *name_owner;
+
+ name_owner = g_dbus_proxy_get_name_owner (proxy);
+ if (name_owner == NULL) {
+ g_clear_object (&shell->priv->end_session_dialog_proxy);
+ }
+
+ g_free (name_owner);
+}
+
+static gboolean
+on_need_end_session_dialog_update (GsmShell *shell)
+{
+ /* No longer need an update */
+ if (shell->priv->update_idle_id == 0)
+ return FALSE;
+
+ shell->priv->update_idle_id = 0;
+
+ gsm_shell_open_end_session_dialog (shell,
+ shell->priv->end_session_dialog_type,
+ shell->priv->inhibitors);
+ return FALSE;
+}
+
+static void
+queue_end_session_dialog_update (GsmShell *shell)
+{
+ if (shell->priv->update_idle_id != 0)
+ return;
+
+ shell->priv->update_idle_id = g_idle_add ((GSourceFunc) on_need_end_session_dialog_update,
+ shell);
+}
+
+gboolean
+gsm_shell_open_end_session_dialog (GsmShell *shell,
+ GsmShellEndSessionDialogType type,
+ GsmStore *inhibitors)
+{
+ GDBusProxy *proxy;
+ GError *error;
+
+ error = NULL;
+
+ if (shell->priv->dialog_is_open) {
+ g_return_val_if_fail (shell->priv->end_session_dialog_type == type,
+ FALSE);
+
+ return TRUE;
+ }
+
+ if (shell->priv->end_session_dialog_proxy == NULL) {
+ proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ SHELL_NAME,
+ SHELL_END_SESSION_DIALOG_PATH,
+ SHELL_END_SESSION_DIALOG_INTERFACE,
+ NULL, &error);
+
+ if (error != NULL) {
+ g_critical ("Could not connect to the shell: %s",
+ error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ shell->priv->end_session_dialog_proxy = proxy;
+
+ g_signal_connect (proxy, "notify::g-name-owner",
+ G_CALLBACK (on_end_session_dialog_name_owner_changed),
+ shell);
+ g_signal_connect (proxy, "g-signal",
+ G_CALLBACK (on_end_session_dialog_dbus_signal),
+ shell);
+ }
+
+ g_dbus_proxy_call (shell->priv->end_session_dialog_proxy,
+ "Open",
+ g_variant_new ("(uuu@ao)",
+ type,
+ 0,
+ AUTOMATIC_ACTION_TIMEOUT,
+ get_array_from_store (inhibitors)),
+ G_DBUS_CALL_FLAGS_NONE,
+ G_MAXINT, NULL,
+ on_open_finished, shell);
+
+ g_object_ref (inhibitors);
+
+ if (shell->priv->inhibitors != NULL) {
+ g_signal_handlers_disconnect_by_func (shell->priv->inhibitors,
+ G_CALLBACK (queue_end_session_dialog_update),
+ shell);
+ g_object_unref (shell->priv->inhibitors);
+ }
+
+ shell->priv->inhibitors = inhibitors;
+
+ g_signal_connect_swapped (inhibitors, "added",
+ G_CALLBACK (queue_end_session_dialog_update),
+ shell);
+
+ g_signal_connect_swapped (inhibitors, "removed",
+ G_CALLBACK (queue_end_session_dialog_update),
+ shell);
+
+ shell->priv->dialog_is_open = TRUE;
+ shell->priv->end_session_dialog_type = type;
+
+ return TRUE;
+}
+
+void
+gsm_shell_close_end_session_dialog (GsmShell *shell)
+{
+ if (!shell->priv->end_session_dialog_proxy)
+ return;
+
+ shell->priv->dialog_is_open = FALSE;
+
+ g_dbus_proxy_call (shell->priv->end_session_dialog_proxy,
+ "Close",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
+}
diff --git a/gnome-session/gsm-shell.h b/gnome-session/gsm-shell.h
new file mode 100644
index 0000000..e236493
--- /dev/null
+++ b/gnome-session/gsm-shell.h
@@ -0,0 +1,87 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2010 Red Hat, 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 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Ray Strode <rstrode@redhat.com>
+ */
+
+#ifndef __GSM_SHELL_H__
+#define __GSM_SHELL_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "gsm-store.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_SHELL (gsm_shell_get_type ())
+#define GSM_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_SHELL, GsmShell))
+#define GSM_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_SHELL, GsmShellClass))
+#define GSM_IS_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_SHELL))
+#define GSM_IS_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_SHELL))
+#define GSM_SHELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_SHELL, GsmShellClass))
+#define GSM_SHELL_ERROR (gsm_shell_error_quark ())
+
+typedef struct _GsmShell GsmShell;
+typedef struct _GsmShellClass GsmShellClass;
+typedef struct _GsmShellPrivate GsmShellPrivate;
+
+typedef enum
+{
+ GSM_SHELL_END_SESSION_DIALOG_TYPE_LOGOUT = 0,
+ GSM_SHELL_END_SESSION_DIALOG_TYPE_SHUTDOWN,
+ GSM_SHELL_END_SESSION_DIALOG_TYPE_RESTART,
+} GsmShellEndSessionDialogType;
+
+struct _GsmShell
+{
+ GObject parent;
+
+ GsmShellPrivate *priv;
+};
+
+struct _GsmShellClass
+{
+ GObjectClass parent_class;
+
+ void (* end_session_dialog_opened) (GsmShell *shell);
+ void (* end_session_dialog_open_failed) (GsmShell *shell);
+ void (* end_session_dialog_closed) (GsmShell *shell);
+ void (* end_session_dialog_canceled) (GsmShell *shell);
+
+ void (* end_session_dialog_confirmed_logout) (GsmShell *shell);
+ void (* end_session_dialog_confirmed_shutdown) (GsmShell *shell);
+ void (* end_session_dialog_confirmed_reboot) (GsmShell *shell);
+
+};
+
+GType gsm_shell_get_type (void);
+
+GsmShell *gsm_shell_new (void);
+
+GsmShell *gsm_get_shell (void);
+gboolean gsm_shell_is_running (GsmShell *shell);
+
+gboolean gsm_shell_open_end_session_dialog (GsmShell *shell,
+ GsmShellEndSessionDialogType type,
+ GsmStore *inhibitors);
+void gsm_shell_close_end_session_dialog (GsmShell *shell);
+
+G_END_DECLS
+
+#endif /* __GSM_SHELL_H__ */
diff --git a/gnome-session/gsm-store.c b/gnome-session/gsm-store.c
new file mode 100644
index 0000000..30b0770
--- /dev/null
+++ b/gnome-session/gsm-store.c
@@ -0,0 +1,408 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007-2008 William Jon McCann <mccann@jhu.edu>
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glib-object.h>
+
+#include "gsm-store.h"
+
+#define GSM_STORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_STORE, GsmStorePrivate))
+
+struct GsmStorePrivate
+{
+ GHashTable *objects;
+ gboolean locked;
+};
+
+enum {
+ ADDED,
+ REMOVED,
+ LAST_SIGNAL
+};
+
+enum {
+ PROP_0,
+ PROP_LOCKED
+};
+
+static guint signals [LAST_SIGNAL] = { 0 };
+
+static void gsm_store_class_init (GsmStoreClass *klass);
+static void gsm_store_init (GsmStore *store);
+static void gsm_store_finalize (GObject *object);
+
+G_DEFINE_TYPE (GsmStore, gsm_store, G_TYPE_OBJECT)
+
+GQuark
+gsm_store_error_quark (void)
+{
+ static GQuark ret = 0;
+ if (ret == 0) {
+ ret = g_quark_from_static_string ("gsm_store_error");
+ }
+
+ return ret;
+}
+
+guint
+gsm_store_size (GsmStore *store)
+{
+ return g_hash_table_size (store->priv->objects);
+}
+
+gboolean
+gsm_store_remove (GsmStore *store,
+ const char *id)
+{
+ GObject *found;
+ gboolean removed;
+ char *id_copy;
+
+ g_return_val_if_fail (store != NULL, FALSE);
+
+ found = g_hash_table_lookup (store->priv->objects, id);
+ if (found == NULL) {
+ return FALSE;
+ }
+
+ id_copy = g_strdup (id);
+
+ g_object_ref (found);
+
+ removed = g_hash_table_remove (store->priv->objects, id_copy);
+ g_assert (removed);
+
+ g_signal_emit (store, signals [REMOVED], 0, id_copy);
+
+ g_object_unref (found);
+ g_free (id_copy);
+
+ return TRUE;
+}
+
+void
+gsm_store_foreach (GsmStore *store,
+ GsmStoreFunc func,
+ gpointer user_data)
+{
+ g_return_if_fail (store != NULL);
+ g_return_if_fail (func != NULL);
+
+ g_hash_table_find (store->priv->objects,
+ (GHRFunc)func,
+ user_data);
+}
+
+GObject *
+gsm_store_find (GsmStore *store,
+ GsmStoreFunc predicate,
+ gpointer user_data)
+{
+ GObject *object;
+
+ g_return_val_if_fail (store != NULL, NULL);
+ g_return_val_if_fail (predicate != NULL, NULL);
+
+ object = g_hash_table_find (store->priv->objects,
+ (GHRFunc)predicate,
+ user_data);
+ return object;
+}
+
+GObject *
+gsm_store_lookup (GsmStore *store,
+ const char *id)
+{
+ GObject *object;
+
+ g_return_val_if_fail (store != NULL, NULL);
+ g_return_val_if_fail (id != NULL, NULL);
+
+ object = g_hash_table_lookup (store->priv->objects, id);
+
+ return object;
+}
+
+
+typedef struct
+{
+ GsmStoreFunc func;
+ gpointer user_data;
+ GsmStore *store;
+ GList *removed;
+} WrapperData;
+
+static gboolean
+foreach_remove_wrapper (const char *id,
+ GObject *object,
+ WrapperData *data)
+{
+ gboolean res;
+
+ res = (data->func) (id, object, data->user_data);
+ if (res) {
+ data->removed = g_list_prepend (data->removed, g_strdup (id));
+ }
+
+ return res;
+}
+
+guint
+gsm_store_foreach_remove (GsmStore *store,
+ GsmStoreFunc func,
+ gpointer user_data)
+{
+ guint ret;
+ WrapperData data;
+
+ g_return_val_if_fail (store != NULL, 0);
+ g_return_val_if_fail (func != NULL, 0);
+
+ data.store = store;
+ data.user_data = user_data;
+ data.func = func;
+ data.removed = NULL;
+
+ ret = g_hash_table_foreach_remove (store->priv->objects,
+ (GHRFunc)foreach_remove_wrapper,
+ &data);
+
+ while (data.removed != NULL) {
+ char *id;
+ id = data.removed->data;
+ g_debug ("GsmStore: emitting removed for %s", id);
+ g_signal_emit (store, signals [REMOVED], 0, id);
+ g_free (data.removed->data);
+ data.removed->data = NULL;
+ data.removed = g_list_delete_link (data.removed, data.removed);
+ }
+
+ return ret;
+}
+
+static gboolean
+_remove_all (const char *id,
+ GObject *object,
+ gpointer data)
+{
+ return TRUE;
+}
+
+void
+gsm_store_clear (GsmStore *store)
+{
+ g_return_if_fail (store != NULL);
+
+ g_debug ("GsmStore: Clearing object store");
+
+ gsm_store_foreach_remove (store,
+ _remove_all,
+ NULL);
+}
+
+gboolean
+gsm_store_add (GsmStore *store,
+ const char *id,
+ GObject *object)
+{
+ g_return_val_if_fail (store != NULL, FALSE);
+ g_return_val_if_fail (id != NULL, FALSE);
+ g_return_val_if_fail (object != NULL, FALSE);
+
+ /* If we're locked, we don't accept any new session
+ objects. */
+ if (store->priv->locked) {
+ return FALSE;
+ }
+
+ g_debug ("GsmStore: Adding object id %s to store", id);
+
+ g_hash_table_insert (store->priv->objects,
+ g_strdup (id),
+ g_object_ref (object));
+
+ g_signal_emit (store, signals [ADDED], 0, id);
+
+ return TRUE;
+}
+
+void
+gsm_store_set_locked (GsmStore *store,
+ gboolean locked)
+{
+ g_return_if_fail (GSM_IS_STORE (store));
+
+ store->priv->locked = locked;
+}
+
+gboolean
+gsm_store_get_locked (GsmStore *store)
+{
+ g_return_val_if_fail (GSM_IS_STORE (store), FALSE);
+
+ return store->priv->locked;
+}
+
+static void
+gsm_store_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmStore *self;
+
+ self = GSM_STORE (object);
+
+ switch (prop_id) {
+ case PROP_LOCKED:
+ gsm_store_set_locked (self, g_value_get_boolean (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_store_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmStore *self;
+
+ self = GSM_STORE (object);
+
+ switch (prop_id) {
+ case PROP_LOCKED:
+ g_value_set_boolean (value, self->priv->locked);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_store_dispose (GObject *object)
+{
+ GsmStore *store;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GSM_IS_STORE (object));
+
+ store = GSM_STORE (object);
+
+ gsm_store_clear (store);
+
+ G_OBJECT_CLASS (gsm_store_parent_class)->dispose (object);
+}
+
+static void
+gsm_store_class_init (GsmStoreClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->get_property = gsm_store_get_property;
+ object_class->set_property = gsm_store_set_property;
+ object_class->finalize = gsm_store_finalize;
+ object_class->dispose = gsm_store_dispose;
+
+ signals [ADDED] =
+ g_signal_new ("added",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmStoreClass, added),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+ signals [REMOVED] =
+ g_signal_new ("removed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmStoreClass, removed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+ g_object_class_install_property (object_class,
+ PROP_LOCKED,
+ g_param_spec_boolean ("locked",
+ NULL,
+ NULL,
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_type_class_add_private (klass, sizeof (GsmStorePrivate));
+}
+
+static void
+_destroy_object (GObject *object)
+{
+ g_debug ("GsmStore: Unreffing object: %p", object);
+ g_object_unref (object);
+}
+
+static void
+gsm_store_init (GsmStore *store)
+{
+
+ store->priv = GSM_STORE_GET_PRIVATE (store);
+
+ store->priv->objects = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ (GDestroyNotify) _destroy_object);
+}
+
+static void
+gsm_store_finalize (GObject *object)
+{
+ GsmStore *store;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GSM_IS_STORE (object));
+
+ store = GSM_STORE (object);
+
+ g_return_if_fail (store->priv != NULL);
+
+ g_hash_table_destroy (store->priv->objects);
+
+ G_OBJECT_CLASS (gsm_store_parent_class)->finalize (object);
+}
+
+GsmStore *
+gsm_store_new (void)
+{
+ GObject *object;
+
+ object = g_object_new (GSM_TYPE_STORE,
+ NULL);
+
+ return GSM_STORE (object);
+}
diff --git a/gnome-session/gsm-store.h b/gnome-session/gsm-store.h
new file mode 100644
index 0000000..0cfb991
--- /dev/null
+++ b/gnome-session/gsm-store.h
@@ -0,0 +1,96 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007-2008 William Jon McCann <mccann@jhu.edu>
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#ifndef __GSM_STORE_H
+#define __GSM_STORE_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_STORE (gsm_store_get_type ())
+#define GSM_STORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_STORE, GsmStore))
+#define GSM_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_STORE, GsmStoreClass))
+#define GSM_IS_STORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_STORE))
+#define GSM_IS_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_STORE))
+#define GSM_STORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_STORE, GsmStoreClass))
+
+typedef struct GsmStorePrivate GsmStorePrivate;
+
+typedef struct
+{
+ GObject parent;
+ GsmStorePrivate *priv;
+} GsmStore;
+
+typedef struct
+{
+ GObjectClass parent_class;
+
+ void (* added) (GsmStore *store,
+ const char *id);
+ void (* removed) (GsmStore *store,
+ const char *id);
+} GsmStoreClass;
+
+typedef enum
+{
+ GSM_STORE_ERROR_GENERAL
+} GsmStoreError;
+
+#define GSM_STORE_ERROR gsm_store_error_quark ()
+
+typedef gboolean (*GsmStoreFunc) (const char *id,
+ GObject *object,
+ gpointer user_data);
+
+GQuark gsm_store_error_quark (void);
+GType gsm_store_get_type (void);
+
+GsmStore * gsm_store_new (void);
+
+gboolean gsm_store_get_locked (GsmStore *store);
+void gsm_store_set_locked (GsmStore *store,
+ gboolean locked);
+
+guint gsm_store_size (GsmStore *store);
+gboolean gsm_store_add (GsmStore *store,
+ const char *id,
+ GObject *object);
+void gsm_store_clear (GsmStore *store);
+gboolean gsm_store_remove (GsmStore *store,
+ const char *id);
+
+void gsm_store_foreach (GsmStore *store,
+ GsmStoreFunc func,
+ gpointer user_data);
+guint gsm_store_foreach_remove (GsmStore *store,
+ GsmStoreFunc func,
+ gpointer user_data);
+GObject * gsm_store_find (GsmStore *store,
+ GsmStoreFunc predicate,
+ gpointer user_data);
+GObject * gsm_store_lookup (GsmStore *store,
+ const char *id);
+
+
+G_END_DECLS
+
+#endif /* __GSM_STORE_H */
diff --git a/gnome-session/gsm-system.c b/gnome-session/gsm-system.c
new file mode 100644
index 0000000..39b59f9
--- /dev/null
+++ b/gnome-session/gsm-system.c
@@ -0,0 +1,288 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2012 Red Hat, 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/>.
+ */
+
+#include "config.h"
+
+#include <glib-object.h>
+#include <glib/gi18n.h>
+
+#include "gsm-system.h"
+
+#include "gsm-systemd.h"
+
+#ifdef HAVE_CONSOLEKIT
+#include "gsm-consolekit.h"
+#endif
+
+enum {
+ REQUEST_COMPLETED,
+ SHUTDOWN_PREPARED,
+ LAST_SIGNAL
+};
+
+enum {
+ PROP_0,
+ PROP_ACTIVE
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_INTERFACE (GsmSystem, gsm_system, G_TYPE_OBJECT)
+
+static void
+gsm_system_default_init (GsmSystemInterface *iface)
+{
+ GParamSpec *pspec;
+ signals [REQUEST_COMPLETED] =
+ g_signal_new ("request-completed",
+ GSM_TYPE_SYSTEM,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmSystemInterface, request_completed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_POINTER);
+ signals[SHUTDOWN_PREPARED] =
+ g_signal_new ("shutdown-prepared",
+ GSM_TYPE_SYSTEM,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmSystemInterface, shutdown_prepared),
+ NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_BOOLEAN);
+ pspec = g_param_spec_boolean ("active",
+ "Active",
+ "Whether or not session is active",
+ TRUE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+ g_object_interface_install_property (iface, pspec);
+}
+
+typedef GObject GsmSystemNull;
+typedef GObjectClass GsmSystemNullClass;
+
+static void do_nothing (void) { }
+static gboolean return_true (void) { return TRUE; }
+static gboolean return_false (void) { return TRUE; }
+
+static void
+gsm_system_null_init_iface (GsmSystemInterface *iface)
+{
+ iface->can_switch_user = (void *) return_false;
+ iface->can_stop = (void *) return_false;
+ iface->can_restart = (void *) return_false;
+ iface->can_restart_to_firmware_setup = (void *) return_false;
+ iface->set_restart_to_firmware_setup = (void *) do_nothing;
+ iface->can_suspend = (void *) return_false;
+ iface->can_hibernate = (void *) return_false;
+ iface->attempt_stop = (void *) do_nothing;
+ iface->attempt_restart = (void *) do_nothing;
+ iface->suspend = (void *) do_nothing;
+ iface->hibernate = (void *) do_nothing;
+ iface->set_session_idle = (void *) do_nothing;
+ iface->is_login_session = (void *) return_true;
+ iface->set_inhibitors = (void *) do_nothing;
+ iface->prepare_shutdown = (void *) do_nothing;
+ iface->complete_shutdown = (void *) do_nothing;
+ iface->is_last_session_for_user = (void *) return_false;
+}
+
+static void
+gsm_system_null_init (GsmSystemNull *gsn)
+{
+}
+
+static void
+gsm_system_null_get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ g_value_set_boolean (value, TRUE);
+}
+
+static void
+gsm_system_null_class_init (GsmSystemNullClass *class)
+{
+ class->get_property = gsm_system_null_get_property;
+ class->set_property = (void *) do_nothing;
+
+ g_object_class_override_property (class, 1, "active");
+}
+
+static GType gsm_system_null_get_type (void);
+G_DEFINE_TYPE_WITH_CODE (GsmSystemNull, gsm_system_null, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GSM_TYPE_SYSTEM, gsm_system_null_init_iface))
+
+GQuark
+gsm_system_error_quark (void)
+{
+ static GQuark error_quark = 0;
+
+ if (error_quark == 0) {
+ error_quark = g_quark_from_static_string ("gsm-system-error");
+ }
+
+ return error_quark;
+}
+
+gboolean
+gsm_system_can_switch_user (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_switch_user (system);
+}
+
+gboolean
+gsm_system_can_stop (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_stop (system);
+}
+
+gboolean
+gsm_system_can_restart (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_restart (system);
+}
+
+gboolean
+gsm_system_can_restart_to_firmware_setup (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_restart_to_firmware_setup (system);
+}
+
+void
+gsm_system_set_restart_to_firmware_setup (GsmSystem *system,
+ gboolean enable)
+{
+ GSM_SYSTEM_GET_IFACE (system)->set_restart_to_firmware_setup (system, enable);
+}
+
+gboolean
+gsm_system_can_suspend (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_suspend (system);
+}
+
+gboolean
+gsm_system_can_hibernate (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->can_hibernate (system);
+}
+
+void
+gsm_system_attempt_stop (GsmSystem *system)
+{
+ GSM_SYSTEM_GET_IFACE (system)->attempt_stop (system);
+}
+
+void
+gsm_system_attempt_restart (GsmSystem *system)
+{
+ GSM_SYSTEM_GET_IFACE (system)->attempt_restart (system);
+}
+
+void
+gsm_system_suspend (GsmSystem *system)
+{
+ GSM_SYSTEM_GET_IFACE (system)->suspend (system);
+}
+
+void
+gsm_system_hibernate (GsmSystem *system)
+{
+ GSM_SYSTEM_GET_IFACE (system)->hibernate (system);
+}
+
+void
+gsm_system_set_session_idle (GsmSystem *system,
+ gboolean is_idle)
+{
+ GSM_SYSTEM_GET_IFACE (system)->set_session_idle (system, is_idle);
+}
+
+void
+gsm_system_set_inhibitors (GsmSystem *system,
+ GsmInhibitorFlag flags)
+{
+ GSM_SYSTEM_GET_IFACE (system)->set_inhibitors (system, flags);
+}
+
+gboolean
+gsm_system_is_login_session (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->is_login_session (system);
+}
+
+gboolean
+gsm_system_is_last_session_for_user (GsmSystem *system)
+{
+ return GSM_SYSTEM_GET_IFACE (system)->is_last_session_for_user (system);
+}
+
+/**
+ * gsm_system_is_active:
+ *
+ * Returns: %TRUE if the current session is in the foreground
+ * Since: 3.8
+ */
+gboolean
+gsm_system_is_active (GsmSystem *system)
+{
+ gboolean is_active;
+ g_object_get ((GObject*)system, "active", &is_active, NULL);
+ return is_active;
+}
+
+void
+gsm_system_prepare_shutdown (GsmSystem *system,
+ gboolean restart)
+{
+ GSM_SYSTEM_GET_IFACE (system)->prepare_shutdown (system, restart);
+}
+
+void
+gsm_system_complete_shutdown (GsmSystem *system)
+{
+ GSM_SYSTEM_GET_IFACE (system)->complete_shutdown (system);
+}
+
+GsmSystem *
+gsm_get_system (void)
+{
+ static GsmSystem *system = NULL;
+
+ if (system == NULL) {
+ system = GSM_SYSTEM (gsm_systemd_new ());
+ if (system != NULL) {
+ g_debug ("Using systemd for session tracking");
+ }
+ }
+
+#ifdef HAVE_CONSOLEKIT
+ if (system == NULL) {
+ system = GSM_SYSTEM (gsm_consolekit_new ());
+ if (system != NULL) {
+ g_debug ("Using ConsoleKit for session tracking");
+ }
+ }
+#endif
+
+ if (system == NULL) {
+ system = g_object_new (gsm_system_null_get_type (), NULL);
+ g_warning ("Using null backend for session tracking");
+ }
+
+ return g_object_ref (system);
+}
diff --git a/gnome-session/gsm-system.h b/gnome-session/gsm-system.h
new file mode 100644
index 0000000..438434c
--- /dev/null
+++ b/gnome-session/gsm-system.h
@@ -0,0 +1,130 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Jon McCann <jmccann@redhat.com>
+ */
+
+#ifndef __GSM_SYSTEM_H__
+#define __GSM_SYSTEM_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "gsm-inhibitor.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_SYSTEM (gsm_system_get_type ())
+#define GSM_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_SYSTEM, GsmSystem))
+#define GSM_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_SYSTEM, GsmSystemInterface))
+#define GSM_IS_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_SYSTEM))
+#define GSM_SYSTEM_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GSM_TYPE_SYSTEM, GsmSystemInterface))
+#define GSM_SYSTEM_ERROR (gsm_system_error_quark ())
+
+typedef struct _GsmSystem GsmSystem;
+typedef struct _GsmSystemInterface GsmSystemInterface;
+typedef enum _GsmSystemError GsmSystemError;
+
+struct _GsmSystemInterface
+{
+ GTypeInterface base_interface;
+
+ void (* request_completed) (GsmSystem *system,
+ GError *error);
+
+ void (* shutdown_prepared) (GsmSystem *system,
+ gboolean success);
+
+ gboolean (* can_switch_user) (GsmSystem *system);
+ gboolean (* can_stop) (GsmSystem *system);
+ gboolean (* can_restart) (GsmSystem *system);
+ gboolean (* can_restart_to_firmware_setup) (GsmSystem *system);
+ void (* set_restart_to_firmware_setup) (GsmSystem *system,
+ gboolean enable);
+ gboolean (* can_suspend) (GsmSystem *system);
+ gboolean (* can_hibernate) (GsmSystem *system);
+ void (* attempt_stop) (GsmSystem *system);
+ void (* attempt_restart) (GsmSystem *system);
+ void (* suspend) (GsmSystem *system);
+ void (* hibernate) (GsmSystem *system);
+ void (* set_session_idle) (GsmSystem *system,
+ gboolean is_idle);
+ gboolean (* is_login_session) (GsmSystem *system);
+ void (* set_inhibitors) (GsmSystem *system,
+ GsmInhibitorFlag flags);
+ void (* prepare_shutdown) (GsmSystem *system,
+ gboolean restart);
+ void (* complete_shutdown)(GsmSystem *system);
+ gboolean (* is_last_session_for_user) (GsmSystem *system);
+};
+
+enum _GsmSystemError {
+ GSM_SYSTEM_ERROR_RESTARTING = 0,
+ GSM_SYSTEM_ERROR_STOPPING
+};
+
+GType gsm_system_get_type (void);
+
+GQuark gsm_system_error_quark (void);
+
+GsmSystem *gsm_get_system (void);
+
+gboolean gsm_system_can_switch_user (GsmSystem *system);
+
+gboolean gsm_system_can_stop (GsmSystem *system);
+
+gboolean gsm_system_can_restart (GsmSystem *system);
+
+gboolean gsm_system_can_restart_to_firmware_setup (GsmSystem *system);
+
+void gsm_system_set_restart_to_firmware_setup (GsmSystem *system,
+ gboolean enable);
+
+gboolean gsm_system_can_suspend (GsmSystem *system);
+
+gboolean gsm_system_can_hibernate (GsmSystem *system);
+
+void gsm_system_attempt_stop (GsmSystem *system);
+
+void gsm_system_attempt_restart (GsmSystem *system);
+
+void gsm_system_suspend (GsmSystem *system);
+
+void gsm_system_hibernate (GsmSystem *system);
+
+void gsm_system_set_session_idle (GsmSystem *system,
+ gboolean is_idle);
+
+gboolean gsm_system_is_login_session (GsmSystem *system);
+
+gboolean gsm_system_is_last_session_for_user (GsmSystem *system);
+
+gboolean gsm_system_is_active (GsmSystem *system);
+
+void gsm_system_set_inhibitors (GsmSystem *system,
+ GsmInhibitorFlag flags);
+
+void gsm_system_prepare_shutdown (GsmSystem *system,
+ gboolean restart);
+void gsm_system_complete_shutdown (GsmSystem *system);
+
+
+
+G_END_DECLS
+
+#endif /* __GSM_SYSTEM_H__ */
diff --git a/gnome-session/gsm-systemd.c b/gnome-session/gsm-systemd.c
new file mode 100644
index 0000000..cf30a4b
--- /dev/null
+++ b/gnome-session/gsm-systemd.c
@@ -0,0 +1,1183 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2011 Red Hat, 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/>.
+ *
+ * Author: Matthias Clasen
+ */
+
+#include "config.h"
+#include "gsm-systemd.h"
+
+#ifdef HAVE_SYSTEMD
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <pwd.h>
+
+#include <systemd/sd-login.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+#include <gio/gunixfdlist.h>
+
+#include "gsm-system.h"
+
+#define SD_NAME "org.freedesktop.login1"
+#define SD_PATH "/org/freedesktop/login1"
+#define SD_INTERFACE "org.freedesktop.login1.Manager"
+#define SD_SEAT_INTERFACE "org.freedesktop.login1.Seat"
+#define SD_SESSION_INTERFACE "org.freedesktop.login1.Session"
+
+#define SYSTEMD_SESSION_REQUIRE_ONLINE 0 /* active or online sessions only */
+
+struct _GsmSystemdPrivate
+{
+ GSource *sd_source;
+ GDBusProxy *sd_proxy;
+ char *session_id;
+ gchar *session_path;
+
+ const gchar *inhibit_locks;
+ gint inhibit_fd;
+
+ gboolean is_active;
+
+ gint delay_inhibit_fd;
+ gboolean prepare_for_shutdown_expected;
+};
+
+enum {
+ PROP_0,
+ PROP_ACTIVE
+};
+
+static void gsm_systemd_system_init (GsmSystemInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GsmSystemd, gsm_systemd, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GSM_TYPE_SYSTEM,
+ gsm_systemd_system_init))
+
+static void
+drop_system_inhibitor (GsmSystemd *manager)
+{
+ if (manager->priv->inhibit_fd != -1) {
+ g_debug ("GsmSystemd: Dropping system inhibitor fd %d", manager->priv->inhibit_fd);
+ close (manager->priv->inhibit_fd);
+ manager->priv->inhibit_fd = -1;
+ }
+}
+
+static void
+drop_delay_inhibitor (GsmSystemd *manager)
+{
+ if (manager->priv->delay_inhibit_fd != -1) {
+ g_debug ("GsmSystemd: Dropping delay inhibitor");
+ close (manager->priv->delay_inhibit_fd);
+ manager->priv->delay_inhibit_fd = -1;
+ }
+}
+
+static void
+gsm_systemd_finalize (GObject *object)
+{
+ GsmSystemd *systemd = GSM_SYSTEMD (object);
+
+ g_clear_object (&systemd->priv->sd_proxy);
+ free (systemd->priv->session_id);
+ g_free (systemd->priv->session_path);
+
+ if (systemd->priv->sd_source) {
+ g_source_destroy (systemd->priv->sd_source);
+ }
+
+ drop_system_inhibitor (systemd);
+ drop_delay_inhibitor (systemd);
+
+ G_OBJECT_CLASS (gsm_systemd_parent_class)->finalize (object);
+}
+
+static void
+gsm_systemd_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmSystemd *self = GSM_SYSTEMD (object);
+
+ switch (prop_id) {
+ case PROP_ACTIVE:
+ self->priv->is_active = g_value_get_boolean (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+}
+
+static void
+gsm_systemd_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmSystemd *self = GSM_SYSTEMD (object);
+
+ switch (prop_id) {
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, self->priv->is_active);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_systemd_class_init (GsmSystemdClass *manager_class)
+{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (manager_class);
+
+ object_class->get_property = gsm_systemd_get_property;
+ object_class->set_property = gsm_systemd_set_property;
+ object_class->finalize = gsm_systemd_finalize;
+
+ g_object_class_override_property (object_class, PROP_ACTIVE, "active");
+
+ g_type_class_add_private (manager_class, sizeof (GsmSystemdPrivate));
+}
+
+typedef struct
+{
+ GSource source;
+ GPollFD pollfd;
+ sd_login_monitor *monitor;
+} SdSource;
+
+static gboolean
+sd_source_prepare (GSource *source,
+ gint *timeout)
+{
+ *timeout = -1;
+ return FALSE;
+}
+
+static gboolean
+sd_source_check (GSource *source)
+{
+ SdSource *sd_source = (SdSource *)source;
+
+ return sd_source->pollfd.revents != 0;
+}
+
+static gboolean
+sd_source_dispatch (GSource *source,
+ GSourceFunc callback,
+ gpointer user_data)
+
+{
+ SdSource *sd_source = (SdSource *)source;
+ gboolean ret;
+
+ g_warn_if_fail (callback != NULL);
+
+ ret = (*callback) (user_data);
+
+ sd_login_monitor_flush (sd_source->monitor);
+ return ret;
+}
+
+static void
+sd_source_finalize (GSource *source)
+{
+ SdSource *sd_source = (SdSource*)source;
+
+ sd_login_monitor_unref (sd_source->monitor);
+}
+
+static GSourceFuncs sd_source_funcs = {
+ sd_source_prepare,
+ sd_source_check,
+ sd_source_dispatch,
+ sd_source_finalize
+};
+
+static GSource *
+sd_source_new (void)
+{
+ GSource *source;
+ SdSource *sd_source;
+ int ret;
+
+ source = g_source_new (&sd_source_funcs, sizeof (SdSource));
+ sd_source = (SdSource *)source;
+
+ if ((ret = sd_login_monitor_new ("session", &sd_source->monitor)) < 0) {
+ g_warning ("Error getting login monitor: %d", ret);
+ } else {
+ sd_source->pollfd.fd = sd_login_monitor_get_fd (sd_source->monitor);
+ sd_source->pollfd.events = G_IO_IN;
+ g_source_add_poll (source, &sd_source->pollfd);
+ }
+
+ return source;
+}
+
+static gboolean
+on_sd_source_changed (gpointer user_data)
+{
+ GsmSystemd *self = user_data;
+ int active_r;
+ gboolean active;
+
+ active_r = sd_session_is_active (self->priv->session_id);
+ if (active_r < 0)
+ active = FALSE;
+ else
+ active = active_r;
+ if (active != self->priv->is_active) {
+ self->priv->is_active = active;
+ g_object_notify (G_OBJECT (self), "active");
+ }
+
+ return TRUE;
+}
+
+static void sd_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data);
+
+static gboolean
+_systemd_session_is_graphical (const char *session_id)
+{
+ const gchar * const graphical_session_types[] = { "wayland", "x11", "mir", NULL };
+ int saved_errno;
+ g_autofree gchar *type = NULL;
+
+ saved_errno = sd_session_get_type (session_id, &type);
+ if (saved_errno < 0) {
+ g_warning ("Couldn't get type for session '%s': %s",
+ session_id,
+ g_strerror (-saved_errno));
+ return FALSE;
+ }
+
+ if (!g_strv_contains (graphical_session_types, type)) {
+ g_debug ("Session '%s' is not a graphical session (type: '%s')",
+ session_id,
+ type);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+_systemd_session_is_active (const char *session_id)
+{
+ const gchar * const active_states[] = { "active", "online", NULL };
+ int saved_errno;
+ g_autofree gchar *state = NULL;
+
+ /*
+ * display sessions can be 'closing' if they are logged out but some
+ * processes are lingering; we shouldn't consider these (this is
+ * checking for a race condition since we specified
+ * SYSTEMD_SESSION_REQUIRE_ONLINE)
+ */
+ saved_errno = sd_session_get_state (session_id, &state);
+ if (saved_errno < 0) {
+ g_warning ("Couldn't get state for session '%s': %s",
+ session_id,
+ g_strerror (-saved_errno));
+ return FALSE;
+ }
+
+ if (!g_strv_contains (active_states, state)) {
+ g_debug ("Session '%s' is not active or online", session_id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gsm_systemd_find_session (char **session_id)
+{
+ char *local_session_id = NULL;
+ g_auto(GStrv) sessions = NULL;
+ int n_sessions;
+
+ g_return_val_if_fail (session_id != NULL, FALSE);
+
+ g_debug ("Finding a graphical session for user %d", getuid ());
+
+ n_sessions = sd_uid_get_sessions (getuid (),
+ SYSTEMD_SESSION_REQUIRE_ONLINE,
+ &sessions);
+
+ if (n_sessions < 0) {
+ g_critical ("Failed to get sessions for user %d", getuid ());
+ return FALSE;
+ }
+
+ for (int i = 0; i < n_sessions; ++i) {
+ g_debug ("Considering session '%s'", sessions[i]);
+
+ if (!_systemd_session_is_graphical (sessions[i]))
+ continue;
+
+ if (!_systemd_session_is_active (sessions[i]))
+ continue;
+
+ /*
+ * We get the sessions from newest to oldest, so take the last
+ * one we find that's good
+ */
+ local_session_id = sessions[i];
+ }
+
+ if (local_session_id == NULL)
+ return FALSE;
+
+ *session_id = g_strdup (local_session_id);
+
+ return TRUE;
+}
+
+static void
+gsm_systemd_init (GsmSystemd *manager)
+{
+ GError *error = NULL;
+ GDBusConnection *bus;
+ GVariant *res;
+
+ manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
+ GSM_TYPE_SYSTEMD,
+ GsmSystemdPrivate);
+
+ manager->priv->inhibit_fd = -1;
+ manager->priv->delay_inhibit_fd = -1;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
+ if (bus == NULL)
+ g_error ("Failed to connect to system bus: %s",
+ error->message);
+ manager->priv->sd_proxy =
+ g_dbus_proxy_new_sync (bus,
+ 0,
+ NULL,
+ SD_NAME,
+ SD_PATH,
+ SD_INTERFACE,
+ NULL,
+ &error);
+ if (manager->priv->sd_proxy == NULL) {
+ g_warning ("Failed to connect to systemd: %s",
+ error->message);
+ g_clear_error (&error);
+ }
+
+ g_signal_connect (manager->priv->sd_proxy, "g-signal",
+ G_CALLBACK (sd_proxy_signal_cb), manager);
+
+ gsm_systemd_find_session (&manager->priv->session_id);
+
+ if (manager->priv->session_id == NULL) {
+ g_warning ("Could not get session id for session. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return;
+ }
+
+ g_debug ("Found session ID: %s", manager->priv->session_id);
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "GetSession",
+ g_variant_new ("(s)", manager->priv->session_id),
+ 0,
+ G_MAXINT,
+ NULL,
+ &error);
+ if (res == NULL) {
+ g_warning ("Could not get session id for session. Check that logind is "
+ "properly installed and pam_systemd is getting used at login: %s",
+ error->message);
+ g_error_free (error);
+ return;
+ }
+
+ g_variant_get (res, "(o)", &manager->priv->session_path);
+ g_variant_unref (res);
+
+ manager->priv->sd_source = sd_source_new ();
+ g_source_set_callback (manager->priv->sd_source, on_sd_source_changed, manager, NULL);
+ g_source_attach (manager->priv->sd_source, NULL);
+
+ on_sd_source_changed (manager);
+
+ g_object_unref (bus);
+}
+
+static void
+emit_restart_complete (GsmSystemd *manager,
+ GError *error)
+{
+ GError *call_error;
+
+ call_error = NULL;
+
+ if (error != NULL) {
+ call_error = g_error_new_literal (GSM_SYSTEM_ERROR,
+ GSM_SYSTEM_ERROR_RESTARTING,
+ error->message);
+ }
+
+ g_signal_emit_by_name (G_OBJECT (manager),
+ "request_completed", call_error);
+
+ if (call_error != NULL) {
+ g_error_free (call_error);
+ }
+}
+
+static void
+emit_stop_complete (GsmSystemd *manager,
+ GError *error)
+{
+ GError *call_error;
+
+ call_error = NULL;
+
+ if (error != NULL) {
+ call_error = g_error_new_literal (GSM_SYSTEM_ERROR,
+ GSM_SYSTEM_ERROR_STOPPING,
+ error->message);
+ }
+
+ g_signal_emit_by_name (G_OBJECT (manager),
+ "request_completed", call_error);
+
+ if (call_error != NULL) {
+ g_error_free (call_error);
+ }
+}
+
+static void
+restart_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmSystemd *manager = user_data;
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to restart system: %s", error->message);
+ emit_restart_complete (manager, error);
+ g_error_free (error);
+ } else {
+ emit_restart_complete (manager, NULL);
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_systemd_attempt_restart (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+
+ g_dbus_proxy_call (manager->priv->sd_proxy,
+ "Reboot",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ restart_done,
+ manager);
+}
+
+static void
+stop_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmSystemd *manager = user_data;
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to stop system: %s", error->message);
+ emit_stop_complete (manager, error);
+ g_error_free (error);
+ } else {
+ emit_stop_complete (manager, NULL);
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_systemd_attempt_stop (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+
+ g_dbus_proxy_call (manager->priv->sd_proxy,
+ "PowerOff",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ stop_done,
+ manager);
+}
+
+static void
+gsm_systemd_set_session_idle (GsmSystem *system,
+ gboolean is_idle)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ GDBusConnection *bus;
+
+ if (manager->priv->session_path == NULL) {
+ g_warning ("Could not get session path for session. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return;
+ }
+
+ g_debug ("Updating systemd idle status: %d", is_idle);
+ bus = g_dbus_proxy_get_connection (manager->priv->sd_proxy);
+ g_dbus_connection_call (bus,
+ SD_NAME,
+ manager->priv->session_path,
+ SD_SESSION_INTERFACE,
+ "SetIdleHint",
+ g_variant_new ("(b)", is_idle),
+ G_VARIANT_TYPE_BOOLEAN,
+ 0,
+ G_MAXINT,
+ NULL, NULL, NULL);
+}
+
+static gboolean
+gsm_systemd_can_switch_user (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ gchar *seat;
+ gint ret;
+
+ sd_session_get_seat (manager->priv->session_id, &seat);
+ ret = sd_seat_can_multi_session (seat);
+ free (seat);
+
+ return ret > 0;
+}
+
+static gboolean
+gsm_systemd_can_restart (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_restart;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "CanReboot",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanReboot failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_restart = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_restart;
+}
+
+static gboolean
+gsm_systemd_can_restart_to_firmware_setup (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ const gchar *rv;
+ GVariant *res;
+ gboolean can_restart;
+ GError *error = NULL;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "CanRebootToFirmwareSetup",
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ G_MAXINT,
+ NULL,
+ &error);
+ if (!res) {
+ g_warning ("Calling CanRebootToFirmwareSetup failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login: %s",
+ error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_get (res, "(&s)", &rv);
+
+ can_restart = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_variant_unref (res);
+
+ return can_restart;
+}
+
+static void
+gsm_systemd_set_restart_to_firmware_setup (GsmSystem *system,
+ gboolean enable)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ GVariant *res;
+ GError *error = NULL;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "SetRebootToFirmwareSetup",
+ g_variant_new ("(b)", enable),
+ G_DBUS_CALL_FLAGS_NONE,
+ G_MAXINT,
+ NULL,
+ &error);
+ if (!res) {
+ g_warning ("Calling SetRebootToFirmwareSetup failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login: %s",
+ error->message);
+ g_error_free (error);
+ }
+
+ g_variant_unref (res);
+}
+
+static gboolean
+gsm_systemd_can_stop (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_stop;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "CanPowerOff",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanPowerOff failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_stop = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_stop;
+}
+
+static gboolean
+gsm_systemd_is_login_session (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ int res;
+ gboolean ret;
+ gchar *session_class = NULL;
+
+ ret = FALSE;
+
+ if (manager->priv->session_id == NULL) {
+ return ret;
+ }
+
+ res = sd_session_get_class (manager->priv->session_id, &session_class);
+ if (res < 0) {
+ g_warning ("Could not get session class: %s", strerror (-res));
+ return FALSE;
+ }
+ ret = (g_strcmp0 (session_class, "greeter") == 0);
+ free (session_class);
+
+ return ret;
+}
+
+static gboolean
+gsm_systemd_can_suspend (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_suspend;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "CanSuspend",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanSuspend failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_suspend = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_suspend;
+}
+
+static gboolean
+gsm_systemd_can_hibernate (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ gchar *rv;
+ GVariant *res;
+ gboolean can_hibernate;
+
+ res = g_dbus_proxy_call_sync (manager->priv->sd_proxy,
+ "CanHibernate",
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL);
+ if (!res) {
+ g_warning ("Calling CanHibernate failed. Check that logind is "
+ "properly installed and pam_systemd is getting used at login.");
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_hibernate = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ g_free (rv);
+
+ return can_hibernate;
+}
+
+static void
+suspend_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to suspend system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (res);
+ }
+}
+
+static void
+hibernate_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GError *error = NULL;
+ GVariant *res;
+
+ res = g_dbus_proxy_call_finish (proxy, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to hibernate system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (res);
+ }
+}
+
+static void
+gsm_systemd_suspend (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+
+ g_dbus_proxy_call (manager->priv->sd_proxy,
+ "Suspend",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ hibernate_done,
+ manager);
+}
+
+static void
+gsm_systemd_hibernate (GsmSystem *system)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+
+ g_dbus_proxy_call (manager->priv->sd_proxy,
+ "Hibernate",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ suspend_done,
+ manager);
+}
+
+static void
+inhibit_done (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GDBusProxy *proxy = G_DBUS_PROXY (source);
+ GsmSystemd *manager = GSM_SYSTEMD (user_data);
+ GError *error = NULL;
+ GVariant *res;
+ GUnixFDList *fd_list = NULL;
+ gint idx;
+
+ /* Drop any previous inhibit before recording the new one */
+ drop_system_inhibitor (manager);
+
+ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
+
+ if (!res) {
+ g_warning ("Unable to inhibit system: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_get (res, "(h)", &idx);
+ manager->priv->inhibit_fd = g_unix_fd_list_get (fd_list, idx, &error);
+ if (manager->priv->inhibit_fd == -1) {
+ g_warning ("Failed to receive system inhibitor fd: %s", error->message);
+ g_error_free (error);
+ }
+ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_fd);
+ g_object_unref (fd_list);
+ g_variant_unref (res);
+ }
+
+ /* Handle a race condition, where locks got unset during dbus call */
+ if (manager->priv->inhibit_locks == NULL) {
+ drop_system_inhibitor (manager);
+ }
+}
+
+static void
+gsm_systemd_set_inhibitors (GsmSystem *system,
+ GsmInhibitorFlag flags)
+{
+ GsmSystemd *manager = GSM_SYSTEMD (system);
+ const gchar *locks = NULL;
+ gboolean inhibit_logout;
+ gboolean inhibit_suspend;
+
+ inhibit_logout = (flags & GSM_INHIBITOR_FLAG_LOGOUT) != 0;
+ inhibit_suspend = (flags & GSM_INHIBITOR_FLAG_SUSPEND) != 0;
+
+ if (inhibit_logout && inhibit_suspend) {
+ locks = "sleep:shutdown";
+ } else if (inhibit_logout) {
+ locks = "shutdown";
+ } else if (inhibit_suspend) {
+ locks = "sleep";
+ }
+ manager->priv->inhibit_locks = locks;
+
+ if (locks != NULL) {
+ g_debug ("Adding system inhibitor on %s", locks);
+ g_dbus_proxy_call_with_unix_fd_list (manager->priv->sd_proxy,
+ "Inhibit",
+ g_variant_new ("(ssss)",
+ locks,
+ g_get_user_name (),
+ "user session inhibited",
+ "block"),
+ 0,
+ G_MAXINT,
+ NULL,
+ NULL,
+ inhibit_done,
+ manager);
+ } else {
+ drop_system_inhibitor (manager);
+ }
+}
+
+static void
+reboot_or_poweroff_done (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ GsmSystemd *systemd = user_data;
+ GVariant *result;
+ GError *error = NULL;
+
+ result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source),
+ res,
+ &error);
+
+ if (result == NULL) {
+ if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_ACCESS_DENIED)) {
+ g_warning ("Shutdown failed: %s", error->message);
+ }
+ g_error_free (error);
+ drop_delay_inhibitor (systemd);
+ g_debug ("GsmSystemd: shutdown preparation failed");
+ systemd->priv->prepare_for_shutdown_expected = FALSE;
+ g_signal_emit_by_name (systemd, "shutdown-prepared", FALSE);
+ } else {
+ g_variant_unref (result);
+ }
+}
+
+static void
+gsm_systemd_prepare_shutdown (GsmSystem *system,
+ gboolean restart)
+{
+ GsmSystemd *systemd = GSM_SYSTEMD (system);
+ GUnixFDList *fd_list;
+ GVariant *res;
+ GError *error = NULL;
+ gint idx;
+
+ g_debug ("GsmSystemd: prepare shutdown");
+
+ res = g_dbus_proxy_call_with_unix_fd_list_sync (systemd->priv->sd_proxy,
+ "Inhibit",
+ g_variant_new ("(ssss)",
+ "shutdown",
+ g_get_user_name (),
+ "Preparing to end the session",
+ "delay"),
+ 0,
+ G_MAXINT,
+ NULL,
+ &fd_list,
+ NULL,
+ &error);
+ if (res == NULL) {
+ g_warning ("Failed to get delay inhibitor: %s", error->message);
+ g_error_free (error);
+ g_signal_emit_by_name (systemd, "shutdown-prepared", FALSE);
+ return;
+ }
+
+ g_variant_get (res, "(h)", &idx);
+
+ systemd->priv->delay_inhibit_fd = g_unix_fd_list_get (fd_list, idx, NULL);
+
+ g_debug ("GsmSystemd: got delay inhibitor, fd = %d", systemd->priv->delay_inhibit_fd);
+
+ g_variant_unref (res);
+ g_object_unref (fd_list);
+
+ systemd->priv->prepare_for_shutdown_expected = TRUE;
+
+ g_dbus_proxy_call (systemd->priv->sd_proxy,
+ restart ? "Reboot" : "PowerOff",
+ g_variant_new ("(b)", TRUE),
+ 0,
+ G_MAXINT,
+ NULL,
+ reboot_or_poweroff_done,
+ systemd);
+}
+
+static void
+gsm_systemd_complete_shutdown (GsmSystem *system)
+{
+ GsmSystemd *systemd = GSM_SYSTEMD (system);
+
+ /* remove delay inhibitor, if any */
+ drop_delay_inhibitor (systemd);
+}
+
+static gboolean
+gsm_systemd_is_last_session_for_user (GsmSystem *system)
+{
+ char **sessions = NULL;
+ char *session = NULL;
+ gboolean is_last_session;
+ int ret, i;
+
+ if (!gsm_systemd_find_session (&session)) {
+ return FALSE;
+ }
+
+ ret = sd_uid_get_sessions (getuid (), FALSE, &sessions);
+
+ if (ret <= 0) {
+ free (session);
+ return FALSE;
+ }
+
+ is_last_session = TRUE;
+ for (i = 0; sessions[i]; i++) {
+ char *state = NULL;
+ char *type = NULL;
+
+ if (g_strcmp0 (sessions[i], session) == 0)
+ continue;
+
+ ret = sd_session_get_state (sessions[i], &state);
+
+ if (ret != 0)
+ continue;
+
+ if (g_strcmp0 (state, "closing") == 0) {
+ free (state);
+ continue;
+ }
+ free (state);
+
+ ret = sd_session_get_type (sessions[i], &type);
+
+ if (ret != 0)
+ continue;
+
+ if (g_strcmp0 (type, "x11") != 0 &&
+ g_strcmp0 (type, "wayland") != 0) {
+ free (type);
+ continue;
+ }
+
+ is_last_session = FALSE;
+ }
+
+ for (i = 0; sessions[i]; i++)
+ free (sessions[i]);
+ free (sessions);
+ free (session);
+
+ return is_last_session;
+}
+
+static void
+gsm_systemd_system_init (GsmSystemInterface *iface)
+{
+ iface->can_switch_user = gsm_systemd_can_switch_user;
+ iface->can_stop = gsm_systemd_can_stop;
+ iface->can_restart = gsm_systemd_can_restart;
+ iface->can_restart_to_firmware_setup = gsm_systemd_can_restart_to_firmware_setup;
+ iface->set_restart_to_firmware_setup = gsm_systemd_set_restart_to_firmware_setup;
+ iface->can_suspend = gsm_systemd_can_suspend;
+ iface->can_hibernate = gsm_systemd_can_hibernate;
+ iface->attempt_stop = gsm_systemd_attempt_stop;
+ iface->attempt_restart = gsm_systemd_attempt_restart;
+ iface->suspend = gsm_systemd_suspend;
+ iface->hibernate = gsm_systemd_hibernate;
+ iface->set_session_idle = gsm_systemd_set_session_idle;
+ iface->is_login_session = gsm_systemd_is_login_session;
+ iface->set_inhibitors = gsm_systemd_set_inhibitors;
+ iface->prepare_shutdown = gsm_systemd_prepare_shutdown;
+ iface->complete_shutdown = gsm_systemd_complete_shutdown;
+ iface->is_last_session_for_user = gsm_systemd_is_last_session_for_user;
+}
+
+GsmSystemd *
+gsm_systemd_new (void)
+{
+ GsmSystemd *manager;
+
+ /* logind is not running ? */
+ if (access("/run/systemd/seats/", F_OK) < 0)
+ return NULL;
+
+ manager = g_object_new (GSM_TYPE_SYSTEMD, NULL);
+
+ return manager;
+}
+
+static void
+sd_proxy_signal_cb (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ GsmSystemd *systemd = user_data;
+ gboolean is_about_to_shutdown;
+
+ g_debug ("GsmSystemd: received logind signal: %s", signal_name);
+
+ if (g_strcmp0 (signal_name, "PrepareForShutdown") != 0) {
+ g_debug ("GsmSystemd: ignoring %s signal", signal_name);
+ return;
+ }
+
+ g_variant_get (parameters, "(b)", &is_about_to_shutdown);
+ if (!is_about_to_shutdown) {
+ g_debug ("GsmSystemd: ignoring %s signal since about-to-shutdown is FALSE", signal_name);
+ return;
+ }
+
+ if (systemd->priv->prepare_for_shutdown_expected) {
+ g_debug ("GsmSystemd: shutdown successfully prepared");
+ g_signal_emit_by_name (systemd, "shutdown-prepared", TRUE);
+ systemd->priv->prepare_for_shutdown_expected = FALSE;
+ }
+}
+
+#else
+
+GsmSystemd *
+gsm_systemd_new (void)
+{
+ return NULL;
+}
+
+#endif
+
diff --git a/gnome-session/gsm-systemd.h b/gnome-session/gsm-systemd.h
new file mode 100644
index 0000000..8fa6aa0
--- /dev/null
+++ b/gnome-session/gsm-systemd.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2012 Red Hat, 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 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Matthias Clasen <mclasen@redhat.com>
+ */
+
+#ifndef __GSM_SYSTEMD_H__
+#define __GSM_SYSTEMD_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_SYSTEMD (gsm_systemd_get_type ())
+#define GSM_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_SYSTEMD, GsmSystemd))
+#define GSM_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_SYSTEMD, GsmSystemdClass))
+#define GSM_IS_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_SYSTEMD))
+#define GSM_IS_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_SYSTEMD))
+#define GSM_SYSTEMD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_SYSTEMD, GsmSystemdClass))
+
+typedef struct _GsmSystemd GsmSystemd;
+typedef struct _GsmSystemdClass GsmSystemdClass;
+typedef struct _GsmSystemdPrivate GsmSystemdPrivate;
+
+struct _GsmSystemd
+{
+ GObject parent;
+
+ GsmSystemdPrivate *priv;
+};
+
+struct _GsmSystemdClass
+{
+ GObjectClass parent_class;
+};
+
+GType gsm_systemd_get_type (void);
+
+GsmSystemd *gsm_systemd_new (void) G_GNUC_MALLOC;
+
+G_END_DECLS
+
+#endif /* __GSM_SYSTEMD_H__ */
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
new file mode 100644
index 0000000..f1e6489
--- /dev/null
+++ b/gnome-session/gsm-util.c
@@ -0,0 +1,863 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * gsm-util.c
+ * Copyright (C) 2008 Lucas Rocha.
+ *
+ * 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <sys/time.h>
+#include <errno.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glib/gstdio.h>
+#include <gio/gio.h>
+
+#include "gsm-util.h"
+
+static gchar *_saved_session_dir = NULL;
+static gchar **child_environment;
+
+/* These are variables that will not be passed on to subprocesses
+ * (either directly, via systemd or DBus).
+ * Some of these are blacklisted as they might end up in the wrong session
+ * (e.g. XDG_VTNR), others because they simply must never be passed on
+ * (NOTIFY_SOCKET).
+ */
+static const char * const variable_blacklist[] = {
+ "NOTIFY_SOCKET",
+ "XDG_SEAT",
+ "XDG_SESSION_ID",
+ "XDG_VTNR",
+ NULL
+};
+
+/* The following is copied from GDMs spawn_session function.
+ *
+ * Environment variables listed here will be copied into the user's service
+ * environments if they are set in gnome-session's environment. If they are
+ * not set in gnome-session's environment, they will be removed from the
+ * service environments. This is to protect against environment variables
+ * leaking from previous sessions (e.g. when switching from classic to
+ * default GNOME $GNOME_SHELL_SESSION_MODE will become unset).
+ */
+static const char * const variable_unsetlist[] = {
+ "DISPLAY",
+ "XAUTHORITY",
+ "WAYLAND_DISPLAY",
+ "WAYLAND_SOCKET",
+ "GNOME_SHELL_SESSION_MODE",
+ "GNOME_SETUP_DISPLAY",
+
+ /* None of the LC_* variables should survive a logout/login */
+ "LC_CTYPE",
+ "LC_NUMERIC",
+ "LC_TIME",
+ "LC_COLLATE",
+ "LC_MONETARY",
+ "LC_MESSAGES",
+ "LC_PAPER",
+ "LC_NAME",
+ "LC_ADDRESS",
+ "LC_TELEPHONE",
+ "LC_MEASUREMENT",
+ "LC_IDENTIFICATION",
+ "LC_ALL",
+
+ NULL
+};
+
+char *
+gsm_util_find_desktop_file_for_app_name (const char *name,
+ gboolean look_in_saved_session,
+ gboolean autostart_first)
+{
+ char *app_path;
+ char **app_dirs;
+ GKeyFile *key_file;
+ char *desktop_file;
+ int i;
+
+ app_path = NULL;
+
+ app_dirs = gsm_util_get_desktop_dirs (look_in_saved_session, autostart_first);
+
+ key_file = g_key_file_new ();
+
+ desktop_file = g_strdup_printf ("%s.desktop", name);
+
+ g_debug ("GsmUtil: Looking for file '%s'", desktop_file);
+
+ for (i = 0; app_dirs[i] != NULL; i++) {
+ g_debug ("GsmUtil: Looking in '%s'", app_dirs[i]);
+ }
+
+ g_key_file_load_from_dirs (key_file,
+ desktop_file,
+ (const char **) app_dirs,
+ &app_path,
+ G_KEY_FILE_NONE,
+ NULL);
+
+ if (app_path != NULL) {
+ g_debug ("GsmUtil: found in XDG dirs: '%s'", app_path);
+ }
+
+ /* look for gnome vendor prefix */
+ if (app_path == NULL) {
+ g_free (desktop_file);
+ desktop_file = g_strdup_printf ("gnome-%s.desktop", name);
+
+ g_key_file_load_from_dirs (key_file,
+ desktop_file,
+ (const char **) app_dirs,
+ &app_path,
+ G_KEY_FILE_NONE,
+ NULL);
+ if (app_path != NULL) {
+ g_debug ("GsmUtil: found in XDG dirs: '%s'", app_path);
+ }
+ }
+
+ g_free (desktop_file);
+ g_key_file_free (key_file);
+
+ g_strfreev (app_dirs);
+
+ return app_path;
+}
+
+static gboolean
+ensure_dir_exists (const char *dir)
+{
+ if (g_mkdir_with_parents (dir, 0700) == 0)
+ return TRUE;
+
+ g_warning ("GsmSessionSave: Failed to create directory %s: %s", dir, strerror (errno));
+
+ return FALSE;
+}
+
+gchar *
+gsm_util_get_empty_tmp_session_dir (void)
+{
+ char *tmp;
+ gboolean exists;
+
+ tmp = g_build_filename (g_get_user_config_dir (),
+ "gnome-session",
+ "saved-session.new",
+ NULL);
+
+ exists = ensure_dir_exists (tmp);
+
+ if (G_UNLIKELY (!exists)) {
+ g_warning ("GsmSessionSave: could not create directory for saved session: %s", tmp);
+ g_free (tmp);
+ return NULL;
+ } else {
+ /* make sure it's empty */
+ GDir *dir;
+ const char *filename;
+
+ dir = g_dir_open (tmp, 0, NULL);
+ if (dir) {
+ while ((filename = g_dir_read_name (dir))) {
+ char *path = g_build_filename (tmp, filename,
+ NULL);
+ g_unlink (path);
+ }
+ g_dir_close (dir);
+ }
+ }
+
+ return tmp;
+}
+
+const gchar *
+gsm_util_get_saved_session_dir (void)
+{
+ if (_saved_session_dir == NULL) {
+ gboolean exists;
+
+ _saved_session_dir =
+ g_build_filename (g_get_user_config_dir (),
+ "gnome-session",
+ "saved-session",
+ NULL);
+
+ exists = ensure_dir_exists (_saved_session_dir);
+
+ if (G_UNLIKELY (!exists)) {
+ static gboolean printed_warning = FALSE;
+
+ if (!printed_warning) {
+ g_warning ("GsmSessionSave: could not create directory for saved session: %s", _saved_session_dir);
+ printed_warning = TRUE;
+ }
+
+ _saved_session_dir = NULL;
+
+ return NULL;
+ }
+ }
+
+ return _saved_session_dir;
+}
+
+static char ** autostart_dirs;
+
+void
+gsm_util_set_autostart_dirs (char ** dirs)
+{
+ autostart_dirs = g_strdupv (dirs);
+}
+
+static char **
+gsm_util_get_standard_autostart_dirs (void)
+{
+ GPtrArray *dirs;
+ const char * const *system_config_dirs;
+ const char * const *system_data_dirs;
+ int i;
+
+ dirs = g_ptr_array_new ();
+
+ g_ptr_array_add (dirs,
+ g_build_filename (g_get_user_config_dir (),
+ "autostart", NULL));
+
+ system_data_dirs = g_get_system_data_dirs ();
+ for (i = 0; system_data_dirs[i]; i++) {
+ g_ptr_array_add (dirs,
+ g_build_filename (system_data_dirs[i],
+ "gnome", "autostart", NULL));
+ }
+
+ system_config_dirs = g_get_system_config_dirs ();
+ for (i = 0; system_config_dirs[i]; i++) {
+ g_ptr_array_add (dirs,
+ g_build_filename (system_config_dirs[i],
+ "autostart", NULL));
+ }
+
+ g_ptr_array_add (dirs, NULL);
+
+ return (char **) g_ptr_array_free (dirs, FALSE);
+}
+
+char **
+gsm_util_get_autostart_dirs ()
+{
+ if (autostart_dirs) {
+ return g_strdupv ((char **)autostart_dirs);
+ }
+
+ return gsm_util_get_standard_autostart_dirs ();
+}
+
+char **
+gsm_util_get_app_dirs ()
+{
+ GPtrArray *dirs;
+ const char * const *system_data_dirs;
+ int i;
+
+ dirs = g_ptr_array_new ();
+
+ g_ptr_array_add (dirs,
+ g_build_filename (g_get_user_data_dir (),
+ "applications",
+ NULL));
+
+ system_data_dirs = g_get_system_data_dirs ();
+ for (i = 0; system_data_dirs[i]; i++) {
+ g_ptr_array_add (dirs,
+ g_build_filename (system_data_dirs[i],
+ "applications",
+ NULL));
+ }
+
+ g_ptr_array_add (dirs, NULL);
+
+ return (char **) g_ptr_array_free (dirs, FALSE);
+}
+
+char **
+gsm_util_get_desktop_dirs (gboolean include_saved_session,
+ gboolean autostart_first)
+{
+ char **apps;
+ char **autostart;
+ char **standard_autostart;
+ char **result;
+ int size;
+ int i;
+
+ apps = gsm_util_get_app_dirs ();
+ autostart = gsm_util_get_autostart_dirs ();
+
+ /* Still, check the standard autostart dirs for things like fulfilling session reqs,
+ * if using a non-standard autostart dir for autostarting */
+ if (autostart_dirs != NULL)
+ standard_autostart = gsm_util_get_standard_autostart_dirs ();
+ else
+ standard_autostart = NULL;
+
+ size = 0;
+ for (i = 0; apps[i] != NULL; i++) { size++; }
+ for (i = 0; autostart[i] != NULL; i++) { size++; }
+ if (autostart_dirs != NULL)
+ for (i = 0; standard_autostart[i] != NULL; i++) { size++; }
+ if (include_saved_session)
+ size += 1;
+
+ result = g_new (char *, size + 1); /* including last NULL */
+
+ size = 0;
+
+ if (autostart_first) {
+ if (include_saved_session)
+ result[size++] = g_strdup (gsm_util_get_saved_session_dir ());
+
+ for (i = 0; autostart[i] != NULL; i++, size++) {
+ result[size] = autostart[i];
+ }
+ if (standard_autostart != NULL) {
+ for (i = 0; standard_autostart[i] != NULL; i++, size++) {
+ result[size] = standard_autostart[i];
+ }
+ }
+ for (i = 0; apps[i] != NULL; i++, size++) {
+ result[size] = apps[i];
+ }
+ } else {
+ for (i = 0; apps[i] != NULL; i++, size++) {
+ result[size] = apps[i];
+ }
+ if (standard_autostart != NULL) {
+ for (i = 0; standard_autostart[i] != NULL; i++, size++) {
+ result[size] = standard_autostart[i];
+ }
+ }
+ for (i = 0; autostart[i] != NULL; i++, size++) {
+ result[size] = autostart[i];
+ }
+
+ if (include_saved_session)
+ result[size++] = g_strdup (gsm_util_get_saved_session_dir ());
+ }
+
+ g_free (apps);
+ g_free (autostart);
+ g_free (standard_autostart);
+
+ result[size] = NULL;
+
+ return result;
+}
+
+gboolean
+gsm_util_text_is_blank (const char *str)
+{
+ if (str == NULL) {
+ return TRUE;
+ }
+
+ while (*str) {
+ if (!isspace(*str)) {
+ return FALSE;
+ }
+
+ str++;
+ }
+
+ return TRUE;
+}
+
+/**
+ * gsm_util_init_error:
+ * @fatal: whether or not the error is fatal to the login session
+ * @format: printf-style error message format
+ * @...: error message args
+ *
+ * Displays the error message to the user. If @fatal is %TRUE, gsm
+ * will exit after displaying the message.
+ *
+ * This should be called for major errors that occur before the
+ * session is up and running. (Notably, it positions the dialog box
+ * itself, since no window manager will be running yet.)
+ **/
+void
+gsm_util_init_error (gboolean fatal,
+ const char *format, ...)
+{
+ char *msg;
+ va_list args;
+ gchar *argv[13];
+
+ va_start (args, format);
+ msg = g_strdup_vprintf (format, args);
+ va_end (args);
+
+ argv[0] = "zenity";
+ argv[1] = "--error";
+ argv[2] = "--class";
+ argv[3] = "mutter-dialog";
+ argv[4] = "--title";
+ argv[5] = "\"\"";
+ argv[6] = "--text";
+ argv[7] = msg;
+ argv[8] = "--icon-name";
+ argv[9] = "face-sad-symbolic";
+ argv[10] = "--ok-label";
+ argv[11] = _("_Log out");
+ argv[12] = NULL;
+
+ g_spawn_sync (NULL, argv, child_environment, 0, NULL, NULL, NULL, NULL, NULL, NULL);
+
+ g_free (msg);
+
+ if (fatal) {
+ exit (1);
+ }
+}
+
+/**
+ * gsm_util_generate_startup_id:
+ *
+ * Generates a new SM client ID.
+ *
+ * Return value: an SM client ID.
+ **/
+char *
+gsm_util_generate_startup_id (void)
+{
+ static int sequence = -1;
+ static guint rand1 = 0;
+ static guint rand2 = 0;
+ static pid_t pid = 0;
+ struct timeval tv;
+
+ /* The XSMP spec defines the ID as:
+ *
+ * Version: "1"
+ * Address type and address:
+ * "1" + an IPv4 address as 8 hex digits
+ * "2" + a DECNET address as 12 hex digits
+ * "6" + an IPv6 address as 32 hex digits
+ * Time stamp: milliseconds since UNIX epoch as 13 decimal digits
+ * Process-ID type and process-ID:
+ * "1" + POSIX PID as 10 decimal digits
+ * Sequence number as 4 decimal digits
+ *
+ * XSMP client IDs are supposed to be globally unique: if
+ * SmsGenerateClientID() is unable to determine a network
+ * address for the machine, it gives up and returns %NULL.
+ * GNOME and KDE have traditionally used a fourth address
+ * format in this case:
+ * "0" + 16 random hex digits
+ *
+ * We don't even bother trying SmsGenerateClientID(), since the
+ * user's IP address is probably "192.168.1.*" anyway, so a random
+ * number is actually more likely to be globally unique.
+ */
+
+ if (!rand1) {
+ rand1 = g_random_int ();
+ rand2 = g_random_int ();
+ pid = getpid ();
+ }
+
+ sequence = (sequence + 1) % 10000;
+ gettimeofday (&tv, NULL);
+ return g_strdup_printf ("10%.04x%.04x%.10lu%.3u%.10lu%.4d",
+ rand1,
+ rand2,
+ (unsigned long) tv.tv_sec,
+ (unsigned) tv.tv_usec,
+ (unsigned long) pid,
+ sequence);
+}
+
+static gboolean
+gsm_util_update_activation_environment (const char *variable,
+ const char *value,
+ GError **error)
+{
+ GDBusConnection *connection;
+ gboolean environment_updated;
+ GVariantBuilder builder;
+ GVariant *reply;
+ GError *bus_error = NULL;
+
+ environment_updated = FALSE;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL) {
+ return FALSE;
+ }
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{ss}"));
+ g_variant_builder_add (&builder, "{ss}", variable, value);
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "UpdateActivationEnvironment",
+ g_variant_new ("(@a{ss})",
+ g_variant_builder_end (&builder)),
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ } else {
+ environment_updated = TRUE;
+ g_variant_unref (reply);
+ }
+
+ g_clear_object (&connection);
+
+ return environment_updated;
+}
+
+gboolean
+gsm_util_export_activation_environment (GError **error)
+{
+
+ GDBusConnection *connection;
+ gboolean environment_updated = FALSE;
+ char **entry_names;
+ int i = 0;
+ GVariantBuilder builder;
+ GRegex *name_regex, *value_regex;
+ GVariant *reply;
+ GError *bus_error = NULL;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL) {
+ return FALSE;
+ }
+
+ name_regex = g_regex_new ("^[a-zA-Z_][a-zA-Z0-9_]*$", G_REGEX_OPTIMIZE, 0, error);
+
+ if (name_regex == NULL) {
+ return FALSE;
+ }
+
+ value_regex = g_regex_new ("^(?:[ \t\n]|[^[:cntrl:]])*$", G_REGEX_OPTIMIZE, 0, error);
+
+ if (value_regex == NULL) {
+ return FALSE;
+ }
+
+ if (child_environment == NULL) {
+ child_environment = g_listenv ();
+ }
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{ss}"));
+ for (entry_names = g_listenv (); entry_names[i] != NULL; i++) {
+ const char *entry_name = entry_names[i];
+ const char *entry_value = g_getenv (entry_name);
+
+ if (g_strv_contains (variable_blacklist, entry_name))
+ continue;
+
+ if (!g_utf8_validate (entry_name, -1, NULL) ||
+ !g_regex_match (name_regex, entry_name, 0, NULL) ||
+ !g_utf8_validate (entry_value, -1, NULL) ||
+ !g_regex_match (value_regex, entry_value, 0, NULL)) {
+
+ g_message ("Environment variable is unsafe to export to dbus: %s", entry_name);
+ continue;
+ }
+
+ child_environment = g_environ_setenv (child_environment,
+ entry_name, entry_value,
+ TRUE);
+ g_variant_builder_add (&builder, "{ss}", entry_name, entry_value);
+ }
+ g_regex_unref (name_regex);
+ g_regex_unref (value_regex);
+
+ g_strfreev (entry_names);
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "UpdateActivationEnvironment",
+ g_variant_new ("(@a{ss})",
+ g_variant_builder_end (&builder)),
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ } else {
+ environment_updated = TRUE;
+ g_variant_unref (reply);
+ }
+
+ g_clear_object (&connection);
+
+ return environment_updated;
+}
+
+#ifdef HAVE_SYSTEMD
+gboolean
+gsm_util_export_user_environment (GError **error)
+{
+
+ GDBusConnection *connection;
+ gboolean environment_updated = FALSE;
+ char **entries;
+ int i = 0;
+ GVariantBuilder builder;
+ GRegex *regex;
+ GVariant *reply;
+ GError *bus_error = NULL;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL) {
+ return FALSE;
+ }
+
+ regex = g_regex_new ("^[a-zA-Z_][a-zA-Z0-9_]*=(?:[ \t\n]|[^[:cntrl:]])*$", G_REGEX_OPTIMIZE, 0, error);
+
+ if (regex == NULL) {
+ return FALSE;
+ }
+
+ entries = g_get_environ ();
+
+ for (i = 0; variable_blacklist[i] != NULL; i++)
+ entries = g_environ_unsetenv (entries, variable_blacklist[i]);
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("(asas)"));
+
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));
+ for (i = 0; variable_unsetlist[i] != NULL; i++)
+ g_variant_builder_add (&builder, "s", variable_unsetlist[i]);
+ for (i = 0; variable_blacklist[i] != NULL; i++)
+ g_variant_builder_add (&builder, "s", variable_blacklist[i]);
+ g_variant_builder_close (&builder);
+
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));
+ for (i = 0; entries[i] != NULL; i++) {
+ const char *entry = entries[i];
+
+ if (!g_utf8_validate (entry, -1, NULL) ||
+ !g_regex_match (regex, entry, 0, NULL)) {
+
+ g_message ("Environment entry is unsafe to upload into user environment: %s", entry);
+ continue;
+ }
+
+ g_variant_builder_add (&builder, "s", entry);
+ }
+ g_variant_builder_close (&builder);
+ g_regex_unref (regex);
+
+ g_strfreev (entries);
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "UnsetAndSetEnvironment",
+ g_variant_builder_end (&builder),
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ } else {
+ environment_updated = TRUE;
+ g_variant_unref (reply);
+ }
+
+ g_clear_object (&connection);
+
+ return environment_updated;
+}
+
+static gboolean
+gsm_util_update_user_environment (const char *variable,
+ const char *value,
+ GError **error)
+{
+ GDBusConnection *connection;
+ gboolean environment_updated;
+ char *entry;
+ GVariantBuilder builder;
+ GVariant *reply;
+ GError *bus_error = NULL;
+
+ environment_updated = FALSE;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL) {
+ return FALSE;
+ }
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("as"));
+ entry = g_strdup_printf ("%s=%s", variable, value);
+ g_variant_builder_add (&builder, "s", entry);
+ g_free (entry);
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "SetEnvironment",
+ g_variant_new ("(@as)",
+ g_variant_builder_end (&builder)),
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ } else {
+ environment_updated = TRUE;
+ g_variant_unref (reply);
+ }
+
+ g_clear_object (&connection);
+
+ return environment_updated;
+}
+
+gboolean
+gsm_util_start_systemd_unit (const char *unit,
+ const char *mode,
+ GError **error)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ g_autoptr(GVariant) reply = NULL;
+ GError *bus_error = NULL;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL)
+ return FALSE;
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "StartUnit",
+ g_variant_new ("(ss)",
+ unit, mode),
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+gboolean
+gsm_util_systemd_reset_failed (GError **error)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ g_autoptr(GVariant) reply = NULL;
+ GError *bus_error = NULL;
+
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error);
+
+ if (connection == NULL)
+ return FALSE;
+
+ reply = g_dbus_connection_call_sync (connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "ResetFailed",
+ NULL,
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &bus_error);
+
+ if (bus_error != NULL) {
+ g_propagate_error (error, bus_error);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+#endif
+
+void
+gsm_util_setenv (const char *variable,
+ const char *value)
+{
+ GError *error = NULL;
+
+ if (child_environment == NULL)
+ child_environment = g_listenv ();
+
+ if (!value)
+ child_environment = g_environ_unsetenv (child_environment, variable);
+ else
+ child_environment = g_environ_setenv (child_environment, variable, value, TRUE);
+
+ /* If this fails it isn't fatal, it means some things like session
+ * management and keyring won't work in activated clients.
+ */
+ if (!gsm_util_update_activation_environment (variable, value, &error)) {
+ g_warning ("Could not make bus activated clients aware of %s=%s environment variable: %s", variable, value, error->message);
+ g_clear_error (&error);
+ }
+
+#ifdef HAVE_SYSTEMD
+ /* If this fails, the system user session won't get the updated environment
+ */
+ if (!gsm_util_update_user_environment (variable, value, &error)) {
+ g_debug ("Could not make systemd aware of %s=%s environment variable: %s", variable, value, error->message);
+ g_clear_error (&error);
+ }
+#endif
+}
+
+const char * const *
+gsm_util_listenv (void)
+{
+ return (const char * const *) child_environment;
+
+}
+
+const char * const *
+gsm_util_get_variable_blacklist (void)
+{
+ return variable_blacklist;
+}
diff --git a/gnome-session/gsm-util.h b/gnome-session/gsm-util.h
new file mode 100644
index 0000000..bc26a21
--- /dev/null
+++ b/gnome-session/gsm-util.h
@@ -0,0 +1,69 @@
+/* gsm-util.h
+ * Copyright (C) 2008 Lucas Rocha.
+ *
+ * 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_UTIL_H__
+#define __GSM_UTIL_H__
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+#define IS_STRING_EMPTY(x) ((x)==NULL||(x)[0]=='\0')
+
+char * gsm_util_find_desktop_file_for_app_name (const char *app_name,
+ gboolean look_in_saved_session,
+ gboolean autostart_first);
+
+gchar *gsm_util_get_empty_tmp_session_dir (void);
+
+const char *gsm_util_get_saved_session_dir (void);
+
+gchar** gsm_util_get_app_dirs (void);
+
+gchar** gsm_util_get_autostart_dirs (void);
+void gsm_util_set_autostart_dirs (char **dirs);
+
+gchar ** gsm_util_get_desktop_dirs (gboolean include_saved_session,
+ gboolean autostart_first);
+
+gboolean gsm_util_text_is_blank (const char *str);
+
+void gsm_util_init_error (gboolean fatal,
+ const char *format, ...) G_GNUC_PRINTF (2, 3);
+
+char * gsm_util_generate_startup_id (void);
+
+void gsm_util_setenv (const char *variable,
+ const char *value);
+const char * const * gsm_util_listenv (void);
+const char * const * gsm_util_get_variable_blacklist(void);
+
+gboolean gsm_util_export_activation_environment (GError **error);
+#ifdef HAVE_SYSTEMD
+gboolean gsm_util_export_user_environment (GError **error);
+gboolean gsm_util_start_systemd_unit (const char *unit,
+ const char *mode,
+ GError **error);
+gboolean gsm_util_systemd_reset_failed (GError **error);
+
+#endif
+
+void gsm_quit (void);
+
+G_END_DECLS
+
+#endif /* __GSM_UTIL_H__ */
diff --git a/gnome-session/gsm-xsmp-client.c b/gnome-session/gsm-xsmp-client.c
new file mode 100644
index 0000000..8a30926
--- /dev/null
+++ b/gnome-session/gsm-xsmp-client.c
@@ -0,0 +1,1359 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include "config.h"
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include <gio/gio.h>
+#include <glib/gi18n.h>
+
+#include "gsm-xsmp-client.h"
+
+#include "gsm-util.h"
+#include "gsm-autostart-app.h"
+#include "gsm-icon-names.h"
+#include "gsm-manager.h"
+
+#define GsmDesktopFile "_GSM_DesktopFile"
+
+#define GSM_XSMP_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientPrivate))
+
+struct GsmXSMPClientPrivate
+{
+
+ SmsConn conn;
+ IceConn ice_connection;
+
+ guint watch_id;
+
+ char *description;
+ GPtrArray *props;
+
+ /* SaveYourself state */
+ int current_save_yourself;
+ int next_save_yourself;
+ guint next_save_yourself_allow_interact : 1;
+};
+
+enum {
+ PROP_0,
+ PROP_ICE_CONNECTION
+};
+
+enum {
+ REGISTER_REQUEST,
+ REGISTER_CONFIRMED,
+ LOGOUT_REQUEST,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_TYPE (GsmXSMPClient, gsm_xsmp_client, GSM_TYPE_CLIENT)
+
+static gboolean
+client_iochannel_watch (GIOChannel *channel,
+ GIOCondition condition,
+ GsmXSMPClient *client)
+{
+ gboolean keep_going;
+
+ g_object_ref (client);
+ switch (IceProcessMessages (client->priv->ice_connection, NULL, NULL)) {
+ case IceProcessMessagesSuccess:
+ keep_going = TRUE;
+ break;
+
+ case IceProcessMessagesIOError:
+ g_debug ("GsmXSMPClient: IceProcessMessagesIOError on '%s'", client->priv->description);
+ gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_FAILED);
+ /* Emitting "disconnected" will eventually cause
+ * IceCloseConnection() to be called.
+ */
+ gsm_client_disconnected (GSM_CLIENT (client));
+ keep_going = FALSE;
+ break;
+
+ case IceProcessMessagesConnectionClosed:
+ g_debug ("GsmXSMPClient: IceProcessMessagesConnectionClosed on '%s'",
+ client->priv->description);
+ client->priv->ice_connection = NULL;
+ keep_going = FALSE;
+ break;
+
+ default:
+ g_assert_not_reached ();
+ }
+ g_object_unref (client);
+
+ return keep_going;
+}
+
+static SmProp *
+find_property (GsmXSMPClient *client,
+ const char *name,
+ int *index)
+{
+ SmProp *prop;
+ int i;
+
+ for (i = 0; i < client->priv->props->len; i++) {
+ prop = client->priv->props->pdata[i];
+
+ if (!strcmp (prop->name, name)) {
+ if (index) {
+ *index = i;
+ }
+ return prop;
+ }
+ }
+
+ return NULL;
+}
+
+static void
+set_description (GsmXSMPClient *client)
+{
+ SmProp *prop;
+ const char *id;
+
+ prop = find_property (client, SmProgram, NULL);
+ id = gsm_client_peek_startup_id (GSM_CLIENT (client));
+
+ g_free (client->priv->description);
+ if (prop) {
+ client->priv->description = g_strdup_printf ("%p [%.*s %s]",
+ client,
+ prop->vals[0].length,
+ (char *)prop->vals[0].value,
+ id);
+ } else if (id != NULL) {
+ client->priv->description = g_strdup_printf ("%p [%s]", client, id);
+ } else {
+ client->priv->description = g_strdup_printf ("%p", client);
+ }
+}
+
+static void
+setup_connection (GsmXSMPClient *client)
+{
+ GIOChannel *channel;
+ int fd;
+
+ g_debug ("GsmXSMPClient: Setting up new connection");
+
+ fd = IceConnectionNumber (client->priv->ice_connection);
+ fcntl (fd, F_SETFD, fcntl (fd, F_GETFD, 0) | FD_CLOEXEC);
+ channel = g_io_channel_unix_new (fd);
+ client->priv->watch_id = g_io_add_watch (channel,
+ G_IO_IN | G_IO_ERR,
+ (GIOFunc)client_iochannel_watch,
+ client);
+ g_io_channel_unref (channel);
+
+ set_description (client);
+
+ g_debug ("GsmXSMPClient: New client '%s'", client->priv->description);
+}
+
+static GObject *
+gsm_xsmp_client_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmXSMPClient *client;
+
+ client = GSM_XSMP_CLIENT (G_OBJECT_CLASS (gsm_xsmp_client_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+ setup_connection (client);
+
+ return G_OBJECT (client);
+}
+
+static void
+gsm_xsmp_client_init (GsmXSMPClient *client)
+{
+ client->priv = GSM_XSMP_CLIENT_GET_PRIVATE (client);
+
+ client->priv->props = g_ptr_array_new ();
+ client->priv->current_save_yourself = -1;
+ client->priv->next_save_yourself = -1;
+ client->priv->next_save_yourself_allow_interact = FALSE;
+}
+
+
+static void
+delete_property (GsmXSMPClient *client,
+ const char *name)
+{
+ int index;
+ SmProp *prop;
+
+ prop = find_property (client, name, &index);
+ if (!prop) {
+ return;
+ }
+
+#if 0
+ /* This is wrong anyway; we can't unconditionally run the current
+ * discard command; if this client corresponds to a GsmAppResumed,
+ * and the current discard command is identical to the app's
+ * discard_command, then we don't run the discard command now,
+ * because that would delete a saved state we may want to resume
+ * again later.
+ */
+ if (!strcmp (name, SmDiscardCommand)) {
+ gsm_client_run_discard (GSM_CLIENT (client));
+ }
+#endif
+
+ g_ptr_array_remove_index_fast (client->priv->props, index);
+ SmFreeProperty (prop);
+}
+
+
+static void
+debug_print_property (SmProp *prop)
+{
+ GString *tmp;
+ int i;
+
+ switch (prop->type[0]) {
+ case 'C': /* CARD8 */
+ g_debug ("GsmXSMPClient: %s = %d", prop->name, *(unsigned char *)prop->vals[0].value);
+ break;
+
+ case 'A': /* ARRAY8 */
+ g_debug ("GsmXSMPClient: %s = '%s'", prop->name, (char *)prop->vals[0].value);
+ break;
+
+ case 'L': /* LISTofARRAY8 */
+ tmp = g_string_new (NULL);
+ for (i = 0; i < prop->num_vals; i++) {
+ g_string_append_printf (tmp, "'%.*s' ", prop->vals[i].length,
+ (char *)prop->vals[i].value);
+ }
+ g_debug ("GsmXSMPClient: %s = %s", prop->name, tmp->str);
+ g_string_free (tmp, TRUE);
+ break;
+
+ default:
+ g_debug ("GsmXSMPClient: %s = ??? (%s)", prop->name, prop->type);
+ break;
+ }
+}
+
+
+static void
+set_properties_callback (SmsConn conn,
+ SmPointer manager_data,
+ int num_props,
+ SmProp **props)
+{
+ GsmXSMPClient *client = manager_data;
+ int i;
+
+ g_debug ("GsmXSMPClient: Set properties from client '%s'", client->priv->description);
+
+ for (i = 0; i < num_props; i++) {
+ delete_property (client, props[i]->name);
+ g_ptr_array_add (client->priv->props, props[i]);
+
+ debug_print_property (props[i]);
+
+ if (!strcmp (props[i]->name, SmProgram))
+ set_description (client);
+ }
+
+ free (props);
+
+}
+
+static void
+delete_properties_callback (SmsConn conn,
+ SmPointer manager_data,
+ int num_props,
+ char **prop_names)
+{
+ GsmXSMPClient *client = manager_data;
+ int i;
+
+ g_debug ("GsmXSMPClient: Delete properties from '%s'", client->priv->description);
+
+ for (i = 0; i < num_props; i++) {
+ delete_property (client, prop_names[i]);
+
+ g_debug (" %s", prop_names[i]);
+ }
+
+ free (prop_names);
+}
+
+static void
+get_properties_callback (SmsConn conn,
+ SmPointer manager_data)
+{
+ GsmXSMPClient *client = manager_data;
+
+ g_debug ("GsmXSMPClient: Get properties request from '%s'", client->priv->description);
+
+ SmsReturnProperties (conn,
+ client->priv->props->len,
+ (SmProp **)client->priv->props->pdata);
+}
+
+static char *
+prop_to_command (SmProp *prop)
+{
+ GString *str;
+ int i, j;
+ gboolean need_quotes;
+
+ str = g_string_new (NULL);
+ for (i = 0; i < prop->num_vals; i++) {
+ char *val = prop->vals[i].value;
+
+ need_quotes = FALSE;
+ for (j = 0; j < prop->vals[i].length; j++) {
+ if (!g_ascii_isalnum (val[j]) && !strchr ("-_=:./", val[j])) {
+ need_quotes = TRUE;
+ break;
+ }
+ }
+
+ if (i > 0) {
+ g_string_append_c (str, ' ');
+ }
+
+ if (!need_quotes) {
+ g_string_append_printf (str,
+ "%.*s",
+ prop->vals[i].length,
+ (char *)prop->vals[i].value);
+ } else {
+ g_string_append_c (str, '\'');
+ while (val < (char *)prop->vals[i].value + prop->vals[i].length) {
+ if (*val == '\'') {
+ g_string_append (str, "'\''");
+ } else {
+ g_string_append_c (str, *val);
+ }
+ val++;
+ }
+ g_string_append_c (str, '\'');
+ }
+ }
+
+ return g_string_free (str, FALSE);
+}
+
+static char *
+xsmp_get_restart_command (GsmClient *client)
+{
+ SmProp *prop;
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmRestartCommand, NULL);
+
+ if (!prop || strcmp (prop->type, SmLISTofARRAY8) != 0) {
+ return NULL;
+ }
+
+ return prop_to_command (prop);
+}
+
+static char *
+xsmp_get_discard_command (GsmClient *client)
+{
+ SmProp *prop;
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmDiscardCommand, NULL);
+
+ if (!prop || strcmp (prop->type, SmLISTofARRAY8) != 0) {
+ return NULL;
+ }
+
+ return prop_to_command (prop);
+}
+
+static void
+do_save_yourself (GsmXSMPClient *client,
+ int save_type,
+ gboolean allow_interact)
+{
+ g_assert (client->priv->conn != NULL);
+
+ if (client->priv->next_save_yourself != -1) {
+ /* Either we're currently doing a shutdown and there's a checkpoint
+ * queued after it, or vice versa. Either way, the new SaveYourself
+ * is redundant.
+ */
+ g_debug ("GsmXSMPClient: skipping redundant SaveYourself for '%s'",
+ client->priv->description);
+ } else if (client->priv->current_save_yourself != -1) {
+ g_debug ("GsmXSMPClient: queuing new SaveYourself for '%s'",
+ client->priv->description);
+ client->priv->next_save_yourself = save_type;
+ client->priv->next_save_yourself_allow_interact = allow_interact;
+ } else {
+ client->priv->current_save_yourself = save_type;
+ /* make sure we don't have anything queued */
+ client->priv->next_save_yourself = -1;
+ client->priv->next_save_yourself_allow_interact = FALSE;
+
+ switch (save_type) {
+ case SmSaveLocal:
+ /* Save state */
+ SmsSaveYourself (client->priv->conn,
+ SmSaveLocal,
+ FALSE,
+ SmInteractStyleNone,
+ FALSE);
+ break;
+
+ default:
+ /* Logout */
+ if (!allow_interact) {
+ SmsSaveYourself (client->priv->conn,
+ save_type, /* save type */
+ TRUE, /* shutdown */
+ SmInteractStyleNone, /* interact style */
+ TRUE); /* fast */
+ } else {
+ SmsSaveYourself (client->priv->conn,
+ save_type, /* save type */
+ TRUE, /* shutdown */
+ SmInteractStyleAny, /* interact style */
+ FALSE /* fast */);
+ }
+ break;
+ }
+ }
+}
+
+static void
+xsmp_save_yourself_phase2 (GsmClient *client)
+{
+ GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+
+ g_debug ("GsmXSMPClient: xsmp_save_yourself_phase2 ('%s')", xsmp->priv->description);
+
+ SmsSaveYourselfPhase2 (xsmp->priv->conn);
+}
+
+static void
+xsmp_interact (GsmClient *client)
+{
+ GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+
+ g_debug ("GsmXSMPClient: xsmp_interact ('%s')", xsmp->priv->description);
+
+ SmsInteract (xsmp->priv->conn);
+}
+
+static gboolean
+xsmp_cancel_end_session (GsmClient *client,
+ GError **error)
+{
+ GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+
+ g_debug ("GsmXSMPClient: xsmp_cancel_end_session ('%s')", xsmp->priv->description);
+
+ if (xsmp->priv->conn == NULL) {
+ g_set_error (error,
+ GSM_CLIENT_ERROR,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ "Client is not registered");
+ return FALSE;
+ }
+
+ SmsShutdownCancelled (xsmp->priv->conn);
+
+ /* reset the state */
+ xsmp->priv->current_save_yourself = -1;
+ xsmp->priv->next_save_yourself = -1;
+ xsmp->priv->next_save_yourself_allow_interact = FALSE;
+
+ return TRUE;
+}
+
+static char *
+get_desktop_file_path (GsmXSMPClient *client)
+{
+ SmProp *prop;
+ char *desktop_file_path = NULL;
+ const char *program_name;
+
+ /* XSMP clients using eggsmclient defines a special property
+ * pointing to their respective desktop entry file */
+ prop = find_property (client, GsmDesktopFile, NULL);
+
+ if (prop) {
+ GFile *file = g_file_new_for_uri (prop->vals[0].value);
+ desktop_file_path = g_file_get_path (file);
+ g_object_unref (file);
+ goto out;
+ }
+
+ /* If we can't get desktop file from GsmDesktopFile then we
+ * try to find the desktop file from its program name */
+ prop = find_property (client, SmProgram, NULL);
+
+ if (!prop) {
+ goto out;
+ }
+
+ program_name = prop->vals[0].value;
+ desktop_file_path =
+ gsm_util_find_desktop_file_for_app_name (program_name,
+ TRUE, FALSE);
+
+out:
+ g_debug ("GsmXSMPClient: desktop file for client %s is %s",
+ gsm_client_peek_id (GSM_CLIENT (client)),
+ desktop_file_path ? desktop_file_path : "(null)");
+
+ return desktop_file_path;
+}
+
+static void
+set_desktop_file_keys_from_client (GsmClient *client,
+ GKeyFile *keyfile)
+{
+ SmProp *prop;
+ const char *name;
+ char *comment;
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmProgram, NULL);
+ if (prop) {
+ name = prop->vals[0].value;
+ } else {
+ /* It'd be really surprising to reach this code: if we're here,
+ * then the XSMP client already has set several XSMP
+ * properties. But it could still be that SmProgram is not set.
+ */
+ name = _("Remembered Application");
+ }
+
+ comment = g_strdup_printf ("Client %s which was automatically saved",
+ gsm_client_peek_startup_id (client));
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_NAME,
+ name);
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_COMMENT,
+ comment);
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_ICON,
+ GSM_ICON_XSMP_DEFAULT);
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_TYPE,
+ "Application");
+
+ g_key_file_set_boolean (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY,
+ TRUE);
+
+ g_free (comment);
+}
+
+static GKeyFile *
+create_client_key_file (GsmClient *client,
+ const char *desktop_file_path,
+ GError **error) {
+ GKeyFile *keyfile;
+
+ keyfile = g_key_file_new ();
+
+ if (desktop_file_path != NULL) {
+ g_key_file_load_from_file (keyfile,
+ desktop_file_path,
+ G_KEY_FILE_KEEP_COMMENTS |
+ G_KEY_FILE_KEEP_TRANSLATIONS,
+ error);
+ } else {
+ set_desktop_file_keys_from_client (client, keyfile);
+ }
+
+ return keyfile;
+}
+
+static GsmClientRestartStyle
+xsmp_get_restart_style_hint (GsmClient *client);
+
+static GKeyFile *
+xsmp_save (GsmClient *client,
+ GsmApp *app,
+ GError **error)
+{
+ GsmClientRestartStyle restart_style;
+
+ GKeyFile *keyfile = NULL;
+ char *desktop_file_path = NULL;
+ char *exec_program = NULL;
+ char *exec_discard = NULL;
+ char *startup_id = NULL;
+ GError *local_error;
+
+ g_debug ("GsmXSMPClient: saving client with id %s",
+ gsm_client_peek_id (client));
+
+ local_error = NULL;
+
+ restart_style = xsmp_get_restart_style_hint (client);
+ if (restart_style == GSM_CLIENT_RESTART_NEVER) {
+ goto out;
+ }
+
+ exec_program = xsmp_get_restart_command (client);
+ if (!exec_program) {
+ goto out;
+ }
+
+ desktop_file_path = get_desktop_file_path (GSM_XSMP_CLIENT (client));
+
+ /* this can accept desktop_file_path == NULL */
+ keyfile = create_client_key_file (client,
+ desktop_file_path,
+ &local_error);
+
+ if (local_error) {
+ goto out;
+ }
+
+ g_object_get (client,
+ "startup-id", &startup_id,
+ NULL);
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_STARTUP_ID_KEY,
+ startup_id);
+
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ G_KEY_FILE_DESKTOP_KEY_EXEC,
+ exec_program);
+
+ exec_discard = xsmp_get_discard_command (client);
+ if (exec_discard)
+ g_key_file_set_string (keyfile,
+ G_KEY_FILE_DESKTOP_GROUP,
+ GSM_AUTOSTART_APP_DISCARD_KEY,
+ exec_discard);
+
+ if (app != NULL) {
+ gsm_app_save_to_keyfile (app, keyfile, &local_error);
+
+ if (local_error) {
+ goto out;
+ }
+ }
+
+out:
+ g_free (desktop_file_path);
+ g_free (exec_program);
+ g_free (exec_discard);
+ g_free (startup_id);
+
+ if (local_error != NULL) {
+ g_propagate_error (error, local_error);
+ g_key_file_free (keyfile);
+
+ return NULL;
+ }
+
+ return keyfile;
+}
+
+static gboolean
+xsmp_stop (GsmClient *client,
+ GError **error)
+{
+ GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+
+ g_debug ("GsmXSMPClient: xsmp_stop ('%s')", xsmp->priv->description);
+
+ if (xsmp->priv->conn == NULL) {
+ g_set_error (error,
+ GSM_CLIENT_ERROR,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ "Client is not registered");
+ return FALSE;
+ }
+
+ SmsDie (xsmp->priv->conn);
+
+ return TRUE;
+}
+
+static gboolean
+xsmp_query_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ gboolean allow_interact;
+ int save_type;
+
+ if (GSM_XSMP_CLIENT (client)->priv->conn == NULL) {
+ g_set_error (error,
+ GSM_CLIENT_ERROR,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ "Client is not registered");
+ return FALSE;
+ }
+
+ allow_interact = !(flags & GSM_CLIENT_END_SESSION_FLAG_FORCEFUL);
+
+ /* we don't want to save the session state, but we just want to know if
+ * there's user data the client has to save and we want to give the
+ * client a chance to tell the user about it. This is consistent with
+ * the manager not setting GSM_CLIENT_END_SESSION_FLAG_SAVE for this
+ * phase. */
+ save_type = SmSaveGlobal;
+
+ do_save_yourself (GSM_XSMP_CLIENT (client), save_type, allow_interact);
+ return TRUE;
+}
+
+static gboolean
+xsmp_end_session (GsmClient *client,
+ GsmClientEndSessionFlag flags,
+ GError **error)
+{
+ gboolean phase2;
+
+ if (GSM_XSMP_CLIENT (client)->priv->conn == NULL) {
+ g_set_error (error,
+ GSM_CLIENT_ERROR,
+ GSM_CLIENT_ERROR_NOT_REGISTERED,
+ "Client is not registered");
+ return FALSE;
+ }
+
+ phase2 = (flags & GSM_CLIENT_END_SESSION_FLAG_LAST);
+
+ if (phase2) {
+ xsmp_save_yourself_phase2 (client);
+ } else {
+ gboolean allow_interact;
+ int save_type;
+
+ /* we gave a chance to interact to the app during
+ * xsmp_query_end_session(), now it's too late to interact */
+ allow_interact = FALSE;
+
+ if (flags & GSM_CLIENT_END_SESSION_FLAG_SAVE) {
+ save_type = SmSaveBoth;
+ } else {
+ save_type = SmSaveGlobal;
+ }
+
+ do_save_yourself (GSM_XSMP_CLIENT (client),
+ save_type, allow_interact);
+ }
+
+ return TRUE;
+}
+
+static char *
+xsmp_get_app_name (GsmClient *client)
+{
+ SmProp *prop;
+ char *name = NULL;
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmProgram, NULL);
+ if (prop) {
+ name = prop_to_command (prop);
+ }
+
+ return name;
+}
+
+static void
+gsm_client_set_ice_connection (GsmXSMPClient *client,
+ gpointer conn)
+{
+ client->priv->ice_connection = conn;
+}
+
+static void
+gsm_xsmp_client_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmXSMPClient *self;
+
+ self = GSM_XSMP_CLIENT (object);
+
+ switch (prop_id) {
+ case PROP_ICE_CONNECTION:
+ gsm_client_set_ice_connection (self, g_value_get_pointer (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_xsmp_client_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmXSMPClient *self;
+
+ self = GSM_XSMP_CLIENT (object);
+
+ switch (prop_id) {
+ case PROP_ICE_CONNECTION:
+ g_value_set_pointer (value, self->priv->ice_connection);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_xsmp_client_disconnect (GsmXSMPClient *client)
+{
+ if (client->priv->watch_id > 0) {
+ g_source_remove (client->priv->watch_id);
+ }
+
+ if (client->priv->conn != NULL) {
+ SmsCleanUp (client->priv->conn);
+ }
+
+ if (client->priv->ice_connection != NULL) {
+ IceSetShutdownNegotiation (client->priv->ice_connection, FALSE);
+ IceCloseConnection (client->priv->ice_connection);
+ }
+}
+
+static void
+gsm_xsmp_client_finalize (GObject *object)
+{
+ GsmXSMPClient *client = (GsmXSMPClient *) object;
+
+ g_debug ("GsmXSMPClient: xsmp_finalize (%s)", client->priv->description);
+ gsm_xsmp_client_disconnect (client);
+
+ g_free (client->priv->description);
+ g_ptr_array_foreach (client->priv->props, (GFunc)SmFreeProperty, NULL);
+ g_ptr_array_free (client->priv->props, TRUE);
+
+ G_OBJECT_CLASS (gsm_xsmp_client_parent_class)->finalize (object);
+}
+
+static gboolean
+_boolean_handled_accumulator (GSignalInvocationHint *ihint,
+ GValue *return_accu,
+ const GValue *handler_return,
+ gpointer dummy)
+{
+ gboolean continue_emission;
+ gboolean signal_handled;
+
+ signal_handled = g_value_get_boolean (handler_return);
+ g_value_set_boolean (return_accu, signal_handled);
+ continue_emission = !signal_handled;
+
+ return continue_emission;
+}
+
+static GsmClientRestartStyle
+xsmp_get_restart_style_hint (GsmClient *client)
+{
+ SmProp *prop;
+ GsmClientRestartStyle hint;
+
+ g_debug ("GsmXSMPClient: getting restart style");
+ hint = GSM_CLIENT_RESTART_IF_RUNNING;
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmRestartStyleHint, NULL);
+
+ if (!prop || strcmp (prop->type, SmCARD8) != 0) {
+ return GSM_CLIENT_RESTART_IF_RUNNING;
+ }
+
+ switch (((unsigned char *)prop->vals[0].value)[0]) {
+ case SmRestartIfRunning:
+ hint = GSM_CLIENT_RESTART_IF_RUNNING;
+ break;
+ case SmRestartAnyway:
+ hint = GSM_CLIENT_RESTART_ANYWAY;
+ break;
+ case SmRestartImmediately:
+ hint = GSM_CLIENT_RESTART_IMMEDIATELY;
+ break;
+ case SmRestartNever:
+ hint = GSM_CLIENT_RESTART_NEVER;
+ break;
+ default:
+ break;
+ }
+
+ return hint;
+}
+
+static gboolean
+_parse_value_as_uint (const char *value,
+ guint *uintval)
+{
+ char *end_of_valid_uint;
+ gulong ulong_value;
+ guint uint_value;
+
+ errno = 0;
+ ulong_value = strtoul (value, &end_of_valid_uint, 10);
+
+ if (*value == '\0' || *end_of_valid_uint != '\0') {
+ return FALSE;
+ }
+
+ uint_value = ulong_value;
+ if (uint_value != ulong_value || errno == ERANGE) {
+ return FALSE;
+ }
+
+ *uintval = uint_value;
+
+ return TRUE;
+}
+
+static guint
+xsmp_get_unix_process_id (GsmClient *client)
+{
+ SmProp *prop;
+ guint pid;
+ gboolean res;
+
+ g_debug ("GsmXSMPClient: getting pid");
+
+ prop = find_property (GSM_XSMP_CLIENT (client), SmProcessID, NULL);
+
+ if (!prop || strcmp (prop->type, SmARRAY8) != 0) {
+ return 0;
+ }
+
+ pid = 0;
+ res = _parse_value_as_uint ((char *)prop->vals[0].value, &pid);
+ if (! res) {
+ pid = 0;
+ }
+
+ return pid;
+}
+
+static void
+gsm_xsmp_client_class_init (GsmXSMPClientClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GsmClientClass *client_class = GSM_CLIENT_CLASS (klass);
+
+ object_class->finalize = gsm_xsmp_client_finalize;
+ object_class->constructor = gsm_xsmp_client_constructor;
+ object_class->get_property = gsm_xsmp_client_get_property;
+ object_class->set_property = gsm_xsmp_client_set_property;
+
+ client_class->impl_save = xsmp_save;
+ client_class->impl_stop = xsmp_stop;
+ client_class->impl_query_end_session = xsmp_query_end_session;
+ client_class->impl_end_session = xsmp_end_session;
+ client_class->impl_cancel_end_session = xsmp_cancel_end_session;
+ client_class->impl_get_app_name = xsmp_get_app_name;
+ client_class->impl_get_restart_style_hint = xsmp_get_restart_style_hint;
+ client_class->impl_get_unix_process_id = xsmp_get_unix_process_id;
+
+ signals[REGISTER_REQUEST] =
+ g_signal_new ("register-request",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmXSMPClientClass, register_request),
+ _boolean_handled_accumulator,
+ NULL,
+ NULL,
+ G_TYPE_BOOLEAN,
+ 1, G_TYPE_POINTER);
+ signals[REGISTER_CONFIRMED] =
+ g_signal_new ("register-confirmed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmXSMPClientClass, register_confirmed),
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_POINTER);
+ signals[LOGOUT_REQUEST] =
+ g_signal_new ("logout-request",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmXSMPClientClass, logout_request),
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 1, G_TYPE_BOOLEAN);
+
+ g_object_class_install_property (object_class,
+ PROP_ICE_CONNECTION,
+ g_param_spec_pointer ("ice-connection",
+ "ice-connection",
+ "ice-connection",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+ g_type_class_add_private (klass, sizeof (GsmXSMPClientPrivate));
+}
+
+GsmClient *
+gsm_xsmp_client_new (IceConn ice_conn)
+{
+ GsmXSMPClient *xsmp;
+
+ xsmp = g_object_new (GSM_TYPE_XSMP_CLIENT,
+ "ice-connection", ice_conn,
+ NULL);
+
+ return GSM_CLIENT (xsmp);
+}
+
+static Status
+register_client_callback (SmsConn conn,
+ SmPointer manager_data,
+ char *previous_id)
+{
+ GsmXSMPClient *client = manager_data;
+ gboolean handled;
+ char *id;
+
+ g_debug ("GsmXSMPClient: Client '%s' received RegisterClient(%s)",
+ client->priv->description,
+ previous_id ? previous_id : "NULL");
+
+
+ /* There are three cases:
+ * 1. id is NULL - we'll use a new one
+ * 2. id is known - we'll use known one
+ * 3. id is unknown - this is an error
+ */
+ id = g_strdup (previous_id);
+
+ handled = FALSE;
+ g_signal_emit (client, signals[REGISTER_REQUEST], 0, &id, &handled);
+ if (! handled) {
+ g_debug ("GsmXSMPClient: RegisterClient not handled!");
+ g_free (id);
+ free (previous_id);
+ g_assert_not_reached ();
+ return FALSE;
+ }
+
+ if (IS_STRING_EMPTY (id)) {
+ g_debug ("GsmXSMPClient: rejected: invalid previous_id");
+ free (previous_id);
+ return FALSE;
+ }
+
+ g_object_set (client, "startup-id", id, NULL);
+
+ set_description (client);
+
+ g_debug ("GsmXSMPClient: Sending RegisterClientReply to '%s'", client->priv->description);
+
+ SmsRegisterClientReply (conn, id);
+
+ if (IS_STRING_EMPTY (previous_id)) {
+ /* Send the initial SaveYourself. */
+ g_debug ("GsmXSMPClient: Sending initial SaveYourself");
+ SmsSaveYourself (conn, SmSaveLocal, False, SmInteractStyleNone, False);
+ client->priv->current_save_yourself = SmSaveLocal;
+ }
+
+ gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_REGISTERED);
+
+ g_signal_emit (client, signals[REGISTER_CONFIRMED], 0, id);
+
+ g_free (id);
+ free (previous_id);
+
+ return TRUE;
+}
+
+
+static void
+save_yourself_request_callback (SmsConn conn,
+ SmPointer manager_data,
+ int save_type,
+ Bool shutdown,
+ int interact_style,
+ Bool fast,
+ Bool global)
+{
+ GsmXSMPClient *client = manager_data;
+
+ g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfRequest(%s, %s, %s, %s, %s)",
+ client->priv->description,
+ save_type == SmSaveLocal ? "SmSaveLocal" :
+ save_type == SmSaveGlobal ? "SmSaveGlobal" : "SmSaveBoth",
+ shutdown ? "Shutdown" : "!Shutdown",
+ interact_style == SmInteractStyleAny ? "SmInteractStyleAny" :
+ interact_style == SmInteractStyleErrors ? "SmInteractStyleErrors" :
+ "SmInteractStyleNone", fast ? "Fast" : "!Fast",
+ global ? "Global" : "!Global");
+
+ /* Examining the g_debug above, you can see that there are a total
+ * of 72 different combinations of options that this could have been
+ * called with. However, most of them are stupid.
+ *
+ * If @shutdown and @global are both TRUE, that means the caller is
+ * requesting that a logout message be sent to all clients, so we do
+ * that. We use @fast to decide whether or not to show a
+ * confirmation dialog. (This isn't really what @fast is for, but
+ * the old gnome-session and ksmserver both interpret it that way,
+ * so we do too.) We ignore @save_type because we pick the correct
+ * save_type ourselves later based on user prefs, dialog choices,
+ * etc, and we ignore @interact_style, because clients have not used
+ * it correctly consistently enough to make it worth honoring.
+ *
+ * If @shutdown is TRUE and @global is FALSE, the caller is
+ * confused, so we ignore the request.
+ *
+ * If @shutdown is FALSE and @save_type is SmSaveGlobal or
+ * SmSaveBoth, then the client wants us to ask some or all open
+ * applications to save open files to disk, but NOT quit. This is
+ * silly and so we ignore the request.
+ *
+ * If @shutdown is FALSE and @save_type is SmSaveLocal, then the
+ * client wants us to ask some or all open applications to update
+ * their current saved state, but not log out. At the moment, the
+ * code only supports this for the !global case (ie, a client
+ * requesting that it be allowed to update *its own* saved state,
+ * but not having everyone else update their saved state).
+ */
+
+ if (shutdown && global) {
+ g_debug ("GsmXSMPClient: initiating shutdown");
+ g_signal_emit (client, signals[LOGOUT_REQUEST], 0, !fast);
+ } else if (!shutdown && !global) {
+ g_debug ("GsmXSMPClient: initiating checkpoint");
+ do_save_yourself (client, SmSaveLocal, TRUE);
+ } else {
+ g_debug ("GsmXSMPClient: ignoring");
+ }
+}
+
+static void
+save_yourself_phase2_request_callback (SmsConn conn,
+ SmPointer manager_data)
+{
+ GsmXSMPClient *client = manager_data;
+
+ g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfPhase2Request",
+ client->priv->description);
+
+ client->priv->current_save_yourself = -1;
+
+ /* this is a valid response to SaveYourself and therefore
+ may be a response to a QES or ES */
+ gsm_client_end_session_response (GSM_CLIENT (client),
+ TRUE, TRUE, FALSE,
+ NULL);
+}
+
+static void
+interact_request_callback (SmsConn conn,
+ SmPointer manager_data,
+ int dialog_type)
+{
+ GsmXSMPClient *client = manager_data;
+#if 0
+ gboolean res;
+ GError *error;
+#endif
+
+ g_debug ("GsmXSMPClient: Client '%s' received InteractRequest(%s)",
+ client->priv->description,
+ dialog_type == SmDialogNormal ? "Dialog" : "Errors");
+
+ gsm_client_end_session_response (GSM_CLIENT (client),
+ FALSE, FALSE, FALSE,
+ _("This program is blocking logout."));
+
+#if 0
+ /* Can't just call back with Interact because session client
+ grabs the keyboard! So, we try to get it to release
+ grabs by telling it we've cancelled the shutdown.
+ This grabbing is clearly bullshit and is not supported by
+ the client spec or protocol spec.
+ */
+ res = xsmp_cancel_end_session (GSM_CLIENT (client), &error);
+ if (! res) {
+ g_warning ("Unable to cancel end session: %s", error->message);
+ g_error_free (error);
+ }
+#endif
+ xsmp_interact (GSM_CLIENT (client));
+}
+
+static void
+interact_done_callback (SmsConn conn,
+ SmPointer manager_data,
+ Bool cancel_shutdown)
+{
+ GsmXSMPClient *client = manager_data;
+
+ g_debug ("GsmXSMPClient: Client '%s' received InteractDone(cancel_shutdown = %s)",
+ client->priv->description,
+ cancel_shutdown ? "True" : "False");
+
+ gsm_client_end_session_response (GSM_CLIENT (client),
+ TRUE, FALSE, cancel_shutdown,
+ NULL);
+}
+
+static void
+save_yourself_done_callback (SmsConn conn,
+ SmPointer manager_data,
+ Bool success)
+{
+ GsmXSMPClient *client = manager_data;
+
+ g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfDone(success = %s)",
+ client->priv->description,
+ success ? "True" : "False");
+
+ if (client->priv->current_save_yourself != -1) {
+ SmsSaveComplete (client->priv->conn);
+ client->priv->current_save_yourself = -1;
+ }
+
+ /* If success is false then the application couldn't save data. Nothing
+ * the session manager can do about, though. FIXME: we could display a
+ * dialog about this, I guess. */
+ gsm_client_end_session_response (GSM_CLIENT (client),
+ TRUE, FALSE, FALSE,
+ NULL);
+
+ if (client->priv->next_save_yourself) {
+ int save_type = client->priv->next_save_yourself;
+ gboolean allow_interact = client->priv->next_save_yourself_allow_interact;
+
+ client->priv->next_save_yourself = -1;
+ client->priv->next_save_yourself_allow_interact = -1;
+ do_save_yourself (client, save_type, allow_interact);
+ }
+}
+
+static void
+close_connection_callback (SmsConn conn,
+ SmPointer manager_data,
+ int count,
+ char **reason_msgs)
+{
+ GsmXSMPClient *client = manager_data;
+ int i;
+
+ g_debug ("GsmXSMPClient: Client '%s' received CloseConnection", client->priv->description);
+ for (i = 0; i < count; i++) {
+ g_debug ("GsmXSMPClient: close reason: '%s'", reason_msgs[i]);
+ }
+ SmFreeReasons (count, reason_msgs);
+
+ gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_FINISHED);
+ gsm_client_disconnected (GSM_CLIENT (client));
+}
+
+void
+gsm_xsmp_client_connect (GsmXSMPClient *client,
+ SmsConn conn,
+ unsigned long *mask_ret,
+ SmsCallbacks *callbacks_ret)
+{
+ client->priv->conn = conn;
+
+ g_debug ("GsmXSMPClient: Initializing client %s", client->priv->description);
+
+ *mask_ret = 0;
+
+ *mask_ret |= SmsRegisterClientProcMask;
+ callbacks_ret->register_client.callback = register_client_callback;
+ callbacks_ret->register_client.manager_data = client;
+
+ *mask_ret |= SmsInteractRequestProcMask;
+ callbacks_ret->interact_request.callback = interact_request_callback;
+ callbacks_ret->interact_request.manager_data = client;
+
+ *mask_ret |= SmsInteractDoneProcMask;
+ callbacks_ret->interact_done.callback = interact_done_callback;
+ callbacks_ret->interact_done.manager_data = client;
+
+ *mask_ret |= SmsSaveYourselfRequestProcMask;
+ callbacks_ret->save_yourself_request.callback = save_yourself_request_callback;
+ callbacks_ret->save_yourself_request.manager_data = client;
+
+ *mask_ret |= SmsSaveYourselfP2RequestProcMask;
+ callbacks_ret->save_yourself_phase2_request.callback = save_yourself_phase2_request_callback;
+ callbacks_ret->save_yourself_phase2_request.manager_data = client;
+
+ *mask_ret |= SmsSaveYourselfDoneProcMask;
+ callbacks_ret->save_yourself_done.callback = save_yourself_done_callback;
+ callbacks_ret->save_yourself_done.manager_data = client;
+
+ *mask_ret |= SmsCloseConnectionProcMask;
+ callbacks_ret->close_connection.callback = close_connection_callback;
+ callbacks_ret->close_connection.manager_data = client;
+
+ *mask_ret |= SmsSetPropertiesProcMask;
+ callbacks_ret->set_properties.callback = set_properties_callback;
+ callbacks_ret->set_properties.manager_data = client;
+
+ *mask_ret |= SmsDeletePropertiesProcMask;
+ callbacks_ret->delete_properties.callback = delete_properties_callback;
+ callbacks_ret->delete_properties.manager_data = client;
+
+ *mask_ret |= SmsGetPropertiesProcMask;
+ callbacks_ret->get_properties.callback = get_properties_callback;
+ callbacks_ret->get_properties.manager_data = client;
+}
+
+void
+gsm_xsmp_client_save_state (GsmXSMPClient *client)
+{
+ g_return_if_fail (GSM_IS_XSMP_CLIENT (client));
+}
diff --git a/gnome-session/gsm-xsmp-client.h b/gnome-session/gsm-xsmp-client.h
new file mode 100644
index 0000000..1bb2797
--- /dev/null
+++ b/gnome-session/gsm-xsmp-client.h
@@ -0,0 +1,89 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, 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 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
+ * Lesser 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/>.
+ */
+
+#ifndef __GSM_XSMP_CLIENT_H__
+#define __GSM_XSMP_CLIENT_H__
+
+#include "gsm-client.h"
+
+#include <X11/SM/SMlib.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_XSMP_CLIENT (gsm_xsmp_client_get_type ())
+#define GSM_XSMP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_XSMP_CLIENT, GsmXSMPClient))
+#define GSM_XSMP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientClass))
+#define GSM_IS_XSMP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_XSMP_CLIENT))
+#define GSM_IS_XSMP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_XSMP_CLIENT))
+#define GSM_XSMP_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientClass))
+
+typedef struct _GsmXSMPClient GsmXSMPClient;
+typedef struct _GsmXSMPClientClass GsmXSMPClientClass;
+
+typedef struct GsmXSMPClientPrivate GsmXSMPClientPrivate;
+
+struct _GsmXSMPClient
+{
+ GsmClient parent;
+ GsmXSMPClientPrivate *priv;
+};
+
+struct _GsmXSMPClientClass
+{
+ GsmClientClass parent_class;
+
+ /* signals */
+ gboolean (*register_request) (GsmXSMPClient *client,
+ char **client_id);
+ void (*register_confirmed) (GsmXSMPClient *client,
+ const char *client_id);
+ gboolean (*logout_request) (GsmXSMPClient *client,
+ gboolean prompt);
+
+
+ void (*saved_state) (GsmXSMPClient *client);
+
+ void (*request_phase2) (GsmXSMPClient *client);
+
+ void (*request_interaction) (GsmXSMPClient *client);
+ void (*interaction_done) (GsmXSMPClient *client,
+ gboolean cancel_shutdown);
+
+ void (*save_yourself_done) (GsmXSMPClient *client);
+
+};
+
+GType gsm_xsmp_client_get_type (void) G_GNUC_CONST;
+
+GsmClient *gsm_xsmp_client_new (IceConn ice_conn);
+
+void gsm_xsmp_client_connect (GsmXSMPClient *client,
+ SmsConn conn,
+ unsigned long *mask_ret,
+ SmsCallbacks *callbacks_ret);
+
+void gsm_xsmp_client_save_state (GsmXSMPClient *client);
+void gsm_xsmp_client_save_yourself (GsmXSMPClient *client,
+ gboolean save_state);
+void gsm_xsmp_client_save_yourself_phase2 (GsmXSMPClient *client);
+void gsm_xsmp_client_interact (GsmXSMPClient *client);
+void gsm_xsmp_client_shutdown_cancelled (GsmXSMPClient *client);
+
+G_END_DECLS
+
+#endif /* __GSM_XSMP_CLIENT_H__ */
diff --git a/gnome-session/gsm-xsmp-server.c b/gnome-session/gsm-xsmp-server.c
new file mode 100644
index 0000000..e05c6d7
--- /dev/null
+++ b/gnome-session/gsm-xsmp-server.c
@@ -0,0 +1,746 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, Inc.
+ * Copyright (C) 2008 William Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glib-object.h>
+
+#include <X11/ICE/ICElib.h>
+#include <X11/ICE/ICEutil.h>
+#include <X11/ICE/ICEconn.h>
+#include <X11/SM/SMlib.h>
+
+/* Get the proto for _IceTransNoListen */
+#define ICE_t
+#define TRANS_SERVER
+#include <X11/Xtrans/Xtrans.h>
+#undef ICE_t
+#undef TRANS_SERVER
+
+#include "gsm-xsmp-server.h"
+#include "gsm-xsmp-client.h"
+#include "gsm-util.h"
+
+/* ICEauthority stuff */
+/* Various magic numbers stolen from iceauth.c */
+#define GSM_ICE_AUTH_RETRIES 10
+#define GSM_ICE_AUTH_INTERVAL 2 /* 2 seconds */
+#define GSM_ICE_AUTH_LOCK_TIMEOUT 600 /* 10 minutes */
+
+#define GSM_ICE_MAGIC_COOKIE_AUTH_NAME "MIT-MAGIC-COOKIE-1"
+#define GSM_ICE_MAGIC_COOKIE_LEN 16
+
+#define GSM_XSMP_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_XSMP_SERVER, GsmXsmpServerPrivate))
+
+struct _GsmXsmpServer
+{
+ GObject parent_instance;
+
+ GsmStore *client_store;
+
+ IceListenObj *xsmp_sockets;
+ int num_xsmp_sockets;
+ int num_local_xsmp_sockets;
+ gboolean stopping;
+};
+
+enum {
+ PROP_0,
+ PROP_CLIENT_STORE
+};
+
+static void gsm_xsmp_server_class_init (GsmXsmpServerClass *klass);
+static void gsm_xsmp_server_init (GsmXsmpServer *xsmp_server);
+static void gsm_xsmp_server_finalize (GObject *object);
+
+static gpointer xsmp_server_object = NULL;
+
+G_DEFINE_TYPE (GsmXsmpServer, gsm_xsmp_server, G_TYPE_OBJECT)
+
+typedef struct {
+ GsmXsmpServer *server;
+ IceListenObj listener;
+} GsmIceConnectionData;
+
+typedef struct {
+ guint watch_id;
+ guint protocol_timeout;
+} GsmIceConnectionWatch;
+
+static void
+disconnect_ice_connection (IceConn ice_conn)
+{
+ IceSetShutdownNegotiation (ice_conn, FALSE);
+ IceCloseConnection (ice_conn);
+}
+
+static void
+free_ice_connection_watch (GsmIceConnectionWatch *data)
+{
+ if (data->watch_id) {
+ g_source_remove (data->watch_id);
+ data->watch_id = 0;
+ }
+
+ if (data->protocol_timeout) {
+ g_source_remove (data->protocol_timeout);
+ data->protocol_timeout = 0;
+ }
+
+ g_free (data);
+}
+
+static gboolean
+ice_protocol_timeout (IceConn ice_conn)
+{
+ GsmIceConnectionWatch *data;
+
+ g_debug ("GsmXsmpServer: ice_protocol_timeout for IceConn %p with status %d",
+ ice_conn, IceConnectionStatus (ice_conn));
+
+ data = ice_conn->context;
+
+ free_ice_connection_watch (data);
+ disconnect_ice_connection (ice_conn);
+
+ return FALSE;
+}
+
+static gboolean
+auth_iochannel_watch (GIOChannel *source,
+ GIOCondition condition,
+ IceConn ice_conn)
+{
+
+ GsmIceConnectionWatch *data;
+ gboolean keep_going;
+
+ data = ice_conn->context;
+
+ switch (IceProcessMessages (ice_conn, NULL, NULL)) {
+ case IceProcessMessagesSuccess:
+ keep_going = TRUE;
+ break;
+ case IceProcessMessagesIOError:
+ g_debug ("GsmXsmpServer: IceProcessMessages returned IceProcessMessagesIOError");
+ free_ice_connection_watch (data);
+ disconnect_ice_connection (ice_conn);
+ keep_going = FALSE;
+ break;
+ case IceProcessMessagesConnectionClosed:
+ g_debug ("GsmXsmpServer: IceProcessMessages returned IceProcessMessagesConnectionClosed");
+ free_ice_connection_watch (data);
+ keep_going = FALSE;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ return keep_going;
+}
+
+/* IceAcceptConnection returns a new ICE connection that is in a "pending" state,
+ * this is because authentification may be necessary.
+ * So we've to authenticate it, before accept_xsmp_connection() is called.
+ * Then each GsmXSMPClient will have its own IceConn watcher
+ */
+static void
+auth_ice_connection (IceConn ice_conn)
+{
+ GIOChannel *channel;
+ GsmIceConnectionWatch *data;
+ int fd;
+
+ g_debug ("GsmXsmpServer: auth_ice_connection()");
+
+ fd = IceConnectionNumber (ice_conn);
+ fcntl (fd, F_SETFD, fcntl (fd, F_GETFD, 0) | FD_CLOEXEC);
+ channel = g_io_channel_unix_new (fd);
+
+ data = g_new0 (GsmIceConnectionWatch, 1);
+ ice_conn->context = data;
+
+ data->protocol_timeout = g_timeout_add_seconds (5,
+ (GSourceFunc)ice_protocol_timeout,
+ ice_conn);
+ data->watch_id = g_io_add_watch (channel,
+ G_IO_IN | G_IO_ERR,
+ (GIOFunc)auth_iochannel_watch,
+ ice_conn);
+ g_io_channel_unref (channel);
+}
+
+/* This is called (by glib via xsmp->ice_connection_watch) when a
+ * connection is first received on the ICE listening socket.
+ */
+static gboolean
+accept_ice_connection (GIOChannel *source,
+ GIOCondition condition,
+ GsmIceConnectionData *data)
+{
+ IceConn ice_conn;
+ IceAcceptStatus status;
+
+ g_debug ("GsmXsmpServer: accept_ice_connection()");
+
+ ice_conn = IceAcceptConnection (data->listener, &status);
+ if (status != IceAcceptSuccess) {
+ g_debug ("GsmXsmpServer: IceAcceptConnection returned %d", status);
+ return TRUE;
+ }
+
+ auth_ice_connection (ice_conn);
+
+ return TRUE;
+}
+
+void
+gsm_xsmp_server_start (GsmXsmpServer *server)
+{
+ GIOChannel *channel;
+ int i;
+
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ GsmIceConnectionData *data;
+
+ data = g_new0 (GsmIceConnectionData, 1);
+ data->server = server;
+ data->listener = server->xsmp_sockets[i];
+
+ channel = g_io_channel_unix_new (IceGetListenConnectionNumber (server->xsmp_sockets[i]));
+ g_io_add_watch_full (channel,
+ G_PRIORITY_DEFAULT,
+ G_IO_IN | G_IO_HUP | G_IO_ERR,
+ (GIOFunc)accept_ice_connection,
+ data,
+ (GDestroyNotify)g_free);
+ g_io_channel_unref (channel);
+ }
+}
+
+void
+gsm_xsmp_server_stop_accepting_new_clients (GsmXsmpServer *server)
+{
+ g_return_if_fail (GSM_IS_XSMP_SERVER (server));
+ g_debug ("gsm_xsmp_server_stop_accepting_new_clients");
+ server->stopping = TRUE;
+}
+
+void
+gsm_xsmp_server_start_accepting_new_clients (GsmXsmpServer *server)
+{
+ g_return_if_fail (GSM_IS_XSMP_SERVER (server));
+ g_debug ("gsm_xsmp_server_start");
+ server->stopping = FALSE;
+}
+
+static void
+gsm_xsmp_server_set_client_store (GsmXsmpServer *xsmp_server,
+ GsmStore *store)
+{
+ g_return_if_fail (GSM_IS_XSMP_SERVER (xsmp_server));
+
+ if (store != NULL) {
+ g_object_ref (store);
+ }
+
+ if (xsmp_server->client_store != NULL) {
+ g_object_unref (xsmp_server->client_store);
+ }
+
+ xsmp_server->client_store = store;
+}
+
+static void
+gsm_xsmp_server_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GsmXsmpServer *self;
+
+ self = GSM_XSMP_SERVER (object);
+
+ switch (prop_id) {
+ case PROP_CLIENT_STORE:
+ gsm_xsmp_server_set_client_store (self, g_value_get_object (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gsm_xsmp_server_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GsmXsmpServer *self;
+
+ self = GSM_XSMP_SERVER (object);
+
+ switch (prop_id) {
+ case PROP_CLIENT_STORE:
+ g_value_set_object (value, self->client_store);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/* This is called (by libSM) when XSMP is initiated on an ICE
+ * connection that was already accepted by accept_ice_connection.
+ */
+static Status
+accept_xsmp_connection (SmsConn sms_conn,
+ GsmXsmpServer *server,
+ unsigned long *mask_ret,
+ SmsCallbacks *callbacks_ret,
+ char **failure_reason_ret)
+{
+ IceConn ice_conn;
+ GsmClient *client;
+ GsmIceConnectionWatch *data;
+
+ if (server->stopping) {
+ g_debug ("GsmXsmpServer: In shutdown, rejecting new client");
+
+ *failure_reason_ret = strdup (_("Refusing new client connection because the session is currently being shut down\n"));
+ return FALSE;
+ }
+
+ ice_conn = SmsGetIceConnection (sms_conn);
+ data = ice_conn->context;
+
+ /* Each GsmXSMPClient has its own IceConn watcher */
+ free_ice_connection_watch (data);
+
+ client = gsm_xsmp_client_new (ice_conn);
+
+ gsm_store_add (server->client_store, gsm_client_peek_id (client), G_OBJECT (client));
+ /* the store will own the ref */
+ g_object_unref (client);
+
+ gsm_xsmp_client_connect (GSM_XSMP_CLIENT (client), sms_conn, mask_ret, callbacks_ret);
+
+ return TRUE;
+}
+
+static void
+ice_error_handler (IceConn conn,
+ Bool swap,
+ int offending_minor_opcode,
+ unsigned long offending_sequence,
+ int error_class,
+ int severity,
+ IcePointer values)
+{
+ g_debug ("GsmXsmpServer: ice_error_handler (%p, %s, %d, %lx, %d, %d)",
+ conn, swap ? "TRUE" : "FALSE", offending_minor_opcode,
+ offending_sequence, error_class, severity);
+
+ if (severity == IceCanContinue) {
+ return;
+ }
+
+ /* FIXME: the ICElib docs are completely vague about what we're
+ * supposed to do in this case. Need to verify that calling
+ * IceCloseConnection() here is guaranteed to cause neither
+ * free-memory-reads nor leaks.
+ */
+ IceCloseConnection (conn);
+}
+
+static void
+ice_io_error_handler (IceConn conn)
+{
+ g_debug ("GsmXsmpServer: ice_io_error_handler (%p)", conn);
+
+ /* We don't need to do anything here; the next call to
+ * IceProcessMessages() for this connection will receive
+ * IceProcessMessagesIOError and we can handle the error there.
+ */
+}
+
+static void
+sms_error_handler (SmsConn conn,
+ Bool swap,
+ int offending_minor_opcode,
+ unsigned long offending_sequence_num,
+ int error_class,
+ int severity,
+ IcePointer values)
+{
+ g_debug ("GsmXsmpServer: sms_error_handler (%p, %s, %d, %lx, %d, %d)",
+ conn, swap ? "TRUE" : "FALSE", offending_minor_opcode,
+ offending_sequence_num, error_class, severity);
+
+ /* We don't need to do anything here; if the connection needs to be
+ * closed, libSM will do that itself.
+ */
+}
+
+static IceAuthFileEntry *
+auth_entry_new (const char *protocol,
+ const char *network_id)
+{
+ IceAuthFileEntry *file_entry;
+ IceAuthDataEntry data_entry;
+
+ file_entry = malloc (sizeof (IceAuthFileEntry));
+
+ file_entry->protocol_name = strdup (protocol);
+ file_entry->protocol_data = NULL;
+ file_entry->protocol_data_length = 0;
+ file_entry->network_id = strdup (network_id);
+ file_entry->auth_name = strdup (GSM_ICE_MAGIC_COOKIE_AUTH_NAME);
+ file_entry->auth_data = IceGenerateMagicCookie (GSM_ICE_MAGIC_COOKIE_LEN);
+ file_entry->auth_data_length = GSM_ICE_MAGIC_COOKIE_LEN;
+
+ /* Also create an in-memory copy, which is what the server will
+ * actually use for checking client auth.
+ */
+ data_entry.protocol_name = file_entry->protocol_name;
+ data_entry.network_id = file_entry->network_id;
+ data_entry.auth_name = file_entry->auth_name;
+ data_entry.auth_data = file_entry->auth_data;
+ data_entry.auth_data_length = file_entry->auth_data_length;
+ IceSetPaAuthData (1, &data_entry);
+
+ return file_entry;
+}
+
+static gboolean
+update_iceauthority (GsmXsmpServer *server,
+ gboolean adding)
+{
+ char *filename;
+ char **our_network_ids;
+ FILE *fp;
+ IceAuthFileEntry *auth_entry;
+ GSList *entries;
+ GSList *e;
+ int i;
+ int ret;
+ gboolean ok = FALSE;
+
+ filename = IceAuthFileName ();
+ do {
+ ret = IceLockAuthFile (filename,
+ GSM_ICE_AUTH_RETRIES,
+ GSM_ICE_AUTH_INTERVAL,
+ GSM_ICE_AUTH_LOCK_TIMEOUT);
+
+ } while (ret != IceAuthLockSuccess && errno == EINTR);
+
+ if (ret != IceAuthLockSuccess) {
+ g_warning ("IceLockAuthFile failed: %m");
+ return FALSE;
+ }
+
+ our_network_ids = g_malloc (server->num_local_xsmp_sockets * sizeof (char *));
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ our_network_ids[i] = IceGetListenConnectionString (server->xsmp_sockets[i]);
+ }
+
+ entries = NULL;
+
+ fp = fopen (filename, "r+");
+ if (fp != NULL) {
+ while ((auth_entry = IceReadAuthFileEntry (fp)) != NULL) {
+ /* Skip/delete entries with no network ID (invalid), or with
+ * our network ID; if we're starting up, an entry with our
+ * ID must be a stale entry left behind by an old process,
+ * and if we're shutting down, it won't be valid in the
+ * future, so either way we want to remove it from the list.
+ */
+ if (!auth_entry->network_id) {
+ IceFreeAuthFileEntry (auth_entry);
+ continue;
+ }
+
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ if (!strcmp (auth_entry->network_id, our_network_ids[i])) {
+ IceFreeAuthFileEntry (auth_entry);
+ break;
+ }
+ }
+ if (i != server->num_local_xsmp_sockets) {
+ continue;
+ }
+
+ entries = g_slist_prepend (entries, auth_entry);
+ }
+
+ rewind (fp);
+ } else {
+ int fd;
+
+ if (errno != ENOENT) {
+ g_warning ("Unable to read ICE authority file %s: %m", filename);
+ goto cleanup;
+ }
+
+ fd = open (filename, O_CREAT | O_WRONLY, 0600);
+ fp = fdopen (fd, "w");
+ if (!fp) {
+ g_warning ("Unable to write to ICE authority file: %s", filename);
+ if (fd != -1) {
+ close (fd);
+ }
+ goto cleanup;
+ }
+ }
+
+ if (adding) {
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ entries = g_slist_append (entries,
+ auth_entry_new ("ICE", our_network_ids[i]));
+ entries = g_slist_prepend (entries,
+ auth_entry_new ("XSMP", our_network_ids[i]));
+ }
+ }
+
+ for (e = entries; e; e = e->next) {
+ IceAuthFileEntry *auth_entry = e->data;
+ IceWriteAuthFileEntry (fp, auth_entry);
+ IceFreeAuthFileEntry (auth_entry);
+ }
+ g_slist_free (entries);
+
+ fclose (fp);
+ ok = TRUE;
+
+ cleanup:
+ IceUnlockAuthFile (filename);
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ free (our_network_ids[i]);
+ }
+ g_free (our_network_ids);
+
+ return ok;
+}
+
+
+static void
+setup_listener (GsmXsmpServer *server)
+{
+ char error[256];
+ mode_t saved_umask;
+ char *network_id_list;
+ int i;
+ int res;
+
+ /* Set up sane error handlers */
+ IceSetErrorHandler (ice_error_handler);
+ IceSetIOErrorHandler (ice_io_error_handler);
+ SmsSetErrorHandler (sms_error_handler);
+
+ /* Initialize libSM; we pass NULL for hostBasedAuthProc to disable
+ * host-based authentication.
+ */
+ res = SmsInitialize (PACKAGE,
+ VERSION,
+ (SmsNewClientProc)accept_xsmp_connection,
+ server,
+ NULL,
+ sizeof (error),
+ error);
+ if (! res) {
+ gsm_util_init_error (TRUE, "Could not initialize libSM: %s", error);
+ }
+
+ /* By default, IceListenForConnections will open one socket for each
+ * transport type known to X. We don't want connections from remote
+ * hosts, so for security reasons it would be best if ICE didn't
+ * even open any non-local sockets. So we use an internal ICElib
+ * method to disable them here. Unfortunately, there is no way to
+ * ask X what transport types it knows about, so we're forced to
+ * guess.
+ */
+ _IceTransNoListen ("tcp");
+
+ /* Create the XSMP socket. Older versions of IceListenForConnections
+ * have a bug which causes the umask to be set to 0 on certain types
+ * of failures. Probably not an issue on any modern systems, but
+ * we'll play it safe.
+ */
+ saved_umask = umask (0);
+ umask (saved_umask);
+ res = IceListenForConnections (&server->num_xsmp_sockets,
+ &server->xsmp_sockets,
+ sizeof (error),
+ error);
+ if (! res) {
+ gsm_util_init_error (TRUE, _("Could not create ICE listening socket: %s"), error);
+ }
+
+ umask (saved_umask);
+
+ /* Find the local sockets in the returned socket list and move them
+ * to the start of the list.
+ */
+ for (i = server->num_local_xsmp_sockets = 0; i < server->num_xsmp_sockets; i++) {
+ char *id = IceGetListenConnectionString (server->xsmp_sockets[i]);
+
+ if (!strncmp (id, "local/", sizeof ("local/") - 1) ||
+ !strncmp (id, "unix/", sizeof ("unix/") - 1)) {
+ if (i > server->num_local_xsmp_sockets) {
+ IceListenObj tmp;
+ tmp = server->xsmp_sockets[i];
+ server->xsmp_sockets[i] = server->xsmp_sockets[server->num_local_xsmp_sockets];
+ server->xsmp_sockets[server->num_local_xsmp_sockets] = tmp;
+ }
+ server->num_local_xsmp_sockets++;
+ }
+ free (id);
+ }
+
+ if (server->num_local_xsmp_sockets == 0) {
+ gsm_util_init_error (TRUE, "IceListenForConnections did not return a local listener!");
+ }
+
+ if (server->num_local_xsmp_sockets != server->num_xsmp_sockets) {
+ /* Xtrans was apparently compiled with support for some
+ * non-local transport besides TCP (which we disabled above); we
+ * won't create IO watches on those extra sockets, so
+ * connections to them will never be noticed, but they're still
+ * there, which is inelegant.
+ *
+ * If the g_warning below is triggering for you and you want to
+ * stop it, the fix is to add additional _IceTransNoListen()
+ * calls above.
+ */
+ network_id_list = IceComposeNetworkIdList (server->num_xsmp_sockets - server->num_local_xsmp_sockets,
+ server->xsmp_sockets + server->num_local_xsmp_sockets);
+ g_warning ("IceListenForConnections returned %d non-local listeners: %s",
+ server->num_xsmp_sockets - server->num_local_xsmp_sockets,
+ network_id_list);
+ free (network_id_list);
+ }
+
+ /* Update .ICEauthority with new auth entries for our socket */
+ if (!update_iceauthority (server, TRUE)) {
+ /* FIXME: is this really fatal? Hm... */
+ gsm_util_init_error (TRUE,
+ "Could not update ICEauthority file %s",
+ IceAuthFileName ());
+ }
+
+ network_id_list = IceComposeNetworkIdList (server->num_local_xsmp_sockets,
+ server->xsmp_sockets);
+
+ gsm_util_setenv ("SESSION_MANAGER", network_id_list);
+ g_debug ("GsmXsmpServer: SESSION_MANAGER=%s\n", network_id_list);
+ free (network_id_list);
+}
+
+static GObject *
+gsm_xsmp_server_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GsmXsmpServer *xsmp_server;
+
+ xsmp_server = GSM_XSMP_SERVER (G_OBJECT_CLASS (gsm_xsmp_server_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_properties));
+ setup_listener (xsmp_server);
+
+ return G_OBJECT (xsmp_server);
+}
+
+static void
+gsm_xsmp_server_class_init (GsmXsmpServerClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->get_property = gsm_xsmp_server_get_property;
+ object_class->set_property = gsm_xsmp_server_set_property;
+ object_class->constructor = gsm_xsmp_server_constructor;
+ object_class->finalize = gsm_xsmp_server_finalize;
+
+ g_object_class_install_property (object_class,
+ PROP_CLIENT_STORE,
+ g_param_spec_object ("client-store",
+ NULL,
+ NULL,
+ GSM_TYPE_STORE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+}
+
+static void
+gsm_xsmp_server_init (GsmXsmpServer *xsmp_server)
+{
+}
+
+static void
+gsm_xsmp_server_finalize (GObject *object)
+{
+ GsmXsmpServer *xsmp_server;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GSM_IS_XSMP_SERVER (object));
+
+ xsmp_server = GSM_XSMP_SERVER (object);
+
+ g_return_if_fail (xsmp_server != NULL);
+
+ IceFreeListenObjs (xsmp_server->num_xsmp_sockets,
+ xsmp_server->xsmp_sockets);
+
+ if (xsmp_server->client_store != NULL) {
+ g_object_unref (xsmp_server->client_store);
+ }
+
+ G_OBJECT_CLASS (gsm_xsmp_server_parent_class)->finalize (object);
+}
+
+GsmXsmpServer *
+gsm_xsmp_server_new (GsmStore *client_store)
+{
+ if (xsmp_server_object != NULL) {
+ g_object_ref (xsmp_server_object);
+ } else {
+ xsmp_server_object = g_object_new (GSM_TYPE_XSMP_SERVER,
+ "client-store", client_store,
+ NULL);
+
+ g_object_add_weak_pointer (xsmp_server_object,
+ (gpointer *) &xsmp_server_object);
+ }
+
+ return GSM_XSMP_SERVER (xsmp_server_object);
+}
diff --git a/gnome-session/gsm-xsmp-server.h b/gnome-session/gsm-xsmp-server.h
new file mode 100644
index 0000000..95d704d
--- /dev/null
+++ b/gnome-session/gsm-xsmp-server.h
@@ -0,0 +1,40 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 William Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+#ifndef __GSM_XSMP_SERVER_H
+#define __GSM_XSMP_SERVER_H
+
+#include <glib-object.h>
+
+#include "gsm-store.h"
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_XSMP_SERVER (gsm_xsmp_server_get_type ())
+G_DECLARE_FINAL_TYPE (GsmXsmpServer, gsm_xsmp_server, GSM, XSMP_SERVER, GObject)
+
+GsmXsmpServer * gsm_xsmp_server_new (GsmStore *client_store);
+void gsm_xsmp_server_start (GsmXsmpServer *server);
+void gsm_xsmp_server_stop_accepting_new_clients (GsmXsmpServer *server);
+void gsm_xsmp_server_start_accepting_new_clients (GsmXsmpServer *server);
+
+G_END_DECLS
+
+#endif /* __GSM_XSMP_SERVER_H */
diff --git a/gnome-session/main.c b/gnome-session/main.c
new file mode 100644
index 0000000..6f03324
--- /dev/null
+++ b/gnome-session/main.c
@@ -0,0 +1,636 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2006 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, 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 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
+ * Lesser 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/>.
+ */
+
+#include <config.h>
+
+#include <libintl.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/stat.h>
+
+#include <glib/gi18n.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib-unix.h>
+#include <gio/gio.h>
+
+#include "gdm-log.h"
+
+#include "gsm-util.h"
+#include "gsm-manager.h"
+#include "gsm-session-fill.h"
+#include "gsm-store.h"
+#include "gsm-system.h"
+#include "gsm-fail-whale.h"
+
+#ifdef ENABLE_SYSTEMD_JOURNAL
+#include <systemd/sd-journal.h>
+#endif
+
+#define GSM_DBUS_NAME "org.gnome.SessionManager"
+
+static gboolean systemd_service = FALSE;
+static gboolean use_systemd = USE_SYSTEMD_SESSION;
+static gboolean failsafe = FALSE;
+static gboolean show_version = FALSE;
+static gboolean debug = FALSE;
+static gboolean please_fail = FALSE;
+static gboolean disable_acceleration_check = FALSE;
+static const char *session_name = NULL;
+static GsmManager *manager = NULL;
+static char *gl_renderer = NULL;
+
+static GMainLoop *loop;
+
+void
+gsm_quit (void)
+{
+ g_main_loop_quit (loop);
+}
+
+static void
+gsm_main (void)
+{
+ if (loop == NULL)
+ loop = g_main_loop_new (NULL, TRUE);
+
+ g_main_loop_run (loop);
+}
+
+static void
+on_name_lost (GDBusConnection *connection,
+ const char *name,
+ gpointer data)
+{
+ if (connection == NULL) {
+ g_warning ("Lost name on bus: %s", name);
+ gsm_fail_whale_dialog_we_failed (TRUE, TRUE, NULL);
+ } else {
+ g_debug ("Calling name lost callback function");
+
+ /*
+ * When the signal handler gets a shutdown signal, it calls
+ * this function to inform GsmManager to not restart
+ * applications in the off chance a handler is already queued
+ * to dispatch following the below call to gtk_main_quit.
+ */
+ gsm_manager_set_phase (manager, GSM_MANAGER_PHASE_EXIT);
+
+ gsm_quit ();
+ }
+}
+
+static gboolean
+term_or_int_signal_cb (gpointer data)
+{
+ g_autoptr(GError) error = NULL;
+ GsmManager *manager = (GsmManager *)data;
+
+ /* let the fatal signals interrupt us */
+ g_debug ("Caught SIGINT/SIGTERM, shutting down normally.");
+
+ if (!gsm_manager_logout (manager, GSM_MANAGER_LOGOUT_MODE_FORCE, &error)) {
+ if (g_error_matches (error, GSM_MANAGER_ERROR, GSM_MANAGER_ERROR_NOT_IN_RUNNING)) {
+ gsm_quit ();
+ return FALSE;
+ }
+
+ g_critical ("Failed to log out: %s", error->message);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+sigusr2_cb (gpointer data)
+{
+ g_debug ("-------- MARK --------");
+ return TRUE;
+}
+
+static gboolean
+sigusr1_cb (gpointer data)
+{
+ gdm_log_toggle_debug ();
+ return TRUE;
+}
+
+static void
+on_name_acquired (GDBusConnection *connection,
+ const char *name,
+ gpointer data)
+{
+ gsm_manager_start (manager);
+}
+
+static void
+create_manager (void)
+{
+ GsmStore *client_store;
+
+ client_store = gsm_store_new ();
+ manager = gsm_manager_new (client_store, failsafe, systemd_service);
+ g_object_unref (client_store);
+
+ g_unix_signal_add (SIGTERM, term_or_int_signal_cb, manager);
+ g_unix_signal_add (SIGINT, term_or_int_signal_cb, manager);
+ g_unix_signal_add (SIGUSR1, sigusr1_cb, manager);
+ g_unix_signal_add (SIGUSR2, sigusr2_cb, manager);
+
+ if (IS_STRING_EMPTY (session_name)) {
+ session_name = _gsm_manager_get_default_session (manager);
+ }
+
+ if (!gsm_session_fill (manager, session_name)) {
+ gsm_fail_whale_dialog_we_failed (FALSE, TRUE, NULL);
+ }
+
+ _gsm_manager_set_renderer (manager, gl_renderer);
+}
+
+static void
+on_bus_acquired (GDBusConnection *connection,
+ const char *name,
+ gpointer data)
+{
+ create_manager ();
+}
+
+static guint
+acquire_name (void)
+{
+ return g_bus_own_name (G_BUS_TYPE_SESSION,
+ GSM_DBUS_NAME,
+ G_BUS_NAME_OWNER_FLAGS_NONE,
+ on_bus_acquired,
+ on_name_acquired,
+ on_name_lost,
+ NULL, NULL);
+}
+
+static gboolean
+require_dbus_session (int argc,
+ char **argv,
+ GError **error)
+{
+ char **new_argv;
+ int i;
+
+ if (g_getenv ("DBUS_SESSION_BUS_ADDRESS"))
+ return TRUE;
+
+ /* Just a sanity check to prevent infinite recursion if
+ * dbus-launch fails to set DBUS_SESSION_BUS_ADDRESS
+ */
+ g_return_val_if_fail (!g_str_has_prefix (argv[0], "dbus-launch"),
+ TRUE);
+
+ /* +2 for our new arguments, +1 for NULL */
+ new_argv = g_malloc ((argc + 3) * sizeof (*argv));
+
+ new_argv[0] = "dbus-launch";
+ new_argv[1] = "--exit-with-session";
+ for (i = 0; i < argc; i++) {
+ new_argv[i + 2] = argv[i];
+ }
+ new_argv[i + 2] = NULL;
+
+ if (!execvp ("dbus-launch", new_argv)) {
+ g_set_error (error,
+ G_SPAWN_ERROR,
+ G_SPAWN_ERROR_FAILED,
+ "No session bus and could not exec dbus-launch: %s",
+ g_strerror (errno));
+ return FALSE;
+ }
+
+ /* Should not be reached */
+ return TRUE;
+}
+
+static gboolean
+check_gl (GError **error)
+{
+ int status;
+ char *argv[] = { LIBEXECDIR "/gnome-session-check-accelerated", NULL };
+
+ if (getenv ("DISPLAY") == NULL) {
+ /* Not connected to X11, someone else will take care of checking GL */
+ return TRUE;
+ }
+
+ if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, NULL,
+ &status, error)) {
+ return FALSE;
+ }
+
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ return g_spawn_check_wait_status (status, error);
+#else
+ return g_spawn_check_exit_status (status, error);
+#endif
+}
+
+static void
+initialize_gio (void)
+{
+ char *disable_fuse = NULL;
+ char *use_vfs = NULL;
+
+ disable_fuse = g_strdup (g_getenv ("GVFS_DISABLE_FUSE"));
+ use_vfs = g_strdup (g_getenv ("GIO_USE_VFS"));
+
+ g_setenv ("GVFS_DISABLE_FUSE", "1", TRUE);
+ g_setenv ("GIO_USE_VFS", "local", TRUE);
+ g_vfs_get_default ();
+
+ if (use_vfs) {
+ g_setenv ("GIO_USE_VFS", use_vfs, TRUE);
+ g_free (use_vfs);
+ } else {
+ g_unsetenv ("GIO_USE_VFS");
+ }
+
+ if (disable_fuse) {
+ g_setenv ("GVFS_DISABLE_FUSE", disable_fuse, TRUE);
+ g_free (disable_fuse);
+ } else {
+ g_unsetenv ("GVFS_DISABLE_FUSE");
+ }
+}
+
+#ifdef ENABLE_SYSTEMD_SESSION
+static gboolean
+leader_term_or_int_signal_cb (gpointer data)
+{
+ gint fifo_fd = GPOINTER_TO_INT (data);
+
+ /* Start a shutdown explicitly. */
+ gsm_util_start_systemd_unit ("gnome-session-shutdown.target", "replace-irreversibly", NULL);
+
+ if (fifo_fd >= 0) {
+ int res;
+
+ /* If we have a fifo, try to signal the other side. */
+ res = write (fifo_fd, "S", 1);
+ if (res < 0) {
+ g_warning ("Error signaling shutdown to monitoring process: %m");
+ gsm_quit ();
+ }
+ } else {
+ /* Otherwise quit immediately as we cannot wait on systemd */
+ gsm_quit ();
+ }
+
+ return G_SOURCE_REMOVE;
+}
+
+/**
+ * systemd_leader_run:
+ *
+ * This is the session leader when running under systemd, i.e. it is the only
+ * process that is *not* managed by the systemd user instance, this process
+ * is the one executed by the GDM helpers and is part of the session scope in
+ * the system systemd instance.
+ *
+ * This process works together with a service running in the user systemd
+ * instance (currently gnome-session-ctl@monitor.service):
+ *
+ * - It needs to signal shutdown to the user session when receiving SIGTERM
+ *
+ * - It needs to quit just after the user session is done
+ *
+ * - The monitor instance needs to know if this process was killed
+ *
+ * All this is achieved by opening a named fifo in a well known location.
+ * If this process receives SIGTERM or SIGINT then it will write a single byte
+ * causing the monitor service to signal STOPPING=1 to systemd, triggering a
+ * clean shutdown, solving the first item. The other two items are solved by
+ * waiting for EOF/HUP on both sides and quitting immediately when receiving
+ * that signal.
+ *
+ * As an example, a shutdown might look as follows:
+ *
+ * - session-X.scope for user is stopped
+ * - Leader process receive SIGTERM
+ * - Leader sends single byte
+ * - Monitor process receives byte and signals STOPPING=1
+ * - Systemd user instance starts session teardown
+ * - Session is torn down, last job run is stopping monitor process (SIGTERM)
+ * - Monitor process quits, closing FD in the process
+ * - Leader process receives HUP and quits
+ * - GDM shuts down its processes in the users scope
+ *
+ * The result is that the session is stopped cleanly.
+ */
+static void
+systemd_leader_run(void)
+{
+ g_autofree char *fifo_name = NULL;
+ int res;
+ int fifo_fd;
+
+ fifo_name = g_strdup_printf ("%s/gnome-session-leader-fifo",
+ g_get_user_runtime_dir ());
+ res = mkfifo (fifo_name, 0666);
+ if (res < 0 && errno != EEXIST)
+ g_warning ("Error creating FIFO: %m");
+
+ fifo_fd = g_open (fifo_name, O_WRONLY | O_CLOEXEC, 0666);
+ if (fifo_fd >= 0) {
+ struct stat buf;
+
+ res = fstat (fifo_fd, &buf);
+ if (res < 0) {
+ g_warning ("Unable to watch systemd session: fstat failed with %m");
+ close (fifo_fd);
+ fifo_fd = -1;
+ } else if (!(buf.st_mode & S_IFIFO)) {
+ g_warning ("Unable to watch systemd session: FD is not a FIFO");
+ close (fifo_fd);
+ fifo_fd = -1;
+ } else {
+ g_unix_fd_add (fifo_fd, G_IO_HUP, (GUnixFDSourceFunc) gsm_quit, NULL);
+ }
+ } else {
+ g_warning ("Unable to watch systemd session: Opening FIFO failed with %m");
+ }
+
+ g_unix_signal_add (SIGTERM, leader_term_or_int_signal_cb, GINT_TO_POINTER (fifo_fd));
+ g_unix_signal_add (SIGINT, leader_term_or_int_signal_cb, GINT_TO_POINTER (fifo_fd));
+
+ /* Sleep until we receive HUP or are killed. */
+ gsm_main ();
+ exit(0);
+}
+#endif /* ENABLE_SYSTEMD_SESSION */
+
+int
+main (int argc, char **argv)
+{
+ GError *error = NULL;
+ static char **override_autostart_dirs = NULL;
+ static char *opt_session_name = NULL;
+ const char *debug_string = NULL;
+ const char *env_override_autostart_dirs = NULL;
+ g_auto(GStrv) env_override_autostart_dirs_v = NULL;
+ gboolean gl_failed = FALSE;
+ guint name_owner_id;
+ GOptionContext *options;
+ static GOptionEntry entries[] = {
+#ifdef ENABLE_SYSTEMD_SESSION
+ { "systemd-service", 0, 0, G_OPTION_ARG_NONE, &systemd_service, N_("Running as systemd service"), NULL },
+ { "systemd", 0, 0, G_OPTION_ARG_NONE, &use_systemd, N_("Use systemd session management"), NULL },
+#endif
+ { "builtin", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &use_systemd, N_("Use builtin session management (rather than the systemd based one)"), NULL },
+ { "autostart", 'a', 0, G_OPTION_ARG_STRING_ARRAY, &override_autostart_dirs, N_("Override standard autostart directories"), N_("AUTOSTART_DIR") },
+ { "session", 0, 0, G_OPTION_ARG_STRING, &opt_session_name, N_("Session to use"), N_("SESSION_NAME") },
+ { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
+ { "failsafe", 'f', 0, G_OPTION_ARG_NONE, &failsafe, N_("Do not load user-specified applications"), NULL },
+ { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, N_("Version of this application"), NULL },
+ /* Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong */
+ { "whale", 0, 0, G_OPTION_ARG_NONE, &please_fail, N_("Show the fail whale dialog for testing"), NULL },
+ { "disable-acceleration-check", 0, 0, G_OPTION_ARG_NONE, &disable_acceleration_check, N_("Disable hardware acceleration check"), NULL },
+ { NULL, 0, 0, 0, NULL, NULL, NULL }
+ };
+
+ /* Make sure that we have a session bus */
+ if (!require_dbus_session (argc, argv, &error)) {
+ gsm_util_init_error (TRUE, "%s", error->message);
+ }
+
+ /* From 3.14 GDM sets XDG_CURRENT_DESKTOP. For compatibility with
+ * older versions of GDM, other display managers, and startx,
+ * set a fallback value if we don't find it set.
+ */
+ if (g_getenv ("XDG_CURRENT_DESKTOP") == NULL) {
+ g_setenv("XDG_CURRENT_DESKTOP", "GNOME", TRUE);
+ gsm_util_setenv ("XDG_CURRENT_DESKTOP", "GNOME");
+ }
+
+ /* Make sure we initialize gio in a way that does not autostart any daemon */
+ initialize_gio ();
+
+ setlocale (LC_ALL, "");
+ bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ debug_string = g_getenv ("GNOME_SESSION_DEBUG");
+ if (debug_string != NULL) {
+ debug = atoi (debug_string) == 1;
+ }
+
+ error = NULL;
+ options = g_option_context_new (_(" — the GNOME session manager"));
+ g_option_context_add_main_entries (options, entries, GETTEXT_PACKAGE);
+ g_option_context_parse (options, &argc, &argv, &error);
+ if (error != NULL) {
+ g_warning ("%s", error->message);
+ exit (1);
+ }
+
+ g_option_context_free (options);
+
+ /* Rebind stdout/stderr to the journal explicitly, so that
+ * journald picks ups the nicer "gnome-session" as the program
+ * name instead of whatever shell script GDM happened to use.
+ */
+#ifdef ENABLE_SYSTEMD_JOURNAL
+ if (!debug) {
+ int journalfd;
+
+ journalfd = sd_journal_stream_fd (PACKAGE, LOG_INFO, 0);
+ if (journalfd >= 0) {
+ dup2(journalfd, 1);
+ dup2(journalfd, 2);
+ }
+ }
+#endif
+
+ gdm_log_init ();
+ gdm_log_set_debug (debug);
+
+ if (systemd_service) {
+ /* XXX: This is an optimization, but we actually need to do
+ * it right now as the DISPLAY environment might leak
+ * into the new session from an old run. */
+ g_debug ("hardware acceleration already done if needed");
+ } else if (disable_acceleration_check) {
+ g_debug ("hardware acceleration check is disabled");
+ } else {
+ /* Check GL, if it doesn't work out then force software fallback */
+ if (!check_gl (&error)) {
+ gl_failed = TRUE;
+
+ g_debug ("hardware acceleration check failed: %s",
+ error? error->message : "");
+ g_clear_error (&error);
+ if (g_getenv ("LIBGL_ALWAYS_SOFTWARE") == NULL) {
+ g_setenv ("LIBGL_ALWAYS_SOFTWARE", "1", TRUE);
+ if (!check_gl (&error)) {
+ g_warning ("software acceleration check failed: %s",
+ error? error->message : "");
+ g_clear_error (&error);
+ } else {
+ gl_failed = FALSE;
+ }
+ }
+ }
+ }
+
+ if (show_version) {
+ g_print ("%s %s\n", argv [0], VERSION);
+ exit (0);
+ }
+
+ if (gl_failed) {
+ gsm_fail_whale_dialog_we_failed (FALSE, TRUE, NULL);
+ gsm_main ();
+ exit (1);
+ }
+
+ if (please_fail) {
+ gsm_fail_whale_dialog_we_failed (TRUE, TRUE, NULL);
+ gsm_main ();
+ exit (1);
+ }
+
+ env_override_autostart_dirs = g_getenv ("GNOME_SESSION_AUTOSTART_DIR");
+
+ if (env_override_autostart_dirs != NULL && env_override_autostart_dirs[0] != '\0') {
+ env_override_autostart_dirs_v = g_strsplit (env_override_autostart_dirs, ":", 0);
+ gsm_util_set_autostart_dirs (env_override_autostart_dirs_v);
+ } else {
+ gsm_util_set_autostart_dirs (override_autostart_dirs);
+
+ /* Export the override autostart dirs parameter to the environment
+ * in case we are running on systemd. */
+ if (override_autostart_dirs) {
+ g_autofree char *autostart_dirs = NULL;
+ autostart_dirs = g_strjoinv (":", override_autostart_dirs);
+ g_setenv ("GNOME_SESSION_AUTOSTART_DIR", autostart_dirs, TRUE);
+ }
+ }
+
+ gsm_util_export_activation_environment (&error);
+ if (error) {
+ g_warning ("Failed to upload environment to DBus: %s", error->message);
+ g_clear_error (&error);
+ }
+
+ session_name = opt_session_name;
+
+#ifdef HAVE_SYSTEMD
+ gsm_util_export_user_environment (&error);
+ if (error && !g_getenv ("RUNNING_UNDER_GDM"))
+ g_warning ("Failed to upload environment to systemd: %s", error->message);
+ g_clear_error (&error);
+#endif
+
+#ifdef ENABLE_SYSTEMD_SESSION
+ if (use_systemd && !systemd_service) {
+ g_autofree gchar *gnome_session_target;
+ const gchar *session_type;
+
+ session_type = g_getenv ("XDG_SESSION_TYPE");
+
+ /* We really need to resolve the session name at this point,
+ * which requires talking to GSettings internally. */
+ if (IS_STRING_EMPTY (session_name)) {
+ session_name = _gsm_manager_get_default_session (NULL);
+ }
+
+ /* Reset all failed units; we are going to start a lof ot things and
+ * really do not want to run into errors because units have failed
+ * in a previous session
+ */
+ gsm_util_systemd_reset_failed (&error);
+ if (error && !g_getenv ("RUNNING_UNDER_GDM"))
+ g_warning ("Failed to reset failed state of units: %s", error->message);
+ g_clear_error (&error);
+
+ /* We don't escape the name (i.e. we leave any '-' intact). */
+ gnome_session_target = g_strdup_printf ("gnome-session-%s@%s.target", session_type, session_name);
+ if (gsm_util_start_systemd_unit (gnome_session_target, "fail", &error)) {
+ /* We started the unit, open fifo and sleep forever. */
+ systemd_leader_run ();
+ exit(0);
+ }
+
+ /* We could not start the unit, fall back. */
+ if (g_getenv ("RUNNING_UNDER_GDM"))
+ g_message ("Falling back to non-systemd startup procedure. This is expected to happen for GDM sessions.");
+ else
+ g_warning ("Falling back to non-systemd startup procedure due to error: %s", error->message);
+ g_clear_error (&error);
+ }
+#endif /* ENABLE_SYSTEMD_SESSION */
+
+ {
+ gchar *ibus_path;
+
+ ibus_path = g_find_program_in_path("ibus-daemon");
+
+ if (ibus_path) {
+ const gchar *p;
+ p = g_getenv ("QT_IM_MODULE");
+ if (!p || !*p)
+ p = "ibus";
+ gsm_util_setenv ("QT_IM_MODULE", p);
+ p = g_getenv ("XMODIFIERS");
+ if (!p || !*p)
+ p = "@im=ibus";
+ gsm_util_setenv ("XMODIFIERS", p);
+ }
+
+ g_free (ibus_path);
+ }
+
+ /* We want to use the GNOME menus which has the designed categories.
+ */
+ gsm_util_setenv ("XDG_MENU_PREFIX", "gnome-");
+
+ /* Talk to logind before acquiring a name, since it does synchronous
+ * calls at initialization time that invoke a main loop and if we
+ * already owned a name, then we would service too early during
+ * that main loop.
+ */
+ g_object_unref (gsm_get_system ());
+
+ name_owner_id = acquire_name ();
+
+ gsm_main ();
+
+#ifdef HAVE_SYSTEMD
+ gsm_util_export_user_environment (NULL);
+#endif
+
+ g_clear_object (&manager);
+ g_free (gl_renderer);
+
+ g_bus_unown_name (name_owner_id);
+ gdm_log_shutdown ();
+
+ return 0;
+}
diff --git a/gnome-session/meson.build b/gnome-session/meson.build
new file mode 100644
index 0000000..7d2f3c0
--- /dev/null
+++ b/gnome-session/meson.build
@@ -0,0 +1,111 @@
+script_conf = configuration_data()
+script_conf.set('libexecdir', session_libexecdir)
+
+script = 'gnome-session'
+
+configure_file(
+ input: script + '.in',
+ output: script,
+ install: true,
+ install_dir: session_bindir,
+ configuration: script_conf
+)
+
+libgsmutil = static_library(
+ 'gsmutil',
+ sources: 'gsm-util.c',
+ include_directories: top_inc,
+ dependencies: session_deps
+)
+
+sources = files(
+ 'gsm-app.c',
+ 'gsm-autostart-app.c',
+ 'gsm-client.c',
+ 'gsm-dbus-client.c',
+ 'gsm-fail-whale.c',
+ 'gsm-inhibitor.c',
+ 'gdm-log.c',
+ 'gsm-manager.c',
+ 'gsm-presence.c',
+ 'gsm-process-helper.c',
+ 'gsm-session-fill.c',
+ 'gsm-session-save.c',
+ 'gsm-shell-extensions.c',
+ 'gsm-shell.c',
+ 'gsm-store.c',
+ 'gsm-system.c',
+ 'gsm-systemd.c',
+ 'gsm-xsmp-client.c',
+ 'gsm-xsmp-server.c',
+ 'main.c'
+)
+
+dbus_ifaces = [
+ ['org.gnome.SessionManager', 'ExportedManager'],
+ ['org.gnome.SessionManager.Client', 'ExportedClient'],
+ ['org.gnome.SessionManager.ClientPrivate', 'ExportedClientPrivate'],
+ ['org.gnome.SessionManager.App', 'ExportedApp'],
+ ['org.gnome.SessionManager.Inhibitor', 'ExportedInhibitor'],
+ ['org.gnome.SessionManager.Presence', 'ExportedPresence']
+]
+
+foreach iface: dbus_ifaces
+ sources += gnome.gdbus_codegen(
+ iface[0],
+ iface[0] + '.xml',
+ interface_prefix: iface[0] + '.',
+ namespace: 'Gsm',
+ annotations: [iface[0], 'org.gtk.GDBus.C.Name', iface[1]]
+ )
+endforeach
+
+if enable_consolekit
+ sources += files('gsm-consolekit.c')
+endif
+
+cflags = [
+ '-DLOCALE_DIR="@0@"'.format(session_localedir),
+ '-DDATA_DIR="@0@"'.format(session_pkgdatadir),
+ '-DLIBEXECDIR="@0@"'.format(session_libexecdir)
+]
+
+executable(
+ meson.project_name() + '-binary',
+ sources,
+ include_directories: top_inc,
+ dependencies: session_bin_deps,
+ c_args: cflags,
+ link_with: libgsmutil,
+ install: true,
+ install_dir: session_libexecdir
+)
+
+sources = files('gsm-fail-whale-dialog.c')
+
+cflags = '-DLOCALE_DIR="@0@"'.format(session_localedir)
+
+executable(
+ meson.project_name() + '-failed',
+ sources,
+ include_directories: top_inc,
+ dependencies: gtk_dep,
+ c_args: cflags,
+ install: true,
+ install_dir: session_libexecdir
+)
+
+units = [
+ ['test-inhibit', [], session_deps + [gtk_dep]],
+ ['test-client-dbus', [], [gio_dep]],
+ ['test-process-helper', files('gsm-process-helper.c'), [gio_dep]]
+]
+
+foreach unit: units
+ executable(
+ unit[0],
+ [unit[0] + '.c'] + unit[1],
+ include_directories: top_inc,
+ dependencies: unit[2]
+ )
+endforeach
diff --git a/gnome-session/org.gnome.SessionManager.App.xml b/gnome-session/org.gnome.SessionManager.App.xml
new file mode 100644
index 0000000..9f6e1b3
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.App.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager.App">
+ <method name="GetAppId">
+ <arg type="s" name="app_id" direction="out">
+ <doc:doc>
+ <doc:summary>The identifier for the application</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the application ID.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetStartupId">
+ <arg type="s" name="startup_id" direction="out">
+ <doc:doc>
+ <doc:summary>The startup identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the startup ID associated with this application.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetPhase">
+ <arg type="u" name="phase" direction="out">
+ <doc:doc>
+ <doc:summary>The application startup phase</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the startup phase of this application.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ </interface>
+</node>
diff --git a/gnome-session/org.gnome.SessionManager.Client.xml b/gnome-session/org.gnome.SessionManager.Client.xml
new file mode 100644
index 0000000..cf7476a
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.Client.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager.Client">
+ <method name="GetAppId">
+ <arg type="s" name="app_id" direction="out">
+ <doc:doc>
+ <doc:summary>The identifier for the associated application</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the application ID associated with this client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetStartupId">
+ <arg type="s" name="startup_id" direction="out">
+ <doc:doc>
+ <doc:summary>The startup identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the startup ID associated with this client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetRestartStyleHint">
+ <arg type="u" name="hint" direction="out">
+ <doc:doc>
+ <doc:summary>The restart style hint</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the restart style hint for this client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetUnixProcessId">
+ <arg type="u" name="pid" direction="out">
+ <doc:doc>
+ <doc:summary>The Unix process identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the Unix process identifier for this client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetStatus">
+ <arg type="u" name="status" direction="out">
+ <doc:doc>
+ <doc:summary>The client status</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the status of this client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="Stop">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Initiate a request to terminate this application via XSMP.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ </interface>
+</node>
diff --git a/gnome-session/org.gnome.SessionManager.ClientPrivate.xml b/gnome-session/org.gnome.SessionManager.ClientPrivate.xml
new file mode 100644
index 0000000..a167065
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.ClientPrivate.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager.ClientPrivate">
+ <method name="EndSessionResponse">
+ <arg name="is_ok" type="b" direction="in">
+ <doc:doc>
+ <doc:summary>Whether or not it is OK to preceed</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="reason" type="s" direction="in">
+ <doc:doc>
+ <doc:summary>The reason string</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>This method should be used by the client in response to
+ the <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::QueryEndSession">QueryEndSession</doc:ref>
+ and <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::EndSession">EndSession</doc:ref> signals.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <signal name="Stop">
+ <doc:doc>
+ <doc:summary>Stop client</doc:summary>
+ <doc:description>
+ <doc:para>
+ The client should stop and remove itself from the session in
+ response to this signal.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="QueryEndSession">
+ <arg name="flags" type="u">
+ <doc:doc>
+ <doc:summary>Flags</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>This signal is used to inform the client that the
+ session is about to end. The client must respond by
+ calling
+ <doc:ref type="method" to="org.gnome.SessionManager.ClientPrivate.EndSessionResponse">EndSessionResponse</doc:ref>
+ within one second of the signal emission.
+ </doc:para>
+ <doc:para>
+ The flags may include:
+ <doc:list>
+ <doc:item>
+ <doc:term>1</doc:term>
+ <doc:definition>Logout is forced.
+ <doc:ref type="method" to="org.gnome.SessionManager.ClientPrivate.EndSessionResponse">EndSessionResponse</doc:ref>
+ reason and any inhibit from client will be
+ ignored.</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:para>
+ <doc:para>
+ If the client responds with an EndSessionResponse is-ok
+ argument equal to FALSE and a reason then this reason may
+ be displayed to the user.
+ </doc:para>
+ <doc:para>
+ The client must not attempt to perform any actions or
+ interact with the user in response to this signal. Any
+ actions required for a clean shutdown should take place in
+ response to the
+ <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::EndSession">EndSession</doc:ref> signal.
+ </doc:para>
+ <doc:para>
+ The client should limit operations until either a
+ <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::EndSession">EndSession</doc:ref>
+ <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::CancelEndSession">CancelEndSession</doc:ref>
+ signal is received.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="EndSession">
+ <arg name="flags" type="u">
+ <doc:doc>
+ <doc:summary>Flags</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>This signal is used to inform the client that the
+ session is about to end. The client must respond by
+ calling
+ <doc:ref type="method" to="org.gnome.SessionManager.ClientPrivate.EndSessionResponse">EndSessionResponse</doc:ref>
+ within ten seconds of the signal emission.
+ </doc:para>
+ <doc:para>
+ The client must not attempt to interact with the user in
+ response to this signal. The application will be given a
+ maxium of ten seconds to perform any actions required for
+ a clean shutdown.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="CancelEndSession">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ This signal indicates to the client that a previous emission of
+ <doc:ref type="signal" to="org.gnome.SessionManager.ClientPrivate::QueryEndSession">QueryEndSession</doc:ref>
+ has been cancelled. The client should resume normal operations.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ </interface>
+</node>
diff --git a/gnome-session/org.gnome.SessionManager.Inhibitor.xml b/gnome-session/org.gnome.SessionManager.Inhibitor.xml
new file mode 100644
index 0000000..342d2a8
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.Inhibitor.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager.Inhibitor">
+ <method name="GetAppId">
+ <arg type="s" name="app_id" direction="out">
+ <doc:doc>
+ <doc:summary>The identifier for the associated application</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the application ID associated with this inhibit.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetClientId">
+ <arg type="o" name="client_id" direction="out">
+ <doc:doc>
+ <doc:summary>The object path of the associated client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the client object path associated with this inhibit.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetReason">
+ <arg type="s" name="reason" direction="out">
+ <doc:doc>
+ <doc:summary>The reason for the inhibit</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the reason for the inhibit</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetFlags">
+ <arg type="u" name="flags" direction="out">
+ <doc:doc>
+ <doc:summary>The flags that determine the scope of the inhibit</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the flags that determine the scope of the inhibit</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="GetToplevelXid">
+ <arg type="u" name="xid" direction="out">
+ <doc:doc>
+ <doc:summary>X11 toplevel window identifier associated with this inhibit. Zero if not set.</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Return the X11 toplevel window identifier associated with this inhibit. Zero if not set.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ </interface>
+</node>
diff --git a/gnome-session/org.gnome.SessionManager.Presence.xml b/gnome-session/org.gnome.SessionManager.Presence.xml
new file mode 100644
index 0000000..0441970
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.Presence.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager.Presence">
+
+ <property name="status" type="u" access="readwrite">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The status of the session.
+ </doc:para>
+ <doc:para>
+ The status parameter must be one of the following:
+ <doc:list>
+ <doc:item>
+ <doc:term>0</doc:term>
+ <doc:definition>Available</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>1</doc:term>
+ <doc:definition>Invisible</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term>
+ <doc:definition>Busy</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>3</doc:term>
+ <doc:definition>Idle</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+ <property name="status-text" type="s" access="readwrite">
+ <doc:doc>
+ <doc:description>
+ <doc:para>The descriptive status for the session.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+ <method name="SetStatus">
+ <arg type="u" name="status" direction="in">
+ <doc:doc>
+ <doc:summary>The status value</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Set the status value of the session.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+ <method name="SetStatusText">
+ <arg type="s" name="status_text" direction="in">
+ <doc:doc>
+ <doc:summary>The descriptive status for the session.</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Set the descriptive status text for the session.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <signal name="StatusChanged">
+ <arg name="status" type="u">
+ <doc:doc>
+ <doc:summary>The new status value</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Indicates that the session status value has changed.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="StatusTextChanged">
+ <arg name="status_text" type="s">
+ <doc:doc>
+ <doc:summary>The new status text</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Indicates that the descriptive session status text has changed.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ </interface>
+</node>
diff --git a/gnome-session/org.gnome.SessionManager.xml b/gnome-session/org.gnome.SessionManager.xml
new file mode 100644
index 0000000..ce4b8c0
--- /dev/null
+++ b/gnome-session/org.gnome.SessionManager.xml
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.gnome.SessionManager">
+
+ <!-- Initialization phase interfaces -->
+
+ <method name="Setenv">
+ <arg name="variable" type="s" direction="in">
+ <doc:doc>
+ <doc:summary>The variable name</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="value" type="s" direction="in">
+ <doc:doc>
+ <doc:summary>The value</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Adds the variable name to the application launch environment with the specified value. May only be used during the Session Manager initialization phase.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="GetLocale">
+ <arg name="category" type="i" direction="in">
+ <doc:doc>
+ <doc:summary>The locale category</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="value" type="s" direction="out">
+ <doc:doc>
+ <doc:summary>The value</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Reads the current state of the specific locale category.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="InitializationError">
+ <arg name="message" type="s" direction="in">
+ <doc:doc>
+ <doc:summary>The error message</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="fatal" type="b" direction="in">
+ <doc:doc>
+ <doc:summary>Whether the error should be treated as fatal</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>May be used by applications launched during the Session Manager initialization phase to indicate there was a problem.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Initialized">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Run from systemd to signal that gnome-session-initialized.target has been reached.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- Running phase interfaces -->
+
+ <method name="RegisterClient">
+ <arg type="s" name="app_id" direction="in">
+ <doc:doc>
+ <doc:summary>The application identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="s" name="client_startup_id" direction="in">
+ <doc:doc>
+ <doc:summary>Client startup identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="o" name="client_id" direction="out">
+ <doc:doc>
+ <doc:summary>The object path of the newly registered client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Register the caller as a Session Management client.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="UnregisterClient">
+ <arg type="o" name="client_id" direction="in">
+ <doc:doc>
+ <doc:summary>The object path of the client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Unregister the specified client from Session Management.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Inhibit">
+ <arg type="s" name="app_id" direction="in">
+ <doc:doc>
+ <doc:summary>The application identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="u" name="toplevel_xid" direction="in">
+ <doc:doc>
+ <doc:summary>The toplevel X window identifier</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="s" name="reason" direction="in">
+ <doc:doc>
+ <doc:summary>The reason for the inhibit</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="u" name="flags" direction="in">
+ <doc:doc>
+ <doc:summary>Flags that specify what should be inhibited</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="u" name="inhibit_cookie" direction="out">
+ <doc:doc>
+ <doc:summary>The cookie</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:summary>
+ Proactively indicates that the calling application is performing an action that should not be interrupted and sets a reason to be displayed to the user when an interruption is about to take place.
+ </doc:summary>
+ <doc:description>
+ <doc:para>Applications should invoke this method when they begin an operation that
+ should not be interrupted, such as creating a CD or DVD. The types of actions
+ that may be blocked are specified by the flags parameter. When the application
+ completes the operation it should call <doc:ref type="method" to="org.gnome.SessionManager.Uninhibit">Uninhibit()</doc:ref>
+ or disconnect from the session bus.
+ </doc:para>
+ <doc:para>
+ Applications should not expect that they will always be able to block the
+ action. In most cases, users will be given the option to force the action
+ to take place.
+ </doc:para>
+ <doc:para>
+ Reasons should be short and to the point.
+ </doc:para>
+ <doc:para>
+ The flags parameter must include at least one of the following:
+ <doc:list>
+ <doc:item>
+ <doc:term>1</doc:term>
+ <doc:definition>Inhibit logging out</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term>
+ <doc:definition>Inhibit user switching</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>4</doc:term>
+ <doc:definition>Inhibit suspending the session or computer</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>8</doc:term>
+ <doc:definition>Inhibit the session being marked as idle</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>16</doc:term>
+ <doc:definition>Inhibit auto-mounting removable media for the session</doc:definition>
+ </doc:item>
+ </doc:list>
+ Values for flags may be bitwise or'ed together.
+ </doc:para>
+ <doc:para>
+ The returned cookie is used to uniquely identify this request. It should be used
+ as an argument to <doc:ref type="method" to="org.gnome.SessionManager.Uninhibit">Uninhibit()</doc:ref> in
+ order to remove the request.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Uninhibit">
+ <arg type="u" name="inhibit_cookie" direction="in">
+ <doc:doc>
+ <doc:summary>The cookie</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Cancel a previous call to <doc:ref type="method" to="org.gnome.SessionManager.Inhibit">Inhibit()</doc:ref> identified by the cookie.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="IsInhibited">
+ <arg type="u" name="flags" direction="in">
+ <doc:doc>
+ <doc:summary>Flags that specify what should be inhibited</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="b" name="is_inhibited" direction="out">
+ <doc:doc>
+ <doc:summary>Returns TRUE if any of the operations in the bitfield flags are inhibited</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Determine if operation(s) specified by the flags
+ are currently inhibited. Flags are same as those accepted
+ by the
+ <doc:ref type="method" to="org.gnome.SessionManager.Inhibit">Inhibit()</doc:ref>
+ method.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="GetClients">
+ <arg name="clients" direction="out" type="ao">
+ <doc:doc>
+ <doc:summary>an array of client IDs</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Client">Clients</doc:ref>
+ that are currently known to the session manager.</doc:para>
+ <doc:para>Each Client ID is an D-Bus object path for the object that implements the
+ <doc:ref type="interface" to="org.gnome.SessionManager.Client">Client</doc:ref> interface.</doc:para>
+ </doc:description>
+ <doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Client">org.gnome.SessionManager.Client</doc:ref></doc:seealso>
+ </doc:doc>
+ </method>
+
+ <method name="GetInhibitors">
+ <arg name="inhibitors" direction="out" type="ao">
+ <doc:doc>
+ <doc:summary>an array of inhibitor IDs</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitors</doc:ref>
+ that are currently known to the session manager.</doc:para>
+ <doc:para>Each Inhibitor ID is an D-Bus object path for the object that implements the
+ <doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitor</doc:ref> interface.</doc:para>
+ </doc:description>
+ <doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">org.gnome.SessionManager.Inhibitor</doc:ref></doc:seealso>
+ </doc:doc>
+ </method>
+
+
+ <method name="IsAutostartConditionHandled">
+ <arg name="condition" direction="in" type="s">
+ <doc:doc>
+ <doc:summary>The autostart condition string</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="handled" direction="out" type="b">
+ <doc:doc>
+ <doc:summary>True if condition is handled, false otherwise</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Allows the caller to determine whether the session manager is
+ handling changes to the specified autostart condition.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Shutdown">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Request a shutdown dialog.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Reboot">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Request a reboot dialog.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="CanShutdown">
+ <arg name="is_available" direction="out" type="b">
+ <doc:doc>
+ <doc:summary>True if shutdown is available to the user, false otherwise</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Allows the caller to determine whether or not it's okay to show
+ a shutdown option in the UI</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="SetRebootToFirmwareSetup">
+ <arg name="enable" direction="in" type="b">
+ <doc:doc>
+ <doc:summary>Whether we should reboot into setup</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Allows the caller to indicate to the system's firmware to boot into setup mode</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="CanRebootToFirmwareSetup">
+ <arg name="is_available" direction="out" type="b">
+ <doc:doc>
+ <doc:summary>True if boot into setup mode is available to the user, false otherwise</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Allows the caller to determine whether or not it's okay to show
+ a reboot to firmware option in the UI</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="Logout">
+ <arg name="mode" type="u" direction="in">
+ <doc:doc>
+ <doc:summary>The type of logout that is being requested</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Request a logout dialog</doc:para>
+ <doc:para>
+ Allowed values for the mode parameter are:
+ <doc:list>
+ <doc:item>
+ <doc:term>0</doc:term>
+ <doc:definition>Normal.</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>1</doc:term>
+ <doc:definition>No confirmation interface should be shown.</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term>
+ <doc:definition>Forcefully logout. No confirmation will be shown and any inhibitors will be ignored.</doc:definition>
+ </doc:item>
+ </doc:list>
+ Values for flags may be bitwise or'ed together.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <method name="IsSessionRunning">
+ <arg name="running" direction="out" type="b">
+ <doc:doc>
+ <doc:summary>True if the session has entered the Running phase, false otherwise</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Allows the caller to determine whether the session manager
+ has entered the Running phase, in case the client missed the
+ SessionRunning signal.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- Signals -->
+
+ <signal name="ClientAdded">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the added client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when a client has been added to the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="ClientRemoved">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the removed client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when a client has been removed from the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="InhibitorAdded">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the added inhibitor</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when an inhibitor has been added to the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="InhibitorRemoved">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the removed inhibitor</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when an inhibitor has been removed from the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="SessionRunning">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Indicates the session has entered the Running phase.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="SessionOver">
+ <doc:doc>
+ <doc:description>
+ <doc:para>Indicates the session is about to end.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- Properties -->
+
+ <property name="SessionName" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>The name of the session that has been loaded.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Renderer" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>The renderer for the session that has been loaded.
+ At the moment this supports GL and GLES, and is only used for the
+ X session.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="SessionIsActive" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>If true, the session is currently in the
+ foreground and available for user input.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="InhibitedActions" type="u" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>A bitmask of flags to indicate which actions
+ are inhibited. See the Inhibit() function's description
+ for a list of possible values.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ </interface>
+</node>
diff --git a/gnome-session/test-client-dbus.c b/gnome-session/test-client-dbus.c
new file mode 100644
index 0000000..7d6f9e4
--- /dev/null
+++ b/gnome-session/test-client-dbus.c
@@ -0,0 +1,265 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <glib.h>
+#include <gio/gio.h>
+
+#define SM_DBUS_NAME "org.gnome.SessionManager"
+#define SM_DBUS_PATH "/org/gnome/SessionManager"
+#define SM_DBUS_INTERFACE "org.gnome.SessionManager"
+
+#define SM_CLIENT_DBUS_INTERFACE "org.gnome.SessionManager.ClientPrivate"
+
+static GDBusConnection *connection = NULL;
+static GDBusProxy *sm_proxy = NULL;
+static char *client_id = NULL;
+static GDBusProxy *client_proxy = NULL;
+static GMainLoop *main_loop = NULL;
+
+static gboolean
+session_manager_connect (void)
+{
+
+ if (connection == NULL) {
+ GError *error;
+
+ error = NULL;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (connection == NULL) {
+ g_message ("Failed to connect to the session bus: %s",
+ error->message);
+ g_error_free (error);
+ exit (1);
+ }
+ }
+
+ sm_proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ SM_DBUS_NAME,
+ SM_DBUS_PATH,
+ SM_DBUS_INTERFACE,
+ NULL, NULL);
+ return (sm_proxy != NULL);
+}
+
+static void
+on_client_query_end_session (GDBusProxy *proxy,
+ GVariant *parameters)
+{
+ GError *error;
+ gboolean is_ok;
+ const char *reason;
+ guint flags;
+ GVariant *reply;
+
+ is_ok = FALSE;
+ reason = "Unsaved files";
+ g_variant_get (parameters, "(u)", &flags);
+
+ g_debug ("Got query end session signal flags=%u", flags);
+
+ error = NULL;
+ reply = g_dbus_proxy_call_sync (proxy,
+ "EndSessionResponse",
+ g_variant_new ("(bs)",
+ is_ok,
+ reason),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("Failed to respond to EndSession: %s", error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (reply);
+ }
+}
+
+static void
+on_client_end_session (GVariant *parameters)
+{
+ guint flags;
+ g_variant_get (parameters, "(u)", &flags);
+ g_debug ("Got end session signal flags=%u", flags);
+}
+
+static void
+on_client_cancel_end_session (void)
+{
+ g_debug ("Got end session cancelled signal");
+}
+
+static void
+on_client_stop (void)
+{
+ g_debug ("Got client stop signal");
+ g_main_loop_quit (main_loop);
+}
+
+static void
+on_client_dbus_signal (GDBusProxy *proxy,
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
+{
+ if (g_strcmp0 (signal_name, "Stop") == 0) {
+ on_client_stop ();
+ } else if (g_strcmp0 (signal_name, "CancelEndSession") == 0) {
+ on_client_cancel_end_session ();
+ } else if (g_strcmp0 (signal_name, "EndSession") == 0) {
+ on_client_end_session (parameters);
+ } else if (g_strcmp0 (signal_name, "QueryEndSession") == 0) {
+ on_client_query_end_session (proxy, parameters);
+ }
+}
+
+static gboolean
+register_client (void)
+{
+ GError *error;
+ GVariant *object_path_variant;
+ const char *startup_id;
+ const char *app_id;
+
+ app_id = "gedit";
+
+ startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
+ if (!startup_id) {
+ startup_id = "";
+ }
+
+ error = NULL;
+ object_path_variant = g_dbus_proxy_call_sync (sm_proxy,
+ "RegisterClient",
+ g_variant_new ("(ss)",
+ app_id,
+ startup_id),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("Failed to register client: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_get (object_path_variant, "(o)", &client_id);
+ g_debug ("Client registered with session manager: %s", client_id);
+
+ client_proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ SM_DBUS_NAME,
+ client_id,
+ SM_CLIENT_DBUS_INTERFACE,
+ NULL, NULL);
+ if (client_proxy != NULL) {
+ g_signal_connect (client_proxy, "g-signal",
+ G_CALLBACK (on_client_dbus_signal), NULL);
+ }
+
+ g_variant_unref (object_path_variant);
+
+ return (client_proxy != NULL);
+}
+
+static gboolean
+session_manager_disconnect (void)
+{
+ if (sm_proxy != NULL) {
+ g_object_unref (sm_proxy);
+ sm_proxy = NULL;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+unregister_client (void)
+{
+ GError *error;
+ GVariant *reply;
+
+ error = NULL;
+ reply = g_dbus_proxy_call_sync (sm_proxy,
+ "UnregisterClient",
+ g_variant_new ("(o)", client_id),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+ if (error != NULL) {
+ g_warning ("Failed to unregister client: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_free (client_id);
+ client_id = NULL;
+
+ g_variant_unref (reply);
+
+ return TRUE;
+}
+
+static gboolean
+quit_test (gpointer data)
+{
+ g_main_loop_quit (main_loop);
+ return FALSE;
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ gboolean res;
+
+ g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING);
+
+ res = session_manager_connect ();
+ if (! res) {
+ g_warning ("Unable to connect to session manager");
+ exit (1);
+ }
+
+ res = register_client ();
+ if (! res) {
+ g_warning ("Unable to register client with session manager");
+ }
+
+ main_loop = g_main_loop_new (NULL, FALSE);
+
+ g_timeout_add_seconds (30, quit_test, NULL);
+
+ g_main_loop_run (main_loop);
+ g_main_loop_unref (main_loop);
+
+ unregister_client ();
+ session_manager_disconnect ();
+
+ return 0;
+}
diff --git a/gnome-session/test-inhibit.c b/gnome-session/test-inhibit.c
new file mode 100644
index 0000000..0a8417e
--- /dev/null
+++ b/gnome-session/test-inhibit.c
@@ -0,0 +1,197 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Red Hat, 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 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+
+#define SM_DBUS_NAME "org.gnome.SessionManager"
+#define SM_DBUS_PATH "/org/gnome/SessionManager"
+#define SM_DBUS_INTERFACE "org.gnome.SessionManager"
+
+static GDBusConnection *connection = NULL;
+static GDBusProxy *sm_proxy = NULL;
+static guint cookie = 0;
+
+static gboolean
+session_manager_connect (void)
+{
+
+ if (connection == NULL) {
+ GError *error;
+
+ error = NULL;
+ connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+ if (connection == NULL) {
+ g_message ("Failed to connect to the session bus: %s",
+ error->message);
+ g_error_free (error);
+ exit (1);
+ }
+ }
+
+ sm_proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ SM_DBUS_NAME,
+ SM_DBUS_PATH,
+ SM_DBUS_INTERFACE,
+ NULL, NULL);
+ return (sm_proxy != NULL);
+}
+
+typedef enum {
+ GSM_INHIBITOR_FLAG_LOGOUT = 1 << 0,
+ GSM_INHIBITOR_FLAG_SWITCH_USER = 1 << 1,
+ GSM_INHIBITOR_FLAG_SUSPEND = 1 << 2
+} GsmInhibitFlag;
+
+static gboolean
+do_inhibit_for_window (GdkWindow *window)
+{
+ GError *error;
+ GVariant *cookie_variant;
+ const char *app_id;
+ const char *reason;
+ guint toplevel_xid;
+ guint flags;
+
+#if 1
+ app_id = "nautilus-cd-burner";
+ reason = "A CD burn is in progress.";
+#else
+ app_id = "nautilus";
+ reason = "A file transfer is in progress.";
+#endif
+ toplevel_xid = gdk_x11_window_get_xid (window);
+ flags = GSM_INHIBITOR_FLAG_LOGOUT
+ | GSM_INHIBITOR_FLAG_SWITCH_USER
+ | GSM_INHIBITOR_FLAG_SUSPEND;
+
+ error = NULL;
+ cookie_variant = g_dbus_proxy_call_sync (sm_proxy,
+ "Inhibit",
+ g_variant_new ("(susu)",
+ app_id,
+ toplevel_xid,
+ reason,
+ flags),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("Failed to inhibit: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_get (cookie_variant, "(u)", &cookie);
+ g_debug ("Inhibiting session manager: %u", cookie);
+ g_variant_unref (cookie_variant);
+
+ return TRUE;
+}
+static gboolean
+session_manager_disconnect (void)
+{
+ g_clear_object (&sm_proxy);
+ g_clear_object (&connection);
+
+ return TRUE;
+}
+
+static gboolean
+do_uninhibit (void)
+{
+ GError *error;
+ GVariant *reply;
+
+ error = NULL;
+ reply = g_dbus_proxy_call_sync (sm_proxy,
+ "Uninhibit",
+ g_variant_new ("(u)", cookie),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+ if (error != NULL) {
+ g_warning ("Failed to uninhibit: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_unref (reply);
+
+ cookie = 0;
+
+ return TRUE;
+}
+
+static void
+on_widget_show (GtkWidget *dialog,
+ gpointer data)
+{
+ gboolean res;
+
+ res = do_inhibit_for_window (gtk_widget_get_window (dialog));
+ if (! res) {
+ g_warning ("Unable to register client with session manager");
+ }
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ gboolean res;
+ GtkWidget *dialog;
+
+ g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING);
+
+ gtk_init (&argc, &argv);
+
+ res = session_manager_connect ();
+ if (! res) {
+ g_warning ("Unable to connect to session manager");
+ exit (1);
+ }
+
+ g_timeout_add_seconds (30, (GSourceFunc)gtk_main_quit, NULL);
+
+ dialog = gtk_message_dialog_new (NULL,
+ 0,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CANCEL,
+ "Inhibiting logout, switch user, and suspend.");
+
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (dialog, "show", G_CALLBACK (on_widget_show), NULL);
+ gtk_widget_show (dialog);
+
+ gtk_main ();
+
+ do_uninhibit ();
+ session_manager_disconnect ();
+
+ return 0;
+}
diff --git a/gnome-session/test-process-helper.c b/gnome-session/test-process-helper.c
new file mode 100644
index 0000000..e48caa8
--- /dev/null
+++ b/gnome-session/test-process-helper.c
@@ -0,0 +1,56 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2010 Red Hat, 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 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "gsm-process-helper.h"
+
+int
+main (int argc,
+ char *argv[])
+{
+ char *command_line = "xeyes";
+ int timeout = 500;
+ GError *error = NULL;
+
+ if (argc > 3) {
+ g_printerr ("Too many arguments.\n");
+ g_printerr ("Usage: %s [COMMAND] [TIMEOUT]\n", argv[0]);
+ return 1;
+ }
+
+ if (argc >= 2)
+ command_line = argv[1];
+ if (argc >= 3) {
+ int i = atoi (argv[2]);
+ if (i > 0)
+ timeout = i;
+ }
+
+ if (!gsm_process_helper (command_line, timeout, &error)) {
+ g_warning ("%s", error->message);
+ g_clear_error (&error);
+ } else {
+ g_print ("Command exited successfully.\n");
+ }
+
+ return 0;
+}
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..4eebcfd
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,222 @@
+project(
+ 'gnome-session', 'c',
+ version: '43.0',
+ license: 'GPL2+',
+ default_options: 'buildtype=debugoptimized',
+ meson_version: '>= 0.53.0'
+)
+
+prefix = get_option('prefix')
+session_version = meson.project_version()
+session_api_name = '@0@-@1@'.format(meson.project_name(), session_version.split('.')[0])
+
+session_prefix = get_option('prefix')
+session_bindir = join_paths(session_prefix, get_option('bindir'))
+session_datadir = join_paths(session_prefix, get_option('datadir'))
+session_libdir = join_paths(session_prefix, get_option('libdir'))
+session_libexecdir = join_paths(session_prefix, get_option('libexecdir'))
+session_localedir = join_paths(session_prefix, get_option('localedir'))
+session_localstatedir = join_paths(session_prefix, get_option('localstatedir'))
+session_mandir = join_paths(session_prefix, get_option('mandir'))
+session_sbindir = join_paths(session_prefix, get_option('sbindir'))
+session_sysconfdir = join_paths(session_prefix, get_option('sysconfdir'))
+
+session_pkgdatadir = join_paths(session_datadir, meson.project_name())
+
+session_debug = get_option('buildtype').contains('debug')
+
+cc = meson.get_compiler('c')
+
+config_h = configuration_data()
+
+# defines
+set_defines = [
+ # package
+ ['PACKAGE', meson.project_name()],
+ ['PACKAGE_VERSION', session_version],
+ ['VERSION', session_version],
+ # i18n
+ ['GETTEXT_PACKAGE', session_api_name]
+]
+
+foreach define: set_defines
+ config_h.set_quoted(define[0], define[1])
+endforeach
+
+# compiler flags
+common_flags = ['-DHAVE_CONFIG_H']
+
+enable_deprecation_flags = get_option('deprecation_flags')
+if enable_deprecation_flags
+ common_flags += [
+ '-DBONOBO_DISABLE_DEPRECATED',
+ '-DBONOBO_DISABLE_SINGLE_INCLUDES',
+ '-DBONOBO_UI_DISABLE_DEPRECATED',
+ '-DBONOBO_UI_DISABLE_SINGLE_INCLUDES',
+ '-DGNOME_DISABLE_DEPRECATED',
+ '-DGNOME_DISABLE_SINGLE_INCLUDES',
+ '-DLIBGLADE_DISABLE_DEPRECATED',
+ '-DLIBGLADE_DISABLE_SINGLE_INCLUDES',
+ '-DGNOME_VFS_DISABLE_DEPRECATED',
+ '-DGNOME_VFS_DISABLE_SINGLE_INCLUDES',
+ '-DWNCK_DISABLE_DEPRECATED',
+ '-DWNCK_DISABLE_SINGLE_INCLUDES',
+ '-DLIBSOUP_DISABLE_DEPRECATED',
+ '-DLIBSOUP_DISABLE_SINGLE_INCLUDES'
+ ]
+endif
+
+compiler_flags = []
+if session_debug
+ test_cflags = [
+ '-Werror=format=2',
+ '-Werror=implicit-function-declaration',
+ '-Werror=init-self',
+ '-Werror=missing-include-dirs',
+ '-Werror=missing-prototypes',
+ '-Werror=pointer-arith',
+ '-Werror=return-type',
+ '-Wnested-externs',
+ '-Wstrict-prototypes'
+ ]
+
+ compiler_flags += cc.get_supported_arguments(test_cflags)
+endif
+
+add_project_arguments(common_flags + compiler_flags, language: 'c')
+
+glib_req_version = '>= 2.46.0'
+
+gio_dep = dependency('gio-2.0', version: glib_req_version)
+glib_dep = dependency('glib-2.0', version: glib_req_version)
+gtk_dep = dependency('gtk+-3.0', version: '>= 3.22.0')
+xtrans_dep = dependency('xtrans')
+ice_dep = dependency('ice')
+sm_dep = dependency('sm')
+x11_dep = dependency('x11')
+
+session_deps = [
+ gio_dep,
+ glib_dep,
+ dependency('gnome-desktop-3.0', version: '>= 3.34.2'),
+ dependency('json-glib-1.0', version: '>= 0.10')
+]
+
+session_bin_deps = session_deps + [
+ xtrans_dep,
+ ice_dep,
+ sm_dep
+]
+
+# Check for session selector GTK+ UI
+enable_session_selector = get_option('session_selector')
+
+# Check for session tracking backend
+session_tracking = 'null backend'
+
+enable_systemd = get_option('systemd')
+enable_systemd_session = get_option('systemd_session') != 'disable'
+use_systemd_session = get_option('systemd_session') == 'default'
+enable_systemd_journal = get_option('systemd_journal')
+enable_consolekit = get_option('consolekit')
+if enable_systemd or enable_consolekit
+ session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version)
+
+ # Check for systemd
+ if enable_systemd
+ systemd_dep = dependency('systemd', version: '>= 242', required: true)
+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
+ define_variable: ['prefix', prefix])
+
+ libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
+ session_bin_deps += libsystemd_dep
+
+ if not libsystemd_dep.found()
+ libsystemd_login_dep = dependency('libsystemd-login', version: '>= 183', required: false)
+ libsystemd_daemon_dep = dependency('libsystemd-daemon', required: false)
+ libsystemd_journal_dep = dependency('libsystemd-journal', required: false)
+ assert(libsystemd_login_dep.found() and libsystemd_daemon_dep.found() and libsystemd_journal_dep.found(),
+ 'Systemd support explicitly required, but systemd not found')
+
+ session_bin_deps += [
+ libsystemd_login_dep,
+ libsystemd_daemon_dep,
+ libsystemd_journal_dep
+ ]
+ endif
+
+ session_tracking = 'systemd'
+ endif
+
+ # Check for ConsoleKit
+ if enable_consolekit
+ dbus_glib_dep = dependency('dbus-glib-1', version: '>= 0.76')
+ assert(dbus_glib_dep.found(), 'ConsoleKit support explicitly required, but dbus-glib not found')
+
+ session_bin_deps += dbus_glib_dep
+
+ if enable_systemd
+ session_tracking += ' (with fallback to ConsoleKit)'
+ else
+ session_tracking = 'ConsoleKit'
+ endif
+ endif
+endif
+if enable_systemd_session
+ assert(enable_systemd, 'Systemd support must be enabled when using systemd session management')
+endif
+config_h.set('HAVE_SYSTEMD', enable_systemd)
+config_h.set('ENABLE_SYSTEMD_SESSION', enable_systemd_session)
+config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
+config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
+config_h.set10('USE_SYSTEMD_SESSION', use_systemd_session)
+
+configure_file(
+ output: 'config.h',
+ configuration: config_h
+)
+
+gnome = import('gnome')
+i18n = import('i18n')
+pkg = import('pkgconfig')
+
+po_dir = join_paths(meson.source_root(), 'po')
+
+top_inc = include_directories('.')
+
+subdir('gnome-session')
+subdir('tools')
+subdir('data')
+
+enable_docbook = get_option('docbook')
+enable_man = get_option('man')
+if enable_docbook or enable_man
+ subdir('doc')
+endif
+
+subdir('po')
+
+meson.add_install_script(
+ 'meson_post_install.py',
+ session_datadir
+)
+
+output = '\n gnome-session ' + session_version + '\n'
+output += ' ====================\n\n'
+output += ' prefix: ' + session_prefix + '\n'
+output += ' exec_prefix: ' + session_libexecdir + '\n'
+output += ' libdir: ' + session_libdir + '\n'
+output += ' bindir: ' + session_bindir + '\n'
+output += ' sbindir: ' + session_sbindir + '\n'
+output += ' sysconfdir: ' + session_sysconfdir + '\n'
+output += ' localstatedir: ' + session_localstatedir + '\n'
+output += ' datadir: ' + session_datadir + '\n'
+output += ' source code location: ' + meson.source_root() + '\n'
+output += ' compiler: ' + cc.get_id() + '\n'
+output += ' cflags: ' + ' '.join(compiler_flags) + '\n'
+output += ' Debug mode: ' + session_debug.to_string() + '\n'
+output += ' Use *_DISABLE_DEPRECATED: ' + enable_deprecation_flags.to_string() + '\n\n'
+output += ' Session tracking: ' + session_tracking + ' \n'
+output += ' Build Docbook: ' + enable_docbook.to_string() + '\n'
+output += ' Build manpages: ' + enable_man.to_string()
+message(output)
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..4c05dc6
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,8 @@
+option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags')
+option('session_selector', type: 'boolean', value: false, description: 'enable building a custom session selector dialog')
+option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
+option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+option('docbook', type: 'boolean', value: true, description: 'build documentation')
+option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
diff --git a/meson_post_install.py b/meson_post_install.py
new file mode 100644
index 0000000..27017f6
--- /dev/null
+++ b/meson_post_install.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+import os
+import shutil
+import subprocess
+import sys
+
+if os.environ.get('DESTDIR'):
+ install_root = os.environ.get('DESTDIR') + os.path.abspath(sys.argv[1])
+else:
+ install_root = sys.argv[1]
+
+if not os.environ.get('DESTDIR'):
+ schemadir = os.path.join(install_root, 'glib-2.0', 'schemas')
+ print('Compile gsettings schemas...')
+ subprocess.call(['glib-compile-schemas', schemadir])
+
+# FIXME: Meson is unable to copy a generated target file:
+# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
+dst_dir = os.path.join(install_root, 'wayland-sessions')
+if not os.path.exists(dst_dir):
+ os.makedirs(dst_dir)
+
+src = os.path.join(install_root, 'xsessions', 'gnome.desktop')
+dst = os.path.join(dst_dir, 'gnome.desktop')
+shutil.copyfile(src, dst)
diff --git a/po/ChangeLog.pre-git b/po/ChangeLog.pre-git
new file mode 100644
index 0000000..bf7f2f4
--- /dev/null
+++ b/po/ChangeLog.pre-git
@@ -0,0 +1,7382 @@
+==================== 2.26.1 ====================
+
+2009-04-10 Goran Rakic <grakic@devbase.net>
+
+ * sr.po, sr@latin.po: Updated Serbian translation (by Miloš Popović).
+
+2009-04-10 Funda Wang <fundawang@gmail.com>
+
+ * zh_CN.po: Updated zh_CN translation.
+
+==================== 2.26.0.90 ====================
+
+2009-03-29 Simos Xenitellis <simos@gnome.org>
+
+ * el.po: Updated Greek translation by Marios Zindilis.
+
+2009-03-28 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2009-03-25 Shankar Prasad <svenkate@redhat.com>
+
+ * kn.po: Updated few correction to Kannada translations.
+
+2009-03-24 Shankar Prasad <svenkate@redhat.com>
+
+ * kn.po: Updated Kannada Translation.
+
+2009-03-18 Vincent Untz <vuntz@gnome.org>
+
+ * pa.po: comment out string at line 446 which breaks the build.
+
+2009-03-18 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic translation by Anas Afif Emad.
+
+2009-03-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2009-03-16 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * ru.po: Updated Russian translation.
+
+==================== 2.26.0 ====================
+
+2009-03-16 Andre Klapper <a9016009@gmx.de>
+
+ * crh.po: Updated Crimean Tatar translation by Reşat SABIQ.
+
+2009-03-16 Ignacio Casal Quinteiro <icq@gnome.org>
+
+ * gl.po: Updated Galician translation by Suso Baleato.
+
+2009-03-16 Ankitkumar Patel <ankit@redhat.com>
+
+ * gu.po: Updated Gujarati Translations.
+
+2009-03-16 Amitakhya Phukan <amitakhya@svn.gnome.org>
+
+ * LINGUAS: Added as
+ * as.po: Updated Assamese translations.
+
+2009-03-13 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek Translation by Jennie Petoumenou.
+
+2009-03-13 Sandeep Shedmake <sshedmak@redhat.com>
+
+ * mr.po: Updated Marathi Translations.
+
+2009-03-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2009-03-14 Rajesh Ranjan <rranjan@redhat.com>
+
+ * hi.po: Updated Hindi Translation.
+
+2009-03-11 Krishnababu K <kkrothap@redhat.com>
+
+ * te.po: Updated Telugu Translation.
+
+2009-03-11 Claude Paroz <claude@2xlibre.net>
+
+ * LINGUAS:
+ * ps.po: Added Pashto translation on behalf of Zabeeh Khan.
+
+2009-03-11 Manoj Kumar Giri <mgiri@redhat.com>
+
+ * or.po: Updated Oriya Translation.
+
+2009-03-10 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2009-03-10 I. Felix <ifelix@redhat.com>
+
+ * ta.po: Tamil Translation updated
+
+2009-03-09 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation by Yaron Sharabani.
+
+2009-03-08 Petr Kovar <pknbe@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2009-03-08 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Fixed wrong translations.
+
+2009-03-07 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2009-03-06 Žygimantas Beručka <zygis@gnome.org>
+
+ * lt.po: Updated Lithuanian translation.
+
+2009-03-06 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+==================== 2.25.92 ====================
+
+2009-03-03 Runa Bhattacharjee <runab@redhat.com>
+
+ * bn_IN.po: Updated Bengali India Translation
+
+2009-02-27 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation by Milo Casagrande.
+
+2009-02-26 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2009-02-25 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2009-02-23 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation by Bruno Brouard.
+
+2009-02-23 Philip Withnall <philip@tecnocode.co.uk>
+
+ * en_GB.po: Updated British English translation.
+
+2009-02-23 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2009-02-23 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation by David Planella.
+
+2009-02-22 Og Maciel <ogmaciel@gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2009-02-21 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2009-02-21 Baris Cicek <baris@teamforce.name.tr>
+
+ * tr.po: Updated Turkish translation
+
+2009-02-21 Og Maciel <ogmaciel@gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation by
+ André Gondim with contributions by Vladimir Melo and César Veiga.
+
+2009-02-21 Christian Kirbach <Christian.Kirbach@googlemail.com>
+
+ * de.po: Updated German translation by Wolfgang Stöggl.
+
+2009-02-19 Raivis Dejus <orvils@gmail.com>
+
+ * lv.po: Updated translation.
+
+2009-02-19 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-02-19 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2009-02-18 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2009-02-18 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2009-02-17 Jani Monoses <jani@ubuntu.com>
+
+ * ro.po: Updated Romanian translation
+ by Adi Roiban <adi@roiban.ro>
+
+2009-02-17 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2009-02-17 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2009-02-17 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2009-02-17 Sweta Kothari <swkothar@redhat.com>
+
+ * gu.po: Committed Gujarati Translation.
+
+==================== 2.25.91 ====================
+
+2009-02-15 Kenneth Nielsen <k.nielsen81@gmail.com>
+
+ * da.po: Updated Danish translation by Kenneth Nielsen
+
+2009-02-14 Tomasz Dominikowski <tdominikowski@aviary.pl>
+
+ * pl.po: Updated Polish translation
+
+2009-02-14 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2009-02-14 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-02-14 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Updated Dutch translation by Wouter Bolsterlee.
+
+2009-02-13 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2009-02-13 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-02-13 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2009-02-13 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2009-02-12 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Updated Dutch tranlation by Wouter Bolsterlee.
+
+2009-02-12 Jani Monoses <jani@ubuntu.com>
+
+ * ro.po: Updated Romanian translation
+ by Adi Roiban <adi@roiban.ro>
+
+2009-02-12 Claude Paroz <claude@2xlibre.net>
+
+ * LINGUAS:
+ * crh.po: Added Crimean Tatar translation on behalf of Reşat SABIQ.
+
+2009-02-12 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2009-02-11 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2009-02-11 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-02-11 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2009-02-11 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2009-02-10 Gil Forcada <gforcada@gnome.org>
+
+ * ast.po: Updated Asturian translation on behalf of Mikel González.
+
+2009-02-10 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2009-02-10 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2009-02-08 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2009-02-06 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2009-02-04 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Dutch translation updated by Wouter Bolsterlee.
+
+2009-02-03 Tomasz Dominikowski <tdominikowski@aviary.pl>
+
+ * pl.po: Updated Polish translation
+
+==================== 2.25.90 ====================
+
+2009-02-02 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2009-02-01 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation by David Planella.
+
+2009-02-01 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-01-28 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2009-01-27 Tomasz Dominikowski <tdominikowski@aviary.pl>
+
+ * pl.po: Updated Polish translation
+
+2009-01-27 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2009-01-26 Jonh Wendell <jwendell@gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation by André Gondim.
+
+2009-01-21 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+==================== 2.25.5 ====================
+
+2009-01-19 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2009-01-17 Thomas Thurman <tthurman@gnome.org>
+
+ * ig.po: Added Igbo translation by Sylvester Onye.
+ * yo.po: Updated Yoruba translation by David Lodge.
+ * ha.po: Added Hausa translation by Saudat Mohammed.
+ * LINGUAS: added Igbo, Yoruba and Hausa.
+
+2009-01-17 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2009-01-12 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation.
+
+2009-01-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2009-01-11 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-01-10 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation by David Planella.
+
+2009-01-10 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2009-01-09 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2009-01-09 Nurali Abdurahmonov <mavnur@gmail.com>
+
+ * uz@cyrillic.po: Added uzbek cyrillic translation
+ * uz.po: added uzbek translation
+ * LINGUAS: addad uz and uz@cyrillic
+
+
+==================== 2.25.3 ====================
+
+2008-12-14 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: updated
+
+==================== 2.25.2 ====================
+
+2008-11-24 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2008-11-12 Erdal Ronahi <erdal.ronahi@gmail.com>
+
+ * ku.po: Updated Kurdish translation
+
+2008-11-09 Goran Rakić <grakic@devbase.net>
+
+ * sr.po, sr@latin.po: Updated Serbian Translation (by Miloš Popović).
+
+2008-10-23 Gil Forcada <gforcada@gnome.org>
+
+ * LINGUAS: Added ast.
+ * ast.po: Added Asturian translation on behalf of Mikel González.
+
+==================== 2.24.1 ====================
+
+2008-10-20 Timo Jyrinki <timo.jyrinki@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2008-10-19 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation.
+
+2008-10-19 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Afif Emad.
+
+2008-10-11 Ihar Hrachyshka <booxter@lacinka.org>
+
+ * be@latin.po: Updated Belarusian Latin translation by Ihar Hračyška.
+
+2008-10-02 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-30 Og Maciel <ogmaciel@gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation by Og Maciel.
+
+2008-09-27 Leonardo Ferreira Fontenelle <leonardof@gnome.org>
+
+ * pt_BR.po: Fixed terminology in Brazilian Portuguese translation by
+ Vladimir Melo.
+
+2008-09-27 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation by David Planella.
+
+2008-09-26 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2008-09-26 Pema Geyleg <pema.geyleg@gmail.com>
+
+ * dz.po: Updated Dzongkha Translation
+
+2008-09-25 Jovan Naumovski <jovan@lugola.net>
+
+ * mk.po: Updated Macedonian translation.
+
+2008-09-25 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+==================== 2.24.0 ====================
+
+2008-09-22 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-22 Timo Jyrinki <timo.jyrinki@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2008-09-22 Kenneth Nielsen <k.nielsen81@gmail.com>
+
+ * da.po: Updated Danish translation by Mads P. Rommedahl
+
+2008-09-22 Mugurel Tudor <mugurelu@gnome.ro>
+
+ * ro.po: Updated Romanian translation by
+ Mişu Moldovan <dumol@gnome.ro>
+
+2008-09-21 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-21 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Afif Emad.
+
+2008-09-20 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek Translation.
+
+2008-09-19 Shankar Prasad <svenkate@redhat.com>
+
+ * kn.po: Updated Kannada translation.
+
+2008-09-18 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation.
+
+2008-09-19 Runa Bhattacharjee <runab@redhat.com>
+
+ * bn_IN.po: Updated Bengali India Translation
+
+2008-09-18 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2008-09-18 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-09-18 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation by David Planella.
+
+2008-09-17 I. Felix <ifelix@redhat.com>
+
+ * ta.po: Tamil Translation updated
+
+2008-09-16 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-16 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2008-09-15 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-09-15 I. Felix <ifelix@redhat.com>
+
+ * ta.po: Tamil Translation updated by Tirumurthi Vasudevan
+
+2008-09-14 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-09-14 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-14 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2008-09-14 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2008-09-12 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2008-09-11 Sandeep Shedmake <sshedmak@redhat.com>
+
+ * mr.po: Updated Marathi Translations
+
+2008-09-10 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-09-10 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-09-09 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation.
+
+2008-09-09 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2008-09-09 Robert Sedak <robert.sedak@sk.t-com.hr>
+
+ * hr.po: Updated Croatian translation.
+
+2008-09-09 Baris Cicek <baris@teamforce.name.tr>
+
+ * tr.po: Updated Turkish translation
+
+2008-09-08 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-09-08 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2008-09-07 Praveen Arimbrathodiyil <pravi.a@gmail.com>
+
+ * ml.po: Updated Malayalam translation.
+
+2008-09-08 Petr Kovar <pknbe@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2008-09-07 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2008-09-07 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Updated Dutch translation by Wouter Bolsterlee.
+
+2008-09-07 Funda Wang <fundawang@gmail.com>
+
+ * zh_CN.po: Updated zh_CN translation.
+
+2008-09-07 Funda Wang <fundawang@gmail.com>
+
+ * zh_CN.po: Updated zh_CN translation.
+
+2008-09-06 Philip Withnall <philip@tecnocode.co.uk>
+
+ * en_GB.po: Updated British English translation.
+
+2008-09-06 Leonardo Ferreira Fontenelle <leonardof@gnome.org>
+
+ * pt_BR.po: Brazilian Portuguese translation updated by Djavan
+ Fagundes and Leonardo Ferreira Fontenelle.
+
+2008-09-06 Seán de Búrca <sdeburca@svn.gnome.org>
+
+ * ga.po: Updated Irish translation.
+
+2008-09-05 Tomasz Dominikowski <tdominikowski@aviary.pl>
+
+ * pl.po: Updated Polish translation
+
+2008-09-04 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2008-09-04 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2008-09-04 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2008-09-04 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-09-04 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-09-03 Philip Withnall <philip@tecnocode.co.uk>
+
+ * en_GB.po: Fixed plural header for British English translation.
+
+2008-09-03 Philip Withnall <philip@tecnocode.co.uk>
+
+ * en_GB.po: Updated British English translation.
+
+2008-09-02 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation by Robert-André Mauchin.
+
+2008-09-02 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-09-02 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ * vi.po: Updated Vietnamese translation
+
+2008-09-02 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+==================== 2.23.91 ====================
+
+2008-09-01 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-08-31 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-08-31 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2008-08-31 Robert-André Mauchin <zebob.m@pengzone.org>
+
+ * fr.po: Updated French translation.
+
+2008-08-30 Andre Klapper <a9016009@gmx.de>
+
+ * de.po: Updated German translation.
+
+2008-08-30 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-08-30 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2008-08-30 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2008-08-29 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-08-29 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-08-29 Mario Blättermann <mariobl@svn.gnome.org>
+
+ * de.po: Updated German translation.
+
+2008-08-29 Og Maciel <ogmaciel@gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo.
+
+2008-08-28 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2008-08-28 Seán de Búrca <sdeburca@svn.gnome.org>
+
+ * ga.po: Updated Irish translation.
+
+2008-08-28 Petr Kovar <pknbe@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2008-08-27 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-08-27 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2008-08-27 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-08-27 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+
+2008-08-25 Goran Rakic <grakic@devbase.net>
+
+ * LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin.
+
+2008-08-25 Arangel Angov <arangel@linux.net.mk>
+
+ * mk.po: Updated Macedonian translation.
+
+2008-08-24 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ * vi.po: Updated Vietnamese translation
+
+2008-08-22 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2008-08-22 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2008-08-22 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2008-08-21 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-08-19 Og Maciel <ogmaciel@gnome.org>
+
+ * pt_BR.po: Updated translation Vladimir Melo.
+
+2008-08-19 Tomasz Dominikowski <tdominikowski@aviary.pl>
+
+ * pl.po: Updated Polish translation
+
+2008-08-18 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation by Robert-André Mauchin.
+
+2008-08-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Fix a string.
+
+2008-08-17 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-08-16 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-08-16 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-08-15 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-08-15 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2008-08-13 William Jon McCann <jmccann@redhat.com>
+
+ reviewed by: <delete if not using a buddy>
+
+ * POTFILES.in:
+
+2008-08-13 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2008-08-12 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+22008-08-12 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+008-08-12 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ reviewed by: <delete if not using a buddy>
+
+ * POTFILES.in:
+
+2008-08-11 William Jon McCann <jmccann@redhat.com>
+
+ reviewed by: <delete if not using a buddy>
+
+ * POTFILES.in:
+
+2008-08-11 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2008-08-09 Petr Kovar <pknbe@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2008-08-09 Timo Jyrinki <timo.jyrinki@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2008-08-09 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-08-07 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-08-06 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2008-08-06 Praveen Arimbrathodiyil <pravi.a@gmail.com>
+
+ * ml.po: Updated Malayalam Translation by Harivishnu.
+
+2008-08-06 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-08-04 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-08-04 William Jon McCann <jmccann@redhat.com>
+
+ * POTFILES.in: Update file location
+
+2008-08-04 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation
+
+2008-07-29 William Jon McCann <jmccann@redhat.com>
+
+ * POTFILES.in: Fix renamed files.
+
+2008-07-18 William Jon McCann <jmccann@redhat.com>
+
+ * POTFILES.in: Updated files.
+
+2008-06-09 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation by Frédéric Péters and Claude Paroz.
+
+2008-06-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-06-05 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2008-06-05 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+==================== 2.23.3 ====================
+
+2008-06-01 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated by Máté Őry.
+
+2008-05-25 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+2008-05-26 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2008-05-23 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-05-22 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-05-23 Ihar Hrachyshka <booxter@lacinka.org>
+
+ * be@latin.po: Updated Belarusian Latin translation.
+
+2008-05-19 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+==================== 2.23.2.2 ====================
+
+2008-05-14 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+==================== 2.23.2.1 ====================
+
+==================== 2.23.2 ====================
+
+2008-05-11 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-06-03 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2008-05-03 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2008-04-29 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+2008-04-24 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Yavor Doganov <yavor@gnu.org>
+
+==================== 2.23.1.1 ====================
+
+==================== 2.23.1 ====================
+
+2008-04-19 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2008-04-19 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-04-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-04-12 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-04-09 Marcel Telka <marcel@telka.sk>
+
+ * POTFILES.in: Removed missing files.
+
+2008-03-31 Eskild Hustvedt <eskildh@gnome.org>
+
+ * nn.po: Updated Norwegian Nynorsk translation
+
+2008-03-27 Kjartan Maraas <kmaraas@gnome.org>
+
+ * POTFILES.in: Remove some files and add new ones.
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-03-23 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ * vi.po: Update Vietnamese translation
+
+==================== 2.22.0 ====================
+
+2008-03-10 Alexander Nyakhaychyk <nab@mail.by>
+
+ * be.po: Updated Belarusian Translation.
+
+2008-03-09 Kenneth Nielsen <k.nielsen81@gmail.com>
+
+ * da.po: Updated Danish translation
+
+2008-03-09 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek translation
+
+2008-03-09 Marcel Telka <marcel@telka.sk>
+
+ * sk.po: Updated Slovak translation.
+
+2008-03-09 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated
+
+2008-03-09 Vasiliy Faronov <qvvx@yandex.ru>
+
+ * ru.po: Updated Russian translation.
+
+2008-03-07 Maxim Dziumanenko <dziumanenko@gmail.com>
+
+ * Update Ukrainian translation.
+
+==================== 2.21.93 ====================
+
+2008-03-05 Stéphane Raimbault <stephane.raimbault@gmail.com>
+
+ * fr.po: Updated French translation.
+
+2008-03-05 Runa Bhattacharjee <runab@fedoraproject.org>
+
+ * bn_IN.po: Updated Bengali India Translation.
+
+2008-03-03 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-03-03 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-03-03 Rahul Bhalerao <b.rahul.pm@gmail.com>
+
+ * mr.po: Updated Marathi translations from Sandeep Shedmake.
+
+2008-03-02 Philip Withnall <pwithnall@svn.gnome.org>
+
+ * en_GB.po: Updated British English translation.
+
+2008-03-02 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2008-02-28 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2008-02-27 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-02-26 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2008-02-22 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation.
+
+2008-02-22 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation (bug #490774).
+
+2008-02-17 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Translation updated by Wouter Bolsterlee.
+
+2008-02-17 Gil Forcada <gforcada@gnome.org>
+
+ * ca.po: Updated Catalan translation.
+
+2008-02-17 Ihar Hrachyshka <booxter@lacinka.org>
+
+ * be@latin.po: Updated Belarusian Latin translation.
+
+2008-02-14 Pawan Chitrakar <chautari@gmail.com>
+
+ * ne.po: Updated Nepali Translation.
+
+2008-02-13 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+==================== 2.21.91 ====================
+
+2008-02-09 Hendrik Brandt <heb@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2008-02-09 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2008-02-08 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2008-02-07 Artur Flinta <aflinta@svn.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2008-02-06 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2008-02-6 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-02-03 Arangel Angov <arangel@linux.net.mk>
+
+ * mk.po: Updated Macedonian translation.
+
+2008-02-03 Andre Klapper <a9016009@gmx.de>
+
+ * fur.po:
+ * LINGUAS:
+ added Friulian translation on behalf of Massimo Furlani.
+ Fixes bug #513139.
+
+2008-02-02 Baris Cicek <baris@teamforce.name.tr>
+
+ * tr.po: Updated Turkish Translation
+
+2008-02-02 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2008-02-02 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+2008-01-31 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2008-01-28 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+==================== 2.21.90 ====================
+
+2008-01-25 Petr Kovar <pknbe@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2008-01-25 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2008-01-23 Priit Laes <plaes at svn dot gnome dot org>
+
+ * et.po: Translation updated by Ivar Smolin
+
+2008-01-21 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-01-21 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2008-01-21 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2008-01-21 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2008-01-20 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+==================== 2.21.5 ====================
+
+
+2008-01-1 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Fixed terminology in Basque translation.
+
+2008-01-09 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2008-01-05 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2007-12-31 Yannig Marchegay <yannig@marchegay.org>
+
+ * oc.po: Updated Occitan translation.
+
+2007-12-28 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2007-12-21 Seán de Búrca <sdeburca@svn.gnome.org>
+
+ * ga.po: Updated Irish translation.
+
+2007-12-08 Jakub Friedl <jfriedl@suse.cz>
+
+ * cs.po: Czech Translation updated by Petr Kovar.
+
+2007-12-08 Ihar Hrachyshka <booxter@lacinka.org>
+
+ * be@latin.po: Updated Belarusian Latin translation.
+
+2007-12-06 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2007-12-05 Claude Paroz <claude@2xlibre.net>
+
+ * fr.po: Updated French translation.
+
+2007-12-01 Stéphane Raimbault <stephane.raimbault@gmail.com>
+
+ * fr.po: Fixed French translation.
+
+2007-11-25 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * ru.po: Updated Russian translation
+ by Vasiliy Faronov <qvvx@yandex.ru>
+
+2007-11-14 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2007-11-14 Matej Urbančič <mateju@svn.gnome.org>
+
+ * sl.po: Updated Slovenian translation.
+
+2007-11-13 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+2007-11-13 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2007-11-13 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: add new file
+
+2007-10-23 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Husseini.
+
+2007-10-22 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated
+
+2007-10-21 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Husseini.
+
+2007-10-21 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Husseini.
+
+2007-10-15 Matej Urbančič <mateju@svn.gnome.org>
+
+ * sl.po: Updated Slovenian translation.
+
+2007-10-15 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+==================== 2.20.1 ====================
+
+2007-10-08 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2007-09-29 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2007-09-22 Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
+
+ * be@latin.po: Added Belarusian Latin translation.
+ * LINGUAS: Added be@latin.
+
+2007-09-17 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+==================== 2.20.0 ====================
+
+2007-09-16 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * ru.po: Updated Russian translation.
+
+2007-09-15 Andre Klapper <a9016009@gmx.de>
+
+ * sk.po: Updated Slovak translation on behalf of Peter Tuharsky
+ <tuharsky@misbb.sk>.
+
+2007-09-14 Gil Forcada <gforcada@svn.gnome.org>
+
+ * ca.po: Update catalan translation.
+
+2007-09-13 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Anas Husseini.
+
+2007-09-13 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek Translation
+
+2007-09-12 Maxim Dziumanenko <dziumanenko@gmail.com>
+
+ * Update Ukrainian translation.
+
+2007-09-12 Danilo Šegan <danilo@gnome.org>
+
+ * sr.po, sr@Latn.po: Minor updated to Serbian translation.
+
+2007-09-12 Goran Rakić <grakic@devbase.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation.
+
+2007-09-09 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2007-09-09 Kenneth Nielsen <k.nielsen81@gmail.com>
+
+ * da.po: Updated Danish translation
+
+2007-09-08 Artur Flinta <aflinta@svn.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2007-09-06 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2007-09-06 Stéphane Raimbault <stephane.raimbault@gmail.com>
+
+ * fr.po: Updated French translation by Jonathan Ernst and Stéphane
+ Raimbault.
+
+==================== 2.19.92 ====================
+
+2007-09-03 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2007-09-03 Nikos Charonitakis <nikosx@gmail.com>
+
+ * el.po: Updated Greek translation.
+
+2007-08-16 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Estonian translation update by Ivar Smolin.
+
+2007-08-15 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2007-08-15 Žygimantas Beručka <zygis@gnome.org>
+
+ * lt.po: Updated Lithuanian translation.
+
+2007-08-14 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation, by
+ Andre Klapper <ak-47@gmx.net>
+
+==================== 2.19.90 ====================
+
+2007-08-13 I. Felix <ifelix@svn.gnome.org>
+
+ * ta.po: Tamil Translation updated by Tirumurthi Vasudevan
+
+2007-08-12 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
+
+ * pt_BR.po: Brazilian Portuguese translation updated by Vladimir Melo
+ <vladimirmelo@foresightlinux.org>.
+
+2007-08-12 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation, by
+ Andre Klapper <ak-47@gmx.net>
+
+2007-08-12 Jovan Naumovski <jovan@lugola.net>
+
+ * mk.po: Updated Macedonian translation.
+
+2007-08-06 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2007-08-04 Inaki Larranaga Murgoitio <dooteo@zundan.com>
+
+ * eu.po: Updated Basque translation
+
+==================== 2.19.6 ====================
+
+2007-07-26 Funda Wang <fundawang@gmail.com>
+
+ * zh_CN.po: Updated Simplified Chinese translation
+
+2007-07-23 Sunil Mohan Adapa <sunil@atc.tcs.com>
+
+ * te.po: Updated Telugu translation done by
+ Bharat Kumar <jonnalagaddabharat@gmail.com>.
+
+2007-07-17 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Dutch translation updated by Wouter Bolsterlee.
+
+2007-07-16 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2007-07-16 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2007-07-15 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+==================== 2.19.5 ====================
+
+2007-07-02 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ * vi.po: Updated Vietnamese translation.
+
+2007-06-29 Artur Flinta <aflinta@svn.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2007-06-29 Sunil Mohan Adapa <sunil@atc.tcs.com>
+
+ * te.po: Added Telugu translation done by
+ Pavan Kumar <pavanpreetam@gmail.com>.
+
+2007-06-27 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2007-06-22 I. Felix <ifelix@svn.gnome.org>
+
+ * si.po: Sinhala Translation updated by Danishka Navin
+ * LINGUAS: Added Sinhala (si) to The List of Languages.
+
+==================== 2.19.4 ====================
+
+2007-06-13 Pema Geyleg <pema.geyleg@gmail.com>
+
+ * dz.po: Updated dzongkha translation.
+
+==================== 2.19.3 ====================
+
+2007-05-30 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+2007-05-29 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Update the norwegian bokmål translation.
+
+2007-05-18 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2007-05-15 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated British English translation
+
+2007-05-14 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2007-05-13 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es.po: Updated Spanish translation
+
+==================== 2.19.2 ====================
+
+2007-05-13 Kjartan Maraas <kmaraas@gnome.org>
+
+ * POTFILES.in: Fix names.
+ * nb.po: Updated Norwegian bokmål translation.
+
+2007-05-09 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: updated
+
+2007-04-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2007-04-22 Funda Wang <fundawang@gmail.com>
+
+ * zh_CN.po: Updated Simplified Chinese translation from
+ Yang Zhang.
+
+2007-04-22 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew ranslaion
+
+2007-04-15 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * oc.po: Added Occitan translation from
+ Yannig MARCHEGAY (Kokoyaya) <yannig@marchegay>.
+ * LINGUAS: Added "oc".
+
+2007-04-04 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation
+
+2007-03-31 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2007-03-30 Peter Bach <bach.peter@gmail.com>
+
+ * da.po: Updated Danish translation.
+
+2007-03-29 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+2007-03-25 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
+
+ * es.po: Updated Spanish translation by Jorge González.
+
+2007-03-25 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+==================== 2.18.0 ====================
+
+2007-03-12 Goran Rakić <grakic@devbase.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation.
+
+2007-03-10 Pema Geyleg <pema.geyleg@gmail.com>
+
+ * dz.po: Updated Dzongkha Translation.
+
+2007-03-09 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2007-03-08 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2007-03-07 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2007-03-07 Artur Flinta <aflinta@svn.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2007-03-06 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
+
+ * pt_BR.po: Fix in Brazilian Portuguese translation.
+
+2007-03-05 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation by Elian Myftiu
+ <elian@alblinux.net>.
+
+2007-03-05 Jovan Naumovski <jovan@lugola.net>
+
+ * mk.po: Updated Macedonian translation.
+
+2007-03-04 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Fixed a typo.
+
+2007-03-04 Erdal Ronahi <erdal.ronahi@gmail.com>
+
+ * ku.po: Updated Kurdish translation
+
+2007-03-04 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2007-03-04 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2007-03-01 Maxim Dziumanenko <dziumanenko@gmail.com>
+
+ * uk.po: Update Ukrainian translation.
+
+2007-02-27 Abel Cheung <abelcheung@gmail.com>
+
+ * zh_HK.po, zh_TW.po: Updated traditional Chinese translation by
+ Woodman Tuen <wmtuen@gmail.com>.
+
+2007-02-27 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2007-02-26 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.skip: updated
+
+==================== 2.17.92 ====================
+
+2007-02-25 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+2007-02-24 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2007-02-23 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2007-02-22 Abel Cheung <abelcheung@gmail.com>
+
+ * zh_CN.po: Updated simplified Chinese translation on behalf of
+ Funda Wang.
+
+2007-02-21 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Dutch translation updated by Wouter Bolsterlee.
+
+2007-02-21 Maxim Dziumanenko <dziumanenko@gmail.com>
+
+ * uk.po: Update Ukrainian translation.
+
+2007-02-21 Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com>
+
+ * ca.po: Updated Catalan translation.
+
+2007-02-20 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2007-02-15 Hendrik Brandt <heb@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2007-02-14 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2007-02-14 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+==================== 2.17.91 ====================
+
+2007-02-12 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2007-02-09 Lasse Bang Mikkelsen <lbm@fatalerror.dk>
+
+ * da.po: Updated Danish translation.
+
+2007-02-8 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2007-02-04 Stéphane Raimbault <stephane.raimbault@gmail.com>
+
+ * fr.po: Updated French translation by Robert-André Mauchin and
+ Claure Paroz.
+
+2007-02-04 Raphael Higino <raphaelh@svn.gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation by Og Maciel <ogmaciel@ubuntu.com>.
+
+2007-02-04 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation by Young-Ho Cha.
+
+2007-02-03 Ihar Hrachyshka <iharh@gnome.org>
+
+ * be.po: Updated Belarusian translation.
+
+2007-01-30 Wouter Bolsterlee <wbolster@svn.gnome.org>
+
+ * nl.po: Updated Dutch Translation by Wouter Bolsterlee.
+
+2007-01-28 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ * vi.po: Updated Vietnamese translation.
+
+2007-01-27 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+2007-01-24 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+2007-01-24 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2007-01-23 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated English (British) translation
+
+2007-01-23 Priit Laes <plaes@svn.gnome.org>
+
+ * et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
+
+==================== 2.17.90.1 ====================
+
+==================== 2.17.90 ====================
+
+2007-01-17 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: updated since files were moved
+
+2007-01-17 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2007-01-13 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2007-01-12 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+ * POTFILES.in: Added missing files.
+
+2007-01-11 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation.
+
+2006-01-11 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2007-01-09 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2007-01-09 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated English (British) translation
+
+==================== 2.17.5 ====================
+
+2007-01-08 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: remove killed file
+ * POTFILES.skip: add file
+
+2007-01-06 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2007-01-3 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation by Khaled Hosny.
+
+2007-01-01 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated English (British) translation
+
+2006-12-27 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation.
+
+2006-12-24 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation.
+
+2006-12-24 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2006-12-22 Raivis Dejus <orvils@gmail.com>
+
+ * lv.po: Updated Latvian Translation.
+
+2006-12-22 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-12-20 Ales Nyakhaychyk <nab@mail.by>
+
+ * be.po: Updated Belarusian Translation by Ihar Hrachyshka.
+
+2006-12-20 Mugurel Tudor <mugurelu@gnome.ro>
+
+ * ro.po: Updated Romanian translation by
+ Eddy Petrișor <eddy.petrisor@gmail.com>
+
+2006-12-18 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation.
+
+2006-12-14 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2006-12-11 Francisco Javier F. Serrador <serrador@openshine.com>
+
+ * es.po: Updated Spanish translation.
+
+2006-12-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+==================== 2.17.3 ===================
+
+2006-11-19 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2006-11-13 Vincent Untz <vuntz@gnome.org>
+
+ * POTFILES.in: add missing files
+
+==================== 2.17.2 ====================
+
+2006-10-30 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po Updated Arabic Translation.
+
+2006-10-25 Åsmund Skjæveland <aasmunds@fys.uio.no>
+
+ * nn.po: Updated Norwegian Nynorsk translation.
+
+2006-10-15 Francisco Javier F. Serrador <serrador@openshine.com>
+
+ * eo.po: Updated Esperanto translation by Guillaume Savaton.
+
+2006-10-09 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+==================== 2.16.1 ====================
+
+2006-09-27 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2006-09-10 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated English (British) translation.
+
+2006-09-09 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2006-09-05 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-09-04 Vincent Untz <vuntz@gnome.org>
+
+ * .cvsignore: updated
+
+==================== 2.16.0 ====================
+
+2006-09-02 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * ru.po: Updated Russian translation.
+
+2006-09-02 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek Translation
+
+2006-09-01 I. Felix <ifelix25@gmail.com>
+
+ * ta.po: Updated Tamil Translation.
+
+2006-08-31 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated.
+
+2006-08-31 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2006-08-30 Rajesh Ranjan <rajeshkajha@yahoo.com>
+
+ * hi.po: Updated Hindi Translation.
+
+2006-08-29 Gintautas Miliauskas <gintas@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2006-08-26 Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com>
+
+ * ca.po: Updated Catalan translation.
+
+2006-08-25 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation from
+ Jonathan Ernst <jonathan@ernstfamily.ch>.
+
+2006-08-24 Raivis Dejus <orvils@gmail.com>
+
+ * lv.po: Updated Latvian translation.
+
+2006-08-23 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+==================== 2.15.92 ====================
+
+2006-08-21 Maxim Dziumanenko <dziumanenko@gmail.com>
+
+ * uk.po: Update Ukrainian translation.
+
+2006-08-19 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2006-08-18 Funda Wang <fundawang@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation.
+
+2006-08-17 Matic Žgur <mr.zgur@gmail.com>
+
+ * sl.po: Updated Slovenian translation.
+
+2006-08-17 Artur Flinta <aflinta@cvs.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2006-08-16 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2006-08-16 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Translation updated by Mate ORY.
+
+2006-08-14 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2006-08-12 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2006-08-12 Jamil Ahmed <itsjamil@gmail.com>
+
+ * bn.po: Updated Bengali Translation.
+
+2006-08-10 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * dz.po: Updated Dzongkha translation by
+ Dzongkhalinux team, DIT
+
+2006-08-09 Satoru SATOH <ss@gnome.gr.jp>
+
+ * ja.po: Updated Japanese Translation.
+
+==================== 2.15.92 ====================
+
+2006-08-07 Ani Peter <peter.ani@gmail.com>
+
+ * ml.po: Updated Malayalam translation
+
+2006-08-07 Runa Bhattacharjee <runabh@gmail.com>
+
+ * bn_IN.po: Updated Bengali India Translation.
+
+2006-08-07 Inaki Larranaga <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2006-08-05 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+
+2006-08-05 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2006-08-04 Thierry Randrianiriana <randrianiriana@gmail.com>
+
+ * mg.po: Added Malagasy translation.
+ * LINGUAS: Added Malagasy 'mg'.
+
+2006-08-04 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2006-08-03 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+
+2006-08-02 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation, by
+ Jochen Skulj <jochen@jochenskulj.de>
+
+2006-08-01 Jovan Naumovski <jovan@lugola.net>
+
+ * mk.po: Updated Macedonian translation.
+
+2006-07-29 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2006-07-28 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2006-07-27 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2006-07-26 Francisco Javier F. Serrador <serrador@openshine.com>
+
+ * es.po: Updated Spanish translation.
+
+2006-07-25 Subhransu Behera <arya_subhransu@yahoo.co.in>
+
+ * or.po: Updated Oriya Translation.
+
+==================== 2.15.90 ====================
+
+2006-07-24 Subhransu Behera <arya_subhransu@yahoo.co.in>
+
+ * or.po: Updated Oriya Translation.
+
+2006-07-24 Subhransu Behera <arya_subhransu@yahoo.co.in>
+
+ * LINGUAS: Added Oriya (or) to the List of Languages.
+ * or.po: File Added for Oriya Translation.
+
+==================== 2.15.4 ====================
+
+2006-07-09 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2006-07-07 Swapnil Hajare <dreamil@gmail.com>
+
+ * mr.po: Updated Marathi translation.
+
+2006-07-03 Runa Bhattacharjee <runabh@gmail.com>
+
+ * bn_IN.po: Added Bengali India Translation
+ * LINGUAS: Added Bengali India (bn_IN) to the list of languages.
+
+2006-07-01 Benoît Dejean <benoit@placenet.org>
+
+ * fr.po: Updated French translation.
+
+2006-06-08 Gora Mohanty <gmohanty@cvs.gnome.org>
+
+ * eo.po: Updated Esperanto translation by Guillaume Savaton
+ <gsavaton@hotmail.com>
+
+==================== 2.15.1 ====================
+
+==================== 2.14.1 ====================
+
+2006-04-14 Pema Geyleg <pema.geyleg@gmail.com>
+
+ * dz.po: Updated Dzongkha translation.
+
+2006-04-09 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po Updated Greek Translation
+
+2006-04-04 Benoît Dejean <benoit@placenet.org>
+
+ * fr.po: Updated French translation.
+
+2006-03-27 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2006-03-24 Tommi Vainikainen <thv@iki.fi>
+
+ * dz.po: Added Dzongkha translation from Pema Geyleg.
+
+2006-03-17 Ales Nyakhaychyk <nab@mail.by>
+
+ * be.po: Updated Belarusian translation.
+
+==================== 2.14.0 ====================
+
+2006-03-27 Yair Hershkovitz <yairhr@gmail.com>
+
+ * he.po: Updated Hebrew translation.
+
+2006-03-12 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation by Petr Tomeš.
+
+2006-03-12 Roozbeh Pournader <roozbeh@farsiweb.info>
+
+ * fa.po: Updated Persian translation by Meelad Zakaria and
+ Elnaz Sarbar.
+
+2006-03-11 Priit Laes <amd@store20.com>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-03-10 Mugurel Tudor <mugurelu@gnome.ro>
+
+ * ro.po: Updated Romanian translation by
+ Sebastian Ivan <sebastian.ivan@gmail.com>
+
+2006-03-08 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2006-03-06 Daniel Nylander <po@danielnylander.se>
+
+ * sv.po: Updated Swedish translation.
+
+2006-03-03 Maxim Dziumanenko <mvd@mylinux.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2006-03-02 Hendrik Richter <hendrikr@gnome.org>
+
+ * de.po: Updated German translation.
+
+2006-03-02 Rhys Jones <rhys@sucs.org>
+
+ * cy.po: Updated Welsh translation.
+
+2006-02-28 Clytie Siddall <clytie@riverland.net.au>
+
+ * lv.po: Updated Latvian translation by Raivis Dejus <orvils@gmail.com>.
+
+==================== 2.13.92 ====================
+
+2006-02-27 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2006-02-26 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2006-02-25 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_TW.po: Updated Traditional Chinese translation(Taiwan).
+ * zh_HK.po: Added Traditional Chinese translation(Hong Kong).
+
+2006-02-23 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2006-02-23 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po Updated Greek Translation
+
+2006-02-23 Clytie Siddall <clytie@riverland.net.au>
+
+ * ka.po: Added Georgian translation by Vladimer Sichinava <alinux@siena.linux.it>.
+
+2006-02-23 Žygimantas Beručka <zygis@gnome.org>
+
+ * lt.po: Updated Lithuanian translation.
+
+2006-02-22 Inaki Larranaga <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2006-02-19 Takeshi AIHANA <takeshi.aihana@gmail.com>
+
+ * ja.po: Updated Japanese translation.
+
+2006-02-18 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2006-02-15 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Hungarian translation updated by Mate ORY.
+
+2006-02-15 Priit Laes <amd@store20.com>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+==================== 2.13.91 ====================
+
+2006-02-13 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2006-02-10 Funda Wang <fundawang@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation.
+
+2006-02-07 Priit Laes <amd@store20.com>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-02-05 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2006-01-31 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-01-30 Slobodan D. Sredojevic <slobo@akrep.be>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation
+
+==================== 2.13.90 ====================
+
+2006-01-27 Marcel Telka <marcel@telka.sk>
+
+ * sk.po: Updated Slovak translation.
+
+2006-01-27 Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com>
+
+ * ca.po: Updated Catalan translation.
+
+2006-01-26 Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2006-01-24 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2006-01-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Updated Norwegian bokmål translation.
+ * no.po: Same.
+
+2006-01-22 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Vladimir Petkov <vpetkov@i-space.org>
+
+2006-01-22 Luca Ferretti <elle.uca@libero.it>
+
+ * it.po: Updated Italian translation.
+
+2006-01-21 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2006-01-19 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2006-01-19 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2006-01-18 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2006-01-08 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation
+
+2006-01-17 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician Translation.
+
+2006-01-17 Øivind Hoel <ohoel@cvs.gnome.org>
+
+ * nb.po: Updated Norwegian Bokmål translation.
+
+2006-01-17 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2006-01-17 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+==================== 2.13.5 ====================
+
+==================== 2.13.4 ====================
+
+2005-12-25 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2005-12-08 Nikos Charonitakis <charosn@her.forthnet.gr>
+
+ * el.po: Updated Greek translation fix http://bugzilla.gnome.org/show_bug.cgi?id=323356.
+
+2005-11-07 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2005-10-21 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2005-10-01 Runa Bhattacharjee <runa@bengalinux.org>
+
+ * bn.po: Updated Bengali (bn) translation. Translation
+ by Khandakar Mujahidul Islam <suzan@bengalinux.org>
+
+2005-09-24 Erdal Ronahi <erdal.ronahi@gmail.com>
+
+ * ku.po: Added new Kurdish translation
+
+2005-02-21 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2005-09-16 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2005-09-07 Inaki Larranaga <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+==================== 2.12.0 ====================
+
+2005-09-04 Danilo Šegan <danilo@gnome.org>
+
+ * hy.po: Updated Armenian translation by Norayr Chilingaryan
+ <asprayama@yahoo.com>.
+
+2005-09-04 Dan Damian <dand@gnome.ro>
+
+ * ro.po: Updated Romanian translation.
+
+2005-09-01 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2005-09-01 Baris Cicek <baris@teamforce.name.tr>
+
+ * tr.po: Updated Turkish Translation
+
+2005-09-01 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2005-08-29 Telsa Gwynne <hobbit@aloss.ukuu.org.uk>
+
+ * cy.po: Updated Welsh translation.
+
+2005-08-28 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2005-08-28 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation.
+
+2005-08-22 Dan Damian <dand@gnome.ro>
+
+ * ro.po: Updated Romanian translation by Sebastian Ivan.
+
+2005-08-21 Žygimantas Beručka <zygis@gnome.org>
+
+ * lt.po: Updated Lithuanian translation.
+
+2005-08-16 Maxim Dziumanenko <mvd@mylinux.ua>
+
+ * uk.po: Updated Ukrainian translation
+
+2005-08-15 Gabor Kelemen <kelemeng@gnome.hu>
+
+ * hu.po: Hungarian translation updated.
+
+2005-08-14 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2005-08-12 Mohammad DAMT <mdamt@gnome.org>
+
+ * id.po: Updated Indonesian translation.
+
+==================== 2.11.91 ====================
+
+2005-08-09 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
+
+ * zh_TW.po: Updated Traditional Chinese translation.
+
+2005-07-31 Funda Wang <fundawang@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation.
+
+2005-07-28 Artur Flinta <aflinta@cvs.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+==================== 2.11.90 ====================
+
+2005-07-26 Hendrik Brandt <heb@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2005-07-24 Ilkka Tuohela <hile@iki.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2005-07-21 Clytie Siddall <clytie@riverland.net.au>
+
+ * vi.po: Updated Vietnamese translation.
+
+2005-07-12 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2005-07-10 Danilo Šegan <danilo@gnome.org>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation.
+
+2005-07-06 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2005-07-04 Hendrik Richter <hendi@gnome-de.org>
+
+ * de.po: Fixed German translation by
+ Jens Seidel <jensseidel@users.sf.net>.
+
+2005-06-22 Abel Cheung <maddog@linuxhall.org>
+
+ * zh_TW.po: Fix language team reference.
+
+2005-06-21 Marcel Telka <marcel@telka.sk>
+
+ * sk.po: Updated Slovak translation.
+
+2005-06-13 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2005-06-12 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
+
+ * gl.po: Updated Galician translation.
+
+2005-06-10 Martin Willemoes Hansen <mwh@sysrq.dk>
+
+ * da.po: Updated Danish translation.
+
+2005-06-08 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Rostislav Raykov <zbrox@i-space.org>
+
+2005-06-06 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2005-06-01 Christian Rose <menthos@menthos.com>
+
+ * hy.po: Added Armenian translation by
+ Norayr Chilingaryan <asprayama@yahoo.com>.
+
+2005-05-29 Pawan Chitrakar <pawan@nplinux.org>
+
+ * ne.po: Nepali Translation updated
+
+2005-05-25 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Update
+ * no.po: Update
+
+2005-05-18 Takeshi AIHANA <aihana@gnome.gr.jp>
+
+ * ja.po: Updated Japanese translation.
+
+==================== 2.11.1 ====================
+
+2005-05-11 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po Updated Greek Translation
+
+2005-05-05 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2005-05-04 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated.
+
+2005-05-03 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2005-05-02 Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com>
+
+ * ca.po: Updated Catalan translation.
+
+2005-05-01 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2005-04-30 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2005-04-28 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek translation
+
+2005-04-27 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2005-04-27 Raphael Higino <raphaelh@cvs.gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2005-04-06 Roozbeh Pournader <roozbeh@farsiweb.info>
+
+ * fa.po: Updated Persian translation by
+ Elnaz Sarbar <elnaz@farsiweb.info>.
+
+2005-04-01 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * wa.po: updated Walloon file
+
+2005-03-31 Steve Murphy <murf@e-tools.com>
+
+ * rw.po: Added Kinyarwanda translation.
+
+2005-03-18 Hendrik Brandt <heb@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2005-03-17 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2005-03-08 Baris Cicek <baris@teamforce.name.tr>
+
+ * tr.po: Updated Turkish Translation
+
+==================== 2.10.0 ====================
+
+2005-03-07 Abel Cheung <maddog@linuxhall.org>
+
+ * zh_TW.po: Updated traditional Chinese translation from GNOME HK Team
+
+2005-03-06 Danilo Šegan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn: Updated Serbian translation.
+
+2005-03-04 Laszlo Dvornik <dvornik@gnome.hu>
+
+ * hu.po: Hungarian translation updated by Gabor Kelemen.
+
+2005-03-04 Žygimantas Beručka <uid0@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2005-03-03 Adi Attar <aattar@cvs.gnome.org>
+
+ * xh.po: Added Xhosa translation
+
+2005-03-03 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Fixed Russian translation
+
+2005-03-03 Takeshi AIHANA <aihana@jcom.home.ne.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2005-03-03 Dan Damian <dand@gnome.ro>
+
+ * ro.po: Updated Romanian translation.
+
+2005-02-27 Alessio Frusciante <algol@firenze.linux.it>
+
+ * it.po: Updated Italian translation by
+ Luca Ferretti <elle.uca@infinito.it>.
+
+2005-02-25 Artur Flinta <aflinta@cvs.gnome.org>
+
+ * pl.po: Updated Polish translation by GNOME PL Team.
+
+2005-02-23 Ankit Patel <ankit644@yahoo.com>
+
+ * gu.po: Updated Gujarati Translation.
+
+2005-02-23 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation (minor refinement).
+
+2005-02-21 Martin Willemoes Hansen <mwh@sysrq.dk>
+
+ * da.po: Updated Danish translation.
+
+2005-02-21 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation.
+
+2005-02-20 Raphael Higino <raphaelh@cvs.gnome.org>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2005-02-19 Maxim Dziumanenko <mvd@mylinux.com.ua>
+
+ * uk.po: Updated Ukrainian translation
+
+2005-02-18 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek translation.
+
+2005-02-17 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Tino Meinen.
+
+2005-02-16 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <ash@contact.bg>
+
+2005-02-16 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2005-02-15 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2005-02-13 David Lodge <dave@cirt.net>
+
+ * en_GB.po: Updated British translation.
+
+2005-02-11 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2005-02-11 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: Updated Russian translation
+
+2005-02-11 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2005-02-06 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2005-02-04 Gil Osher <dolfin@rpg.org.il>
+
+ * he.po: Updated Hebrew translation.
+
+2005-02-02 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated by Ivar Smolin.
+
+2005-02-02 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2005-02-02 Frank Arnold <farnold@cvs.gnome.org>
+
+ * de.po: Updated German translation.
+
+2005-01-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Update
+ * no.po: Update
+
+2005-01-28 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2005-01-27 Žygimantas Beručka <uid0@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2005-01-27 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2005-01-26 Marcel Telka <marcel@telka.sk>
+
+ * sk.po: Updated Slovak translation.
+
+2005-01-26 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2005-01-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2005-01-26 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2005-01-23 Funda Wang <fundawang@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation.
+
+2005-01-22 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * th.po: Updated Thai translation.
+
+2005-01-21 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nn.po: Update and remove a load of obsolete messages.
+
+2005-01-20 Frank Arnold <farnold@cvs.gnome.org>
+
+ * de.po: Updated German translation.
+
+2005-01-19 Marcel Telka <marcel@telka.sk>
+
+ * sk.po: Updated Slovak translation.
+
+2005-01-16 Alexander Winston <alexander.winston@comcast.net>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2005-01-15 Takeshi AIHANA <aihana@gnome.gr.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2005-01-15 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+==================== 2.9.4 ====================
+
+2005-01-04 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2004-12-29 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+ * es.po: Updated Spanish translation.
+
+2004-12-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Update
+ * no.po: Update
+
+2004-12-27 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2004-12-25 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2004-12-22 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2004-12-22 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2004-12-15 Jordi Mallach <jordi@sindominio.net>
+
+ * ca,po: Updated Catalan translation.
+
+2004-12-03 Dwayne Bailey <dwayne@translate.org.za>
+
+ * zu.po: Corrections to Zuul translation.
+
+2004-12-02 Dwayne Bailey <dwayne@translate.org.za>
+
+ * zu.po: Added Zulu translation by
+ Zuza Software Foundation <info@translate.org.za>.
+
+==================== 2.9.2 ====================
+
+2004-11-30 Dwayne Bailey <dwayne@translate.org.za>
+
+ * nso.po: Updated Northern Sotho translation.
+
+2004-11-29 Christoffer Olsen <co@deworks.net>
+
+ * POTFILES.in: Changed gnome-session/*.desktop.in
+ to *.desktop.in.in
+
+2004-11-27 Dwayne Bailey <dwayne@translate.org.za>
+
+ * nso.po: Added Northern Sotho translation by
+ Zuza Software Foundation <info@translate.org.za>.
+
+2004-11-23 Martin Willemoes Hansen <mwh@sysrq.dk>
+
+ * da.po: Updated Danish translation.
+
+==================== 2.8.1 ====================
+
+2004-10-06 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2004-09-25 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+==================== 2.8.0 ====================
+
+2004-09-13 Jesus Bravo Alvarez <suso@trasno.net>
+
+ * gl.po: Updated Galician translation.
+
+2004-09-12 Laszlo Dvornik <dvornik@gnome.hu>
+
+ * hu.po: Updated Hungarian translation by Gabor Kelemen.
+
+2004-09-09 Priit Laes <plaes@cvs.gnome.org>
+
+ * et.po: Translation updated.
+
+2004-09-08 Adam Weinberger <adamw@gnome.org>
+
+ * en_CA.po: Updated Canadian English translation.
+
+2004-09-04 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+==================== 2.7.92 ====================
+
+2004-08-21 Maxim Dziumanenko <mvd@mylinux.com.ua>
+
+ * uk.po: Updated Ukrainian translation
+
+2004-08-20 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2004-08-18 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2004-08-16 Christian Rose <menthos@menthos.com>
+
+ * bs.po: Updated Bosnian translation by
+ Kemal Sanjta <gomez@lugzdk.ba>.
+
+2004-08-16 Kjartan Maraas <kmaraas@gnome.org>
+
+ * nb.po: Add this.
+
+==================== 2.7.91 ====================
+
+2004-08-13 Tommi Vainikainen <thv@iki.fi>
+
+ * fi.po: Unified some fields in po headers for Finnish team.
+
+2004-08-08 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2004-08-04 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Vladimir "Kaladan" Petkov <vpetkov@i-space.org>
+
+==================== 2.7.5 ======================
+
+2004-07-30 Kartik Mistry <kartik_m@magnet-i.com>
+
+ * gu.po: Gujarati translation updated
+
+==================== 2.7.4 =====================
+
+2004-07-12 Pawan Chitrakar <pawan@nplinux.org>
+
+ * ne.po: Nepali Translation Added
+
+==================== 2.7.3 ====================
+
+2004-06-28 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Translation updated.
+
+2004-06-24 Gustavo Noronha Silva <kov@debian.org>
+
+ * pt_BR.po: fixed acellerator issue for 'current
+ session' page of gnome-session-properties.
+
+2004-05-31 Dinesh Nadarajah <dinesh_list@sbcglobal.net>
+
+ * ta.po: Updated Tamil Translation.
+
+==================== 2.7.1 ====================
+
+2004-05-03 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated.
+
+2004-05-03 Žygimantas Beručka <uid0@akl.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+==================== 2.6.1 ====================
+
+2004-04-15 Iñaki Larrañaga <dooteo@euskalgnu.org>
+
+ * eu.po: Updated Basque translation.
+
+2004-04-09 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * gu.po: Added Gujurati translation by
+ Gujarati Team <magnet@magnet-i.com>.
+
+2004-04-09 John C Barstow <jbowtie@amathaine.com>
+
+ * mi.po: Added Maori translation.
+
+2004-03-31 Christian Rose <menthos@menthos.com>
+
+ * af.po: Added Afrikaans translation by
+ Zuza Software Foundation <info@translate.org.za>.
+
+==================== 2.6.0 ====================
+
+2004-03-21 Mugurel Tudor <mugurelu@go.ro>
+
+ * ro.po: Updated Romanian translation by
+ Mişu Moldovan <dumol@go.ro>
+
+2004-03-19 Gareth Owen <gowen72@yahoo.com>
+
+ * en_GB.po: Updated British translation
+
+2004-03-18 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * mr.po: Added Marathi translation by
+ Indictrans team <indictrans@fastmail.fm>.
+
+2004-03-16 Leonid Kanter <leon@asplinux.ru>
+
+ * ru.po: small fixes
+
+2004-03-15 Alexander Winston <alexander.winston@comcast.net>
+
+ * en_CA.po: Added Canadian English translation.
+
+==================== 2.5.92 ====================
+
+2004-03-13 Maxim Dziumanenko <mvd@mylinux.com.ua>
+
+ * uk.po: Updated Ukrainian translation
+
+2004-03-13 Alexander Shopov <ash@contact.bg>
+
+ * bg.po: Updated Bulgarian translation by
+ Vladimir "Kaladan" Petkov <vpetkov@i-space.org>
+ Peter "Peshka" Slavov <pslavov@i-space.org>
+
+2004-03-10 Dinesh Nadarajah <dinesh_list@sbcglobal.net>
+
+ * ta.po: Updated Tamil translation
+
+==================== 2.5.91 ====================
+
+2004-03-06 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * th.po: Updated Thai translation by
+ Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+2004-03-06 Mətin Əmirov <metin@karegen.com>
+
+ * az.po: Translation updated.
+
+2004-03-06 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2004-03-04 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * pa.po: Added Punjabi translation by
+ Amanpreet Singh Alam <amanlinux@netscape.net>.
+
+2004-03-02 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * th.po: Updated Thai translation.
+
+2004-02-25 Alessio Frusciante <algol@firenze.linux.it>
+
+ * it.po: Updated Italian translation by
+ Luca Ferretti <elle.uca@infinito.it>.
+
+==================== 2.5.90 ====================
+
+2004-02-20 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Fixed Albanian translation.
+
+2003-02-17 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * th.po: Updated Thai translation.
+
+==================== 2.5.5 ====================
+
+2004-02-07 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2004-02-06 Robert Sedak <robert.sedak@sk.htnet.hr>
+
+ * hr.po: Updated Croatian translation.
+
+2004-02-05 Maxim Dziumanenko <mvd@mylinux.com.ua>
+
+ * uk.po: Updated Ukrainian translation
+
+==================== 2.5.4 ====================
+
+2004-02-01 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2004-01-31 Mətin Əmirov <metin@karegen.com>
+
+ * az.po: Translation updated.
+
+2004-01-29 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2004-01-28 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Fixed Czech translation.
+
+2004-01-21 Vincent van Adrighem <adrighem@gnome.org>
+
+ * nl.po: Translation updated by Kees van den Broek.
+
+2004-01-16 Mark McLoughlin <mark@skynet.ie>
+
+ Patch from "The Written Word" (don't ask me) in
+ bug #131610.
+
+ * POTFILES.in: remove save-session.desktop.in.
+
+2004-01-15 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+==================== 2.5.3 ====================
+
+2004.01.09 Arafat Medini <lumina@silverpen.de>
+
+ * ar.po: Updated Arabic translation
+
+2004-01-08 Paul Duffy <dubhthach@frink.nuigalway.ie>
+
+ * ga.po: Updated irish translation
+
+2004-01-04 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Revised Portuguese translation.
+
+2004-01-02 Sanlig Badral <Badral@openmn.org>
+
+ * mn.po: Updated Mongolian translation.
+
+==================== 2.5.2 ====================
+
+2003-12-05 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * th.po: Updated Thai (th) translation.
+
+2003-11-16 Abel Cheung <maddog@linux.org.hk>
+
+ * POTFILES.in: .schemas.in.in -> .schemas.in
+
+2003-11-12 Kostas Papadimas <pkst@gnome.org>
+
+ * el.po: Updated Greek translation.
+
+==================== 2.5.1 ====================
+
+2003-10-24 Dafydd Harries <daf@parnassus.ath.cx>
+
+ * cy.po: Updated Welsh translation.
+
+2003-10-18 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+==================== 2.4.1 ====================
+
+2003-10-11 Žygimantas Beručka <uid0@tuxfamily.org>
+
+ * lt.po: Updated Lithuanian translation.
+
+2003-09-30 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+ * pt_BR.po: Applied revision by Augusta Marques da Silva
+ <augusta.marques@gmx.net>.
+
+2003-09-27 Åsmund Skjæveland <aasmunds@fys.uio.no>
+
+ * nn.po: Updated Norwegian (nynorsk) translation.
+
+==================== 2.4.0 ====================
+
+2003-09-06 Mugurel Tudor <mugurelu@go.ro>
+
+ * ro.po: Updated Romanian translation by
+ Mişu Moldovan <dumol@go.ro>
+
+2003-09-06 Paisa Seeluangsawat <paisa@users.sf.net>
+
+ * th.po: Added Thai (th) translation.
+
+2003-09-04 Nikos Charonitakis <frolix68@yahoo.gr>
+
+ * el.po: Review of Greek translation.
+
+2003-09-04 Joël Brich <joel.brich@laposte.net>
+
+ * eo.po: Updated Esperanto translation.
+
+==================== 2.3.90 ====================
+
+2003-08-20 Dafydd Harries <daf@parnassus.ath.cx>
+
+ * cy.po: Updated Welsh translation.
+
+2003-08-29 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Fix #120956 -- Thanks to
+ Richard Hult <richard@imendio.com>.
+
+2003-08-28 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
+
+ * es.po: Revision of Spanish translation by
+ Francisco Javier F. Serrador <serrador@arrakis.es>.
+
+2003-08-28 Taneem Ahmed <taneem@bengalinux.org>
+
+ * bn.po: Updated Bangla (Bengali) translation.
+
+2003-08-27 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Fix typo in Catalan translation.
+
+2003-08-27 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Kees van den Broek.
+
+==================== 2.3.7 ====================
+
+2003-08-24 Sanlig Badral <badral@openmn.org>
+
+ * mn.po: Updated Mongolian translation.
+
+2003-08-23 Danilo Šegan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation.
+
+2003-08-24 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2003-08-22 Tõivo Leedjärv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation.
+
+2003-08-22 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2003-08-20 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Update Norwegian translation.
+
+2003-08-18 Metin Amiroff <metin@karegen.com>
+
+ * az.po: Updated Azerbaijani translation.
+
+==================== 2.3.6.2 ====================
+
+2003-08-11 Takeshi AIHANA <aihana@gnome.gr.jp>
+
+ * ja.po: Updated Japanese translation.
+
+==================== 2.3.6.1 ====================
+
+2003-08-09 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2002-08-07 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay translation.
+
+2003-08-07 Guntupalli Karunakar <karunakar@freedomink.org>
+
+ * hi.po: Updated Hindi Translation.
+
+==================== 2.3.6 ====================
+
+2003-08-07 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * be.po: Updated Belarusian translation
+ from Belarusian team <i18n@mova.org>.
+
+2003-08-06 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation by
+ Funda Wang <fundawang@linux.net.cn>.
+
+2003-08-05 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
+
+ * es.po: Updated Spanish translation.
+
+2003-08-03 Kostas Papadimas <pkst@gmx.net>
+
+ * el.po: updated Greek Translation
+
+2003-07-31 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation.
+
+2003-07-28 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Reinout van Schouwen.
+
+2003-07-27 Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2003-07-19 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+==================== 2.3.4 ====================
+
+2003-07-14 Danilo Šegan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn.po: Updated Serbian translation by Serbian team
+ (Prevod.org).
+
+2003-07-13 Metin Amiroff <metin@karegen.com>
+
+ * az.po: Updated Azerbaijani translation.
+
+2003-07-12 Christian Neumair <chris@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2003-07-07 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-07-06 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2003-07-06 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2003-07-06 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+==================== 2.3.3.1 ====================
+
+2003-07-03 Alessio Frusciante <algol@firenze.linux.it>
+
+ * it.po: Updated Italian translation by
+ Luca Ferretti <elle.uca@infinito.it>
+
+2003-06-28 Dafydd Harries <daf@parnassus.ath.cx>
+
+ * cy.po: Updated Welsh translation.
+
+2003-06-27 Artur Flinta <aflinta@cvs.gnome.org>
+
+ * pl.po: Updated Polish translation.
+
+2003-06-26 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2003-06-24 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Jeroen van der Vegt.
+
+2003-06-23 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Kees van den Broek.
+
+2003-06-21 Samúel Jón Gunnarsson <sammi@techattack.nu>
+
+ * is.po: Added Icelandic translation
+
+2003-06-20 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2003-06-20 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: Updated Russian translation
+ from Russian team <gnome-cyr@gnome.org>.
+
+2003-06-20 Gil "Dolfin" Osher <dolfin@rpg.org.il>
+
+ * he.po: Updated Hebrew translation.
+
+2003-06-17 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2003-06-17 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Minor fixes to Czech translation.
+
+2003-06-15 Jo?«l Brich <joel.brich@laposte.net>
+
+ * eo.po: Added Esperanto translation.
+
+2003-06-14 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2003-06-14 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2003-06-12 Gil "Dolfin" Osher <dolfin@rpg.org.il>
+
+ * he.po: Updated Hebrew translation.
+
+2003-06-12 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation.
+
+2003-06-09 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2003-06-08 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation.
+
+==================== 2.3.3 ====================
+
+2003-06-06 Mark McLoughlin <mark@skynet.ie>
+
+ * cy.po: remove newlines from two messages
+ to quite warnings.
+
+2003-06-06 Dafydd Harries <daf@parnassus.ath.cx>
+
+ * cy.po: Welsh: Defuzzing and improvements.
+
+2003-06-06 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2003-06-04 Abel Cheung <maddog@linux.org.hk>
+
+ * ta.po: Fix broken encoding.
+
+2003-05-26 Paul Duffy <dubhthach@frink.nuigalway.ie>
+
+ * ga.po: Updated Irish translation.
+
+2003-05-20 Miloslav Trmac <mitr@volny.cz>
+
+ * cs.po: Updated Czech translation.
+
+2003-05-20 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2003-05-20 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2003-05-16 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2003-05-09 Telsa Gwynne <hobbit@aloss.ukuu.org.uk>
+
+ * cy.po: Updated Welsh translation.
+
+2003-05-09 Telsa Gwynne <hobbit@aloss.ukuu.org.uk>
+
+ * cy.po: Added Welsh translation from gnome-cy
+ <gnome-cy@pengwyn.linux.org.uk> and Kyfieithu
+ contributors. <http://www.kyfieithu.co.uk/>
+
+2003-05-06 Danilo ? egan <dsegan@gmx.net>
+
+ * sr.po, sr@Latn.po: Added Serbian translation by
+ http://Prevod.org/.
+
+ * sp.po: Removed, replaced with sr.po.
+
+2003-04-29 Paul Duffy <dubhthach@frink.nuigalway.ie>
+
+ * ga.po: Updated Irish Translation.
+
+2003-04-22 Sanlig Badral <badral@users.sf.net>
+
+ * mn.po: Updated Mongolian translation.
+
+2003-04-21 Taneem Ahmed <taneem@eyetap.org>
+
+ * bn.po: Added Bangla (Bengali) translation by
+ Ankur Group <gnome-translation@bengalinux.org>
+
+2002-03-26 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay translation.
+
+2003-03-18 Roozbeh Pournader <roozbeh@sharif.edu>
+
+ * fa.po: Updated Persian translation.
+
+2003-03-13 Christian Rose <menthos@menthos.com>
+
+ * ml.po: Added Malayalam translation by
+ FSF-India <locale@gnu.org.in>.
+
+2003-02-23 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * wa.po: updated Walloon file
+
+2003-02-21 Metin Amiroff <metin@karegen.com>
+
+ * az.po: Updated Azerbaijani translation.
+
+2003-02-20 Naba Kumar <naba@gnome.org>
+
+ * hi.po: Updated Hindi translation from
+ Gnome Hindi Team <indlinux-hindi-gnome@lists.sourceforge.net>
+
+2003-02-20 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * be.po: Updated Belarusian translation
+ from Belarusian team <i18n@infonet.by>.
+
+2003-02-18 Roozbeh Pournader <roozbeh@sharif.edu>
+
+ * fa.po: Added Persian translation.
+
+2003-02-11 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Committed updated Turkish translation by Arman.
+
+2003-02-09 Christian Rose <menthos@menthos.com>
+
+ * kn.po: Added Kannada translation by
+ Pramod <rpramod@postmaster.co.uk>.
+
+2003-02-08 Takeshi AIHANA <aihana@gnome.gr.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2003-02-06 Christian Rose <menthos@menthos.com>
+
+ * id.po: Added Indonesian translation by
+ Mohammad Damt <mdamt@bisnisweb.com>.
+
+2003-02-02 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Some fixes for problems catched in translation review.
+
+2003-02-01 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2003-01-29 Sanlig Badral <badral@chinggis.com>
+
+ * mn.po: Updated Mongolian translation.
+
+2003-01-28 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation by
+ Deep_Dark <epidamus@netscape.net>.
+
+2003-01-27 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2003-01-26 Kang Jeong-Hee <Keizi@mail.co.kr>
+
+ * ko.po: Updated Korean translation.
+
+2003-01-26 Kostas Papadimas <pkst@gmx.net>
+
+ * el.po: updated Greek Translation
+
+2003-01-25 Christophe Fergeau <teuf@users.sourceforge.net>
+
+ * fr.po: Updated French translation.
+
+2003-01-25 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokmal) translation.
+
+2003-01-24 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2003-01-24 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2003-01-24 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2003-01-24 Daniel Yacob <locales@geez.org>
+
+ * am.po: Updated Amharic translation.
+
+2003-01-24 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <al_shopov@yahoo.com>.
+
+2003-01-24 Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2003-01-24 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
+
+ * es.po: Updated two strings and run a spell check.
+
+2003-01-24 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2003-01-23 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2003-01-23 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation
+ from Russian team <gnome-cyr@gnome.org>.
+
+2003-01-23 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Vincent van Adrighem.
+
+2003-01-23 Alessio Frusciante <algol@firenze.linux.it>
+
+ * it.po: Updated Italian translation.
+
+2003-01-23 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2003-01-23 Artis Trops <hornet@navigator.lv>
+
+ * lv.po: Updated Latvian translation.
+
+2003-01-23 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2003-01-23 Christian Neumair <chris@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2003-01-22 Christian Rose <menthos@menthos.com>
+
+ * mn.po: Added Mongolian translation by
+ Bayarsaihan <bijinhenemongol@yahoo.com>.
+
+2003-01-20 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation
+ from Russian team <gnome-cyr@gnome.org>.
+
+2003-01-16 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * vi.po: Updated Vietnamese file
+
+2003-01-16 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Committed updated Turkish translation by Sinan.
+
+2003-01-15 Kang Jeong-Hee <Keizi@mail.co.kr>
+
+ * ko.po: Updated Korean translation.
+
+2003-01-11 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Updated Albanian translation by
+ Deep_Dark <epidamus@netscape.net>.
+
+2003-01-10 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
+
+ * es.po: Fixed a couple of strings in Spanish translation.
+
+2003-01-08 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation
+ from Russian team <gnome-cyr@gnome.org>.
+
+2003-01-08 Laurent Dhima <laurenti@alblinux.net>
+
+ * sq.po: Added Albanian translation by
+ Deep_Dark <epidamus@netscape.net>.
+
+2003-01-07 Daniel Yacob <locales@geez.org>
+
+ * am.po: Updated Amharic translation.
+
+2003-01-04 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2003-01-02 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2003-01-02 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-12-29 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * wa.po: Updated Walloon file
+ * hi.po: fixed header
+
+2002-12-20 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2002-12-20 Artis Trops <hornet@navigator.lv>
+
+ * lv.po: Updated Latvian translation.
+
+2002-12-19 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation by
+ Alexander Shopov <al_shopov@yahoo.com>.
+
+2002-12-17 German Poo Caaman~o <gpoo@ubiobio.cl>
+
+ * es.po: Updated Spanish translation.
+
+2002-12-16 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay translation.
+
+2002-12-15 Christian Neumair <chris@gnome-de.org>
+
+ * de.po: Updated German translation.
+
+2002-12-15 Christophe Merlet <redfox@redfoxcenter.org>
+
+ * fr.po: Updated French translation.
+
+2002-12-10 Kostas Papadimas <pkst@gmx.net>
+
+ * el.po: updated Greek Translation
+
+2002-12-10 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Jeroen van der Vegt.
+
+2002-12-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokmal) translation.
+
+2002-12-07 He Qiangqiang <carton@linux.net.cn>
+
+ * zh_CN.po: sync with gnome-2-0 branch.
+
+2002-12-04 Marius Andreiana <marius galuna.ro>
+
+ * ro.po: updated
+
+2002-12-03 Yuriy Syrota <rastaman@renome.rovno.ua>
+
+ * uk.po: Ukrainian translation updated by
+ Maxim Dzumanenko <mvd@mylinux.com.ua>
+
+2002-12-03 Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2002-12-02 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2002-12-01 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2002-11-30 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-11-29 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-11-25 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Dutch translation updated by Jeroen van der Vegt.
+
+2002-11-27 T??ƒ??µivo Leedj??ƒ?€rv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-11-25 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Massive copy-paste from stable branch.
+
+2002-11-26 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-11-25 Yanko Kaneti <yaneti@declera.com>
+
+ * *.po: Convert all to UTF-8.
+
+2002-11-22 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Taken over from the gnome-2-0 branch...
+
+2002-11-19 Christopher R. Gabriel <cgabriel@cgabriel.org>
+
+ * it.po: 1.112 updated italian translation.
+
+2002-11-17 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-11-14 Christian Neumair <chris@gnome-de.org>
+
+ * de.po: Updated German translation.
+ * POTFILES.in: Changed.
+
+2002-11-09 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * be.po: Updated Belarusian translation
+ * from Belarusian team <i18n@infonet.by>.
+
+2002-11-03 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * be.po: Added Belarusian translation
+ * from Belarusian team <i18n@infonet.by>.
+
+2002-10-27 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Fixes suggested by Tamas Vamosi.
+
+2002-10-24 Daniel Yacob <locales@geez.org>
+
+ * am.po: Updated Amharic translation.
+
+2002-10-21 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-10-18 Andras Timar <timar@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2002-10-02 Mark McLoughlin <mark@skynet.ie>
+
+ * POTFILES.in: add gnome-session.schemas.in.
+
+2002-09-17 Naba Kumar <naba@gnome.org>
+
+ * hi.po: Updated Hindi translation by
+ Anurag Seetha <anuragseetha@yahoo.com>
+
+2002-08-27 German Poo-Caama??ƒ??±o <gpoo@ubiobio.cl>
+
+ * es.po: Updated by Juan Manuel Garc??ƒ??­a Molina <juanma_gm@wanadoo.es>
+
+2002-08-19 Marius Andreiana <mandreiana@yahoo.com>
+
+ * ro.po: updated
+
+2002-08-04 Gustavo Noronha Silva <kov@beterraba>
+
+ * pt_BR.po: updated translation, by
+ Evandro Fernandes Giovanini <evandrofg@ig.com.br>
+
+2002-07-26 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * vi.po: Updated Vietnamese file
+
+2002-07-25 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * bs.po: Added Bosnian file
+ * wa.po: Updated Walloon file
+
+2002-07-24 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-07-23 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation.
+
+2002-07-19 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2002-07-20 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation from
+ Ryoichi INAGAKI <ryo1@bc.wakwak.com>.
+
+2002-07-16 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-07-15 Zbigniew Chyla <chyla@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-07-15 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-07-15 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-07-14 Peteris Krisjanis <pecisk@inbox.lv>
+
+ * lv.po: Updated Latvian translation.
+
+2002-07-13 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-07-13 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-07-13 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2002-07-13 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-07-13 Christophe Fergeau <teuf@users.sourceforge.net>
+
+ * fr.po: Updated French translation.
+
+2002-07-12 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2002-07-12 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-07-09 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-07-09 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-07-04 Christophe Fergeau <teuf@users.sourceforge.net>
+
+ * fr.po: Updated French translation.
+
+2002-07-04 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-07-03 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2002-07-03 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-07-02 Daniel Yacob <locales@geez.org>
+
+ * am.po: Updated Amharic translation.
+
+2002-07-02 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-07-02 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-07-02 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-07-02 Zbigniew Chyla <chyla@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-07-02 T??ƒ??µivo Leedj??ƒ?€rv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-07-01 jacob berkman <jacob@ximian.com>
+
+ * POTFILES.in: nuke gnome-login-check.c
+
+2002-06-28 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Updated Catalan translation.
+
+2002-06-27 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-06-25 Daniel Yacob <locales@geez.org>
+
+ * am.po: New file for Amharic translation.
+
+2002-06-25 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-06-24 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Committed Dutch translation by Jeroen van der Vegt.
+
+2002-06-24 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation.
+
+2002-06-23 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-06-23 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-06-23 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-06-23 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-06-22 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-06-22 Abel Cheung <maddog@linux.org.hk>
+
+ * POTFILES.in: Synced with source tree.
+
+2002-06-21 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-06-20 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-06-20 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation.
+
+2002-06-20 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-06-20 Carlos Perello Marin <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation.
+
+2002-06-20 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-06-20 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-06-13 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+ Thanx to Sun G11n <gnome_int_l10n@ireland.sun.com>.
+
+2002-06-11 Jordi Mallach <jordi@sindominio.net>
+
+ * ca.po: Catalan fixes.
+
+2002-06-10 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Updated Bulgarian translation.
+
+2002-06-09 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * pt_BR.po: Gustavo Noronha Silva <kov@debian.org>
+
+2002-06-08 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-06-06 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation with suggestions from
+ Sun G11n <gnome_int_l10n@ireland.sun.com>.
+
+2002-06-06 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated Russian translation.
+
+2002-06-05 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2002-06-04 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * vi.po: Updated Vietnamese file
+
+Mon Jun 03 16:05:46 2002 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2002-06-02 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * ca.po: Updated by Jordi Mallach <jordi@sindominio.net>
+
+2002-06-01 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Recoded as UTF-8
+
+2002-06-01 T??ƒ??µivo Leedj??ƒ?€rv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-06-01 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated by Juan Manuel Garc??ƒ??­a Molina <juanma_gm@wanadoo.es>
+
+2002-06-01 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation
+
+2002-05-31 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Fixes.
+
+2002-05-31 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-05-31 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Committed Dutch translation by Tino Meinen.
+
+2002-05-29 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation
+
+2002-05-27 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * vi.po: Updated Vietnamese file
+
+2002-05-27 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-05-23 Dmitry G. Mastrukov <dmitry@taurussoft.org>
+
+ * ru.po: updated russian translation
+
+2002-05-21 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-05-21 Abel Cheung <maddog@linux.org.hk>
+
+ * POTFILES.skip: Removed.
+ * POTFILES.in: Removed unnecessary files.
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-05-21 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation by Young-Ho Cha
+ <ganadist@chollian.net>.
+
+2002-05-20 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-05-19 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2002-05-19 Vlad Harchev <hvv@hippo.ru>
+
+ * ru.po: updated russian translation from Dmitry G. Mastrukov
+ <dmitry@taurussoft.org>.
+
+2002-05-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * mk.po: Added Macedonian translation from Ivan Stojmirov
+ <stojmir@linux.net.mk>.
+
+2002-05-16 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-05-16 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-05-14 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2002-05-13 Naba Kumar <kh_naba@users.sourceforge.net>
+
+ * hi.po: Added new hindi translation
+
+2002-05-11 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-05-11 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-05-10 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * wa.po: updated Walloon file
+ * vi.po: Updated Vietnamese file
+
+2002-05-09 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-05-08 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation -- fixed some wrong
+ translations.
+
+2002-05-08 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-05-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-05-07 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * lt.po: Updated Lithuanian translation.
+
+2002-05-06 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-05-04 Christophe Fergeau <teuf@users.sourceforge.net>
+
+ * fr.po: Updated French translation
+
+2002-05-04 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation and converted to UTF-8.
+
+2002-05-01 Jacob Berkman <jacob@ximian.com>
+
+ * POTFILES.in: remove sesssion.desktop.in because seth does not
+ check these things
+
+2002-04-30 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2002-04-28 Pablo Saratxga <pablo@mandrakesoft.com>
+
+ * vi.po: Added Vietnamese file
+
+2002-04-28 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Committed updated Turkish translation by ??ƒ??–mer.
+
+2002-04-27 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-04-26 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-04-26 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-04-24 Benedikt Roth <Benedikt.Roth@gmx.net>
+
+ * de.po: Small update for German translation.
+
+2002-04-24 T??ƒ??µivo Leedj??ƒ?€rv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation
+ by Ilmar Kerm <ikerm@hot.ee>.
+
+2002-04-22 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Updated Dutch translation.
+
+2002-04-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-04-22 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-04-21 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-04-21 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-04-20 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2002-04-20 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2002-04-19 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2002-04-18 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-04-18 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+ * nl.po: Updated Dutch translation by Ronald Hummelink.
+
+2002-03-15 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation from Dmitry Mastrukov.
+
+2002-04-13 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-04-11 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-04-10 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-04-08 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-04-06 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-04-05 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-04-01 T??ƒ??µivo Leedj??ƒ?€rv <toivo@linux.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-03-31 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2002-03-29 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * lt.po: Updated Lithuanian translation
+
+2002-03-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-03-17 Roy-Magne Mo <rmo@sunnmore.net>
+
+ * nn.po: Updated Norwegian Nynorsk translation
+
+2002-03-16 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2002-03-12 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2002-03-07 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation.
+
+2002-03-05 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2002-03-04 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Fixed German translation.
+
+2002-03-03 Christopher R. Gabriel <cgabriel@cgabriel.org>
+
+ * it.po: Updated italian translation
+
+2002-03-03 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-03-02 T??ƒ??µivo Leedj??ƒ?€rv <leedjarv@interest.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-03-01 Pauli Virtanen <pauli.virtanen@hut.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2002-02-28 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-02-28 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Fix it, fix it, fix it..
+
+2002-02-26 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-02-25 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Another cool update ;-)
+
+2002-02-25 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Updated German translation.
+
+2002-02-24 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Fixed Swedish translation.
+
+2002-02-24 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-02-20 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation by
+ GNOME PL Team <translators@gnome.pl>.
+
+2002-02-20 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-02-19 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation.
+
+2002-02-17 T??ƒ??µivo Leedj??ƒ?€rv <leedjarv@interest.ee>
+
+ * et.po: Updated Estonian translation.
+
+2002-02-13 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation and
+ converted to UTF-8.
+
+2002-02-12 Christian Rose <menthos@menthos.com>
+
+ * POTFILES.in: Sorted and added missing files.
+ * sv.po: Updated Swedish translation.
+
+2002-02-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * POTFILES.in: Add more missing files.
+ * no.po: -> UTF-8 and update.
+
+2002-02-12 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * README.tools: removed, obsolete.
+ * POTFILES.in: removed gnome-terminal source files. Please move
+ your translations to profterm module.
+
+2002-02-10 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * POTFILES.in: add .desktop and .directory files
+ * *.po: add translations from .desktop and .directory files
+
+2002-02-10 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2002-02-10 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-02-10 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2002-02-09 Pauli Virtanen <ptvirtan@cc.hut.fi>
+
+ * fi.po: Updated Finnish translation and converted it to UTF-8.
+
+2002-02-09 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay Translation.
+
+2002-02-08 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated and converted to UTF-8.
+
+2002-02-07 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation and converted it to UTF-8.
+
+2002-02-07 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2002-02-04 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated by Juan Manuel Garc??ƒ??­a Molina <juanma_gm@wanadoo.es>
+
+2002-02-02 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation and converted it to UTF-8.
+
+2002-01-31 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-01-30 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-01-31 Roy-Magne Mo <rmo@sunnmore.net>
+
+ * nn.po: Updated Norwegian Nynorsk and converted to UTF-8.
+
+2002-01-30 T??ƒ??µivo Leedj??ƒ?€rv <leedjarv@interest.ee>
+
+ * et.po: Updated Estonian translation
+ by Ilmar Kerm <ikerm@hot.ee>. Converted to UTF-8.
+
+2002-01-29 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2002-01-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-01-28 Glynn Foster <glynn.foster@sun.com>
+
+ * POTFILES.in, POTFILES.skip: Update.
+
+2002-01-28 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Updated and converted to UTF-8.
+
+2002-01-27 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated and converted to UTF-8.
+
+2002-01-25 Roy-Magne Mo <rmo@sunnmore.net>
+
+ * nn.po: Updated Norwegian (Nynorsk) translation.
+
+2002-01-23 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-01-23 Marius Andreiana <mandreiana@yahoo.com>
+
+ * ro.po: updated
+
+2002-01-22 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-01-20 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay (Bahasa Melayu) translation.
+
+2002-01-18 Peteris Krisjanis <peteris.krisjanis@ttc.lv>
+
+ * lv.po: Updated Latvian translation.
+
+2002-01-16 Glynn Foster <glynn.foster@sun.com>
+
+ * POTFILES.in: Fix.
+
+2002-01-14 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2002-01-14 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-01-11 Hasbullah Bin Pit <sebol@ikhlas.com>
+
+ * ms.po: Updated Malay (Bahasa Melayu) translation
+
+2002-01-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * POTFILES.in: Update some more.
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+Thu Jan 10 23:31:29 2002 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: remove the tearoffitem.[ch]
+
+2002-01-09 Darin Adler <darin@bentspoon.com>
+
+ * POTFILES.in: Remove conditional.[ch].
+
+2002-01-09 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2002-01-09 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2002-01-08 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated portuguese translation
+
+2002-01-06 Germ??ƒ??n Poo-Caama??ƒ??±o <gpoo@ubiobio.cl>
+
+ * es.po: Updated spanish translation
+
+2001-12-31 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation.
+
+2001-12-29 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2001-12-28 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-12-26 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Small correction in the charset field of the po file.
+
+2001-12-21 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2001-12-19 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-12-18 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Update Japanese translation.
+
+2001-12-17 Darin Adler <darin@bentspoon.com>
+
+ * POTFILES.in: Remove main.h.
+
+2001-12-17 Duarte Loreto <happyguy_pt@hotmail.com>
+
+ * pt.po: Updated Portuguese translation.
+
+2001-12-16 Kjartan Maraas <kmaraas@gnome.org>
+
+ * POTFILES.in: Use the glade file directly.
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-12-16 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * POTFILES.in: added gnome-terminal/gnome-terminal.glade.h,
+ gnome-terminal/gnome-terminal.xml, applets/gen_util/tasklist.c,
+ and applets/gen_util/tasklist.h
+ * lt.po: Updated Lithuanian translation
+
+2001-12-15 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-12-14 Stephen Browne <stephen.browne@sun.com>
+
+ * POTFILES.in: added gnome-panel-properties.c and
+ gnome-panel-properties.glade.h
+
+2001-12-13 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-12-13 Lauris Kaplinski lauris@ximian.com>
+
+ * et.po: Updated Estonian translation by Ilmar Kerm
+
+2001-12-13 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-12-12 Glynn Foster <glynn.foster@sun.com>
+
+ * POTFILES.in: updated after Mark's injection of
+ CVS surgery.
+
+2001-12-11 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+Sun Dec 09 14:34:59 2001 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: kill title-item*
+
+2001-12-09 Mark McLoughlin <mark@skynet.ie>
+
+ * POTFILES.in: kill ../panel/tasklist_icon.[ch].
+
+2001-12-08 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-12-03 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-12-01 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-11-29 Mark McLoughlin <mark@skynet.ie>
+
+ * POTFILES.in: redo. Was totally out of date. Thanks to
+ Frank Belew for pointing out that this causes a build
+ from a dist tarball to fail.
+
+2001-11-28 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2001-11-27 Roy-Magne Mo <rmo@sunnmore.net>
+
+ * nn.po: Updated Norwegian (nynorsk) translation.
+
+2001-11-27 Mark McLoughlin <mark@skynet.ie>
+
+ * POTFILES.in: remove panel/menu-rh.[ch].
+
+2001-11-23 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2001-11-23 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated spanish translation by Juan Manuel Garc??ƒ??­a Molina
+ <juanmagm@mail.com>
+
+2001-11-19 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation by
+ Wang Jian.
+
+2001-11-14 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-11-11 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Updated Simplified Chinese translation by
+ Zipeco <zipeco@btamail.net.cn>.
+
+2001-11-11 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-11-09 Fatih Demir <kabalak@gtranslator.org>
+
+ * ms.po: Committed new Malay translation by Hasbullah Bin Pit.
+
+2001-11-09 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2001-11-05 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Committed updated Turkish translation by G??ƒ??¶rkem.
+
+2001-11-05 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.po: Updated traditional Chinese translation.
+
+2001-11-01 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation by Juan Manuel Garc??ƒ??­a Molina
+ <juanmagm@mail.com>
+
+2001-11-01 Peteris Krisjanis <pecisk@inbox.lv>
+
+ * lv.po: updated Latvian translation by Artis Trops
+ <hornet@navigators.lv>
+
+2001-10-30 Frank Belew <frb@ximian.com>
+ * POTFILES.in: removed panel/panel-include.h since it no longer
+ exists
+
+2001-10-26 Peteris Krisjanis <pecisk@inbox.lv>
+
+ * lv.po: updated Latvian translation by Artis Trops
+ <hornet@navigators.lv>
+
+2001-10-26 Peteris Krisjanis <pecisk@inbox.lv>
+
+ * pt.po: updated Portuguese translation by Duarte Lorteto
+ <happyguy_pt@hotmail.com>
+
+2001-10-25 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: /s/Men??ƒ??º de panel/Panel con men??ƒ??º/
+
+2001-10-22 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-10-16 Fatih Demir <kabalak@gtranslator.org>
+
+ * ta.po: Committed updated Tamil translation by Dinesh.
+
+2001-10-14 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-10-13 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation.
+
+2001-10-08 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Updated Azeri file
+
+2001-09-29 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation by Juan Manuel Garc??ƒ??­a
+ Molina <juanmagm@mail.com>
+
+2001-09-26 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-09-25 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-09-24 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Updated Azeri file
+
+2001-09-23 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Spell check by Juan Manuel Garc??ƒ??­a Molina <juanmagm@mail.com>
+
+2001-09-23 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gome-db.org>
+
+ * POTFILES.in: Fixed. Please, remember to sync this when you
+ remove files :-(
+
+2001-09-22 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-09-20 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.po: Renamed from zh_CN.GB2312.po.
+
+2001-09-19 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * sp.po,sr.po: Updated Serbian files
+ * zh_CN.po: Fixed invalid multi-byte
+
+2001-09-19 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-09-18 Yanko Kaneti <yaneti@declera.com>
+
+ * bg.po: Changed the encoding in the header to CP1251
+
+2001-09-13 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * da.po: Updated Danish file
+ * wa.po: Updated Walloon file
+ * eu.po: Updated Basque file
+ * de.po: Fixed ugly syntax error in the header
+ * es.po: Updated Spanish file
+
+2001-09-06 Roy-Magne Mo <rmo@sunnmore.net>
+
+ * nn.po: Updated Norwegian (nynorsk) translation
+
+2001-09-04 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-09-03 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-08-27 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_CN.GB2312.po: Fix incorrect line breaking at line 580.
+ Newer gettext complains about this.
+
+2001-08-25 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-08-22 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.Big5.po: Converted to...
+ * zh_TW.po: This UTF-8 encoding .po file.
+
+2001-08-20 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation by Pauli Virtanen
+
+2001-08-19 Fatih Demir <kabalak@gtranslator.org>
+
+ * ta.po: Committed updated Tamil translation.
+
+2001-08-19 Wang Jian <lark@linux.net.cn>
+
+ * zh_CN.GB2312.po: Updated by Wang Jian <lark@linux.net.cn>.
+
+2001-08-19 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2001-08-03 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.Big5.po: Minor update.
+
+2001-08-02 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * ja.po: Update Japanese translation.
+
+2001-08-01 Abel Cheung <maddog@linux.org.hk>
+
+ * lv.po: Marked line 3103 as fuzzy, gettext error.
+
+2001-08-01 Peteris Krisjanis <peterisk@apollo.lv>
+
+ * lv.po: Updated Latvian translation.
+
+2001-07-29 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Updated German translation.
+
+2001-07-27 Abel Cheung <maddog@linux.org.hk>
+
+ * zh_TW.Big5.po: Updated traditional Chinese translation.
+
+2001-07-17 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-07-15 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-07-12 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation.
+
+2001-07-10 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Fixed a few string in Danish translation.
+
+2001-07-07 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+ * update.pl, update.sh: Removed scripts obsoleted by xml-i18n-tools.
+ * README.tools: Updated to reflect this.
+
+2001-07-05 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+Mon Jul 02 16:03:16 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: updated
+
+2001-07-02 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation.
+
+2001-06-26 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-06-26 Fatih Demir <kabalak@gtranslator.org>
+
+ * ta.po: Committed updated Tamil translation by Dinesh.
+
+2001-06-24 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Updated German translation.
+
+2001-06-22 Stanislav Brabec <utx@penguin.cz>
+
+ * cs.po: Few fixes.
+
+2001-06-21 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * eu.po: updated Basque file
+
+2001-06-20 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-05-21 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * eu.po: updated Basque file
+ * wa.po: Updated Walloon file
+
+2001-06-18 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation.
+
+2001-06-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2001-06-12 Stanislav Brabec <utx@penguin.cz>
+
+ * cs.po: Typo fix.
+
+2001-06-10 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-06-09 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2001-06-07 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Fixed Swedish translation. Thanks to
+ J??ƒ??¶rgen Tegn??ƒ??©r <jorgen.tegner@post.utfors.se>, G??ƒ??¶ran
+ Uddeborg <goeran@uddeborg.pp.se> and Richard Hult
+ <richard.hult@telia.com> for their input.
+
+2001-06-06 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Fixed typo.
+
+2001-06-05 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Additional fixes.
+
+2001-06-05 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+Tue Jun 05 04:54:59 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-06-04 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+Sun Jun 03 13:52:31 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-06-01 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-06-01 Valek Filippov <frob@df.ru>
+
+ * ru.po: Time to fix all stupidity in russian translations.
+
+2001-05-31 Matthias Warkus <mawarkus@gnome.org>
+
+ * de.po: Updates and fixes.
+
+2001-05-31 Marius Andreiana <mandreiana@yahoo.com>
+
+ * ro.po: updated
+
+Wed May 30 22:59:45 2001 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: add the new screenshot program files
+
+2001-05-30 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2001-05-29 Kjartan Maraas <kmaraas@gnome.org>
+
+ * cs.po: Remove duplicate.
+ * no.po: Updated Norwegian translation.
+
+2001-05-28 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation.
+
+2001-05-27 Stanislav Brabec <utx@penguin.cz>
+
+ * cs.po: Updated Czech, merged changes from 1-2 branch.
+
+Fri May 25 14:35:49 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-05-25 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-05-24 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Update.
+
+2001-05-24 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translatio
+
+2001-05-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2001-05-21 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * zh*.po: fixed invalid multibyte
+
+Sat May 19 14:59:00 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-05-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+Tue May 15 13:54:28 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update to 100%
+
+2001-05-15 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated Italian translation
+
+2001-05-15 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-05-15 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-05-09 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * es.po: Updated Spanish file
+
+2001-05-07 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Updated Azeri file
+
+2001-05-04 Emese Kovacs <emese@gnome.hu>
+
+ * hu.po: Updated Hungarian file
+
+2001-05-02 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Updated Azeri file
+
+2001-04-30 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2001-04-30 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+Mon Apr 30 00:45:44 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update a bit
+
+2001-04-28 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-04-26 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2001-04-24 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation
+
+2001-03-23 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translatio
+
+Mon Apr 23 03:14:06 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-04-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2001-04-22 Leandro Noferini <leandro@firenze.linux.it>
+
+ * it.po: Little typo corrected
+
+2001-04-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+Sat Apr 21 15:24:25 2001 George Lebl <jirka@5z.com>
+
+ * POTFILES.in, POTFILES.skip: update
+
+ * cs.po: update
+
+2001-04-20 Christian Meyer <chrisime@gnome.org>
+
+ de.po: Updated German translation.
+
+Fri Apr 20 04:04:32 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: update
+
+2001-04-19 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+Thu Apr 19 01:19:24 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: yay! 100% translations
+
+2001-04-18 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Added missing names and corrected non-ascii.
+
+2001-04-17 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Added misiing names.
+
+Mon Apr 16 08:48:51 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: further updates
+
+Sun Apr 15 22:43:05 2001 George Lebl <jirka@5z.com>
+
+ * cs.po: Updated translation
+
+2001-04-16 Changwoo Ryu <cwryu@debian.org>
+
+ * ko.po: Updated Korean translation.
+
+2001-04-15 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-04-13 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Udated Azeri file
+ * bg_BG.cp1251.po -> bg.po: moved the name to its standard name
+ * *.po: removed non-ascii from the sources
+
+2001-04-11 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation
+
+2001-04-07 Matthias Warkus <mawarkus@gnome.org>
+
+ * de.po: Fix (thanks to Detlef Reichl).
+
+2001-04-02 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Committed updated translation by Nilg??ƒ??’n.
+
+2001-03-26 Gediminas Paulauskas <menesis@delfi.lt>
+
+ * lt.po: updated Lithuanian translation.
+ * lv.po: added Latvian translation.
+
+2001-03-23 Fatih Demir <kabalak@gtranslator.org>
+
+ * tr.po: Updated Turkish translation by G??ƒ??¶rkem.
+
+2001-03-23 Akira TAGOH <tagoh@gnome.gr.jp>
+
+ * ja.po: Fixed typo.
+
+2001-03-21 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-03-20 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Minor changes.
+
+2001-03-16 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-15 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-03-15 Matthias Warkus <mawarkus@gnome.org>
+
+ * de.po: Some conflicts resolved.
+
+2001-03-14 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translatio
+
+2001-03-14 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation.
+
+2001-03-14 Fatih Demir <kabalak@gtranslator.org>
+
+ * ko.po: Committed updated Korean translation.
+
+2001-03-13 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Revised German translation for Benedikt Roth.
+
+2001-03-13 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2001-03-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-03-13 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2001-03-13 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Updated Swedish translation.
+
+2001-03-13 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2001-03-13 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-12 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation by Pauli Virtanen.
+
+2001-03-10 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Update Danish translation.
+
+2001-03-09 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-03-09 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2001-03-09 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-09 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation.
+
+2001-03-08 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Updated Swedish translation.
+
+2001-03-07 Ole Laursen <olau@hardworking.dk>
+
+ * da.po: Updated Danish translation.
+
+2001-03-07 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2001-03-07 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2001-03-07 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-03-06 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-05 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation by Juan Manuel
+ Garc??ƒ??­a Molina <juanmagm@mail.com>
+
+2001-03-05 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation by Pauli Virtanen.
+
+2001-03-05 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-04 Carlos Perell??ƒ??³ Mar??ƒ??­n <carlos@gnome-db.org>
+
+ * es.po: Updated Spanish translation by Juan Manuel
+ Garc??ƒ??­a Molina <juanmagm@mail.com>
+
+2001-03-04 Christian Meyer <chrisime@gnome.org>
+
+ * de.po: Updated German translation.
+
+2001-03-02 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-03-03 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Clean up messages and font.
+
+2001-03-02 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2001-03-02 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-03-01 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2001-03-01 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-03-01 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Updated Swedish translation.
+
+2001-03-01 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-03-01 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2001-02-28 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation from Vlad Harchev (hvv@hippo.ru).
+
+2001-02-27 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-02-27 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation by Pauli Virtanen.
+
+2001-02-26 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translations.
+
+2001-02-23 Stanislav <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Fixup of Slovak translation.
+
+2001-02-22 Kjartan Maraas <kmaraas@gnome.org>
+
+ * da.po: Updated Danish translation.
+
+2001-02-23 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2001-02-21 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-02-20 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-02-19 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-02-19 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-02-18 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2001-02-18 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Cleanup.
+
+2001-02-16 Richard Hult <rhult@codefactory.se>
+
+ * sv.po: Updated Swedish translation.
+
+2001-02-15 Dan Damian <dand@dnttm.ro>
+
+ * ro.po: Updated Romanian translation.
+
+2001-02-15 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-02-15 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2001-02-15 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-02-15 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation
+
+2001-02-14 Christian Meyer <cm@ggtt.de>
+
+ * de.po: Fixes.
+
+2001-02-14 Benedikt Roth <Benedikt.Roth@gmx.net>
+
+ * de.po: Updated German translation
+
+2001-02-14 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Updated Swedish translation.
+
+2001-02-14 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-02-14 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation by Pauli Virtanen
+
+2001-02-14 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-02-13 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-02-12 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2001-02-11 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translations.
+
+2001-02-09 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-02-08 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+ * nn.po: Added Norwegian (nynorsk) translation.
+
+Sun Feb 04 20:15:03 2001 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: add missing files
+
+2001-01-29 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
+
+ * pt_BR.po: Updated Brazilian Portuguese translation.
+
+2001-01-28 Benedikt Roth <Benedikt.Roth@gmx.net>
+
+ * de.po: Updated German translation
+
+2001-01-26 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Updated Azeri file
+ * ro.po: enabled header
+
+2000-01-26 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-01-26 Marius Andreiana <mandreiana@yahoo.com>
+
+ * ro.po: Added Romanian translation
+
+2001-01-26 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2001-01-20 Fatih Demir <kabalak@gmx.net>
+
+ * ko.po: Committed updated Korean translation.
+
+2001-01-19 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2001-01-18 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2001-01-15 Kenneth Christainsen <kenneth@gnome.org>
+
+ * da.po: update
+
+2001-01-15 Robert Brady <robert@suse.co.uk>
+
+ * en_GB.po: Updated British translation.
+
+2000-01-15 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2001-01-09 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-01-08 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translations.
+
+2000-01-03 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated and corrected Slovak translation.
+
+2000-12-30 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation
+
+2000-12-21 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-12-19 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2000-12-19 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-12-18 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation
+
+2000-12-17 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Cleanup.
+
+2000-12-16 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-12-15 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2000-12-11 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * az.po: Added AZeri file
+ * wa.po: Passed Walloon file through spell checker
+ * {es,fr,pl,ta,zh_CN.GB2312,zh_TW.Big5}.po fixed header or small
+ syntax errors
+
+2000-12-05 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2000-12-04 Szabolcs BAN <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian translation.
+
+2000-12-02 Almer S. Tigelaar <almer1@dds.nl>
+
+ * nl.po: Updated Dutch translation.
+
+2000-11-30 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-11-28 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2000-11-27 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Corrected some typos
+
+2000-11-21 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-11-21 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2000-11-20 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2000-11-20 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-11-19 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-11-17 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-11-16 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-11-15 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
+
+ * sk.po: Updated Slovak translation.
+
+2000-11-14 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-11-13 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-11-13 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-11-12 Fatih Demir <kabalak@gmx.net>
+
+ * ko.po: Committed updated ko.po from
+ Young-Ho Cha.
+
+2000-11-09 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2000-11-07 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian (bokm??ƒ??¥l) translation.
+
+2000-11-06 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2000-11-05 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-11-06 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-11-05 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-11-04 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation
+
+2000-11-03 Jarkko Ranta <jjranta@cc.joensuu.fi>
+
+ * fi.po: Updated Finnish translation.
+
+2000-10-31 Andrew V. Samoilov <sav@bcs.zp.ua>
+
+ * ru.po: updated Russian translation.
+
+2000-10-31 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-10-31 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-10-30 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-10-30 Zbigniew Chyla <cyba@gnome.pl>
+
+ * pl.po: Updated Polish translation.
+
+2000-10-29 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated italian translation.
+
+2000-10-28 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-10-27 Robert Brady <robert@suse.co.uk>
+
+ * sk.po: Update from Stanislav Visnovsky
+ <visnovsky@nenya.ms.mff.cuni.cz>
+
+2000-10-26 Robert Brady <robert@suse.co.uk>
+
+ * ta.po: Added Tamil translation, from Dinesh Nadarajah
+ <n_dinesh@yahoo.com>.
+
+2000-10-24 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: Updated Italian translation.
+
+2000-10-21 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Minor Update.
+
+2000-10-19 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2000-10-15 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2000-10-15 Almer S. Tigelaar <almer1@dds.nl>
+
+ * nl.po: Update Dutch translation.
+
+2000-10-14 Almer S. Tigelaar <almer1@dds.nl>
+
+ * nl.po: Minor corrections to Dutch translation.
+
+2000-10-11 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Fixed German translation, slight updates.
+
+2000-10-10 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-10-10 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+ * nl.po: Updated Dutch translation from Dennis Smit
+ <synap@area101.penguin.nl>
+
+2000-10-07 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-10-02 Szabolcs BAN <shooby@gnome.hu>
+
+ * hu.po: Updated Hungarian Translations.
+
+2000-09-25 Christian Meyer <linux@chrisime.de>
+
+ * de.po: Updated German translation.
+
+2000-09-25 Christophe Merlet <christophe@merlet.net>
+
+ * fr.po: Updated French translation.
+
+2000-09-25 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-09-24 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-09-22 Christian Meyer <linux@chrisime.de>
+
+ * de.po: Updated German translation.
+
+2000-09-22 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-09-21 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-09-21 Joaquim Fellmann <joaquim@hrnet.fr>
+
+ * fr.po : Updated French translation
+
+2000-09-19 Christian Meyer <linux@chrisime.de>
+
+ * de.po: Updated German translation.
+
+2000-09-17 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * sp.po,sr.po: Updated Serbian files
+
+2000-09-14 Christian Rose <menthos@menthos.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-09-13 Christian Meyer <linux@chrisime.de>
+
+ * update.pl: Added perl script from kanikus.
+ * README.tools: Added text file.
+
+2000-09-12 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * sp.po,sr.po: Updated Serbian files
+
+2000-09-12 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-09-09 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-09-10 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: updated italian translation
+
+2000-09-08 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-09-08 Christian Meyer <linux@chrisime.de>
+
+ * de.po: Updated German translation.
+
+2000-09-05 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2000-09-04 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-09-04 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-09-03 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-09-02 Stanislav Brabec <utx@penguin.cz>
+
+ * po/cs.po: Typos fixed.
+
+2000-09-01 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-08-30 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-08-29 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-08-24 Manuel de Vega Barreiro <barreiro@arrakis.es>
+
+ * es.po: Updated Spanish translation.
+
+2000-08-23 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-08-18 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * ca.po,eu.po: Updated Catalan and Basque files
+
+2000-08-17 Christopher R. Gabriel <cgabriel@softwarelibero.org>
+
+ * it.po: updated Italian translation.
+
+2000-08-17 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-08-16 Benedikt Roth <Benedikt.Roth@gmx.net>
+
+ * de.po: Updated German translation.
+
+2000-08-13 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+ * POTFILES.in: added missing file.
+
+2000-08-12 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-08-12 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-08-11 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-08-09 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-08-08 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-07-30 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po: Corrected some hotkeys.
+
+2000-07-26 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po: Updated the Turkish translation.
+
+2000-07-25 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Change some words.
+
+2000-07-24 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: Updated Japanese translation.
+
+2000-07-24 Szabolcs BAN <shooby@gnome.hu>
+
+ * hu.po: updated Hungarian translation.
+
+2000-07-23 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-07-23 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-07-21 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-07-15 Robert Brady <rwb197@zepler.org>
+
+ * en_GB.po: Updated British translation.
+
+2000-07-10 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-07-09 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-06-25 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
+
+ * sl.po: fixed a bunch of typos and semantical errors ;)
+
+2000-06-24 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-06-23 Christopher R. Gabriel <cgabriel@mixadlive.com>
+
+ * it.po: Updated italian translation
+
+2000-06-21 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-06-22 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: updated Japanese translation.
+
+2000-06-18 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * sp.po,sr.po: Updated Serbian files
+
+2000-06-18 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-06-17 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * da.po: Updated Danish file
+
+2000-06-12 Kjartan Maraas <kmaraas@gnome.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-06-12 Pauli Virtanen <pauli.virtanen@saunalahti.fi>
+
+ * fi.po: finnish update
+
+2000-06-11 Christopher R. Gabriel <cgabriel@mixadlive.com>
+
+ * it.po: updated italian translation.
+
+2000-06-10 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-06-06 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po: Updated the Turkish translation &
+ deleted all these #~ entries.
+
+2000-05-30 Kenneth Christainsen <kenneth@gnome.org>
+
+ * da.po: Got some suggestions, thanks!
+
+2000-05-30 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
+
+ * ja.po: updated Japanese translation.
+
+2000-05-29 Martin Norb??ƒ?€ck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Fixed wrong translated message
+
+2000-05-25 Pauli Virtanen <pauli.virtanen@saunalahti.fi>
+
+ * fi.po: Finnish update
+
+2000-05-25 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-05-24 Valek Filippov <frob@df.ru>
+
+ * ru.po: updated russian translation.
+
+2000-05-22 Fellmann Joaquim <joaquim@hrnet.fr>
+
+ * fr.po: Updated French translations
+
+2000-05-20 Karl Eichwalder <ke@suse.de>
+
+ * de.po: New translation for "deskguide" according to
+ deskguide_applet.desktop.
+
+2000-05-19 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: updated italian translation.
+
+2000-05-19 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-05-19 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-18 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated Ukrainian translation.
+
+2000-05-18 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-17 Manuel de Vega Barreiro <barreiro@arrakis.es>
+
+ * es.po: Updated Spanish translation.
+
+2000-05-16 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-15 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: Updated.
+
+2000-05-14 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-14 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-13 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Fix.
+ * de.po: Update.
+
+2000-05-10 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: updated.
+
+2000-05-09 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Some fixes.
+
+2000-05-09 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-09 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-10 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * ja.po: Update from Takayuki KUSANO.
+
+2000-05-09 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+Tue May 09 01:11:18 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: update czech translations
+
+Mon May 08 20:25:16 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: minor updates
+
+2000-05-09 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: updated italian translation
+
+2000-05-08 Szabolcs BAN <shooby@gnome.hu>
+
+ * hu.po: Updated it.
+
+2000-05-07 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Fixed some strings.
+
+2000-05-07 Kenneth Christiansen <kenneth@gnome.dk>
+
+ * update.sh: Updated update.sh to support
+ merging, --help, easier porting to new
+ packages, et al
+
+2000-05-07 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation.
+
+2000-05-07 Kjartan Maraas <kmaraas@gnu.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-07 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-07 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-06 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-05-06 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+ * da.po: Updated Danish translation (Kenneth Christiansen).
+
+2000-05-06 Jacob Berkman <jacob@helixcode.com>
+
+ * POTFILES.in: add panel/foobar-widget.c
+
+2000-05-06 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-05-06 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-06 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Again.
+ * de.po: Update.
+
+2000-05-06 Kjartan Maraas <kmaraas@gnu.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-06 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-05 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-05-05 Jacob Berkman <jacob@the-dot-in.helixcode.com>
+
+ * POTFILES.in: s/authors/contributors/ for
+ gnome-about
+
+2000-05-04 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-05-04 Kjartan Maraas <kmaraas@gnu.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-03 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-05-03 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation.
+
+2000-04-03 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-03 Kjartan Maraas <kmaraas@gnu.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-03 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * ja.po: updated.
+
+2000-05-02 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-05-02 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-05-01 Kjartan Maraas <kmaraas@gnu.org>
+
+ * no.po: Updated Norwegian translation.
+
+2000-05-01 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-04-30 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-04-30 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-04-30 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+2000-04-29 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * wa.po: small fixes
+
+2000-04-29 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation
+
+2000-04-28 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * ja.po: updated.
+
+2000-04-24 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po : Updated the Turkish translation .
+
+2000-04-24 Matt Wilson <msw@redhat.com>
+
+ * nl.po: fix fatal errors (\n not matching between msgid and msgstr)
+
+2000-04-25 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-04-24 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Fixed some strings.
+
+2000-04-23 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: updated.
+
+2000-04-20 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * POTFILES.in: Renamed authors.h to contributors.h.
+
+i2000-04-20 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * ca.po: Updated Catalan file
+
+
+2000-04-19 Karl EICHWALDER <ke@suse.de>
+
+ * de.po: Typo.
+
+2000-04-18 Karl EICHWALDER <ke@suse.de>
+
+ * de.po: More cleanup and corrections.
+
+2000-04-17 Karl EICHWALDER <ke@suse.de>
+
+ * de.po: Corrections.
+
+2000-04-16 Valek Filippov <frob@df.ru>
+
+ * ru.po: Updated russian translation.
+
+2000-04-16 Karl EICHWALDER <ke@suse.de>
+
+ * de.po: Cleanup.
+ * de.po: General cleanup. Add shortcuts.
+
+Sat Apr 15 16:39:50 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: update the translations a bit
+
+2000-04-15 Robert Brady <rwb197@zepler.org>
+
+ * en_GB.po: Updated British translation.
+
+2000-04-14 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-04-14 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po : Updated ++++
+
+2000-04-14 Vincent Renardias <vincent@ldsol.com>
+
+ * fr.po : Updated (100% Complete)
+
+2000-04-14 Pauli Virtanen <pauli.virtanen@saunalahti.fi>
+
+ * fi.po: Update (complete) and lots'a .desktop entries
+
+2000-04-14 Karl EICHWALDER <ke@suse.de>
+
+ * de.po: Update.
+
+2000-04-11 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Updated. Thanks to Zbigniew Chyla for pl.po ;)
+
+2000-04-08 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po : Updated the Turkish translation .
+
+2000-04-06 Ville Hautamaki <villeh@cs.joensuu.fi>
+
+ * fi.po: updated finnish translation (unfinished)
+
+2000-04-06 Christopher R. Gabriel <cgabriel@linux.it>
+
+ * it.po: updated italian translation
+
+2000-04-05 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation
+
+2000-04-04 Kjartan Maraas <kmaraas@online.no>
+
+ * tr.po: Removed fuzzy at the beginning.
+ * no.po: Updated Norwegian translation.
+ * bg_BG.cp1251: Fixed header.
+ * ga.po: Removed a load of duplicate msgids to make
+ msgmerge work on the file.
+
+2000-04-04 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation
+
+2000-04-04 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-04-03 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-04-03 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-04-02 Szabolcs Ban <shooby@gnome.hu>
+
+ * hu.po updated Hungarian translations
+
+Sat Apr 01 14:23:40 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: update the translations a bit
+
+2000-04-01 Kjartan Maraas <kmaraas@online.no>
+
+ * ru.po: Updated Russian translation from Valek
+ Filippov <frob@df.ru>.
+
+2000-04-01 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-03-30 Christopher R. Gabriel <cgabriel@firenze.linux.it>
+
+ * it.po: updated.
+
+2000-03-29 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Updated.
+
+2000-03-27 Andreas Hyden <a.hyden@cyberpoint.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-03-27 Robert Brady <robert@susu.org.uk>
+
+ * en_GB.po: Updated British translation.
+
+2000-03-27 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-03-26 Ettore Perazzoli <ettore@helixcode.com>
+
+ * it.po: Updated Italian translation.
+
+2000-03-24 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * lt.po: Updated Lithuanian translation
+
+2000-03-12 Jacob Berkman <jacob@helixcode.com>
+
+ * wa.po: fix some /n issues
+
+2000-03-11 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * es.po: updated Spanish file (new mantainer: Javier Gsmez)
+ * lt.po: Added Lithuanian translation
+
+2000-03-09 Alastair McKinstry <mckinstry@computer.org>
+
+ * ga.po: Updated Irish translation.
+
+2000-03-08 Spiros Papadimitriou <spapadim+@cs.cmu.edu>
+
+ * el.po: Updated (from Simos Xenitellis, simos@hellug.gr).
+
+2000-03-08 Fellmann Joaquim <joaquim@hrnet.fr>
+
+ * fr.po: updated French translation
+
+Sun Mar 05 12:38:36 2000 George Lebl <jirka@5z.com>
+
+ * bg_BG.cp1251.po: updated bulgarian translation from
+ "Pavel Cholakov" <pavel@linux.home.bg>
+
+Sat Mar 04 01:23:25 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: updated a couple translations
+
+2000-03-02 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-03-01 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-03-01 Christopher R. Gabriel <cgabriel@firenze.linux.it>
+
+ * it.po: Updated Italian translation.
+
+2000-02-28 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-27 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-26 Christopher R. Gabriel <cgabriel@firenze.linux.it>
+
+ * it.po: Updated (finally) italian translation.
+
+2000-02-25 Zbigniew Chyla <chyla@buy.pl>
+
+ * pl.po: Updated Polish translation
+
+2000-02-25 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-24 Yukihiro Nakai <nakai@gnome.gr.jp>
+
+ * ja.po: Update from Yuusuke Tahara
+
+2000-02-23 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-02-22 Andreas Hyden <andreas.hyden@telia.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-22 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: Updated some... (Hungarian)
+
+Mon Feb 21 20:14:45 2000 George Lebl <jirka@5z.com>
+
+ * cs.po: Updated cs translation
+
+2000-02-21 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-02-20 Andreas Hyden <andreas.hyden@telia.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-20 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-02-19 Andreas Hyden <andreas.hyden@telia.com>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-19 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated to avoid the devil (667 messages translated now) :-)
+
+2000-02-16 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2000-02-16 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-02-16 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Updated German translation to release quality.
+
+2000-02-16 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-15 Vincent Renardias <vincent@ldsol.com>
+
+ * fr.po : Updated (100% Complete)
+
+2000-02-14 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-02-13 Richard Hult <rhult@hem.passagen.se>
+
+ * sv.po: Updated Swedish translation.
+
+2000-02-12 Fatih Demir <kabalak@gmx.net>
+
+ * tr.po : Added the Turkish translation .
+
+2000-02-02 Simos Xenitellis <simos@hellug.gr>
+
+ * el.po: Updated Greek translation.
+
+2000-02-02 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+Mon Jan 31 21:51:09 2000 Tom Gilbert <gilbertt@tomgilbert.freeserve.co.uk>
+
+ * Fixed trailing '\n's and a couple of "end-of-line within string"
+ problems. Dudes, a tip - if the msgid doesn't end in a '\n', then
+ neither should the msgstr =)
+ Also, try using a syntax highlighting editor such as vim to show
+ you when you forget to terminate a string. Cheers.
+
+2000-01-31 Joaquim Fellmann <joaquim@hrnet.fr>
+
+ * fr.po: Updated French translation
+ * POTFILES.in: Updated files list
+
+2000-01-31 Robert Brady <robert@susu.org.uk>
+
+ * en_GB.po: Updated English (British) translation.
+
+2000-01-31 Yuan-Chung Cheng <platin@linux.org.tw>
+
+ * zh_CN.GB2312.po: Added po file from TurboLinux Chinese Develop Team.
+
+2000-01-29 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+Sat Jan 29 19:44:34 2000 Tom Gilbert <gilbertt@tomgilbert.freeserve.co.uk>
+
+ * Removed a trailing \n from a msgstr. It was halting compilation
+
+2000-01-29 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+2000-01-29 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Very large update.
+
+2000-01-28 Andreas Hyden <ahyden@staffanstorp.net>
+
+ * sv.po: Updated Swedish translation.
+
+2000-01-25 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-01-24 Jacob Berkman <jacob@helixcode.com>
+
+ * POTFILES.in: remove gemvt's
+
+2000-01-23 Christopher James Lahey <clahey@helixcode.com>
+
+ * POTFILES.in: Removed some generated files that were preventing
+ compilation on a clean check out.
+
+2000-01-18 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+2000-01-18 Joaquim Fellmann <joaquim@hrnet.fr>
+
+ * POTFILES.in: updated list of source files.
+ * fr.po: updated French translation.
+
+2000-01-03 Kjartan Maraas <kmaraas@online.no>
+
+ * update.sh: A little script that lets people
+ update the .pot file without makefiles etc.
+
+2000-01-01 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated Galician translation.
+
+1999-12-30 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+1999-12-30 Richard Hult <rhult@hem.passagen.se>
+
+ * sv.po: Updated Swedish translation.
+
+1999-12-29 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Updated
+
+1999-12-21 Martin Norbdck <d95mback@dtek.chalmers.se>
+
+ * sv.po: Changed time format display to %a %d %b as it should be
+
+1999-12-10 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * uk.po: make it make
+
+1999-12-02 Birger Langkjer <birger.langkjer@image.dk>
+
+ * da.po: Updated Danish translation.
+
+1999-11-09 Birger Langkjer <birger.langkjer@image.dk>
+
+ * da.po: Updated Danish translation.
+
+1999-11-05 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated Norwegian translation.
+
+1999-11-03 Yuri Syrota <rasta@renome.rovno.ua>
+
+ * uk.po: Added Ukrainian Translation.
+
+1999-10-28 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Couldn't resist; updated translation.
+
+1999-10-15 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated translation.
+
+1999-10-08 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * POTFILES.in: remove panel_config_global.c
+ I'll add the new files later
+
+1999-10-05 Jesus Bravo Alvarez <jba@pobox.com>
+
+ * gl.po: Added Galician translation
+
+1999-10-05 Anders Carlsson <andersca@gnu.org>
+
+ * POTFILES.in: add gnome-about.c and authors.h
+
+Mon Oct 04 01:45:54 1999 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: add gnome-hints-properties.c
+
+1999-09-29 Kjartan Maraas <kmaraas@online.no>
+
+ * da.po: Updated Danish translation from Kenneth
+ Christiansen <kenneth@ripe.dk>.
+
+1999-09-27 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Major update. I finally found a good German translation
+ for "Browse...", which I consider my good deed for today. Hey ho.
+
+1999-09-24 Jacob Berkman <jberkman@andrew.cmu.edu>
+
+ * pt_BR.po: fixed \n things
+
+1999-09-24 Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
+
+ * pt_BR.po: added
+
+1999-09-22 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po: Update from ITANI Eiichiro.
+
+1999-09-21 Tomas Ogren <stric@ing.umu.se>
+
+ * sv.po: Update from Andreas Persenius <ndap@swipnet.se>
+
+1999-09-20 Tomas Ogren <stric@ing.umu.se>
+
+ * sv.po: Update from Andreas Persenius <ndap@swipnet.se>
+
+1999-09-17 Cody Russell <bratsche@dfw.net>
+ * ca.po, cs.po, el.po, eu.po, en_GB.po, es.po, et.po, fi.po,
+ fr.po: Updated translations from gnome-libs after changing
+ gnome-terminal not to display underscores in menubar items.
+
+1999-09-17 Kjartan Maraas <kmaraas@online.no>
+
+ * da.po: Updated Danish translation from Kenneth
+ Christiansen <kenneth@ripe.dk>.
+
+1999-09-15 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated translation.
+ * POTFILES.in: Added applets/desk-guide/deskguide_applet.c
+
+1999-09-14 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+1999-09-11 Anders Carlsson <anders.carlsson@tordata.se>
+
+ * POTFILES.in: Added tasklist files.
+
+1999-09-05 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated translation.
+
+1999-09-04 Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>
+
+ * pl.po: Updated (100%)
+
+1999-09-02 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po: Updates from ITANI Eiichiro.
+
+1999-08-31 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Updates and lots of fixes.
+
+1999-08-28 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+1999-08-28 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Conflicts resolved, some changes reverted. Karl, please
+ contact me or Karsten before changing translations again. Thanks.
+
+1999-08-27 Karl Eichwalder <ke@suse.de>
+
+ * de.po: Update.
+
+1999-08-25 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated translation.
+
+1999-08-24 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: Updated.
+
+1999-08-15 Kjartan Maraas <kmaraas@online.no>
+
+ * no.po: Updated transalation.
+
+1999-08-13 Mikko Rauhala <mjr@iki.fi>
+
+ * fi.po: Updated translation.
+
+1999-08-02 Anders Carlsson <anders.carlsson@tordata.se>
+
+ * sv.po: Updated Swedish translation.
+
+1999-08-01 Tom Tromey <tromey@cygnus.com>
+
+ * POTFILES.in: List all appropriate gsm files.
+
+1999-07-30 Kjartan Maraas <kmaras@online.no>
+
+ * no.po: Updated translation.
+
+1999-07-22 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po: fixed a little problem
+
+1999-07-21 Sergey Panov <sipan@mit.edu>
+
+ * ru.po: Updated translation
+
+199-07-21 Spiros Papadimitriou <spapadim+@cs.cmu.edu>
+
+ * el.po: Added.
+
+1999-07-14 Raja R Harinath <harinath@cs.umn.edu>
+
+ * hu.po: Fix bad formatting.
+
+1999-07-13 Anders Carlsson <anders.carlsson@tordata.se>
+
+ * sv.po: Updated translation
+
+1999-07-13 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po fixed "AnotherLevel" trans from Akira Higuchi.
+
+1999-07-11 Anders Carlsson <anders.carlsson@tordata.se>
+
+ * POTFILES.IN: removed the files that now reside in gnome-applet
+
+1999-07-08 Pablo Saratxaga <srtxg@chanae.alphanet.ch>
+
+ * es.po, eu.po, wa.po: updated
+
+1999-06-26 Mikko Rauhala <mjr@iki.fi>
+
+ * fi.po: Updated.
+
+1999-06-25 Yuan-Chung Cheng <platin@linux.org.tw>
+
+ * zh_TW.Big5.po: new translation from platin
+
+1999-06-14 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1999-05-26 Tuomas J. Lukka <lukka@iki.fi>
+
+ * fi.po update
+
+1999-05-19 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Updated.
+
+1999-05-20 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po: Japanese translation update from ITANI EIICHIRO.
+
+1999-05-12 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: Updated.
+
+1999-05-03 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * POTFILES.in: Added applets/life/life.c .
+
+1999-04-28 Ettore Perazzoli <ettore@comm2000.it>
+
+ * it.po: Updated.
+
+1999-04-27 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Updated.
+
+1999-04-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * no.po: Fixed \n typo.
+
+1999-04-16 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1999-04-14 Yukihiro Nakai <nacai@iname.com>
+
+ * ja.po update.
+
+1999-04-14 Matthias Warkus <mawa@iname.com>
+
+ * de.po: Revamp/update.
+
+1999-04-05 Mikko Rauhala <mjr@iki.fi>
+
+ * fi.po: A few corrections and updates.
+
+1999-03-26 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated Portuguese translations.
+
+1999-03-26 Kjartan Maraas <kmaras@online.no>
+
+ * no.po: Updated translation.
+
+Sun Mar 21 08:30:41 1999 John Ellis <johne@bellatlantic.net>
+
+ * POTFILES.in: Remove references to gmenu/{dialogs.c, dnd.c, gmenu.c}
+ added gmenu/{main.c, treedel.c, treenew.c}
+
+1999-03-16 Ettore Perazzoli <ettore@comm2000.it>
+
+ * it.po: Begin to make it usable.
+
+1999-03-15 Mikko Rauhala <mjr@iki.fi>
+ * fi.po: Updated and completed (still in need of fine tuning, though)
+
+1999-03-14 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: Updated.
+
+1999-03-13 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1999-02-27 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: Updated.
+
+1999-02-25 Kjartan Maraas <kmaraas@fib.hl.no>
+
+ * no.po: Updated.
+
+1999-02-23 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1999-02-21 Shooby Ban <bansz@szif.hu>
+
+ * hu.po: almost final update, i'll check it
+
+1999-02-19 Sergey Panov <sipan@mit.edu>
+
+ * ru.po: almost final update
+
+1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * POTFILES.in: *AGAIN*, removed a bunch of files that are not
+ distributed. I'll repeat: if you modify POTFILES.in, PLEASE MAKE
+ SURE THE PACKAGE PASSES MAKE DISTCHECK!!! Not all files in cvs
+ are distributed in the tarballs!!!
+
+1999-02-15 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: More Portuguese updates.
+
+1999-02-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * POTFILES.in: Again, removed a bunch of files that ARE NOT
+ DISTRIBUTED. If you modify POTFILES.in, PLEASE MAKE SURE THE
+ PACKAGE PASSES MAKE DISTCHECK!!! Not all files in cvs are
+ distributed in the tarballs!!!
+
+1999-01-20 Martin Baulig <martin@home-of-linux.org>
+
+ * POTFILES.in: Removed `desktop-properties/*'.
+
+1999-01-19 Felix Bellaby <felix@pooh.u-net.com>
+
+ * POTFILES.in: "gsm/manager.c" added.
+
+1999-01-10 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated. Not yet finished.
+
+1999-01-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * nl.po: New Dutch translation by Dirk-Jan C. Binnema
+ <djcb@dds.nl>.
+
+1999-01-05 Oliver Maruhn <om@linuxhq.com>
+
+ * POTFILES.in: "applets/mini-commander/" replaced by
+ "applets/mini-commander/src/"
+
+1999-01-04 Arturo Espinosa <arturo@nuclecu.unam.mx>
+
+ * POTFILES.in: removed applets/gkb/properties.c, as it seems it
+ has been removed.
+
+1999-01-01 Christopher Blizzard <blizzard@appliedtheory.com>
+
+ * POTFILES.in: remove applets/cpuload/cpuload.c since it doesn't
+ exist anymore.
+
+1998-12-23 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * ko.po: Updated.
+
+1998-12-19 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * ko.po: Updated for 0.99
+
+1998-12-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * POTFILES.in: Removed references to applets/cpuload, since it is
+ obsoleted by multiload now.
+ Removed references to desktop-properties.
+ Removed references to applets/freshapp.
+ Removed references to applets/gkb.
+ Removed references to gemvt.
+
+1998-12-14 Kjartan Maraas <kmaraas@fib.hl.no>
+
+ * no.po: Updated translation.
+
+1998-12-15 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * ko.po: Updated.
+
+1998-12-08 Tom Tromey <tromey@cygnus.com>
+
+ * Many files: Ran `make update-po' to eliminate messages from
+ control-center.
+
+1998-12-05 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-11-30 Tuomas Lukka <lukka@iki.fi>
+
+ * fi.po: updates
+
+1998-11-24 Tuomas Lukka <lukka@iki.fi>
+
+ * fi.po: updates
+
+1998-11-21 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * POTFILES.in: Added control-center and capplets files.
+
+ * pt.po: Updates.
+
+1998-11-18 Tuomas Lukka <lukka@iki.fi>
+
+ * fi.po: make it compile (blush), patch from Richard Hult
+
+1998-11-16 Tuomas Lukka <lukka@iki.fi>
+
+ * fi.po: some updates
+
+1998-10-28 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-10-14 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-10-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * ja.po: Updated. Thanks to Yukihiro Nakai for the patches.
+
+1998-09-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * POTFILES.in: Removed references to applets/freshapp, since it
+ not being distributed.
+ Removed references to applets/gkb.
+ Removed references to applets/slashapp.
+ Removed references to gemvt.
+
+1998-09-15 Ville Hautamaki <villeh@cs.joensuu.fi>
+
+ * fi.po: Updated.
+
+1998-08-21 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-08-19 Martin Baulig <martin@home-of-linux.org>
+
+ * de.po: Merged with `gnome-core.pot'.
+ * es.po: Likewise.
+ * fr.po: Likewise.
+ * ga.po: Likewise.
+ * it.po: Likewise.
+ * ko.po: Likewise.
+ * no.po: Likewise.
+ * pt.po: Likewise.
+ * sv.po: Likewise.
+
+1998-08-18 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-08-15 Martin Baulig <martin@home-of-linux.org>
+
+ * fi.po: Removed spurious `--2fHTh5uZTiUOsy+g--' - has this
+ file been corrupted ?
+
+Sat Aug 15 10:14:38 1998 Tom Tromey <tromey@cygnus.com>
+
+ * sv.po: Removed spurious \n.
+
+1998-08-07 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+1998-08-04 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+ * POTFILES.in: Added `desktop-properties/property-screensaver.cc'.
+
+1998-08-02 Raja R Harinath <harinath@cs.umn.edu>
+
+ * POTFILES.in: Remove applets/winlist/winlist.c,
+ gemvt/getopt.c, help-browser/toc.c, help-browser/toc-man.c.
+
+ * ja.po: Add `\n' to msgstr, to match msgid.
+
+1998-08-01 Raja R Harinath <harinath@cs.umn.edu>
+
+ * de.po: Merged with `gnome-core.pot'.
+ * es.po: Likewise.
+ * fr.po: Likewise.
+ * ga.po: Likewise.
+ * it.po: Likewise.
+ * ko.po: Likewise.
+ * no.po: Likewise.
+ * pt.po: Likewise.
+ * sv.po: Likewise.
+
+1998-07-25 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+ * POTFILES.in: Added `panel/session.c' and organized it.
+
+1998-07-24 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+ * POTFILES.in: Added `gmenu/dialogs.c', `gmenu/edit.c',
+ `gmenu/gmenu.c', `gmenu/order.c' and `gmenu/tree.c'.
+
+1998-07-23 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * POTFILES.in: Added panel/applet.c
+
+ * pt.po: Updated.
+
+Sun Jul 19 23:47:57 1998 Tom Tromey <tromey@cygnus.com>
+
+ * POTFILES.in: Added session-properties.c.
+
+1998-06-30 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * pt.po: Updated.
+
+ * POTFILES.in: Added 'desktop-properties/app-ui.c',
+ 'desktop-properties/app-bell.c', 'desktop-properties/property-ui.c'
+ and 'desktop-properties/property-bell.c'.
+
+
+1998-06-26 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
+
+ * POTFILES.in: Added 'gnome-terminal/gnome-terminal.c'.
+
+ * pt.po: New file.
+
+Thu Jun 11 23:38:18 1998 Tom Tromey <tromey@cygnus.com>
+
+ * it.po: Removed spurious \n.
+
+1998-06-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * POTFILES.in: Removed netwatch as it is not being compiled.
+
+Sun, 31 May 1998 20:37:24 +0200 Vincent Renardias <vincent@waw.com>
+
+ * fr.po: major update + corrected some typos.
+
+1998-05-23 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * POTFILES.in: Added 'applets/netload/netload.c' and
+ 'applets/netload/properties.c'.
+
+ * de.po: Updated German translation.
+
+1998-05-22 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * POTFILES.in: Added 'applets/fish/fish.c' and
+ 'applets/clock/clock.c'.
+
+ * de.po: Updated German translation.
+
+Wed Apr 29 14:46:00 1998 Kjartan Maraas <kmaraas@fib.hl.no>
+
+ * no.po: Updated Norwegian translation.
+
+Tue Mar 17 23:00:33 1998 George Lebl <jirka@5z.com>
+
+ * POTFILES.in: fixed the files after the applets move
+
+1998-03-13 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+
+ * de.po: New file.
+
+Sat Mar 7 12:07:28 1998 Tom Tromey <tromey@cygnus.com>
+
+ * POTFILES.in: Added gsm/main.c and gsm/save-session.c.
+
+1998-03-04 Raja R Harinath <harinath@cs.umn.edu>
+
+ * POTFILES.in: Renamed panel/applet-lib.cc to
+ panel/libapplet/applet-lib.cc.
+
+Tue, 24 Feb 1998 20:04:09 +0100 Vincent Renardias <vincent@waw.com>
+
+ * Added files to POTFILES.in:
+ desktop-properties/{main,app-mouse,app-keyboard,app-background}.c
+ panel/{panel_config_global,panel_config,menu,applet-lib}.{c,cc}
+ panel/logout/logout.c
+ * Updated fr.po consequently.
+ * Added translations for desktop-links/*.directory
+
+Sun, 22 Feb 1998 18:27:32 +0100 Vincent Renardias <vincent@waw.com>
+
+ * fr.po: New file.
+
+Mon Feb 16 08:39:03 KST 1998 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
+
+ * ko.po: New file.
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..e848d3b
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,114 @@
+# please keep this list sorted alphabetically
+#
+ab
+af
+am
+an
+ar
+as
+ast
+az
+be
+be@latin
+bg
+bn
+bn_IN
+br
+bs
+ca
+ca@valencia
+ckb
+crh
+cs
+csb
+cy
+da
+de
+dz
+el
+en_CA
+en_GB
+en@shaw
+eo
+es
+et
+eu
+fa
+fi
+fr
+fur
+fy
+ga
+gd
+gl
+gu
+ha
+he
+hi
+hr
+hu
+hy
+id
+ig
+is
+it
+ja
+ka
+kab
+kk
+km
+kn
+ko
+ku
+lt
+lv
+mai
+mg
+mi
+mjw
+mk
+ml
+mn
+mr
+ms
+nb
+nds
+ne
+nl
+nn
+nso
+oc
+or
+pa
+pl
+ps
+pt
+pt_BR
+ro
+ru
+rw
+si
+sk
+sl
+sq
+sr
+sr@latin
+sv
+ta
+te
+tg
+th
+tk
+tr
+ug
+uk
+uz
+uz@cyrillic
+vi
+wa
+xh
+yo
+zh_CN
+zh_HK
+zh_TW
+zu
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..a1401e4
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,21 @@
+# List of source files containing translatable strings.
+# Please keep this file sorted alphabetically.
+data/gnome-custom-session.desktop.in.in
+data/gnome.desktop.in.in
+data/gnome-dummy.session.desktop.in.in
+data/gnome.session.desktop.in.in
+data/gnome-wayland.desktop.in.in
+data/gnome-xorg.desktop.in.in
+data/org.gnome.SessionManager.gschema.xml.in
+data/session-selector.ui
+gnome-session/gsm-fail-whale-dialog.c
+gnome-session/gsm-manager.c
+gnome-session/gsm-process-helper.c
+gnome-session/gsm-util.c
+gnome-session/gsm-xsmp-client.c
+gnome-session/gsm-xsmp-server.c
+gnome-session/main.c
+tools/gnome-session-ctl.c
+tools/gnome-session-inhibit.c
+tools/gnome-session-quit.c
+tools/gnome-session-selector.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
new file mode 100644
index 0000000..d59455a
--- /dev/null
+++ b/po/POTFILES.skip
@@ -0,0 +1,9 @@
+# List of source files containing translatable strings that should not be
+# translated.
+# Please keep this file sorted alphabetically.
+data/gnome-custom-session.desktop.in
+data/gnome.desktop.in
+data/gnome-dummy.session.desktop.in
+data/gnome.session.desktop.in
+data/gnome-wayland.desktop.in
+data/gnome-xorg.desktop.in
diff --git a/po/ab.po b/po/ab.po
new file mode 100644
index 0000000..fcc5829
--- /dev/null
+++ b/po/ab.po
@@ -0,0 +1,357 @@
+# Abkhazian translation for gnome-session.
+# Copyright (C) 2022 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# Нанба Наала <naala-nanba@rambler.ru>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-01-26 19:00+0000\n"
+"PO-Revision-Date: 2022-01-26 19:00+0000\n"
+"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>\n"
+"Language-Team: Abkhazian <ab@li.org>\n"
+"Language: ab\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-DamnedLies-Scope: partial\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Даҽа сеанск"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ари анҵамҭа ишәнаҭоит азин еиқәырхоу асеанс алхра"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Ари асеанс GNOME аҭалара азин шәнаҭоит "
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Имцырку асеанс GNOME "
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME Wayland аҟны"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg аҟны"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Асеанс аиқәырхара"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Иаҿакызар gnome-session автоматла еиқәнархоит асеанс."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Ари асеанс аиқәырхара"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr "Ианаҿаку,gnome-session автоматла еиқәнархоит анаҩстәи асеанс,"
+"асистема аҟынтә шәанҭыҵуа автоматтә еиқәырхара аҿыхзаргьы "
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Асеанс харқәшахаанӡа агәҽанҵара"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Иаҿакызар, gnome-session ахархәаҩ асеанс хырқәшахаанӡа игәиҽаннаҵалоит."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Амашәыртә гәҽанҵара арбара"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr "Иаҿакызар,асеанс автоматла машәырла ихырқәшахзар ,"
+"асистема шәанҭалалак ашьҭахь gnome-session иаанарԥшоит аиҿцәажәаратә ԥенџьыр агәҽанҵара зну."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Даҽа сеанск"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Иалышәх асеанс аус аруразы"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Асеанс ҿыц"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Асеанс аныхра"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Асеанс ахьӡ а_ԥсахра"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Ацҵара"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "О,Мап! Ҳусқәа цәгьахеит."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "Иҟалаз агха иахҟьаны асистема зеиҭашьақәмыргылахеит."
+"Шәидҵаал асистема ахада."
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr "Иҟалаз агха иахҟьаны асистема зеиҭашьақәмыргылахеит."
+"Арҭбаарақәа зегьы аҿыхын ашәарҭадара аиқәыршәаразы."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr "Иҟалаз агха иахҟьаны асистема зеиҭашьақәмыргылахеит.\n"
+"Асеанс хырқәшаны шәеиҭаҭал."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Асеанс ахырқәшара"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "Аиқәыршәаратә код аҿакра"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Асеанс ахырқәшаразы азин аҭалара"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Арҭбаарақәа рҟынтә агәҽанҵарақәа рырбара"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "Аҭак ҟанаҵаӡом"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Асеанс ахырқәшара"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Игәынкылоу аԥшьы"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ари апрограмма асеанс ахырқәшара ааннакылоит "
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Иҿыцу аҿакрақәа аклиентцәа рҟынтә мап рыцәкхоит ,избан акәзар асеанс хырқәшахоит\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE иазыӡырҩуа асокет ҿыц аҟаҵара залымшахеит:%s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "Аус аруп systemd амаҵура аҳасабала "
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "Асеансқәа рменеџьер systemd ахархәара "
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Шәхы иашәырхәа иҭагалоу асессиа анаԥхгарақәа ( ихадоу systemd ацымхәрас)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "Автоҿакраҟны истандарту аизакхьӡынҵақәа рыԥсахра"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "Автоҿакра_Аизакхьӡынҵа "
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "Асеанс ахархәара"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "Асеанс_ахьӡ"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "Ахархәаҩ иаирбаз аԥшьқәа рҭагалара мап ацәкра"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "Ари аԥшьы ахкы "
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr"Иаашәырԥшы агха иазку ацҳамҭа змоу аиҿцәажәара, уи арҽеиразы "
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "Апараттә аццакра аҟазаара агәаҭага аҿыхра"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — GNOME асеансқәа рменедџьер"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target аус арура"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr "gnome-session-shutdown.target аус арура EOF , мамзар баитк stdin аҟны аиураан "
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Адырра аинициалттәра ҟаҵоуп gnome-session азы"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service аиҭаҿакра, аус ауозар"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "Аус арура ExecStopPost аҟынтә амаҵура шьақәҟьар gnome-session-failed.target аус аруразы "
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Апрограмма хышәарак ауп иаҭаху"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [АЛШАРА…] АДҴА\n"
+"\n"
+"Асеанс афункциақәак аанкыланы адҵа COMMAND анагӡара.\n"
+"\n"
+" -h, --help Аилыркаа арбара\n"
+" --version Апрограмма ахкы арбара\n"
+" --app-id ID Аԥшьы аидентификациа азура \n ахархәаразы"
+" \n аанкылараан(ихымԥадатәиым)"
+" --reason REASON Азин амҭара мзыс иамоу (ихымԥадатәиым)\n"
+" --inhibit ARG Азин зымхтәу, ахьӡынҵа,аҩҟәаԥ ала еиҩшоу:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Иаҿашәымкын COMMAND,уи ацымхәрас наунагӡа шәазыԥшыз \n"
+" -l, --list Ақәиҭымтәрақәа рыхьӡынҵа , насгьы урҭ рыриааишьа\n"
+"\n"
+"Алшара --inhibit арбамзар, азыԥшра арежим аҿакхоит .\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s аҿакра залымшахеит\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s иаҭахуп ашьаҭаркыга\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Асеанс ахырқәшара"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Аҿыхра"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Аиҭаҿакра"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Аԥынгылақәа шәрызхьамԥшын "
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr " Ахархәаҩ иҟынтә ашьақәырӷәӷәара аҳәара ҟашәымҵан "
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Асеансқәа рменеџьер иҽимадара залымшахеит"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Апрограмма ааԥхьара азуп аимактә хышәарақәа аманы."
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Асеанс %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Асеанс ахьӡқәа залагаӡом “.” асимволқәа рыла, мамзар иалазар ҟалаӡом асимволқәа “/” "
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Асеанс ахьӡқәа залагаӡом “.” асимволқәа рыла "
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Асеансқәа рыхьӡқәа ирымазар ҟалаӡом “/” асимволқәа "
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Абри аҩыза асеанс “%s” ыҟоуп "
diff --git a/po/af.po b/po/af.po
new file mode 100644
index 0000000..7f7651a
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,807 @@
+# Afrikaans translation of gnome-session.
+# Copyright (C) 2004 Zuza Software Foundation
+# This file is distributed under the same license as the gnome-session package.
+# Zuza Software Foundation <info@translate.org.za>, 2004
+# F Wolff <friedel@translate.org.za>, 2011, 2013.
+# Pieter Schoeman <pieter@sonbesie.co.za>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.6-branch\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2018-06-01 11:05+0000\n"
+"PO-Revision-Date: 2018-02-06 17:39+0200\n"
+"Last-Translator: Pieter Schalk Schoeman <pieter@sonbesie.co.za>\n"
+"Language-Team: Afrikaans <pieter@sonbesie.co.za>\n"
+"Language: af\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.0.3\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in:3
+msgid "Custom"
+msgstr "Pasgemaak"
+
+#: data/gnome-custom-session.desktop.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Die inskrywing laat u 'n gestoorde sessie kies"
+
+#: data/gnome.desktop.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in:4 data/gnome-xorg.desktop.in:4
+msgid "This session logs you into GNOME"
+msgstr "Die sessie laat u by GNOME aanmeld"
+
+#: data/gnome-xorg.desktop.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME op Xorg"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Pasgemaakte sessie"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Kies asb. 'n pasgemaakte sessie om uit te voer"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nuwe sessie"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Verwyder sessie"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Hernoem sessie"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Gaan voort"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Gits! Iets het verkeerd geloop."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"'n Fout het voorgekom en die stelsel kan nie daarvan herstel nie. Kontak die "
+"stelseladministrateur"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"'n Fout het voorgekom en die stelsel kan nie daarvan herstel nie. Alle "
+"uitbreidings is as voorsorgmaatreël gedeaktiveer."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"'n Fout het voorgekom en die stelsel kan nie herstel daarvan nie.\n"
+"Meld af en probeer gerus weer aanmeld."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Meld af"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Aktiveer ontfoutkode"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Laat afmelding toe"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Wys uitbreidingwaarskuwing"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "Reageer nie"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "_Meld af"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Onthou die toepassing"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Dié program keer afmelding."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Nuwe klientverbinding word geweier omdat die sessie tans afgesluit word\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Kon nie 'n ICE-luistersok skep nie: %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Oorheers standaard outobegin gidse"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "OUTOBEGIN_GIDS"
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "Sessie om te gebruik"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "SESSIE_NAAM"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Moenie gebruiker-gespesifiseerde toepassings laai nie"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Weergawe van hierdie program"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Wys die dialoog vir ernstige foute (vir toetsdoeleindes)"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "Skakel die hardeware versnelling toets af"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " — die GNOME-sessiebestuurder"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [KEUSE...] OPDRAG\n"
+"\n"
+"Voer OPDRAG uit terwyl sommige sessiefunksionaliteit onderdruk word.\n"
+"\n"
+" -h, --help Wys dié hulp\n"
+" --version Wys programweergawe\n"
+" --app-id ID Die program-ID om te gebruik tydens\n"
+" onderdrukking (opsioneel)\n"
+" --reason REDE Die rede vir onderdrukking (opsioneel)\n"
+" --inhibit ARG Dinge om te onderdruk, dubbelpuntgeskyde lys van:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Moenie OPDRAG begin nie en wag bloot vir altyd\n"
+"\n"
+"As geen --inhibit-keuse gegee is nie, word \"idle\" aangeneem.\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Uitvoering van \"%s\" het misluk\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "\"%s\" benodig 'n parameter\n"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessie %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Sessiename mag nie met \".\" begin nie en mag nie \"/\"-karakters bevat nie"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sessiename mag nie met \".\" begin nie"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sessiename mag nie \"/\"-karakters bevat nie"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "'n Sessie met die naam \"%s\" bestaan reeds"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Meld af"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Skakel af"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Herbegin"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Gaan enige bestaande inhibeerders ignoreer"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Moenie vra vir gebruikerbevestiging nie"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Kon nie met sessiebestuurder koppel nie"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program geroep met botsende opsies"
+
+#~ msgid "Select Command"
+#~ msgstr "Kies bevel"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Voeg aanvangsprogram by"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Redigeer aanvangsprogram"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Die aanvangsbevel kan nie leeg wees nie"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Die aanvangsbevel is nie geldig nie"
+
+#~ msgid "Enabled"
+#~ msgstr "Geaktiveer"
+
+#~ msgid "Icon"
+#~ msgstr "Ikoon"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Voorkeure vir aanvangstoepassings"
+
+#~ msgid "No name"
+#~ msgstr "Geen naam"
+
+#~ msgid "No description"
+#~ msgstr "Geen beskrywing"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Kon nie hulpdokument vertoon nie"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aanvangstoepassings"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Kies watter toepassings moet begin by aanmelding"
+
+#~| msgid "This session logs you into GNOME"
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Hierdie sessie laat mens aanmeld by GNOME m.b.v. Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Bykomende aanvangs_programme:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Aanvangsprogramme"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Onthou outomaties toepassings wat nog loop by afgemelding"
+
+#~| msgid "_Remember Currently Running Application"
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Onthou die toepassings wat tans loop"
+
+#~ msgid "Options"
+#~ msgstr "Opsies"
+
+#~ msgid "Browse…"
+#~ msgstr "Blaai…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Opm_erking:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Op_drag:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Naam:"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Lêer is nie 'n geldige .desktop-lêer nie"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Nieherkende \"desktop\"-lêerweergawe '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Begin tans %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Toepassing aanvaar nie dokumente op die opdraglyn nie"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Nieherkende lanseerkeuse: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Kan nie dokument URI's na 'n 'Type=Link' \"desktop\"-inskrywing aangee nie"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nie 'n lanseerbare item nie"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Deaktiveer konneksie na sessiebestuurder"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Spesifiseer lêer wat gestoorde konfigurasie bevat"
+
+#~ msgid "FILE"
+#~ msgstr "LÊER"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Spesifiseer sessiebestuurs-ID"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Sessiebestuurkeuses:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Wys keuses vir sessiebestuur"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Sommige programme loop steeds:</b>"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "Wag nog vir die program om te voltooi. Onderbreking van die program kan "
+#~ "veroorsaak dat werk verloor word."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Daar is 'n probleem met die opstellingbediener.\n"
+#~ "(%s het afgesluit met status %d)"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ikoon '%s' nie gevind nie"
+
+#~ msgid "Unknown"
+#~ msgstr "Onbekend"
+
+#~ msgid "A program is still running:"
+#~ msgstr "'n Program loop steeds:"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Sommige programme loop steeds:"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "Wag nog vir programme om te voltooi. Onderbreking van dié programme kan "
+#~ "veroorsaak dat werk verloor word."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Wissel in elk geval van gebruiker"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Meld in elk geval af"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Sluimer in elk geval"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hiberneer in elk geval"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Skakel in elk geval af"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Sluit skerm"
+
+#~ msgid "Cancel"
+#~ msgstr "Kanselleer"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "U gaan outomaties afgemeld word oor %d sekonde."
+#~ msgstr[1] "U gaan outomaties afgemeld word oor %d sekondes."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Dié stelsel gaan outomaties afgeskakel word oor %d sekonde."
+#~ msgstr[1] "Dié stelsel gaan outomaties afgeskakel word oor %d sekondes."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "U is tans aangemeld as \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Meld nou af van hierdie stelsel?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Wi_ssel gebruiker"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Skakel die stelsel nou af?"
+
+#~ msgid "S_uspend"
+#~ msgstr "Sl_uimer"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hiberneer"
+
+#~ msgid "_Restart"
+#~ msgstr "He_rbegin"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Skakel af"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Afgesluit met kode %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Afsluiting geforseer met sein %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Gestop met sein %d"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 kon nie laai nie"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Ongelukkig kon GNOME 3 nie behoorlik laai nie en het in <i>terugvalmodus</"
+#~ "i> begin.\n"
+#~ "\n"
+#~ "Dit beteken waarskynlik dat die stelsel (grafikahardeware of aandrywer) "
+#~ "nie in staat is om die volle ervaring van GNOME 3 te lewer nie."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Vind meer uit oor GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Kon nie 'n aanmeldsessie begin nie (en kon nie aan die X-bediener koppel "
+#~ "nie)"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Laat TCP-konneksies toe"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Om sekuriteitsredes luister gnome-session nie uit na konneksies op TCP-"
+#~ "poorte op platforms met _IceTcpTransNoListen() (XFree86 systems) nie. "
+#~ "Hierdie opsie laat konneksies van (gemagtide) afgeleë gashere toe.Gnome-"
+#~ "session moet oorbegin word vir die instelling om toegepas te word."
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr ""
+#~ "Indien geaktiveer, sal gnome-session die gebruiker waarsku voordat 'n "
+#~ "sessie beëindig word."
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Indien geaktiveer, sal gnome-session die sessie outomaties stoor. "
+#~ "Andersins sal daar op die afmeldingsdialoog 'n opsie wees om die sessie "
+#~ "te stoor."
+
+#~ msgid "Logout prompt"
+#~ msgstr "Afmeldingspor"
+
+#~ msgid ""
+#~ "Preferred Image to use for the splash screen when logging in to the GNOME "
+#~ "Desktop"
+#~ msgstr ""
+#~ "Voorkeurbeeld wat gebruik moet word vir die spatskerm wanneer daar by "
+#~ "GNOME Desktop aangemeld word"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Vertoon die spatskerm"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Vertoon die spatskerm wanneer die sessie begin"
+
+#~ msgid "Splash Screen Image"
+#~ msgstr "Spatskermbeeld"
+
+#~ msgid "_Order:"
+#~ msgstr "_Volgorde:"
+
+#~ msgid "The order in which applications are started in the session."
+#~ msgstr "Die volgorde waarin toepassings in die sessie begin word."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Wat gebeur met die toepassing wanneer dit afsluit."
+
+#~ msgid "_Style:"
+#~ msgstr "_Styl:"
+
+#~ msgid "Order"
+#~ msgstr "Volgorde"
+
+#~ msgid "Style"
+#~ msgstr "Styl"
+
+#~ msgid "State"
+#~ msgstr "Staat"
+
+#~ msgid "Inactive"
+#~ msgstr "Onaktief"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Wag om te begin of reeds klaar."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Het begin maar nog nie die status gerapporteer nie."
+
+#~ msgid "Running"
+#~ msgstr "Besig om te loop"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "'n Gewone lid van die sessie."
+
+#~ msgid "Saving"
+#~ msgstr "Besig om te stoor"
+
+#~ msgid "Saving session details."
+#~ msgstr "Stoor sessie-besonderhede."
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Status nie binne uitteltyd gerapporteer nie."
+
+#~ msgid "Normal"
+#~ msgstr "Normaal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Nie deur afmeldings geraak nie, maar kan sterf."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Mag nooit sterf nie."
+
+#~ msgid "Trash"
+#~ msgstr "Asblik"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Weggegooi tydens afmelding en kan sterf."
+
+#~ msgid "Settings"
+#~ msgstr "Instellings"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Altyd begin vir elke aanmelding."
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "n Fout is ondervind met die laai van die GNOME-Instellingsdaemoon.\n"
+#~ "\n"
+#~ "Sommige funksies, soos temas, klanke of agtergrondinstellings mag dalk "
+#~ "nie korrek werk nie."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Die laaste foutboodskap was:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME sal probeer om die Instellingsdaemoon oor te begin wanneer jy weer "
+#~ "aanmeld."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Daar was 'n onbekende aktiveringsfout."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Die Instellingsdaemoon het te veel kere oorbegin."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Is jy seker jy wil afmeld?"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Stoor huidige opstelling"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Herbegin die rekenaar"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Lees slegs gestoorde sessiesuit die verstek.sessie-lêer"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr "Millisekonde gewag vir kliënte om te registreer (0=vir altyd)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Millisekonde gewag vir kliënte om te reageer (0=vir altyd)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Millisekonde gewag vir kliënte om te sterf (0=vir altyd)"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Kon nie internetadres vir %s opsoek nie.\n"
+#~ "Die sal verhoed dat GNOME behoorlik funksioneer.\n"
+#~ "Die probleem mag moontlik opgelos word deur \n"
+#~ "%s by die lêer /etc/gashere te voeg."
+
+#~ msgid "Try Again"
+#~ msgstr "Probeer weer"
+
+#~ msgid "Your session has been saved"
+#~ msgstr "Jou sessie is gestoor"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Die program het opgehou wag as gevolg van 'n konflik."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Geen reaksie op die %s-bevel nie."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Die program is dalk stadig, stukkend of dit het gestop."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Jy mag wag totdat dit reageer, of dit verwyder."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Herbegin gestaak as gevolg van falings."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "'n Sessie-afsluiting neem tans plaas."
+
+#~ msgid "Set the current session"
+#~ msgstr "Stel die huidige sessie"
+
+#~ msgid "Kill session"
+#~ msgstr "Stop sessie"
+
+#~ msgid "Use dialog boxes"
+#~ msgstr "Gebruik dialoogkassies"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Die sessienaam kan nie leeg wees nie"
+
+#~ msgid "Add a new session"
+#~ msgstr "Voeg 'n nuwe sessie by"
+
+#~ msgid "Edit session name"
+#~ msgstr "Redigeer sessienaam"
+
+#~ msgid "_Edit"
+#~ msgstr "_Redigeer"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Sommige veranderings is nie gestoor nie.\n"
+#~ "Is dit nog steeds OK om af te sluit?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Vertoon spatskerm by _aanmelding"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Stoor outomaties veran_deringe aan sessie"
+
+#~ msgid "Session Name"
+#~ msgstr "Sessienaam"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Verwyder die huidige geselekteerde kliënt van die sessie."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Pas veranderinge op huidige sessie toe"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Die lys van programme in die sessie."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Programme wat tans loop:"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Inisialiseer sessie-instellings"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Stel jou sessies op"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Sawfish-vensterbestuurder"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Metacity-vensterbestuurder"
+
+#~ msgid "Window Manager"
+#~ msgstr "Vensterbestuurder"
+
+#~ msgid "The Panel"
+#~ msgstr "Die Paneel"
+
+#~ msgid "Session Manager Proxy"
+#~ msgstr "Sessiebestuurder-instaanbediener"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Werkarea-instellings"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Selflaaibevel:"
diff --git a/po/am.po b/po/am.po
new file mode 100644
index 0000000..d1eec0e
--- /dev/null
+++ b/po/am.po
@@ -0,0 +1,486 @@
+# Translations into the Amharic Language.
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Ge'ez Frontier Foundation <locales@geez.org>, 2002.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2003-01-24 09:30+EDT\n"
+"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
+"Language-Team: Amharic <locales@geez.org>\n"
+"Language: am\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "ክፍለ ጊዜዎችን አስቀምጥ"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "ቅደም _ተከተል፦"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "በክፍለ ጊዜ ውስጥ ፕሮግራሞቹ የሚነሱበት ቅድመ ተከተል።"
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "ፕሮግራሙ በሚወጣበት ጊዜ ምን ተፈጠረ።"
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_ዘይቤ፦"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "ቅደም ተከተል"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "ዘይቤ"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "ሁኔታ"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "ፕሮግራም"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "የማይንቀሳቀስ"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "ለመጀመር በመጠበቅ ላይ ወይም ጨርሷል።"
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "እየጀመረ ነው"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "ጀምሯል ግን ሁኔታውን የመዘገብ ሁኔታ የለውም።"
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "በሥራ ላይ"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "የተለመደ የክፍለ ጊዘው አባል"
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "በማስቀመጥ ላይ"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "ያልታወቀ"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "የተለመደ"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "እንደገና አስጀምሩ"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "ለመሞት በፍጹም አልተፈቀደም።"
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "የማይፈለግ"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "ምርጫዎች"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr ""
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr ""
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "ዘግቶ ለመውጣት እርግጠኛ ነዎት?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "አሁኑ የተቋቋመውን _አስቀምጡ"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "ትግባር"
+
+#: gnome-session/logout.c:410
+#, fuzzy
+msgid "_Log out"
+msgstr "_ዘግተው ይውጡ"
+
+#: gnome-session/logout.c:416
+#, fuzzy
+msgid "Sh_ut down"
+msgstr "_አጥፉ"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "ኮምፒውተሩን _እንደገና አስጀምሩ"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr ""
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr ""
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "ለማንኛውም ዝምብሎ ይግባ"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "እንደገና ይሞክሩ"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr ""
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr ""
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr ""
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr ""
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr ""
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr ""
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr ""
+
+#: gnome-session/save-session.c:46
+#, fuzzy
+msgid "Set the current session"
+msgstr "የአሁኑን ክፍለ ጊዜ አስቀምጡ"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "ክፍለ ጊዜውን አቋርጥ"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr ""
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr ""
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr ""
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr ""
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "አዲስ የክፍለ ጊዜው ጨምር"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "የክፍለ ጊዜው ስም ያስተካክሉ"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_አስተካክል"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"አንዳንድ ለውጦች አልተቀመጡም።\n"
+"አሁንም ቢሆን ቢወጣ ምንም አይደለም?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "ክፍለ ጊዜዎች"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "የሚፈነጠቅ መመልከቻ ሲጀምር _አሳይ"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "ሲወጣ _አስታውቅ"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "ለክፍለ ጊዜው ለውጦችን አውቶማቲካሊ አስቀምጥ"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_ክፍለ ጊዜዎች፦"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "የክፍለ ጊዜው ስም"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "የአሁኑን ክፍለ ይዞታዎች"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "የአሁኑን ክፍለ ጊዜው"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "ተጨማሪ ፕሮግራሞቹን አስጀምር"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "ትእዛዝ"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "ፕሮግራሞቹን አስጀምር"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr ""
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "አሁን በመስራት ላይ ያለው _ፕሮግራሞች፦"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "ለክፍለ ጊዜው ይዞታ ምልክት አድርጉ"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "ክፍለ ጊዜዎትን ያስተካክሉ"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Sawfish መስኮቱን መቆጣጠሪያ"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Metacity መስኮቱን መቆጣጠሪያ"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "መስኮቱን መቆጣጠሪያ"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "ፓነሉ"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr ""
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "የሠሌዳ ምርጫዎች"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr ""
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr ""
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr ""
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr ""
+
+#~ msgid "Save Current Session"
+#~ msgstr "የአሁኑን ክፍለ ጊዜ አስቀምጡ"
+
+#~ msgid "Priority"
+#~ msgstr "ቅድሚያ"
+
+#~ msgid "Audio Settings"
+#~ msgstr "የድምጽ ይዞታዎች"
+
+#~ msgid "Screensaver"
+#~ msgstr "የመመልከቻው አዳኝ"
+
+#~ msgid "Background Settings"
+#~ msgstr "የመደቡ ይዞታዎች"
+
+#~ msgid "Mouse Settings"
+#~ msgstr "የመክፈቻና የመፈለጊያው ይዞታዎች"
+
+#~ msgid "_Priority:"
+#~ msgstr "_ቅድሚያ፦"
diff --git a/po/an.po b/po/an.po
new file mode 100644
index 0000000..98f572a
--- /dev/null
+++ b/po/an.po
@@ -0,0 +1,525 @@
+# Aragonese translation for gnome-session.
+# Copyright (C) 2012 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Daniel Martinez <entaltoaragon@gmail.com>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-12-27 12:16+0000\n"
+"PO-Revision-Date: 2015-12-27 18:11+0200\n"
+"Last-Translator: Daniel <entaltoaragon@gmail.com>\n"
+"Language-Team: Aragonés <softaragones@googlegroups.com>\n"
+"Language: an\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.5.1.1\n"
+"X-POOTLE-MTIME: 1451236260.000000\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Personalizau"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "Ista dentrada te deixa trigar una sesion alzada"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2 ../data/gnome-xorg.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ista sesión accede a GNOME"
+
+#: ../data/gnome-xorg.desktop.in.h:1
+#| msgid "GNOME on Wayland"
+msgid "GNOME on Xorg"
+msgstr "GNOME en Xorg"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Sesión personalizada"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Por fabor tríe una sesión personalizada ta executar"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_Nueva sesión"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "Saca_r sesión"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "Reno_mbrar sesión"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Continar"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "_Programas adicionals ta encetar:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "Programas a l'encieto"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+"Remerar _automaticament as aplicacions en execución a lo salir d'a sesión"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "_Remerar as aplicacions que se son executando actualment"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Opcions"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "Examinar…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "Com_entario:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "Co_mando:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_Nombre:"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Redios! Bella cosa salió malament."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ocurrió un problema y o sistema no se puet recuperar. Contacta con un "
+"administrador de sistemas."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ocurrió un problema y o sistema no se puet recuperar. Por precacción, s'han "
+"desactivau todas as extensions."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ocurrió un problema y o sistema no se puet recuperar.\n"
+"zarra la sesión y intenta-lo de nuevas."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "T_rancar a sesión"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:280
+msgid "Enable debugging code"
+msgstr "Enchegar o codigo de depuración"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Permitir zarrar sesión"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Amostrar alvertencias d'as extensions"
+
+#: ../gnome-session/gsm-manager.c:1256 ../gnome-session/gsm-manager.c:1902
+msgid "Not responding"
+msgstr "No responde"
+
+#: ../gnome-session/gsm-util.c:381
+msgid "_Log out"
+msgstr "_Zarrar a sesión"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicación remerada"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "Iste programa ye bloquiando a zarrada de sesió"
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Se ye refusando a connexión d'un nuevo client porque actualment se ye "
+"zarrando a sesión\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "No se pudo creyar o socket d'escuita ICE: %s"
+
+#: ../gnome-session/main.c:278
+msgid "Override standard autostart directories"
+msgstr "Sobreescribir as carpetas d'encieto automatico estandar"
+
+#: ../gnome-session/main.c:278
+msgid "AUTOSTART_DIR"
+msgstr "CARPETA_D'ENCIETO_AUTOMATICO"
+
+#: ../gnome-session/main.c:279
+msgid "Session to use"
+msgstr "Sesión ta emplegar"
+
+#: ../gnome-session/main.c:279
+msgid "SESSION_NAME"
+msgstr "NOMBRE_D'A_SESIÓN"
+
+#: ../gnome-session/main.c:281
+msgid "Do not load user-specified applications"
+msgstr "No cargar as aplicacions especificadas por l'usuario"
+
+#: ../gnome-session/main.c:282
+msgid "Version of this application"
+msgstr "Versión d'ista aplicación"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:284
+msgid "Show the fail whale dialog for testing"
+msgstr "Amostrar o dialogo d'a ballena de prebas"
+
+#: ../gnome-session/main.c:285
+msgid "Disable hardware acceleration check"
+msgstr "Desactivar a verificación d'acceleración hardware"
+
+#: ../gnome-session/main.c:307
+msgid " - the GNOME session manager"
+msgstr " - O chestor de sesions de GNOME"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIÓN...] COMANDO\n"
+"\n"
+"Executar COMANDO a l'inhibir bella funcionalidat d'a sesión.\n"
+"\n"
+" -h, --help Amostrar ista aduya\n"
+" --version Amostrar a versión d'o programa\n"
+" --app-id ID L'ID d'aplicación ta emplegar\n"
+" a l'inhibir (opcional)\n"
+" --reason RAZÓN a razón ta inhibir (opcional)\n"
+" --inhibit ARG Qué inhibir, lista d'elementos separaus por dos puntos "
+"de:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only No executar COMANDO y asperar indefinidament\n"
+"\n"
+"Si no s'especifica a opción --inhibit s'asume «idle».\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Ha fallau en executar %s\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s amenista un argumento\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesión %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"Os nombres de sesion no pueden estar prencipiaus con '.' u tener caracters '/"
+"'"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "Os nombres de sesion no pueden estar prencipiaus con '.'"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "Os nombres de sesion no pueden tener caracters '/'"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "Ya bi ha una sesion que se dice '%s'"
+
+#: ../tools/gnome-session-quit.c:49
+msgid "Log out"
+msgstr "Trancar a sesión"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Power off"
+msgstr "Amortar"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Reboot"
+msgstr "Reenchegar"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Ignoring any existing inhibitors"
+msgstr "Se ye inorando qualsiquier inhibidor existent"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Don't prompt for user confirmation"
+msgstr "No requerir confirmación de l'usuario"
+
+#: ../tools/gnome-session-quit.c:87 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "No se pudo connectar con o chestor de sesions"
+
+#: ../tools/gnome-session-quit.c:196
+msgid "Program called with conflicting options"
+msgstr "Se clamó a lo programa con opcions en conflicto"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Ista sesión accede a lo GNOME, fendo servir o Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Seleccionar comando"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Adhibir programa a l'encieto"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editar programa a l'encieto"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "O comando d'encieto no puet estar vuedo"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "O comando d'encieto no ye valido"
+
+#~ msgid "Enabled"
+#~ msgstr "Enchegau"
+
+#~ msgid "Icon"
+#~ msgstr "Icono"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferencias d'as aplicacions a l'encieto"
+
+#~ msgid "No name"
+#~ msgstr "Sin nombre"
+
+#~ msgid "No description"
+#~ msgstr "Sin descripción"
+
+#~ msgid "Could not display help document"
+#~ msgstr "No se pudo amostrar o documento d'aduya"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Encara se son executando qualques programas:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicacions a l'encieto"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Esleye qué aplicacions rancar en encetar a sesión"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "O fichero no ye un fichero .desktop valido"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "No se reconoixe a versión '%s' d'o fichero desktop"
+
+#~ msgid "Starting %s"
+#~ msgstr "Encetando %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "l'aplicación no accepta documentos en a linia de comandos"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opción de lanzamiento no reconoixida: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "No se pueden pasar os URI de documentos a dentradas d'escritorio Type=Link"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "No ye un elemento lanzable"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desactivar a connexión con o chestor de sesions"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especifica o fichero que contién a configuración alzada"
+
+#~ msgid "FILE"
+#~ msgstr "FICHERO"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Especifica l'ID de chestión d'a sesión"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opcions de chestión de sesión:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Amostrar opcions de chestión de sesión"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconoixiu"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Encara se ye executando un programa:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Se ye asperando que o programa remate. Interrumpir iste programa puet "
+#~ "causar a perda d'o suyo treballo."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Se ye asperando que os programas rematen. Interrumpir istos programas "
+#~ "puet causar perdas de datos."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Cambiar usuario de todas trazas"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Salir de todas trazas"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Suspender de todas trazas"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernar de todas trazas"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Amortar de todas trazas"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reenchegar de todas trazas"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloquiar pantalla"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancelar"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Saldrás automaticament d'a sesión en %d segundo."
+#~ msgstr[1] "Saldrás automaticament d'a sesión en %d segundos."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "O sistema s'amortará automaticament en %d segundo."
+#~ msgstr[1] "O sistema s'amortará automaticament en %d segundos."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "O sistema se reenchegará automaticament en %d segundo."
+#~ msgstr[1] "O sistema se reenchegará automaticament en %d segundos."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Has encetau sesión como «%s»."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Trancar a sesión en iste sistema agora?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Ca_mbiar d'usuario"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Amortar agora iste sistema?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Suspender"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernar"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reenchegar"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Amortar"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Reiniciar iste sistema agora?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d hora"
+#~ msgstr[1] "%d horas"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minuto"
+#~ msgstr[1] "%d minutos"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d segundo"
+#~ msgstr[1] "%d segundos"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segundos"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Zarrada de sesión automatica en %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Ista sesión ye configurada ta zarrar-se automaticament dimpués d'un "
+#~ "periodo d'inactividat."
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..1249a19
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,573 @@
+# translation of gnome-session.HEAD.po to Arabic
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER
+# Sayed Jaffer Al-Mosawi <mosawi@arabeyes.org>, 2002.
+# Djihed Afifi <djihed@gmail.com>, 2006.
+# Anas Husseini <linux.anas@gmail.com>, 2007.
+# Anas Afif Emad <anas.e87@gmail.com>, 2008.
+# Khaled Hosny <khaledhosny@eglug.org>, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014.
+# Anass Ahmed <anass.1430@gmail.com>, 2011.
+# Ibrahim Saed <ibraheem5000@gmail.com>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-28 23:26+0200\n"
+"PO-Revision-Date: 2014-02-28 23:26+0200\n"
+"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
+"Language-Team: Arabic <doc@arabeyes.org>\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 ? 4 : 5;\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
+"X-Project-Style: gnome\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "خاص"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "هذه الخاصية تسمح لك باختيار جلسة محفوطة"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "جنوم"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "تولجك هذه الجلسة في جنوم"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "جنوم لا شيء"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "جنوم على وايلاند"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "تولجك هذه الجلسة في جنوم باستخدام وايلاند"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "جلسة خاصة"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "من فضلك، اختر جلسة خاصة للعمل"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_جلسة جديدة"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_احذف الجلسة"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "غيّر ا_سم جلسة"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_أكمل"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "برامج بدء الت_شغيل الإضافية:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "برامج بدء التشغيل"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "ت_ذكّر تلقائيا التطبيقات المشغلة عند تسجيل الخروج"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "_تذكّر التطبيقات المشغلة حاليًا"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "الخيارات"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "تصفّح…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "ال_تعليق:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "الأ_مر:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "الا_سم:"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "لا! ثمة مشكلة."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr "حدثت مشكلة وتعذّر تعافي النظام. حاول الاتصال بمدير النظام."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr "حدثت مشكلة وتعذّر تعافي النظام. ستتعطل جميع الامتدادات كإجراء احترازي."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"حدثت مشكلة وتعذّر تعافي النظام.\n"
+"حاول الخروج ثم الولوج مجددا."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "ا_خرج"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "فعّل كود تتبع الأخطاء"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "اسمح بالخروج"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "أظهر تحذير الامتداد"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "لا يستجيب"
+
+#: ../gnome-session/gsm-util.c:409
+msgid "_Log out"
+msgstr "ا_خرج"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "التطبيقات المتذكرة"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "يعيق هذا البرنامج الخروج."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "يرفض العملاء الجدد لأن الجلسة يتم إطفاؤها حاليا\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "تعذّر إنشاء مقبس استماع ICE: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "تخطى مجلدات بدء التشغيل القياسية"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "الجلسة التي ستُستخدم"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "لا تُحمّل التطبيقات التي حددها المستخدم"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "إصدارة هذا التطبيق"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "أظهر حوار الفشل للاختبار"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr " - مدير جلسات جنوم"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "فشل التنفيذ %s\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "يتطلب الخيار %s معاملا\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "جلسة %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "لا يسمح أن يبدأ اسم الجلسة بـ '.' أو أن يتضمن '/'"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "لا يسمح أن تبدأ أسماء الجلسات بـ '.'"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "لا يسمح أن تتضمن أسماء الجلسات حرف '/'"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "جلسة باسم ‘%s’ موجودة بالفعل"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "اخرج"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "أطفئ"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "أعِد التشغيل"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "متجاهلًا أية معيقات موجودة"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "لا تطلب تأكيدا من المستخدم"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "تعذّر الاتصال بمدير الجلسات"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "تم استدعاء البرنامج بخيارات متضاربة"
+
+#~ msgid "Select Command"
+#~ msgstr "اختر أمرا"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "أضِف برنامجا لبداية التشغيل"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "حرّر برنامج بدء التشغيل"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "لا يمكن أن يكون أمر بدء التشغيل فارغًا"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "أمر بدء التشغيل غير سليم"
+
+#~ msgid "Enabled"
+#~ msgstr "مُفعّل"
+
+#~ msgid "Icon"
+#~ msgstr "أيقونة"
+
+#~ msgid "Program"
+#~ msgstr "البرنامج"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "تفضيلات برمجيات بدء التشغيل"
+
+#~ msgid "No name"
+#~ msgstr "بلا اسم"
+
+#~ msgid "No description"
+#~ msgstr "بلا وصف"
+
+#~ msgid "Could not display help document"
+#~ msgstr "تعذّر عرض مستند المساعدة"
+
+#~ msgid "Startup Applications"
+#~ msgstr "تطبيقات بدء التشغيل"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "اختر التطبيقات التي تريد تشغيلها عند ولوجك"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ليس هذا ملف .desktop سليم"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "إصدارة ملف سطح مكتب غير معروفة: '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "يجري بدء %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "لا يقبل التطبيق مستندات في سطر الأوامر"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "خيار إطلاق غير معروف: %Id"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "تعذّر تمرير مسارات الملفات إلى مدخلة سطح مكتب 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ليس عنصرا يمكن إطلاقه"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "عطّل الاتصال بمدير الجلسات"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "حدد ملفا يحتوي الاعدادات المحفوظة"
+
+#~ msgid "FILE"
+#~ msgstr "ملف"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "حدد رقم معرّف إدارة الجلسات"
+
+#~ msgid "ID"
+#~ msgstr "معرّف"
+
+#~ msgid "Session management options:"
+#~ msgstr "خيارات إدارة الجلسات:"
+
+#~ msgid "Show session management options"
+#~ msgstr "اعرض خيارات إدارة الجلسات"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ما زالت بعض البرامج تعمل:"
+
+#~ msgid "Unknown"
+#~ msgstr "مجهول"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ما زال أحد البرامج يعمل:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr "بانتظار انتهاء البرامج. مقاطعة هذه البرامج قد يتسبب في فقدان العمل."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr "بانتظار انتهاء البرامج. مقاطعة هذه البرامج قد يتسبب في فقد بيانات."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "بدّل المستخدم بالرغم من هذا"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "اخرج بالرغم من هذا"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "علّق بالرغم من هذا"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "أسبِت بالرغم من هذا"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "أغلق بالرغم من هذا"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "أعد التشغيل على أي حال"
+
+#~ msgid "Lock Screen"
+#~ msgstr "أوصد الشاشة"
+
+#~ msgid "Cancel"
+#~ msgstr "ألغ"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "سيتم إخراجك حالا."
+#~ msgstr[1] "سيتم إخراجك خلال ثانية واحدة."
+#~ msgstr[2] "سيتم إخراجك خلال ثانيتين."
+#~ msgstr[3] "سيتم إخراجك خلال %Id ثوان."
+#~ msgstr[4] "سيتم إخراجك خلال %Id ثانية."
+#~ msgstr[5] "سيتم إخراجك خلال %Id ثانية."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "سيتم إطفاء النظام حالا."
+#~ msgstr[1] "سيتم إطفاء النظام خلال ثانية واحدة."
+#~ msgstr[2] "سيتم إطفاء النظام خلال ثانيتين."
+#~ msgstr[3] "سيتم إطفاء النظام خلال %Id ثوان."
+#~ msgstr[4] "سيتم إطفاء النظام خلال %Id ثانية."
+#~ msgstr[5] "سيتم إطفاء النظام خلال %Id ثوان."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "سيعاد تشغيل النظام حالا."
+#~ msgstr[1] "سيعاد تشغيل النظام آليا خلال ثانية واحدة."
+#~ msgstr[2] "سيعاد تشغيل النظام آليا خلال ثانيتين."
+#~ msgstr[3] "سيعاد تشغيل النظام آليا خلال %Id ثوان."
+#~ msgstr[4] "سيعاد تشغيل النظام آليا خلال %Id ثانية."
+#~ msgstr[5] "سيعاد تشغيل النظام آليا خلال %Id ثانية."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "حاليا أنت والج باسم \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "أأخرج من هذا النظام الآن؟"
+
+#~ msgid "_Switch User"
+#~ msgstr "ب_دّل المستخدم"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "أأطفئ هذا النظام الآن؟"
+
+#~ msgid "S_uspend"
+#~ msgstr "_علّق"
+
+#~ msgid "_Hibernate"
+#~ msgstr "أ_سبِت"
+
+#~ msgid "_Restart"
+#~ msgstr "أعِد الت_شغيل"
+
+#~ msgid "_Shut Down"
+#~ msgstr "أ_طفئ"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "هل ترغب بإعادة تشغيل النظام الآن؟"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "الأيقونة '%s' غير موجودة"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "فشل بدء جنوم 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "للأسف فشل بدء جنوم 3 على الوجه الصحيح ودخلت إلى <i>الطور التقليدي</i>.\n"
+#~ "\n"
+#~ "غالبا ما يعني هذا أن نظامك (عتاد الرسوميات أو المُشغّل) ليس مؤهلا لتشغيل "
+#~ "جنوم 3 بكامل طاقتها."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "تعرّف أكثر على جنوم 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "تعذّر بدء جلسة الولوج (وتعذّر الاتصال بالخادوم الرسومي)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>ما زالت بعض البرامج تعمل:</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "حدثت مشكلة وتعذّر تعافي النظام. قد تكون أحد الامتدادات بالأسفل قد تسببت في "
+#~ "هذا.\n"
+#~ "حاول تعطيل بعضها ثم لج مجددا."
+
+#~ msgid "Exited with code %d"
+#~ msgstr "خَرَجَ مع الرمز %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "قًتِل بإشارة %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "أُوقِف بإشارة %d"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "هناك مشكلة مع خادوم الإعدادات.\n"
+#~ "(%s خرج بالحالة %Id)"
+
+#~ msgid "Try _Recovery"
+#~ msgstr "حاوِل ال_تعافي"
+
+#~ msgid "A system error has occurred: %s"
+#~ msgstr "حدث عُطل في النظام: %s"
+
+#~ msgid "A fatal system error has occurred: %s"
+#~ msgstr "حدث عُطل أساسي في النظام: %s"
+
+#~ msgid "Component '%s': %s"
+#~ msgstr "المكون '%s': ‏%s"
+
+#~ msgid "Killed by signal"
+#~ msgstr "قًتِل بإشارة"
+
+#~ msgid "Timed out"
+#~ msgstr "انتهت المهلة"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "أعرض حوار إيقاف التشغيل"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "استخدم صناديق الحوار للأخطاء"
+
+#~ msgid "Set the current session name"
+#~ msgstr "اضبط اسم الجلسة الحالية"
+
+#~ msgid "NAME"
+#~ msgstr "الاسم"
+
+#~ msgid "Kill session"
+#~ msgstr "اقتل الجلسة"
+
+#~ msgid "Classic GNOME"
+#~ msgstr "جنوم تقليدية"
+
+#~ msgid "Window Manager"
+#~ msgstr "مدير النوافذ"
diff --git a/po/as.po b/po/as.po
new file mode 100644
index 0000000..ec7a8d8
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,492 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Amitakhya Phukan <aphukan@fedoraproject.org>, 2009, 2010.
+# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011, 2012, 2013.
+# ngoswami <ngoswami@redhat.com>, 2014. #zanata.
+msgid ""
+msgstr ""
+"Project-Id-Version: as\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-01-03 14:35+0000\n"
+"PO-Revision-Date: 2014-01-06 17:30+0630\n"
+"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
+"Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
+"Language: as\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: Lokalize 1.5\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "স্বনিৰ্বাচিত"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "এই প্ৰৱিষ্টিয়ে আপোনাক এটা সংৰক্ষিত অধিবেশন নিৰ্বাচন কৰাত সহায় কৰে"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "এই অধিবেশনে আপোনাক GNOME ত লগিন কৰায়"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME ডামি"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "Wayland ত GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "এই অধিবেশনে আপোনাক Wayland ব্যৱহাৰ কৰি, GNOME ত লগিন কৰায়"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "স্বনিৰ্বাচিত অধিবেশন"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:103
+msgid "Please select a custom session to run"
+msgstr "অনুগ্ৰহ কৰি চলাবলে এটা স্বনিৰ্বাচিত অধিবেশন বাছক"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "নতুন অধিবেশন (_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "অধিবেশন আতৰাওক (_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "অধিবেশন পুনৰ নামকৰণ কৰক (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "অব্যাহত ৰাখক (_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "অতিৰিক্ত আৰম্ভৰ প্ৰগ্ৰামসমূহ (_p):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "আৰম্ভৰ প্ৰগ্ৰামসমূহ"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "লগআউট কৰাৰ সময়ত চলি থকা এপ্লিকেচনসমূহ স্বচালিতভাৱে মনত ৰাখক (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "বৰ্তমানে চলি থকা এপ্লিকেচনসমূহ মনত ৰাখক (_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "বিকল্পসমূহ"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "ব্ৰাউছ কৰক..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "মন্তব্য (_e):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "কমান্ড (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "নাম (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:323
+msgid "Oh no! Something has gone wrong."
+msgstr "ইচচ! কিবা এটা ভুল হৈছে।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"এটা সমস্যা দেখা দিছে আৰু চিস্টেমটো উদ্ধাৰ হব পৰা নাই। অনুগ্ৰহ কৰি এজন চিস্টেম "
+"প্ৰশাসকক যোগাযোগ কৰক"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"এটা সমস্যা দেখা দিছে আৰু চিস্টেমটো উদ্ধাৰ হব পৰা নাই। সকলো সম্প্ৰসাৰন এটা "
+"সাৱধানতা "
+"হিচাপে অসামৰ্থবান কৰা হৈছে।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:334
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"এটা সমস্যা দেখা দিছে আৰু চিস্টেমটো উদ্ধাৰ হব পৰা নাই।\n"
+"অনুগ্ৰহ কৰি লগআউট কৰক আৰু পুনৰ চেষ্টা কৰক।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:349
+msgid "_Log Out"
+msgstr "লগআউট কৰক (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371 ../gnome-session/main.c:307
+msgid "Enable debugging code"
+msgstr "ক'ড ডিবাগিং সামৰ্থবান কৰক"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:372
+msgid "Allow logout"
+msgstr "লগআউটৰ অনুমতি দিয়ক"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:373
+msgid "Show extension warning"
+msgstr "সম্প্ৰসাৰনৰ সতৰ্কবাৰ্তা দেখুৱাওক"
+
+#: ../gnome-session/gsm-manager.c:1272 ../gnome-session/gsm-manager.c:2044
+msgid "Not responding"
+msgstr "কোনো প্ৰতিক্ৰিয়া নাই"
+
+#: ../gnome-session/gsm-util.c:411
+msgid "_Log out"
+msgstr "লগআউট কৰক (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:559
+msgid "Remembered Application"
+msgstr "মনত ৰখা এপ্লিকেচন"
+
+#: ../gnome-session/gsm-xsmp-client.c:1209
+msgid "This program is blocking logout."
+msgstr "এই প্ৰগ্ৰামে লগআউট অবৰোধ কৰি আছে।"
+
+#: ../gnome-session/gsm-xsmp-server.c:341
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"চিস্টেম বৰ্তমানে বন্ধ কৰাৰ প্ৰচেষ্টা কৰা হৈছে আৰু এই কাৰণে নতুন গ্ৰাহকৰ সৈতে "
+"সংযোগ "
+"স্থাপনৰ অনুৰোধ প্ৰত্যাখ্যান কৰা হৈছে।\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:610
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE অপেক্ষাৰ ছ'কেট নিৰ্মাণ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../gnome-session/main.c:305
+msgid "Override standard autostart directories"
+msgstr "প্ৰামাণিক স্বআৰম্ভ ডাইৰেকটৰিসমূহ অভাৰৰাইড কৰক"
+
+#: ../gnome-session/main.c:305
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:306
+msgid "Session to use"
+msgstr "ব্যৱহাৰ হ'ব লগিয়া অধিবেশন"
+
+#: ../gnome-session/main.c:306
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:308
+msgid "Do not load user-specified applications"
+msgstr "ব্যৱহাৰকাৰী দ্বাৰা নিৰ্ধাৰিত এপ্লিকেচনসমূহ ল'ড নকৰিব"
+
+#: ../gnome-session/main.c:309
+msgid "Version of this application"
+msgstr "এই এপ্লিকেচনৰ সংস্কৰণ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:311
+msgid "Show the fail whale dialog for testing"
+msgstr "পৰিক্ষণৰ বাবে ব্যৰ্থ হোৱেইল ডাইলগ দেখুৱাওক"
+
+#: ../gnome-session/main.c:344
+msgid " - the GNOME session manager"
+msgstr "- GNOME অধিবেশন ব্যৱস্থাপক"
+
+#: ../tools/gnome-session-inhibit.c:110
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"অধিবেশনৰ কাৰ্য্যকৰীতাক বাধা দিওতে COMMAND এক্সিকিউট কৰক। \n"
+"\n"
+" -h, --help এই সহায় দেখুৱাওক\n"
+" --version প্ৰগ্ৰামৰ সংস্কৰণ দেখুৱাওক\n"
+" --app-id ID বাধা দিওতে ব্যৱহাৰ কৰিন লগিয়া\n"
+" এপ্লিকেচন আইডি (বৈকল্পিক)\n"
+" --reason REASON বাধা দিয়াৰ কাৰণ (বৈকল্পিক)\n"
+" --inhibit ARG বাধা দিব লগিয়া বস্তু, কলন-পৃথকিত তালিকা:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only ইয়াৰ পৰিৱৰ্তে COMMAND লঞ্চ কৰি সদায়ৰ বাবে অপেক্ষা নকৰিব\n"
+"\n"
+"যদি কোনো --inhibit বিকল্প ধাৰ্য্য কৰা হোৱা নাই, idle ধৰি লোৱা হয়।\n"
+
+#: ../tools/gnome-session-inhibit.c:148
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s এক্সিকিউট কৰিবলে ব্যৰ্থ\n"
+
+#: ../tools/gnome-session-inhibit.c:208 ../tools/gnome-session-inhibit.c:218
+#: ../tools/gnome-session-inhibit.c:228
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ৰ এটা তৰ্কৰ প্ৰয়োজন\n"
+
+#: ../tools/gnome-session-selector.c:62
+#, c-format
+msgid "Session %d"
+msgstr "অধিবেশন %d"
+
+#: ../tools/gnome-session-selector.c:108
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"অধিবেশন নামসমূহ ‘.’ ৰ সৈতে আৰম্ভ হোৱাৰ অথবা ‘/’ আখৰসমূহ অন্তৰ্ভুক্ত কৰাৰ "
+"অনুমতি নাই"
+
+#: ../tools/gnome-session-selector.c:112
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "অধিবেশন নামসমূহ ‘.’ ৰ সৈতে আৰম্ভ হোৱাৰ অনুমতি নাই"
+
+#: ../tools/gnome-session-selector.c:116
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "অধিবেশন নামসমূহ ‘/’ আখৰসমূহ অন্তৰ্ভুক্ত কৰাৰ অনুমতি নাই"
+
+#: ../tools/gnome-session-selector.c:124
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "‘%s’ নামৰ এটা অধিবেশন ইতিমধ্যে অস্তিত্ববান"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Log out"
+msgstr "লগআউট কৰক"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Power off"
+msgstr "বন্ধ কৰক"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Reboot"
+msgstr "পুনৰাম্ভ কৰক"
+
+#: ../tools/gnome-session-quit.c:56
+msgid "Ignoring any existing inhibitors"
+msgstr "কোনো উপস্থিত প্ৰতিৰোধ অগ্ৰাহ্য কৰা হৈ আছে"
+
+#: ../tools/gnome-session-quit.c:57
+msgid "Don't prompt for user confirmation"
+msgstr "ব্যৱহাৰকাৰী নিশ্চিতকৰণৰ কাৰণে প্ৰমপ্ট নকৰিব"
+
+#: ../tools/gnome-session-quit.c:91 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "অধিবেশন ব্যৱস্থাপকৰ সৈতে সংযোগ স্থাপন কৰিবলৈ ব্যৰ্থ"
+
+#: ../tools/gnome-session-quit.c:203
+msgid "Program called with conflicting options"
+msgstr "দ্বন্দ্বযুক্ত বিকল্প সহ প্ৰগ্ৰামক কল কৰা হৈছে"
+
+#~ msgid "Select Command"
+#~ msgstr "কমান্ড বাছক"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "আৰম্ভৰ প্ৰগ্ৰাম যোগ কৰক"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "আৰম্ভৰ প্ৰগ্ৰাম সম্পাদন কৰক"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "আৰম্ভৰ কমান্ড ৰিক্ত থাকিব নোৱাৰিব"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "আৰম্ভৰ কমান্ড অবৈধ"
+
+#~ msgid "Enabled"
+#~ msgstr "সামৰ্থবান"
+
+#~ msgid "Icon"
+#~ msgstr "আইকন"
+
+#~ msgid "Program"
+#~ msgstr "প্ৰগ্ৰাম"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "আৰম্ভৰ এপ্লিকেচন পছন্দসমূহ"
+
+#~ msgid "No name"
+#~ msgstr "নাম নোহোৱা"
+
+#~ msgid "No description"
+#~ msgstr "বিৱৰণ নাই"
+
+#~ msgid "Could not display help document"
+#~ msgstr "সহায় দস্তাবেজ প্ৰদৰ্শন কৰিবলৈ ব্যৰ্থ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "কিছুমান প্ৰগ্ৰাম চলি আছে:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "আৰম্ভৰ এপ্লিকেচনসমূহ"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "লগিন কৰাৰ সময়ত কোনবোৰ এপ্লিকেচন আৰম্ভ হব বাছক"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ফাইলটো এটা বৈধ .desktop ফাইল নহয়"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ডেস্কটপ ফাইলৰ অজ্ঞাত সংস্কৰণ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s আৰম্ভ কৰা হৈছে"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "এই এপ্লিকেচনে কমান্ড-শাৰীৰ মাধ্যমে দস্তাবেজসমূহ গ্ৰহণ নকৰে"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "অপৰিচিত লঞ্চ বিকল্প: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "'Type=Link' ডেস্কটপ প্ৰবিষ্টিৰ ক্ষেত্ৰত দস্তাবেজৰ URI প্ৰেৰণ কৰিব নোৱাৰি"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "এটা লঞ্চ কৰিব পৰা বস্তু নহয় "
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "অধিবেশন ব্যৱস্থাপকৰ সৈতে সংযোগ বিচ্ছিন্ন কৰক"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "সংৰক্ষিত সংৰূপ অন্তৰ্ভুক্ত কৰা ফাইল ধাৰ্য্য কৰক"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "অধিবেশন ব্যৱস্থাপনাৰ ID উল্লেখ কৰক"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "অধিবেশন ব্যৱস্থাপনা বিকল্পসমূহ:"
+
+#~ msgid "Show session management options"
+#~ msgstr "অধিবেশন ব্যৱস্থাপনা বিকল্পসমূহ দেখুৱাওক"
+
+#~ msgid "Unknown"
+#~ msgstr "অজ্ঞাত"
+
+#~ msgid "A program is still running:"
+#~ msgstr "এটা প্ৰগ্ৰাম বৰ্তমানে চলি আছে:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "প্ৰগ্ৰাম সমাপ্ত হোৱাৰ অপেক্ষা কৰা হৈছে। প্ৰগ্ৰাম বিঘ্নিত হ'লে আপুনি কাৰ্য্য হেৰুৱাব "
+#~ "পাৰে।"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "প্ৰগ্ৰামসমূহ সমাপ্ত হোৱাৰ বাবে অপেক্ষা কৰা হৈছে। প্ৰগ্ৰামসমূহ বিঘ্নিত হ'লে আপুনি "
+#~ "কাৰ্য্য হেৰুৱাব পাৰে।"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "তথাপিও ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "তথাপিও লগআউট কৰক"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "তথাপিও স্থগিত কৰক"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "তথাপিও হাইবাৰনেইট কৰক"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "তথাপিও বন্ধ কৰক"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "তথাপিও পুনৰাম্ভ কৰক"
+
+#~ msgid "Lock Screen"
+#~ msgstr "পৰ্দা লক কৰক"
+
+#~ msgid "Cancel"
+#~ msgstr "বাতিল কৰক"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে আপোনাক লগআউট কৰা হব।"
+#~ msgstr[1] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে আপোনাক লগআউট কৰা হব।"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে চিস্টেম বন্ধ কৰা হব।"
+#~ msgstr[1] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে চিস্টেম বন্ধ কৰা হব।"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে চিস্টেম পুনাৰম্ভ কৰা হব।"
+#~ msgstr[1] "%d ছেকেণ্ডৰ পিছত স্বচালিতভাৱে চিস্টেম পুনাৰম্ভ কৰা হব।"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "বৰ্তমানে আপুনি \"%s\" হিচাপে লগিন কৰিছে।"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "এতিয়াই চিস্টেমৰ পৰা লগআউট কৰিব নে?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "এই মুহূৰ্তে চিস্টেম বন্ধ কৰিব নে?"
+
+#~ msgid "S_uspend"
+#~ msgstr "স্থগিত কৰক (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "হাইবাৰনেইট কৰক (_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "পুনৰাম্ভ কৰক (_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "বন্ধ কৰক (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "এই চিস্টেম এতিয়া পুনৰাম্ভ কৰিব নে?"
diff --git a/po/ast.po b/po/ast.po
new file mode 100644
index 0000000..a261aa5
--- /dev/null
+++ b/po/ast.po
@@ -0,0 +1,632 @@
+# translation of gnome-session-2.0.po to Asturian
+# Asturian translation for gnome-session
+# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007
+# This file is distributed under the same license as the gnome-session package.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2007.
+# Xose S. Puente <xspuente@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-02-10 09:41+0100\n"
+"PO-Revision-Date: 2009-02-10 01:53+0100\n"
+"Last-Translator: Mikel González <dangerous_piper@softastur.org>\n"
+"Language-Team: Asturian <gnome@softastur.org>\n"
+"Language: ast\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-Launchpad-Export-Date: 2009-02-10 00:28+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Comandu Selección"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Amestar Programa d'Arranque"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Remanar Programa d'Arranque"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr "Ensin descrición"
+
+#: ../capplet/gsm-properties-dialog.c:952
+msgid "The name of the startup program cannot be empty"
+msgstr "El nome del comandu d'arranque nun pue tar vacíu"
+
+#: ../capplet/gsm-properties-dialog.c:956
+msgid "The startup command cannot be empty"
+msgstr "El comandu d'arranque nun puede tar vacíu"
+
+#: ../capplet/gsm-properties-dialog.c:962
+msgid "The startup command is not valid"
+msgstr "El comandu d'arranque nun ye válidu"
+
+#: ../capplet/gsm-properties-dialog.c:1279
+msgid "Enabled"
+msgstr "Activáu"
+
+#: ../capplet/gsm-properties-dialog.c:1292
+msgid "Icon"
+msgstr "Iconu"
+
+#: ../capplet/gsm-properties-dialog.c:1303
+msgid "Program"
+msgstr "Programa"
+
+#: ../capplet/gsm-properties-dialog.c:1453
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "Preferencies de Sesión"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr "Versión d'esta aplicación"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"Tiense solicitao sofitu de teunoloxíes d'asistencia pa esta sesión, pero nun "
+"s'alcontró el rexistru p'accesibilidá. Asegúrese de que'l paquete AT-SPI ta "
+"instaláu. La so sesión anicióse ensin sofitu de teunoloxíes d'asistencia."
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr "Endolcu de rexistru AT SPI"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "Aidante del demoñu de les preferencies de GNOME"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Esta sesión conéuta-y a GNOME"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "Sesión por defeutu"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "Remanador de ficheros"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Si ta habilitao, gnome-session entrugará al usuariu antes de terminar una "
+"sesión."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Si ta habilitao, gnome-session guardará la sesión automáticamente. D'otra "
+"miente, el diálogu de salida tendrá una opción pa guardar la sesión."
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr "Llista d'aplicaciones que formen parte de la sesión por defeutu."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+"Llista de componentes necesarios como parte de la sesión (cada elementu noma "
+"una clave baxo \"/desktop/gnome/session/required-components\"). Les "
+"preferencies de la sesión normalmente nun van permitir a los usuarios "
+"eliminar un componente necesariu de la sesión, y el remanador de sesiones "
+"volverá a añader automáticamente los componentes necesarios pa la sesión si "
+"fueron eliminaos."
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Diálogu de salida"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Panel"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Imaxe preferida pa usar na pantalla d'entrada"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "componentes de sesión requeríos"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Guardar sesiones"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Opción seleicionada nel diálogu de pieslle de sesión"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Amosar la pantalla d'entamu"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Amosar la pantalla d'entamu si arranca la sesión"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+"El remanador de ficheros proporciona los iconos del escritoriu y permítete "
+"interaccionar colos tos ficheros guardaos."
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+"El númberu de minutos d'inactividá antes de considerar la sesión inactiva."
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+"El panel proporciona la barra de la parte superior o inferior de la pantalla "
+"y que contién menús, la llista de ventanes, los iconos d'estáu, el reló, etc."
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+"El remanador de ventanes ye'l programa que dibuxa la barra de títulu y les "
+"llendes d'al rodiu les ventanes, y permítete mover y camudar el tamañu de "
+"les ventanes."
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Esta ye una ruta rellativa sofitada nel directoriu $datadir/pixmaps/. Los "
+"subdirectorios y los nomes d'imáxenes son valores válidos. Los cambeos "
+"d'esti valor surtirán efeutu a partir del siguiente entamu de sesión."
+
+#: ../data/gnome-session.schemas.in.h:20
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Esta ye la opción que tara seleicionado nel diálogu de pieslle de sesión, "
+"los valores válidos son \"logout\" pa zarrar la sesión, \"shutdown\" "
+"p'apagar el sistema y \"restart\" pa reaniciar el sistema."
+
+#: ../data/gnome-session.schemas.in.h:21
+msgid "Time before session is considered idle"
+msgstr "Tiempu enantes de considerar la sesión como inactiva"
+
+#: ../data/gnome-session.schemas.in.h:22 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Alministrador de Ventanes"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Tovía tán executándose dalgunos programes:</b>"
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+"Esperando que fine'l programa. Interrumpir el programa pue facer que pierdas "
+"datos."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Configurar les sos sesiones"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Sesiones"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "_Programes d'entamu adicionales:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Ñavegar..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "Co_mandu:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "Com_entariu"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Opciones"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Programes d'Entamu"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+"Remembrar _automáticamente les aplicaciones n'execución al salir de la sesión"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Nome:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "_Remembrar les aplicaciones actualmente n'execución"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "El ficheru nun ye un ficheru .desktop válidu"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Versión '%s' del ficheru desktop non reconocida"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "Entamando %s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "L'aplicación nun aceuta documentos na llinia de comandos"
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Opción de llanzamientu non reconocida: %d"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+"Nun se puen pasar los URIs de documentos a entraes d'escritoriu 'Type=Link'"
+
+#: ../egg/eggdesktopfile.c:1392
+#, c-format
+msgid "Not a launchable item"
+msgstr "Nun ye un elementu llanciable"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr "Desactivar la conexón al remanador de sesiones"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "Especificar el ficheru que contién la configuración guardada"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "FICHERU"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "Especificar la ID del remanamientu de sesión"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:245
+msgid "Session Management Options"
+msgstr "Opciones del remanamientu de sesiones"
+
+#: ../egg/eggsmclient.c:246
+msgid "Show Session Management options"
+msgstr "Amosar les opciones del remanamientu de sesiones"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Hai un problema col servidor de configuración.\n"
+"(%s salió col estáu %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Nun s'atopó l'iconu '%s'"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Desconocíu"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr "Tovía hai un programa executándose:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr "Tovía hai dalgunos programes executándose:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Esperando a que finen los programes. Interrumpir estos programes pue facer "
+"que pierdas datos."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr "Trocar usuariu de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+msgid "Logout Anyway"
+msgstr "Zarrar sesión de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr "Suspender de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Hibernate Anyway"
+msgstr "Hibernar de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Shutdown Anyway"
+msgstr "Apagar de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Reboot Anyway"
+msgstr "Reaniciar de toes maneres"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr "Candar pantalla"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr "Encaboxar"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+"Anguaño tas rexistráu como «%s».\n"
+"Vas salir automáticamente de la sesión en %d segundu."
+msgstr[1] ""
+"Anguaño tas rexistráu como «%s».\n"
+"Vas salir automáticamente de la sesión en %d segundos."
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+"Anguaño tas rexistráu como «%s».\n"
+"El sistema va apagase automáticamente en %d segundu."
+msgstr[1] ""
+"Anguaño tas rexistráu como «%s».\n"
+"El sistema va apagase automáticamente en %d segundos."
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+#, fuzzy
+msgid "Log out of this system now?"
+msgstr "Zarrar la sesión"
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr "_Trocar usuariu"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "_Log Out"
+msgstr "_Zarrar Sesión"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr "S_uspender"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr "I_vernar"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "_Restart"
+msgstr "_Reaniciar"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+msgid "_Shut Down"
+msgstr "_Apagar"
+
+#: ../gnome-session/gsm-manager.c:943 ../gnome-session/gsm-manager.c:1571
+msgid "Not responding"
+msgstr "Nun respuende"
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr "Esti programa ta bloquiando la salida de la sesión."
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Refugando la conexón d'un cliente nuevu porque la sesión ta siendo zarrada\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nun se pudo crear el socket d'escucha ICE: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+"Nun ye posible entamar la sesión (y nun ye posible coneutar al sirvidor X)"
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr "Sobreescribir los direutorios d'aniciu automáticu estándar"
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr "Clave GConf usada pa guetar la sesión por defeutu"
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr "Activar códigu de depuración"
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr "Nun cargar les aplicaciones especificaes pol usuariu"
+
+#: ../gnome-session/main.c:528
+msgid " - the GNOME session manager"
+msgstr " - el remanador de sesiones de GNOME"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- Pantalla de presentación de GNOME"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "Pantalla de presentación de GNOME"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Establecer el nome de sesión actual"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "NOME"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Finar la sesión"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "Finar la sesión, inorando cualesquier inhibidor esistente"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr "Amosar el diálogu de finalización de sesión"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr "Amosar el diálogu d'apagáu"
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Matar sesión"
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Emplegar cuadros de diálogu pa los errores"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Nun requerir confirmación"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Nun pudo coneutase al alministrador de sesiones"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr "Programa llamáu con opciones conflictives"
+
+#~ msgid "You are currently logged in as \"%s\".\n"
+#~ msgstr "Anguaño tas rexistrá como \"%s\"\n"
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "Fina la to sesión y sácate d'ella."
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "Suspende la to sesión, permitiendo a otru usuariu aniciar la de so y usar "
+#~ "l'ordenador."
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "Apagar l'ordenador"
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "Fina la to sesión y apaga l'ordenador."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "Fina la to sesión y reanicia l'ordenador."
+
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "Suspende la to sesión rápidamente, usando la mínima enerxía mentes "
+#~ "l'ordenador ta esperando."
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "Suspende la to sesión, nun usando enerxía hasta que se reanicie "
+#~ "l'ordenador."
+
+#~ msgid "Cannot find help."
+#~ msgstr "Nun se pue atopar aida."
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "Endolcu del demoñu de depósitu de claves de GNOME"
+
+#~ msgid "Session management"
+#~ msgstr "Remanamientu de sesiones"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "Biblioteca GNOME GUI + EggSMClient"
+
+#~ msgid "Unable to start login session (and unable connect to the X server)"
+#~ msgstr ""
+#~ "Nun se pudo emprimar l'aniciu de sesión (y foi imposible coneutase col "
+#~ "servidor X)"
diff --git a/po/az.po b/po/az.po
new file mode 100644
index 0000000..256c6cb
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,484 @@
+# Translation of gnome-session.HEAD.az.po file to Azerbaijani Turkish
+# Copyright (C) 200 Free Software Foundation, Inc.
+# Vasif Ismailoglu MD <azerb_linux@hotmail.com>, 2000, 2001, 2002.
+# Mətin Əmirov <metin@karegen.com>, 2002, 2003, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-core 1.2.99\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2003-07-10 20:39+0200\n"
+"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "TCP bağlantılarına icazə ver"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Təhlükəsizlik səbəbiylə _IceTcpTransNoListen() (XFree86 sistemləri)-ə malik "
+"olan platformlarda, gnome-iclası TCP qapısına gələn bağlantıları dinləmir. "
+"Bu seçim uzaq (icazəli) qovşaqdan bağlantılara icazə verəcəkdir. Bunun "
+"fəallaşması üçün gnome-iclası yenidən başladılmalıdır."
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Bu fəallaşdırılıbsa, GNOME iclası sonlandırmadan öncə təsdiq istəyəcəkdir."
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Bu fəallaşdırılıbsa, GNOME iclası avtomatik olaraq qeyd edəcək. Əks halda "
+"çıxış təsdiqi dialoqunda iclası qeyd etmə seçimi olacaq."
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Çıxış təstiqi"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr "GNOME Masa Üstünə girərkən sıçrayan ekranda göstərilməsi istənən rəsm."
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "İclasları qeyd et"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Sıçrayan ekranı göstər"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "İclas başlarkən sıçrayan ekranı göstər"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr "Sıçrayan Ekran Rəsmi"
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_Ardıcıllıq:"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Proqramların iclasda başladılma ardıcıllığı."
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Proqramdan çıxıldığında ona nə olacağı."
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Tərz:"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Sifariş ver"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Tərz"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Vəziyyət"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Proqram"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Qeyri-fəal"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Başlatmaq üçün gözlənilir ya da artıq bitirilib."
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Başladılır"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Başladıldı, amma hələ vəziyyət bildirilmədi."
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "İşləyir"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "İclasın normal üzvü."
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Qeyd edilir"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "İclas təfərruatları qeyd edilir."
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Namə'lum"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Bitiş müddəti ərzində vəziyyət xəbər bildirilmədi."
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Normal"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Çıxışlar tərəfindən tə'sirlənməz ancaq sonlana bilən."
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Yenidən başlat"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Sonlandırılmasına imkan vermə."
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Zibil qutusu"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Çıxışda bitirilmiş və sonlandırıla bilən."
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Qurğular"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Hər girişdə başlat"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"GNOME Qurğular Demonu başlarkən xəta yarandı.\n"
+"\n"
+"Örtü,lər səslər vəya arxa planlar kimi bəzi şeylər düzgün işləməyə bilər."
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Son xəta ismarışı:\n"
+"\n"
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Bir sonrakı girişinizdə GNOME hələ də Qurğular Demonunu yenidən başladmaya "
+"çalışacaq."
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Bilinməyən işə salma xətası yarandı."
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Qurğular demonu bir neçə dəfə yenidən başladı."
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Həqiqətən çıxmaq istəyirsiniz?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "Hazırkı qurğuları _qeyd et"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Gedişat"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "İclası _Sonlandır"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "Sön_dür"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "Kompüteri _yenidən başlat"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Yüklənəcək iclas adını bildirin"
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Qeyd edilmiş iclasları ancaq default.session faylından oxu"
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Alıcıların qeydiyyatı üçün xərclənən millisaniyə (0=həmişə)"
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Alıcıların cavabı üçün xərclənən millisaniyə (0=həmişə)"
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Alıcıların bitişi üçün xərclənən millisaniyə (0=həmişə)"
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"%s üçün internet ünvanı tapıla bilmir.\n"
+"Bu GNOME-un düzgün işləməməsinə səbəb olacaq.\n"
+"Problemi bəlkə /etc/hosts faylına %s alavə\n"
+"edərək həll edə bilərsiniz."
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Hər Cürdə Gir"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Yenidən Sınayın"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "İclasınız qeyd edildi"
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Münaqişə olduğu üçün gözləmə bitdi."
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "%s əmrinə cavab yoxdur."
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Proqram ya yavaşdır, ya dayandırılıb ya da xəsərlidir."
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr ""
+"Onun cavab verişini gözləyə bilər ya da sadəcə olaraq onu silə bilərsiniz."
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Yenidən başlama iflaslara görə imtina oldu."
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "İclas bitirilməsi fəaliyyətdədir."
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Hazırkı iclası seç"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "İclası öldür"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Dialog qutularını işlət"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "İclas idarəçisinə bağlana bilmədi"
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "İclas adı boş ola bilməz"
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Belə iclas adı onsuz da mövcuddur"
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Yeni iclas əlavə et"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "İclas adını təkmilləşdir"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Düzəlt"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Bə'zi dəyişikliklər qeyd edilməyib.\n"
+"Həqiqətən də çıxmaq istəyirsiniz?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "İclaslar"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Girişdə sıçrayan _ekran göstər"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "Çıxışda _təstiq istə"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "İclasa edilən dəyişiklikləri _avtomatik qeyd et"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "İcla_slar:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "İclas Adı"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "İclas Seçimləri"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Hazırkı İclas"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "Əlavə başlanğıc _proqramları:"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Əmr"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Başlanğıc Proqramları"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Hazırda seçili olan alıcını iclasdan sil."
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Hazırkı iclasa edilən dəyişiklikləri qeyd et"
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "İclasdakı proqramların siyahısı."
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Hazırda fəal olan _proqramlar:"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "İclas qurğularını başlat"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "İclaslarınızı quraşdırın"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Sawfish Pəncərə İdarəçisi"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Metacity Pəncərə İdarəçisi"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Pəncərə İdarəçisi"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Panel"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "İclas İdarəçisi Proksisi"
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Masa Üstü Qurğuları"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "_Başlanğıc Əmri:"
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Başlanğıc Əmri"
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Başlanğıc əmri boş ola bilməz"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Başlanğıc Proqramı Əlavə Et"
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Başlanğıc Proqramını Təkmilləşdir"
diff --git a/po/be.po b/po/be.po
new file mode 100644
index 0000000..2ee467a
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,364 @@
+# Vital Khilko <dojlid@mova.org>, 2003.
+# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2006, 2011, 2013.
+# Alexander Nyakhaychyk <nyakhaychyk@gmail.com>, 2006, 2008, 2009.
+# Yuras Shumovich <shumovichy@gmail.com>, 20017.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-07-10 20:45+0000\n"
+"PO-Revision-Date: 2021-08-16 17:00+0300\n"
+"Last-Translator: Launchpad translators\n"
+"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
+"Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2021-01-06 10:36+0000\n"
+"X-Generator: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Іншы сеанс"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Гэты пункт дазваляе выбраць раней захаваны сеанс"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Сеанс уваходу ў GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME-пустышка"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME на Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Захаваць сеансы"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Калі ўключана, gnome-session будзе аўтаматычна захоўваць сеанс."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Захаваць гэты сеанс"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Калі ўключана, gnome-session аўтаматычна захавае наступны сеанс падчас "
+"завяршэння, нават калі аўтаматычнае захаванне адключана."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Запыт на завяршэнне сеанса"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Калі ўключана, gnome-session будзе пытацца ў карыстальніка, перш чым "
+"завяршыць сеанс."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Паказваць паведамленне пры ўзнаўленні"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Калі ўключана і сеанс аўтаматычна ўзнавіўся пасля збою, gnome-session будзе "
+"пра гэта паведамляць пасля ўваходу."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Уласны сеанс"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Выберыце ўласны сеанс для запуску"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Новы сеанс"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Выдаліць сеанс"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Пера_назваць сеанс"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Працягнуць"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Нешта пайшло не так."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Узнікла праблема, пасля якой сістэма не здолела ўзнавіць працу. Звярніцеся "
+"да вашага сістэмнага адміністратара"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Узнікла праблема, пасля якой сістэма не здолела ўзнавіць працу. Як мера "
+"засцярогі, адключаны ўсе пашырэнні."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Узнікла праблема, пасля якой сістэма не здолела ўзнавіць працу.\n"
+"Завяршыце сеанс і паўтарыце спробу."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Завяршыць сеанс"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Уключыць код адладкі"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Дазволіць завяршэнне сеанса"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Паказваць папярэджанне пра пашырэнні"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Не адказвае"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Завяршыць сеанс"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Праграма запомнена"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Гэта праграма замінае завяршэнню сеанса."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Адмова ў новым кліенцкім злучэнні, бо сеанс зараз завершыцца\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Не ўдалося стварыць ICE-сокет праслухоўвання: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Выконваецца як сэрвіс systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Выкарыстоўваць кіраванне сеансамі systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Выкарыстоўваць убудаванае кіраванне сеансамі"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Перавызначаць стандартныя каталогі аўтазапуску"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "КАТАЛОГ_АЎТАЗАПУСКУ"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Выкарыстоўваць сеанс"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "НАЗВА_СЕАНСА"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Не запускаць вызначаных карыстальнікам праграм"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Версія гэтай праграмы"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Паказаць для праверкі дыялогавае акно з памылкай"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Адключыць праверку апаратнага паскарэння"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " - кіраўнік сеансаў GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Запусціць gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Запусціць gnome-session-shutdown.target пры атрыманні EOF або аднаго байта "
+"на stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Сігнал ініцыяцыі gnome-session выкананы"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Перазапусціце dbus.service, калі ён працуе"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Выканаць з ExecStopPost, каб запусціць gnome-session-failed.target калі "
+"адбыўся збой сэрвісу"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Праграме трэба дакладна адзін параметр"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ПАРАМЕТР…] КАМАНДА\n"
+"\n"
+"Выконвае КАМАНДУ, з блакіраваннем некаторых функцый сеанса.\n"
+"\n"
+" -h, --help Паказаць гэту даведку\n"
+" --version Паказаць версію праграмы\n"
+" --app-id ID Ідэнтыфікатар праграмы, які ўжываецца,\n"
+" пры блакіраванні (неабавязкова)\n"
+" --reason ПРЫЧЫНА Прычына блакіравання (неабавязкова)\n"
+" --inhibit АРГ Спіс дзеянняў для блакіравання, раздзяляецца "
+"двукроп'ямі:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Не запускаць КАМАНДУ, а заўсёды чакаць\n"
+" -l, --list Паказаць спіс наяўных блакіровак і выйсці\n"
+"\n"
+"Калі не ўжыты параметр --inhibit, выкарыстоўваецца idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Не ўдалося выканаць %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s патрабуе аргумент\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Завяршыць сеанс"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Выключыць"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Перазагрузіць"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ігнараванне ўсіх наяўных блакіровак сеанса"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Не запытваць пацвярджэння карыстальніка"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Не ўдалося злучыцца з кіраўніком сеансаў"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Праграма выклікана з несумяшчальнымі параметрамі"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сеанс %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Назвы сеансаў не могуць пачынацца з кропкі («.») і змяшчаць касую рысу («/»)"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Назвы сеансаў не могуць пачынацца з кропкі («.»)"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Назвы сеансаў не могуць змяшчаць касую рысу («/»)"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Сеанс з назвай «%s» ужо існуе"
diff --git a/po/be@latin.po b/po/be@latin.po
new file mode 100644
index 0000000..1fea52c
--- /dev/null
+++ b/po/be@latin.po
@@ -0,0 +1,558 @@
+# Biełaruski pierakład gnome-session
+# Vital Khilko <dojlid@mova.org>, 2003.
+# Ales Nyakhaichyk <nab@mail.by>, 2006.
+# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2006, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-10-11 12:36+0300\n"
+"PO-Revision-Date: 2008-02-17 00:32+0200\n"
+"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
+"Language-Team: Belarusian Latin <be-latin.open-tran.eu>\n"
+"Language: be@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Abiary zahad"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Dadaj prahramu dla ŭruchamleńnia"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Redahuj prahramu dla ŭruchamleńnia"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr "Niama apisańnia"
+
+#: ../capplet/gsm-properties-dialog.c:977
+msgid "The name of the startup program cannot be empty"
+msgstr "Nazva prahramy dla ŭruchamleńnia nia moža być pustoj"
+
+#: ../capplet/gsm-properties-dialog.c:981
+msgid "The startup command cannot be empty"
+msgstr "Zahad dla ŭruchamleńnia nia moža być pustym"
+
+#: ../capplet/gsm-properties-dialog.c:987
+msgid "The startup command is not valid"
+msgstr "Zahad dla ŭruchamleńnia niapravilny"
+
+#: ../capplet/gsm-properties-dialog.c:1291
+msgid "Enabled"
+msgstr "Uklučanaja"
+
+#: ../capplet/gsm-properties-dialog.c:1304
+msgid "Icon"
+msgstr "Ikonka"
+
+#: ../capplet/gsm-properties-dialog.c:1315
+msgid "Program"
+msgstr "Prahrama"
+
+#: ../capplet/gsm-properties-dialog.c:1465
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "Nałady sesijaŭ"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr "Versija hetaj aplikacyi"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"Hetaja sesija vymahaje padtrymki technalohij dastupnaści, ale rehistar "
+"dastupnaści nia byŭ znojdzieny. Upeŭnisia, što pakunak AT-SPI zainstalavany. "
+"Tvaja sesija ŭruchomlenaja biez padtrymki technalohij dastupnaści."
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr "Dapamožnaja prahrama dla schovišča AT SPI"
+
+#: ../compat/gnome-keyring-daemon-wrapper.desktop.in.in.in.h:1
+msgid "GNOME Keyring Daemon Wrapper"
+msgstr "Dapamožnaja prahrama dla słužby klučnika GNOME"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "Dapamožnaja prahrama dla słužby naładaŭ GNOME"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Hetaja sesija ŭruchamlaje GNOME"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "Zmoŭčanaja sesija"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "Kiraŭnik fajłaŭ"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Kali ŭklučana, gnome-session spytaje ŭ karystalnika paćvierdžańnia pierad "
+"zakančeńniem sesii."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Kali ŭklučana, gnome-session aŭtamatyčna zachavaje sesiju. Inakš, akno "
+"vychadu budzie mieć opcyju zachavańnia sesii."
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr "Śpis aplikacyjaŭ zmoŭčanaj sesii."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Paćvierdžańnie vychadu"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Panel"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Ulubionaja vyjava dla zastaŭki ŭvachodu"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "Vymahanyja kampanenty sesii"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Zachoŭvaj sesii"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Abranaja opcyja ŭ vaknie vychadu"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Pakazvaj zastaŭku"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Pakazvaj zastaŭku padčas uruchamleńnia sesii"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Heta ściežka, adnosna katalohu $datadir/pixmaps/. Padkatalohi j nazvy "
+"vyjavaŭ źjaŭlajucca sapraŭdnymi vartaściami. Źmiena hetaj vartaści "
+"paŭpłyvaje na nastupny ŭvachod u sesiju."
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Heta opcyja, jakaja budzie abranaja ŭ vaknie vychadu. Mahčymyja vartaści: "
+"\"logout\" dla vychadu, \"shutdown\" dla vyklučeńnia j \"restart\" dla "
+"pieraŭruchamleńnia systemy."
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Kiraŭnik voknaŭ"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Dasiul uklučanyja nastupnyja prahramy:</b>"
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+"Čakajem vychadu z prahramy. Kali ty pierapyniš hetuju prahramu, možaš "
+"stracić karysnyja źviestki."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Kanfihuruj svaje sesii"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Sesii"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Dadatkovyja _prahramy aŭtaŭruchamleńnia:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Ahladaj..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "_Zahad:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "_Kamentar:"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Opcyi"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Prahramy aŭtaŭruchamleńnia"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr "_Aŭtamatyčna zapaminaj uruchomlenyja aplikacyi pry vychadzie"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Nazva:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "_Zapomni dziejna ŭruchomlenuju aplikacyju"
+
+#: ../egg/eggdesktopfile.c:165
+msgid "File is not a valid .desktop file"
+msgstr "Fajł nie źjaŭlajecca pravilnym fajłam .desktop"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Niezrazumieły fajł stała versii \"%s\""
+
+#: ../egg/eggdesktopfile.c:962
+#, c-format
+msgid "Starting %s"
+msgstr "Uklučeńnie %s"
+
+#: ../egg/eggdesktopfile.c:1096
+msgid "Application does not accept documents on command line"
+msgstr "Aplikacyja nie pryjmaje dakumentaŭ z zahadnaha radka"
+
+#: ../egg/eggdesktopfile.c:1164
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Niezrazumiełaja opcyja ŭklučeńnia: %d"
+
+#: ../egg/eggdesktopfile.c:1372
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "Nielha pieradavać adrasy dakumentaŭ elementam stała \"Type=Link\""
+
+#: ../egg/eggdesktopfile.c:1391
+msgid "Not a launchable item"
+msgstr "Element nia dziela uklučeńnia"
+
+#: ../egg/eggsmclient-libgnomeui.c:102
+msgid "Session management"
+msgstr "Kiravańnie sesijami"
+
+#: ../egg/eggsmclient-libgnomeui.c:136
+msgid "GNOME GUI Library + EggSMClient"
+msgstr "Biblijateka GUI dla GNOME + EggSMClient"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr "Nie spałučaj z kiraŭnikom sesijaŭ"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "Akreśli fajł, dzie zachoŭvajecca kanfihuracyja"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "FAJŁ"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "Akreśli ID kiravańnia sesijami"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:241
+msgid "Session Management Options"
+msgstr "Opcyi kiravańnia sesijami"
+
+#: ../egg/eggsmclient.c:242
+msgid "Show Session Management options"
+msgstr "Pakažy opcyi kiravańnia sesijami"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Kanfihuracyjny server sustreŭ prablemu.\n"
+"(%s vyjšła sa statusam %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Nie ŭdałosia znajści ikonu „%s”"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:580
+msgid "Unknown"
+msgstr "Nieviadoma"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:631
+msgid "A program is still running:"
+msgstr "Dasiul pracuje prahrama:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:635
+msgid "Some programs are still running:"
+msgstr "Dasiul pracujuć prahramy:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Čakajem vychadu z prahramaŭ. Kali ty pierapyniš hetyja prahramy, možaš "
+"stracić karysnyja źviestki."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:864
+msgid "Switch User Anyway"
+msgstr "Usio roŭna źmiani karystalnika"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:867
+msgid "Logout Anyway"
+msgstr "Usio roŭna vyjdzi"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:870
+msgid "Suspend Anyway"
+msgstr "Usio roŭna zaśni"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:873
+msgid "Hibernate Anyway"
+msgstr "Usio roŭna zhibernuj"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:876
+msgid "Shutdown Anyway"
+msgstr "Usio adno vyklučy"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:879
+msgid "Reboot Anyway"
+msgstr "Usio adno pieraŭruchom"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:887
+msgid "Lock Screen"
+msgstr "Zablakuj ekran"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:890
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr "Zaraz ža vyjści z systemy?"
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr "Ź_miani karystalnika"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "_Log Out"
+msgstr "_Vyjdzi"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr "Zaraz ža vyklučyć systemu?"
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr "Z_aśni"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr "Z_hibernuj"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "_Restart"
+msgstr "_Pierazahruzi"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+msgid "_Shut Down"
+msgstr "_Vyklučy"
+
+#: ../gnome-session/gsm-manager.c:924 ../gnome-session/gsm-manager.c:1541
+msgid "Not responding"
+msgstr "Nie adkazvaje"
+
+#: ../gnome-session/gsm-xsmp-client.c:988
+msgid "This program is blocking log out."
+msgstr "Hetaja prahrama strymvaje vychad."
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Admoŭlena ŭ novym spałučeńni, bo sesija ŭžo zakončvajecca\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nie ŭdałosia stvaryć sokiet ICE dziela prasłuchoŭvańnia: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:139
+msgid "Unable to start login session (and unable connect to the X server)"
+msgstr "Nie ŭdałosia ŭklučyć sesiju ŭvachodu (i spałučycca z serveram X)"
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr "Ułasnyja katalohi aŭtamatyčnaha ŭklučeńnia"
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr "Kluč „GConf” dla zmoŭčanaj sesii"
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr "Uklučy debugavy kod"
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr "Nie ŭklučaj aplikacyjaŭ, akreślenych karystalnikam"
+
+#: ../gnome-session/main.c:528
+msgid " - the GNOME session manager"
+msgstr "- kiraŭnik sesijaŭ dla GNOME"
+
+#: ../splash/gnome-session-splash.c:291
+msgid "- GNOME Splash Screen"
+msgstr "- Zastaŭka GNOME"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "Zastaŭka GNOME"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Akreśl nazvu dziejnaj sesii"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "NAZVA"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Vyjdzi"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "Vyjdzi, nie zvažajučy na najaŭnych zatrymnikaŭ"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr "Pakažy akno vychadu"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr "Pakažy akno vyklučeńnia"
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Zabi sesiju"
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Užyj dyjalohavyja vokny dla pamyłak"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Nie pytajsia paćvierdžańnia"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Niemahčyma spałučycca z kiraŭnikom sesij"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr "Prahrama ŭklučanaja ź niaŭzhodnienymi opcyjami"
+
+#~ msgid "Could not connect to the session manager\n"
+#~ msgstr "Nie ŭdałosia spałučycca z kiraŭnikom sesijaŭ\n"
+
+#~ msgid " - Save the current session"
+#~ msgstr "- Zachoŭvaje dziejnuju sesiju"
+
+#~ msgid "Play logout sound instead of login"
+#~ msgstr "Hraj huk vychadu zamiest huku ŭvachodu"
+
+#~ msgid "- GNOME login/logout sound"
+#~ msgstr "- Huk uvachodu/vychadu GNOME"
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..fedfb5b
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,387 @@
+# Bulgarian translation of gnome-session po-file.
+# Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2017 Free Software Foundation, Inc.
+# Copyright (C) 2021 Alexander Shopov.
+# Pavel Cholakov <pavel@linux.zonebg.com>, 2001.
+# Yanko Kaneti <yaneti@declera.com>, 2002.
+# Vladimir "Kaladan" Petkov <kaladan@gmail.com>, 2004, 2005.
+# Peter Slavov <pslavov@i-space.org>, 2004
+# Yavor Doganov <yavor@gnu.org>, 2008.
+# Damyan Ivanov <dam+gnome@ktnx.net>, 2010.
+# Alexander Shopov <ash@kambanaria.org>, 2002, 2005, 2006, 2007, 2009, 2010.
+# Alexander Shopov <ash@kambanaria.org>, 2011, 2012, 2013, 2014, 2015, 2016.
+# Alexander Shopov <ash@kambanaria.org>, 2021.
+# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
+# Krasimir Chonov <mk2616@abv.bg>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-25 17:21+0000\n"
+"PO-Revision-Date: 2021-10-30 09:47+0200\n"
+"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
+"Language-Team: Bulgarian <dict@ludost.net>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Други"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Оттук може да изберете сесия запазена от вас"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Влизане в GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME — фиктивна"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME с Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME с Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Запазване на сесиите"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Когато е включено, „gnome-session“ ще запазва сесията автоматично."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Запазване на тази сесия"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Когато е включено, „gnome-session“ автоматично ще запази следващата сесия "
+"при изход, дори ако автоматичното запазване на сесии е изключено."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Питане преди изход"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Когато е включено, „gnome-session“ ще пита потребителя, преди да прекрати "
+"сесията."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Показване на предупреждение при резервен вариант"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Когато е включено, „gnome-session“ ще извежда прозорец с предупреждение, ако "
+"при влизане е ползван резервният вариант за сесия."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Друга сесия"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Изберете коя друга сесия да се стартира"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Нова сесия"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Из_триване на сесия"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Пре_именуване на сесия"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Продължаване"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "О, не! Нещо се обърка."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Възникна проблем и системата не може да се справи. Свържете се със системен "
+"администратор"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Възникна проблем и системата не може да се справи. За всеки случай всички "
+"разширения са изключени."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Възникна проблем и системата не може да се справи.\n"
+"Излезте от системата и опитайте отново."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Изход"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Включване на изчистването на грешки"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Разрешаване на изхода"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Показване на предупреждение за разширение"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Не отговаря"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Изход"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Запомнена програма"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Тази програма блокира излизането."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Отхвърляне на свързванията с нови клиенти, защото тази сесия в момента се "
+"затваря\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Неуспешно създаване на гнездо на ICE за слушане: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Изпълнение като услуга на „systemd“"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Управление на сесиите със „systemd“"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Използване на вграденото управление на сесии (вместо това на „systemd“)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Използване на различни от стандартните папки за стартиране при влизане"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "ПАПКА_ЗА_АВТОМАТИЧНО_СТАРТИРАНЕ"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Коя сесия да се ползва"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "ИМЕ_НА_СЕСИЯ"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Да не се зареждат програми, зададени от потребителя"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Версията на тази програма"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Показване на черния екран за грешка с тестови цели"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Изключване на проверката за хардуерно ускорение"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — управление на сесиите на GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Изпълнение на „gnome-session-shutdown.target“"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Стартиране на „gnome-session-shutdown.target“ при получаване на край на файл "
+"или сама на единичен байт на стандартния вход"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Извършено е инициализиране на сигналите на „gnome-session“"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Рестартиране на „dbus.service“, ако се изпълнява"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Изпълнение от „ExecStopPost“, за да се стартираt „gnome-session-failed."
+"target“ при грешка в услугата"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Програмата изисква точно един параметър"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ОПЦИЯ…] КОМАНДА\n"
+"\n"
+"Изпълняване на КОМАНДАта с ограничена функционалност на сесията.\n"
+"\n"
+" -h, --help Извеждане на тази помощ\n"
+" --version Извеждане на версията на програмата\n"
+" --app-id ИД ИДентификатор на програмата стартирана с ограничена\n"
+" сесия (незадължително)\n"
+" --reason ПРИЧИНА ПРИЧИНАта за ограничаване (незадължително)\n"
+" --inhibit АРГ Какво да се ограничи, списък разделен с двоеточие.\n"
+" Възможните стойности са logout (изход), switch-user "
+"(смяна\n"
+" на потребител), suspend (приспиване), idle "
+"(бездействие),\n"
+" automount (автоматично монтиране)\n"
+" --inhibit-only Команда не се изпълнява, стартира се направо сесия\n"
+" -l, --list Извеждане на списък с ограниченията и изход\n"
+"Ако не е указана опция „--inhibit“, за стандартна се ползва стойност "
+"„idle“.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Неуспешно изпълнение на %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s изисква аргумент\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Изход"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Изключване"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Рестартиране"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Изход въпреки блокиращите програми"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Без потвърждаване"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Не може да се изгради връзка към управлението на сесии"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Програмата е стартирана с противоречащи си опции"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сесия %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Имената на сесиите не може да започват със знака „.“ или да съдържат знака "
+"„/“"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Имената на сесиите не може да започват със знака „.“"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Имената на сесиите не може да съдържат знака „/“"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Вече има сесия с това име — „%s“"
diff --git a/po/bn.po b/po/bn.po
new file mode 100644
index 0000000..0a6a94b
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,611 @@
+# Bengali translation of gnome-session.
+# Copyright (C) 2003, 2006, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Taneem Ahmed <taneem@bengalinux.org>, 2003.
+# Khandakar Mujahidul Islam <suzan229@yahoo.com>, 2003-2005.
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2008.
+# Runa Bhattacharjee <runab@redhat.com>, 2008, 2009.
+# Loba Yeasmeen <loba@ankur.org.bd>, 2009.
+# Israt Jahan <israt@ankur.org.bd>, 2010, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: bn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-04-04 09:36+0000\n"
+"PO-Revision-Date: 2011-04-04 17:40+0600\n"
+"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
+"Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
+"Language: bn\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: KBabel 1.11.4\n"
+"X-Language: bn_BD\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "কমান্ড নির্বাচন করুন"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "স্টার্টআপ প্রোগ্রাম যোগ করুন"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "স্টার্টআপ কমান্ড সম্পাদন করুন"
+
+#: ../capplet/gsm-app-dialog.c:485
+msgid "The startup command cannot be empty"
+msgstr "স্টার্টআপ কমান্ড ফাঁকা থাকবে না"
+
+#: ../capplet/gsm-app-dialog.c:491
+msgid "The startup command is not valid"
+msgstr "স্টার্টআপ কমান্ডটি কার্যকর নয়"
+
+#: ../capplet/gsm-properties-dialog.c:517
+msgid "Enabled"
+msgstr "সক্রিয়"
+
+#: ../capplet/gsm-properties-dialog.c:529
+msgid "Icon"
+msgstr "আইকন"
+
+#: ../capplet/gsm-properties-dialog.c:541
+msgid "Program"
+msgstr "প্রোগ্রাম"
+
+#: ../capplet/gsm-properties-dialog.c:745
+msgid "Startup Applications Preferences"
+msgstr "স্টার্টআপ অ্যাপ্লিকেশনের পছন্দসমূহ"
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "নাম নেই"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "কোন বর্ণনা নেই"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:280
+msgid "Version of this application"
+msgstr "এই অ্যাপ্লিকেশনের সংস্করণ"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "সহায়তা নথি প্রদর্শন করতে ব্যর্থ"
+
+#: ../data/gnome-fallback.session.desktop.in.in.h:1
+msgid "GNOME fallback"
+msgstr "জিনোম ফলব্যাক"
+
+#: ../data/gnome.session.desktop.in.in.h:1 ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "এই সেশনের মাধ্যমে GNOME-এ লগ-ইন করা যাবে"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>কিছু প্রোগ্রাম এখনো চলছে:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:644
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you "
+"to lose work."
+msgstr ""
+"প্রোগ্রাম সমাপ্তির জন্য অপেক্ষা করা হচ্ছে। প্রোগ্রাম বিঘ্নিত হলে আপনার কাজের ব্যাঘাত "
+"ঘটতে পারে।"
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "লগ-ইন করার সময় কোন অ্যাপ্লিকেশনটি শুরু করা হবে তা নির্বাচন করুন"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "স্টার্টআপ অ্যাপ্লিকেশন"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "অতিরিক্ত startup _programs:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse…"
+msgstr "ব্রাউজ…"
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "কমান্ড: (_m)"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "মন্তব্য: (_e)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "অপশন"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "স্টার্টআপ প্রোগ্রাম"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+"লগ-আউট করার সময়, চলমান অ্যাপ্লিকেশনগুলির তালিকা স্বয়ংক্রিয়ভাবে মনে রাখা হবে (_A)"
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "নাম: (_N)"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "বর্তমানে চলমান অ্যাপ্লিকেশনের তালিকা মনে রাখা হবে (_R)"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "ফাইলটি একটি বৈধ .desktop ফাইল নয়"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "অপরিচিত ডেস্কটপ ফাইলের সংস্করণ '%s'"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "শুরু করা হচ্ছে %s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "কমান্ড লাইনে এই অ্যাপ্লিকেশন দ্বারা কোনো নথিপত্র গৃহীত হয় না"
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "চালুকরণের অপরিচিত অপশন: %d"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "'Type=Link' ডেস্কটপ এন্ট্রির জন্য নথির URI উল্লেখ করা যায় নয়"
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr "চালু করার অযোগ্য আইটেম"
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr "সেশন ম্যানেজারের সাথে সংযোগ বিচ্ছিন্ন করা হয়"
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr "সংরক্ষিত কনফিগারেশন সহ ফাইল উল্লেখ করুন"
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "FILE"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "সেশন পরিচালনা ID উল্লেখ করুন"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "সেশন পরিচালনা অপশন:"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "সেশন পরিচালনা অপশন প্রদর্শন করা হবে"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"সার্ভার কনফিগারেশন সংক্রান্ত কিছু সমস্যা রয়েছে।\n"
+"(%s প্রস্থানকালে %d অবস্থায় থাকে)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:253
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "'%s' আইকন খুঁজে পাওয়া যায়নি"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:592
+msgid "Unknown"
+msgstr "অজানা"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:643
+msgid "A program is still running:"
+msgstr "একটি প্রোগ্রাম এখনও চলছে:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:647
+msgid "Some programs are still running:"
+msgstr "কয়েকটি প্রোগ্রাম এখনও চলছে:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:648
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"প্রোগ্রাম সমাপ্তির জন্য অপেক্ষা করা হচ্ছে। প্রোগ্রাম বিঘ্নিত হলে আপনার কাজের ব্যাঘাত "
+"ঘটতে পারে।"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:878
+msgid "Switch User Anyway"
+msgstr "তথাপি ব্যবহারকারী পরিবর্তন করা হবে"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:881
+msgid "Log Out Anyway"
+msgstr "যেকোনোভাবে লগ-আউট"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:884
+msgid "Suspend Anyway"
+msgstr "তথাপি স্থগিত করা হবে"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:887
+msgid "Hibernate Anyway"
+msgstr "তথাপি হাইবারনেট করা হবে"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:890
+msgid "Shut Down Anyway"
+msgstr "যেকোনোভাবে বন্ধ"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:893
+msgid "Reboot Anyway"
+msgstr "তথাপি পুনরায় বুট করা হবে"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Lock Screen"
+msgstr "পর্দা লক করুন"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Cancel"
+msgstr "বাতিল"
+
+#. This string is shared with gsm-fail-whale-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:275
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়ভাবে আপনাকে লগ-আউট করা হবে।"
+msgstr[1] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়ভাবে আপনাকে লগ-আউট করা হবে।"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়ভাবে সিস্টেম বন্ধ করা হবে।"
+msgstr[1] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়ভাবে সিস্টেম বন্ধ করা হবে।"
+
+#: ../gnome-session/gsm-logout-dialog.c:315
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "বর্তমানে আপনি \"%s\" নামে লগ-ইন করে আছেন।"
+
+#: ../gnome-session/gsm-logout-dialog.c:381
+msgid "Log out of this system now?"
+msgstr "এখনই সিস্টেম থেকে লগ-আউট করা হবে কি?"
+
+#: ../gnome-session/gsm-logout-dialog.c:387
+msgid "_Switch User"
+msgstr "ব্যবহারকারী পরিবর্তন করুন (_S)"
+
+#: ../gnome-session/gsm-logout-dialog.c:396
+#: ../gnome-session/gsm-fail-whale-dialog.c:296
+#: ../gnome-session/gsm-util.c:363
+msgid "_Log Out"
+msgstr "লগ আউট (_L)"
+
+#: ../gnome-session/gsm-logout-dialog.c:402
+msgid "Shut down this system now?"
+msgstr "এখনই সিস্টেম বন্ধ করা হবে কি?"
+
+#: ../gnome-session/gsm-logout-dialog.c:408
+msgid "S_uspend"
+msgstr "স্থগিত করা (_u)"
+
+#: ../gnome-session/gsm-logout-dialog.c:414
+msgid "_Hibernate"
+msgstr "সুপ্ত করা (_H)"
+
+#: ../gnome-session/gsm-logout-dialog.c:420
+msgid "_Restart"
+msgstr "পুনরায় চালু করা (_R)"
+
+#: ../gnome-session/gsm-logout-dialog.c:430
+msgid "_Shut Down"
+msgstr "বন্ধ করা (_S)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:276
+msgid "Oh no! Something has gone wrong."
+msgstr "ওহ্ না! কিছু একটা নিশ্চয় ভুল হয়েছে।"
+
+#. make this changable at some point
+#: ../gnome-session/gsm-fail-whale-dialog.c:283
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"একটি সমস্যা তৈরি হয়েছে এবং সিস্টেম পুনরুদ্ধার করতে পারেনি।\nঅনুগ্রহ করে "
+"লগআউট করে পুনরায় চেষ্টা করুন।"
+
+#: ../gnome-session/gsm-process-helper.c:123
+#, c-format
+msgid "Exited with code %d"
+msgstr "কোড %d সহ বিদ্যমান"
+
+#: ../gnome-session/gsm-process-helper.c:128
+#, c-format
+msgid "Killed by signal %d"
+msgstr "সিগন্যাল %d দ্বারা কিল করা হয়েছে"
+
+#: ../gnome-session/gsm-process-helper.c:133
+#, c-format
+msgid "Stopped by signal %d"
+msgstr "সিগন্যাল %d দ্বারা বন্ধ করা হয়েছে"
+
+#: ../gnome-session/gsm-manager.c:1372
+msgid "GNOME 3 Failed to Load"
+msgstr "জিনোম 3 লোড করতে ব্যর্থ"
+
+#: ../gnome-session/gsm-manager.c:1373
+msgid ""
+"Unfortunately GNOME 3 failed to start properly and started in the "
+"<i>fallback mode</i>.\n"
+"\n"
+"This most likely means your system (graphics hardware or driver) is not "
+"capable of delivering the full GNOME 3 experience."
+msgstr ""
+"দুর্ভাগ্যবশত জিনোম 3 ঠিকভাবে শুরু করতে ব্যর্থ এবং <i>ফলব্যাক মোড</i> এ শুরু হয়।\n"
+"\n"
+"এ থেকে বুঝা যায় যে, আপনার সিস্টেম (গ্রাফিক্স হার্ডওয়ার বা ড্রাইভার) সম্পূর্ণ জিনোম 3 "
+"পরিবেশ ডেলিভার করতে সমর্থ নয়।"
+
+#: ../gnome-session/gsm-manager.c:1375
+msgid "Learn more about GNOME 3"
+msgstr "জিনোম 3 সম্পর্কে আরও জানুন"
+
+#: ../gnome-session/gsm-manager.c:1472 ../gnome-session/gsm-manager.c:2203
+msgid "Not responding"
+msgstr "সাড়া দিচ্ছে না"
+
+#: ../gnome-session/gsm-xsmp-client.c:1183
+msgid "This program is blocking logout."
+msgstr "এই প্রোগ্রাম দ্বারা লগ-আউট ব্লক করা হচ্ছে।"
+
+#: ../gnome-session/gsm-xsmp-server.c:325
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"সেশনটি বর্তমানে বন্ধ করা হচ্ছে এবং এ কারনে নতুন ক্লায়েন্ট সংযোগ প্রত্যাখ্যান করা "
+"হচ্ছে।\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:587
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE লিসেন সকেট তৈরি করতে ব্যর্থ: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:347
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr "লগ-ইন সেশন শুরু করতে ব্যর্থ (X সার্ভারের সাথে সংযোগ স্থাপনে ব্যর্থ)"
+
+#: ../gnome-session/main.c:276
+msgid "Override standard autostart directories"
+msgstr "আদর্শ স্বয়ংক্রিয়ভাবে শুরু ডিরেক্টরি উপেক্ষা করা হবে"
+
+#: ../gnome-session/main.c:277
+msgid "Session to use"
+msgstr "যে সেশন ব্যবহার করা হবে"
+
+#: ../gnome-session/main.c:278
+msgid "Enable debugging code"
+msgstr "কোড ডিবাগ ব্যবস্থা সক্রিয় করুন"
+
+#: ../gnome-session/main.c:279
+msgid "Do not load user-specified applications"
+msgstr "ব্যবহারকারী দ্বারা নির্ধারিত অ্যাপ্লিকেশন লোড করা হবে না"
+
+#: ../gnome-session/main.c:300
+msgid " - the GNOME session manager"
+msgstr "- GNOME সেশন ম্যানেজার"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Log out"
+msgstr "লগ-আউট"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Power off"
+msgstr "পাওয়ার বন্ধ"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "যেকোনো উপস্থিত ইনহিবিটরকে উপেক্ষা"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "ব্যবহারকারীর নিশ্চিতকরণ প্রয়োজন নেই"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "সেশন ম্যানেজারের সাথে সংযোগ স্থাপনে ব্যর্থ"
+
+#: ../tools/gnome-session-quit.c:199
+msgid "Program called with conflicting options"
+msgstr "দ্বন্দ্বযুক্ত অপশন সহ প্রোগ্রাম কল করা হয়েছে"
+
+#~ msgid "Try _Recovery"
+#~ msgstr "পুনরূদ্ধারের চেষ্টা (_R)"
+
+#~ msgid "A system error has occurred: %s"
+#~ msgstr "সিস্টেম ত্রুটি ঘটেছে: %s"
+
+#~ msgid "A fatal system error has occurred: %s"
+#~ msgstr "মারাত্মক সিস্টেম ত্রুটি ঘটেছে: %s"
+
+#~ msgid "Component '%s': %s"
+#~ msgstr "কম্পোনেন্ট '%s': %s"
+
+#~ msgid "Killed by signal"
+#~ msgstr "সিগন্যাল দ্বারা কিল করা হয়েছে"
+
+#~ msgid "Timed out"
+#~ msgstr "সময় শেষ"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME সেটিং ডেমন সহায়তাকারী"
+
+#~ msgid "Default session"
+#~ msgstr "ডিফল্ট সেশন"
+
+#~ msgid "File Manager"
+#~ msgstr "ফাইল ম্যানেজার"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "সক্রিয় থাকলে, সেশন সমাপ্ত করার পূর্বে gnome-সেশন ব্যবহারকারী প্রম্পট করবে"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "সক্রিয় থাকলে, gnome-সেশন দ্বারা স্বয়ংক্রিয়ভাবে সেশন সংরক্ষণ করা হবে। অন্যথায়, "
+#~ "সেশন সংরক্ষণের জন্য লগ-আউট ডায়ালগটির একটি অপশন থাকবে।"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "অ্যাপ্লিকেশনের তালিকা যা ডিফল্ট সেশনের একটি অংশ।"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "সেশনের একটি অংশ হিসেবে আবশ্যক উপাদানের তালিকা। (প্রতিটি এলিমেন্ট \"/desktop/"
+#~ "gnome/session/required-components\"-র অধীন একটি কী এর নাম প্রদান করা হবে)। "
+#~ "স্টার্টআপ অ্যাপ্লিকেশনের পছন্দসমূহের টুল ব্যবহারকারীকে সাধারণত সেশন থেকে একটি "
+#~ "প্রয়োজনীয় উপাদান অপসারণ অনুমোদন করবে এবং কোনো উপাদান অপসারিত হলে, সেশন "
+#~ "ম্যানেজার দ্বারা তা স্বয়ংক্রিয়ভাবে পুনরায় যোগ করা হবে।"
+
+#~ msgid "Logout prompt"
+#~ msgstr "লগ-আউট প্রম্পট"
+
+#~ msgid "Panel"
+#~ msgstr "প্যানেল"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "লগ-ইন স্প্ল্যাশ স্ক্রিনের জন্য ব্যবহার করতে পছন্দসই ছবি"
+
+#~ msgid "Required session components"
+#~ msgstr "প্রয়োজনীয় সেশন কম্পোনেন্ট"
+
+#~ msgid "Save sessions"
+#~ msgstr "সেশন সংরক্ষণ করা হবে"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "স্প্ল্যাশ স্ক্রিন প্রদর্শন করা হবে"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "সেশনের শুরুতে স্প্ল্যাশ স্ক্রিন প্রদর্শন করা হবে"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "ফাইল ম্যানেজারের মাধ্যমে ডেক্সটপ আইকন সরবরাহ করা হয় এবং আপনার সংরক্ষিত "
+#~ "ফাইলগুলির মধ্যে যোগাযোগ অনুমোদন করে।"
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "সেশনকে নিষ্ক্রিয় হিসেবে নির্ধারণ করার পূর্বে নিষ্ক্রিয়তার সময়ের পরিমান।"
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "পর্দার উপর অথবা নীচের অংশে মেনু, উইন্ডো তালিকা, অবস্থাসূচক আইকন, ঘড়ি প্রভৃতি "
+#~ "প্যানেলের বারে বিদ্যমান থাকে।"
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "উইন্ডো ম্যানেজারের সাহায্যে শিরোনাম বার ও উইন্ডোর চারপাশে সীমানা নির্ধারণ করা "
+#~ "হয় এবং উইন্ডোর অবস্থান ও মাপ পরিবর্তন করা সম্ভব হয়।"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "$datadir/pixmaps/ ডিরেক্টরি অনুযায়ী এটি আপেক্ষিক পাথ। সাব-ডিরেক্টরি ও ছবির "
+#~ "নাম হলো বৈধ মান। এই মান পরিবর্তন করা হলে পরবর্তী সেশনের উপর তার প্রভাব পরবে।"
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "সেশন নিষ্ক্রিয় হিসেবে নির্ধারন করার পূর্বের সময়"
+
+#~ msgid "Window Manager"
+#~ msgstr "উইন্ডো ম্যানেজার"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "প্রোগ্রাম সমাপ্তির অপেক্ষা করা হচ্ছে। প্রোগ্রাম বিঘ্নিত হলে আপনার কাজের ক্ষতি হতে "
+#~ "পারে।"
+
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "ডিফল্ট সেশন অনুসন্ধানের জন্য ব্যবহৃত GConf কী"
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME-র স্প্ল্যাশ স্ক্রিন"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME-র স্প্ল্যাশ স্ক্রিন"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "লগ-আউট ডায়ালগ বাক্স প্রদর্শন করা হবে"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "বন্ধ করার ডায়ালগ বাক্স প্রদর্শন করা হবে"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "ত্রুটির ডায়ালগ বাক্স ব্যবহার করুন"
+
+#~ msgid "Set the current session name"
+#~ msgstr "বর্তমান সেশনের নাম নির্ধারণ করুন"
+
+#~ msgid "NAME"
+#~ msgstr "NAME"
+
+#~ msgid "Kill session"
+#~ msgstr "সেশন কিল করুন"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "এই সেশনের জন্য সহায়ক প্রযুক্তি সমর্থনের জন্য অনুরোধ করা হয়েছে, কিন্তু প্রয়োগের "
+#~ "রেজিস্ট্রি পাওয়া যায়নি। অনুগ্রহ করে AT-SPI প্যাকেজ ইনস্টল করা হয়েছে কি না তা "
+#~ "নিশ্চিত করুন। সহায়ক প্রযুক্তি সমর্থন ছাড়াই আপনার সেশন শুরু হয়েছে।"
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPI রেজিস্ট্রি র‍্যাপার"
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 0000000..6bd3ddb
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,575 @@
+# translation of bn_IN.po to Bengali INDIA
+# Bengali India translation of gnome-session.
+# Copyright (C) 2003, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Taneem Ahmed <taneem@bengalinux.org>, 2003.
+# Khandakar Mujahidul Islam <suzan229@yahoo.com>, 2003-2005.
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2008.
+# Runa Bhattacharjee <runab@redhat.com>, 2008, 2009, 2010, 2011, 2012.
+# sray <sray@redhat.com>, 2013, 2014. #zanata.
+# Akarshan Biswas <akarshan.biswas@hotmail.com>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bn_IN\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-08-16 08:36+0000\n"
+"PO-Revision-Date: 2020-10-11 12:49+0530\n"
+"Last-Translator: Akarshan Biswas <akarshan.biswas@hotmail.com>\n"
+"Language-Team: Bengali <anubad@lists.ankur.org.in>\n"
+"Language: bn_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-DamnedLies-Scope: partial\n"
+"X-Generator: Gtranslator 3.38.0\n"
+
+# auto translated by TM merge from project: system-config-printer, version: 1.1.16-23, DocId: system-config-printer
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "স্বনির্ধারিত"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "এই এন্ট্রি অাপনাকে একটি সংরক্ষিত সেশন নির্বাচন করতে দেয়"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "এই সেশানের মাধ্যমে GNOME-এ লগ-ইন করা যাবে"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME ডামি"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Xorg এ জিনোম"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "সেশন সংরক্ষণ করুন"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "সক্ষম করা থাকলে, জিনোম-সেশনটি স্বয়ংক্রিয়ভাবে সেশনটি সংরক্ষণ করবে।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+#| msgid "Save sessions"
+msgid "Save this session"
+msgstr "এই সেশন সংরক্ষণ করুন"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"সক্ষম করা থাকলে, স্বয়ংক্রিয় সংরক্ষণ অক্ষম থাকলেও জিনোম-সেশন লগ আউটে পরবর্তী সেশনটি "
+"স্বয়ংক্রিয়ভাবে সংরক্ষণ করবে।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "লগআউট প্রম্পট"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"যদি সক্ষম করা থাকে, জিনোম-সেশনটি অধিবেশন শেষ করার আগে ব্যবহারকারীকে অনুরোধ "
+"জানাবে।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "ফলব্যাক সতর্কতা দেখান"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"যদি সক্ষম করা থাকে, সেশনটি স্বয়ংক্রিয়ভাবে পিছনে পড়ে গেলে জিনোম-সেশন লগইন করার "
+"পরে একটি সতর্কতা ডায়ালগ প্রদর্শন করবে।"
+
+# auto translated by TM merge from project: gdm, version: 3.8.4, DocId: gdm
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "স্বনির্ধারিত সেশান"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "চালাতে অনুগ্রহ করে একটি স্বনির্বাচিত সেশন নির্বাচন করুন"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "নতুন সেশন (_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "সেশন সরান (_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "সেশনের নাম পরিবর্তন করুন (_m)"
+
+# auto translated by TM merge from project: brasero, version: 3.8.0, DocId: brasero
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "এগিয়ে চলুন (_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "ওহ হো! কিছু সমস্যা হয়েছে।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"একটি সমস্যা দেখা দিয়েছে এবং সিস্টেমটি পুনরুদ্ধার করতে পারছে না। একটি সিস্টেম "
+"প্রশাসকের সাথে যোগাযোগ করুন"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"একটি সমস্যা দেখা দিয়েছে এবং সিস্টেমটি পুনরুদ্ধার করতে পারছে না। সাবধানতা জন্য সমস্ত "
+"এক্সটেনশন অক্ষম করা হয়েছে।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"একটি সমস্যা দেখা দিয়েছে এবং সিস্টেমটি পুনরুদ্ধার করতে পারছে না।\n"
+" লগ আউট করে আবার চেষ্টা করুন।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "লগ-আউট করুন (_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "কোড ডিবাগ ব্যবস্থা সক্রিয় করুন"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "লগ আউটের অনুমতি দিন"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "এক্সটেনশন সর্তকতা দেখান"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "কোনো প্রতিক্রিয়া হয়নি"
+
+# auto translated by TM merge from project: gnome-session, version: 3.8.4, DocId: gnome-session-3.0
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "লগ-আউট করুন (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "অ্যাপ্লিকোশন মনে রাখা হবে"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "এই প্রোগ্রাম দ্বারা লগ-আউট করতে প্রতিরোধ করা হচ্ছে।"
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"সিস্টেম বর্তমানে বন্ধ করার প্রচেষ্টা করা হচ্ছে ও এই কারণে নতুন ক্লায়েন্টের সাথে সংযোগ "
+"স্থাপনের অনুরোধ প্রত্যাখ্যান করা হচ্ছে।\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE অপেক্ষার সকেট নির্মাণ করতে ব্যর্থ: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "সিস্টেম ডী সার্ভিস হিসাবে চলছে"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "সিস্টেমে ডী সেশন ম্যানেজমেন্ট ব্যবহার করুন"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "অন্তর্নির্মিত সেশন ম্যানেজমেন্টে ব্যবহার করুন (সিস্টেম ডী ভিত্তিক একের চেয়ে)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "প্রমিত autostart ডিরেক্টরির মান উপেক্ষা করা হবে"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "ব্যবহারযোগ্য সেশান"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "ব্যবহারকারী দ্বারা নির্ধারিত অ্যাপ্লিকেশন লোড করা হবে না"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "অ্যাপ্লিকেশনের সংস্করণ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "পরীক্ষার জন্য ফেইল-ওয়েইল ডায়লগটি প্রদর্শন করা হবে"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "হার্ডওয়্যার এক্সিলারেশন পরীক্ষা অক্ষম করুন"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr "- জিনোম সেশন ম্যানেজার"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Gnome-session-utdown.target শুরু করুন"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+" EOF বা stdin এ একটি একক বাইট পাওয়ার সময় gnome-session-shutdown.target শুরু করুন"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "জিনোম-সেশনে সংকেত সূচনা সম্পন্ন হয়েছে"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service চালু থাকলে পুনরায় চালু করুন"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"পরিষেবা ব্যর্থতায় gnome-session-failed.target শুরু করতে ExecStopPost থেকে চালান"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "প্রোগ্রামের ঠিক এক প্যারামিটার দরকার"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [বিকল্প…] COMMAND\n"
+"\n"
+"কিছু সেশন কার্যকারিতা বাধা দেওয়ার সময় COMMAND সম্পাদন করুন।\n"
+"\n"
+" -h, --help এই সাহায্যটি দেখান\n"
+" --version প্রোগ্রাম সংস্করণ প্রদর্শন করুন\n"
+" --app-id ID ইনহিবিত করার সময় যেই অ্যাপ্লিকেশান আইডি ব্যাবহার করবেন(ঐচ্ছিক)\n"
+"--reason REASON ইনহিবিত দেওয়ার কারণ (ঐচ্ছিক)\n"
+"--inhibit ARG ইনহিবিত দেওয়ার বিষয়গুলি, কোলন-বিচ্ছিন্ন তালিকা:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only COMMAND আরম্ভ করবেন না এবং পরিবর্তে চিরকালের জন্য অপেক্ষা\n"
+"-l, --list বিদ্যমান ইনহিবিতগুলি তালিকাভুক্ত করুন এবং প্রস্থান করুন\n"
+"যদি কোনও --inhibit বিকল্প নির্দিষ্ট না করা থাকে তবে idle ধরে নেওয়া হয়।\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s সম্পাদন করা গেল না\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s এর একটি অার্গুমেন্টের অাবশ্যক\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "লগ-আউট"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "বন্ধ করুন"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "পুনরারম্ভ"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "কোনো উপস্থিত প্রতিরোধ অগ্রাহ্য করা হবে"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "ব্যবহারকারী নিশ্চিতকরণের জন্য অনুরোধ করবেন না"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "সেশান পরিচালনব্যবস্থার সাথে সংযোগ স্থাপন করতে ব্যর্থ"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "দ্বন্দ্বযুক্ত বিকল্প সহ প্রোগ্রাম আরম্ভের প্রচেষ্টা করা হয়েছে"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "সেশন %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "সেশন নামগুলি \".\" দিয়ে শুরু করা অথবা \"/\" অক্ষর থাকার অনুমতি নেই।"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "সেশন নামগুলি \".\" দিয়ে শুরু করার অনুমতি নেই।"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "সেশন নামগুলিতে \"/\" অক্ষর থাকার অনুমতি নেই।"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "‘%s’ নামের একটি সেশন ইতিমধ্যেই উপস্থিত"
+
+#~| msgid "This session logs you into GNOME"
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Wayland ব্যবহার করে, এই সেশানের মাধ্যমে GNOME-এ লগ-ইন করা যাবে"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "অতিরিক্ত প্রারম্ভিক প্রোগ্রাম :(_p)"
+
+#~ msgid "Startup Programs"
+#~ msgstr "প্রারম্ভিক প্রোগ্রাম"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "লগ-আউট করার সময়, চলমান অ্যাপ্লিকেশনগুলির তালিকা স্বয়ংক্রিয়রূপে মনে রাখা হবে (_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "বর্তমানে চলমান অ্যাপ্লিকেশনের তালিকা মনে রাখা হবে (_R)"
+
+#~ msgid "Options"
+#~ msgstr "বিকল্প"
+
+#~ msgid "Browse…"
+#~ msgstr "ব্রাউজ করুন..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "মন্তব্য: (_e)"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "কমান্ড: (_m)"
+
+#~ msgid "_Name:"
+#~ msgstr "নাম: (_N)"
+
+#~ msgid "Select Command"
+#~ msgstr "কমান্ড নির্বাচন করুন"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "প্রারম্ভিক প্রোগ্রাম যোগ করুন"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "প্রারম্ভিক কমান্ড সম্পাদন করুন"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "প্রারম্ভিক কমান্ড ফাঁকা রাখা যাবে না"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "প্রারম্ভিক কমান্ডের নাম উল্লেখ করা আবশ্যক"
+
+#~ msgid "Enabled"
+#~ msgstr "সক্রিয়"
+
+#~ msgid "Icon"
+#~ msgstr "আইকন"
+
+#~ msgid "Program"
+#~ msgstr "প্রোগ্রাম"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "প্রারম্ভিক অ্যাপ্লিকেশন সংক্রান্ত পছন্দ"
+
+#~ msgid "No name"
+#~ msgstr "নামবিহীন"
+
+#~ msgid "No description"
+#~ msgstr "বিবরণ অনুপস্থিত"
+
+#~ msgid "Could not display help document"
+#~ msgstr "সহায়ক নথিপত্র প্রদর্শন করতে ব্যর্থ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "কয়েকটি প্রোগ্রাম চলছে:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "প্রারম্ভিক অ্যাপ্লিকেশন"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "লগ-ইন করার সময় আরম্ভ করার উদ্দেশ্যে চিহ্নিত অ্যাপ্লিকেশন"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "বৈধ .desktop ফাইল নয়"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "অপরিচিত ডেস্কটপ ফাইলের সংস্করণ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "আরম্ভ করা হচ্ছে %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "কমান্ড-লাইনের মাধ্যমে এই অ্যাপ্লিকেশন দ্বারা কোনো নথিপত্র গ্রহণ করা হয় না"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "আরম্ভ সংক্রান্ত অপরিচিত বিকল্প: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "'Type=Link' ডেস্কটপ এনট্রির জন্য নথিপত্রের URI উল্লেখ করা সম্ভব নয়"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "চিহ্নিত বস্তু আরম্ভ করা সম্ভব নয়"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "সেশান পরিচালনব্যবস্থার সাথে সংযোগ বিচ্ছিন্ন করা হবে"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "সংরক্ষিত কনফিগারেশন সহ ফাইল চিহ্নিত করুন"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "সেশন পরিচালনা সংক্রান্ত বিকল্প:"
+
+#~ msgid "Show session management options"
+#~ msgstr "সেশন পরিচালনা সংক্রান্ত বিকল্প প্রদর্শন করা হবে"
+
+#~ msgid "Unknown"
+#~ msgstr "অজানা"
+
+#~ msgid "A program is still running:"
+#~ msgstr "একটি প্রোগ্রাম বর্তমানে চলছে:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "প্রোগ্রাম সমাপ্ত হওয়ার অপেক্ষা করা হয়েছে। প্রোগ্রামটিকে মাঝপথে বাধা দিলে অাপনার "
+#~ "করা কাজ অাপনাকে হারাতে হতে পারে।"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "প্রোগ্রামগুলি সমাপ্ত হওয়ার অপেক্ষা করা হচ্ছে। এই প্রোগ্রামগুলিকে মাঝপথে বাধা দিলে "
+#~ "অাপনার করা কাজ অাপনাকে হারাতে হতে পারে।"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "তথাপি ব্যবহারকারী অ্যাকাউন্ট পরিবর্তন করা হবে"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "তথাপি লগ-আউট করা হবে"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "তথাপি স্থগিত করা হবে"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "তথাপি নিদ্রিত করা হবে"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "তথাপি বন্ধ করা হবে"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "তথাপি পুনরারম্ভ করা হবে"
+
+#~ msgid "Lock Screen"
+#~ msgstr "পর্দা লক করুন"
+
+#~ msgid "Cancel"
+#~ msgstr "বাতিল"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে আপনাকে লগ-আউট করা হবে।"
+#~ msgstr[1] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে আপনাকে লগ-আউট করা হবে।"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে সিস্টেম বন্ধ করা হবে।"
+#~ msgstr[1] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে সিস্টেম বন্ধ করা হবে।"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে সিস্টেম পুনরারম্ভ করা হবে।"
+#~ msgstr[1] "%d সেকেন্ড অতিক্রান্ত হলে স্বয়ংক্রিয়রূপে সিস্টেম পুনরারম্ভ করা হবে।"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "বর্তমানে \"%s\" পরিচয়ে লগ-ইন করা হয়েছে।"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "এই মুহূর্তে সিস্টেম থেকে লগ-আউট করা হবে কি?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ব্যবহারকারী পরিবর্তন করুন (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "এই মুহূর্তে সিস্টেম বন্ধ করা হবে কি?"
+
+#~ msgid "S_uspend"
+#~ msgstr "স্থগিত করা হবে (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "নিদ্রিত অবস্থা (_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "পুনরারম্ভ (_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "বন্ধ করুন (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "অবিলম্বে সিস্টেম পুনরারম্ভ করা হবে কি?"
diff --git a/po/br.po b/po/br.po
new file mode 100644
index 0000000..7e8e5f5
--- /dev/null
+++ b/po/br.po
@@ -0,0 +1,505 @@
+# Breton translation for gnome-session
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the gnome-session package.
+# Giulia <EMAIL@ADDRESS>, 2006.
+# Jeremy <EMAIL@ADDRESS>, 2006
+# Jamy <jamybzh@free.fr>, 2009
+#
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-session&component=general\n"
+"POT-Creation-Date: 2009-08-26 10:49+0000\n"
+"PO-Revision-Date: 2009-09-16 05:04+0100\n"
+"Last-Translator: Denis\n"
+"Language-Team: Brenux <brenux@free.fr>\n"
+"Language: br\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"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Dibabit un arc'had"
+
+#: ../capplet/gsm-app-dialog.c:194
+msgid "Add Startup Program"
+msgstr "Ouzhpennañ ur goulev-loc'hañ"
+
+#: ../capplet/gsm-app-dialog.c:198
+msgid "Edit Startup Program"
+msgstr "Kemmañ ar goulev-loc'hañ"
+
+#: ../capplet/gsm-app-dialog.c:486
+msgid "The startup command cannot be empty"
+msgstr "N'hell ket an arc'had-loc'hañ bezañ goullo"
+
+#: ../capplet/gsm-app-dialog.c:492
+msgid "The startup command is not valid"
+msgstr "N'eo ket talvoudek an arc'had loc'hañ"
+
+#: ../capplet/gsm-properties-dialog.c:555
+msgid "Enabled"
+msgstr "Gweredekaet"
+
+#: ../capplet/gsm-properties-dialog.c:567
+msgid "Icon"
+msgstr "Arlun"
+
+#: ../capplet/gsm-properties-dialog.c:579
+msgid "Program"
+msgstr "Goulev"
+
+#: ../capplet/gsm-properties-dialog.c:792
+msgid "Startup Applications Preferences"
+msgstr "Gwellvezioù an arloadoù loc'hañ"
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "Anv ebet"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "Deskrivadur ebet"
+
+#: ../capplet/main.c:37
+#: ../gnome-session/main.c:437
+msgid "Version of this application"
+msgstr "Handelv an arload-mañ"
+
+#: ../capplet/main.c:63
+msgid "Could not display help document"
+msgstr "N'haller ket skrammañ an teul skoazell"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid "Assistive technology support has been requested for this session, but the accessibility registry was not found. Please ensure that the AT-SPI package is installed. Your session has been started without assistive technology support."
+msgstr "Goulennet eo bet kemer e garg sikour teknikel evit an estez-mañ, Met n'eo ket bet kavet ar marilh haeziadek. Gwirit a zo staliet ar pakad AT-SPI. N'eo ket bet lañset an estez hep kemer e garg sikour teknikel."
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr "Skoazeller marilh AT SPI"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "Skoazeller sikour arventennoù GNOME"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "An estez-mañ a lug ac'hanoc'h davet GNOME"
+
+#: ../data/gnome-session.schemas.in.in.h:1
+msgid "Default session"
+msgstr "Estez dre ziouer"
+
+#: ../data/gnome-session.schemas.in.in.h:2
+msgid "File Manager"
+msgstr "Ardoer restroù"
+
+#: ../data/gnome-session.schemas.in.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Ma vez enaouet, e kelaouo gnome-sessions an arveriad-ez a-raok echuiñ gant an estez."
+
+#: ../data/gnome-session.schemas.in.in.h:4
+msgid "If enabled, gnome-session will save the session automatically. Otherwise, the logout dialog will have an option to save the session."
+msgstr "Ma 'z eo dewerekaet, gnome-estez a waredi emgefreek an estez. War an tu kontrol, un dibarzh a zo evit gwarediñ an estez er voest kendiviz digevreadenn."
+
+#: ../data/gnome-session.schemas.in.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr "Listennad an arloadoù liammet en estez dre ziouer."
+
+#: ../data/gnome-session.schemas.in.in.h:6
+msgid "List of components that are required as part of the session. (Each element names a key under \"/desktop/gnome/session/required_components\"). The Startup Applications preferences tool will not normally allow users to remove a required component from the session, and the session manager will automatically add the required components back to the session at login time if they do get removed."
+msgstr "Roll ar parzhioù a ret bezañ e-barzh an estez. (Pep elfenn en deus un alc'hwez anvet dindan \"/desktop/gnome/session/required_components\"). Da gustum n'eo ket aotret prenestr dibarzhioù arloadoù loc'hañ an arveriaded da zilemel ur parzh ret evit an estez ha war an tu ur parzh e vefe dilemel, ouzhpenne anezhañ an ardoer estezioù emgefreek e-lec'h ma vo digennasket."
+
+#: ../data/gnome-session.schemas.in.in.h:7
+msgid "Logout prompt"
+msgstr "Pedadenn dilugañ"
+
+#: ../data/gnome-session.schemas.in.in.h:8
+msgid "Panel"
+msgstr "Panel"
+
+#: ../data/gnome-session.schemas.in.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Skeudenn a blij ganeoc'h da implij evit ar skramm degemer"
+
+#: ../data/gnome-session.schemas.in.in.h:10
+msgid "Required session components"
+msgstr "Parzhoù ret evit an estez"
+
+#: ../data/gnome-session.schemas.in.in.h:11
+msgid "Save sessions"
+msgstr "Gwareziñ an estezioù"
+
+#: ../data/gnome-session.schemas.in.in.h:12
+msgid "Show the splash screen"
+msgstr "Diskouez ar skramm-degemer"
+
+#: ../data/gnome-session.schemas.in.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr "Diskouez ar skramm-degemer pa loc'h an estez"
+
+#: ../data/gnome-session.schemas.in.in.h:14
+msgid "The file manager provides the desktop icons and allows you to interact with your saved files."
+msgstr "Merañ a ra merour restroù an arluniù burev ha gallout a rit etreoberiañ gant ho restroù."
+
+#: ../data/gnome-session.schemas.in.in.h:15
+msgid "The number of minutes of inactivity before the session is considered idle."
+msgstr "An niver munutoù a wenedek a-raok eo bezañ an estez e-giz gwenedek."
+
+#: ../data/gnome-session.schemas.in.in.h:16
+msgid "The panel provides the bar at the top or bottom of the screen containing menus, the window list, status icons, the clock, etc."
+msgstr "Ur barrenn ez eus gant an daolenn stur, uhel ouzh izel ar skramm, gant lañseroù, listennad prenestroù, arlunioù diwall, an eurier, hag all."
+
+#: ../data/gnome-session.schemas.in.in.h:17
+msgid "The window manager is the program that draws the title bar and borders around windows, and allows you to move and resize windows."
+msgstr "Gant an ardoer prenestroù e c'hellit tresañ barrennad titl ha riblennoù war dro prenestroù hag e c'hellit diblasañ ha mentiñ prenestroù."
+
+#: ../data/gnome-session.schemas.in.in.h:18
+msgid "This is a relative path value based off the $datadir/pixmaps/ directory. Sub-directories and image names are valid values. Changing this value will effect the next session login."
+msgstr "Treug eo war ar c'havlec'h $datadir/pixmaps/. Talvadoù mat eo an isgavlec'hioù hag anvioù skeudenn. An daskemmadur talvoud a cheñcho o tigoriñ un estez nevez."
+
+#: ../data/gnome-session.schemas.in.in.h:19
+msgid "Time before session is considered idle"
+msgstr "Amzer a chom a-raok an estez e vo e-giz dioberiant"
+
+#: ../data/gnome-session.schemas.in.in.h:20
+#: ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "ardoer prenestroù"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Arloadoù a lobour c'hoazh:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:667
+msgid "Waiting for program to finish. Interrupting program may cause you to lose work."
+msgstr "Gortoz arload echu. Un arsav a riskle da goll roadennoù bennak."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "Diuziñ arloadoù da lañsañ er gevreadur"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "Arloadoù loc'hañ"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "_Goulevioù loc'hañ ouzhpenn :"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse..."
+msgstr "Furchal..."
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "A_rc'had :"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "As_kelenn :"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Dibarzhioù"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "Meziantoù loc'hañ"
+
+#: ../data/session-properties.ui.h:7
+#, fuzzy
+msgid "_Automatically remember running applications when logging out"
+msgstr "_En em soñjañ emgefreek arloadoù e-pad an dilogadur"
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "A_nv :"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "E_n em soñjañ arloadoù o labourat"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "N'eo ket ur restr mod .desktop talvoudek"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Handelv '%s' restr ar burev n'eo ket bet anavezet"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "O kregiñ gant %s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "An arload ne zedegemer ket an teulioù dre arroudennoù arc'had"
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Dibarzh lañsañ dianavezet : %d"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "N'haller lakaat URIoù an teul da dremen d'un enankad war ar burev evel 'Type=Link'"
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr "N'eo ket un dra a c'haller lañsañ"
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr "Lazhañ kennask ouzh ardoer an estez"
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr "Erspizit ar restr gant ar c'hefluniadur enrollet enni"
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "RESTR"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "Dibab ID ardoadur an estez"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "Dibarzhioù ardeiñ an estez :"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "Diskouez dibarzhioù ardeiñ an estez"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Ur gudenn zo gant an dafariad kefluniadur.\n"
+"(Kuitaet en deus %s gant ar stad %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:255
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "N'eo ket bet kavet an arlun '%s'"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:615
+msgid "Unknown"
+msgstr "Dianav"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:666
+msgid "A program is still running:"
+msgstr "Ur goulev a labour c'hoazh:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:670
+msgid "Some programs are still running:"
+msgstr "Gouleviù a labour c'hoazh:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:671
+msgid "Waiting for programs to finish. Interrupting these programs may cause you to lose work."
+msgstr "Gortoz arload echu. Un arsav a riskle da goll roadennoù bennak."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Switch User Anyway"
+msgstr "Kemmañ an arveriad memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Logout Anyway"
+msgstr "Dilugañ memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:907
+msgid "Suspend Anyway"
+msgstr "Lakaat da gousket memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:910
+msgid "Hibernate Anyway"
+msgstr "Goañviñ memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:913
+msgid "Shutdown Anyway"
+msgstr "Lazhañ memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:916
+msgid "Reboot Anyway"
+msgstr "Adloc'hañ memes tra"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:924
+msgid "Lock Screen"
+msgstr "Prennañ ar skramm"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:927
+msgid "Cancel"
+msgstr "Nullañ"
+
+#: ../gnome-session/gsm-logout-dialog.c:274
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "C'hwi a vo diweredekaet emgefre en %d eilenn."
+msgstr[1] "C'hwi a vo diweredekaet emgefre en %d eilenn."
+
+#: ../gnome-session/gsm-logout-dialog.c:282
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "An urzhiataer a lazho emgefre en %d eilenn."
+msgstr[1] "An urzhiataer a lazho emgefre en %d eilenn."
+
+#: ../gnome-session/gsm-logout-dialog.c:314
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Kennasket oc'h emgefre a-vremañ e-giz \"%s\"."
+
+#: ../gnome-session/gsm-logout-dialog.c:380
+msgid "Log out of this system now?"
+msgstr "En em dilugañ eus ar reizhiad bremañ ?"
+
+#: ../gnome-session/gsm-logout-dialog.c:386
+msgid "_Switch User"
+msgstr "_Kemmañ an arveriad"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "_Log Out"
+msgstr "Di_lugañ"
+
+#: ../gnome-session/gsm-logout-dialog.c:401
+msgid "Shut down this system now?"
+msgstr "Lazhañ ar reizhiad bremañ ?"
+
+#: ../gnome-session/gsm-logout-dialog.c:407
+msgid "S_uspend"
+msgstr "L_akaat da gousket"
+
+#: ../gnome-session/gsm-logout-dialog.c:413
+msgid "_Hibernate"
+msgstr "_Goañviñ"
+
+#: ../gnome-session/gsm-logout-dialog.c:419
+msgid "_Restart"
+msgstr "_Adloc'hañ"
+
+#: ../gnome-session/gsm-logout-dialog.c:429
+msgid "_Shut Down"
+msgstr "_Lazhañ"
+
+#: ../gnome-session/gsm-manager.c:1158
+#: ../gnome-session/gsm-manager.c:1850
+msgid "Not responding"
+msgstr "Respont ebet"
+
+#: ../gnome-session/gsm-xsmp-client.c:1206
+msgid "This program is blocking log out."
+msgstr "Bloket eo an digevreadur gant ar goulev-se."
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid "Refusing new client connection because the session is currently being shut down\n"
+msgstr "N'eo ket aotret ar c'hennask nevez arval rak eo an estez a-vremañ o serriñ\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "N'eus ket tu da grouiñ ur soked selaou ICE : %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:354
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr "N'eus ket tu da lañsañ an estez (ha kennaskañ ouzh an dafariad X)"
+
+#: ../gnome-session/main.c:433
+msgid "Override standard autostart directories"
+msgstr "Erlec'hiañ kavlec'hioù autostart skoueriek"
+
+#: ../gnome-session/main.c:434
+msgid "GConf key used to lookup default session"
+msgstr "An alc'hwez GConf arveret evit teurle ur sell war an estez dre ziouer"
+
+#: ../gnome-session/main.c:435
+msgid "Enable debugging code"
+msgstr "Gweredekaat ar boneg diveugañ"
+
+#: ../gnome-session/main.c:436
+msgid "Do not load user-specified applications"
+msgstr "Ne garg ket an arloadoù goulennet gant an arveriad"
+
+#: ../gnome-session/main.c:457
+msgid " - the GNOME session manager"
+msgstr " - ardoer estezioù GNOME"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- Skramm degemer GNOME"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "Skramm degemer GNOME"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Log out"
+msgstr "Dilugañ"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "Digennaskañ, o tisoñjañ inibourad a chom"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Show logout dialog"
+msgstr "Diskouez ar voestad emziviz Dilugañ"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show shutdown dialog"
+msgstr "Diskouez ar voestad emziviz Lazhañ"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Use dialog boxes for errors"
+msgstr "Arverañ ar voestad emziviz evit ar fazioù"
+
+#. deprecated options
+#: ../tools/gnome-session-save.c:71
+msgid "Set the current session name"
+msgstr "Despizañ an anv estez a-vremañ"
+
+#: ../tools/gnome-session-save.c:71
+msgid "NAME"
+msgstr "ANV"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Kill session"
+msgstr "Lazhañ an estez"
+
+#: ../tools/gnome-session-save.c:73
+msgid "Do not require confirmation"
+msgstr "Chom hep goulenn ma vo kadarnaet"
+
+#: ../tools/gnome-session-save.c:120
+#: ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "N'haller ket en em gennaskañ ouzh an ardoer estezioù"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr "Goulev galvet gant dibarzhioù tabutek"
+
diff --git a/po/bs.po b/po/bs.po
new file mode 100644
index 0000000..70ef221
--- /dev/null
+++ b/po/bs.po
@@ -0,0 +1,315 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD.bs\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-02-26 20:34+0000\n"
+"PO-Revision-Date: 2015-02-27 10:36+0100\n"
+"Last-Translator: Samir Ribic <samir.ribic@etf.unsa.ba>\n"
+"Language-Team: Bosnian <+>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2015-02-05 07:00+0000\n"
+"X-Generator: Launchpad (build 17331)\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Prilagođeno"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "Ovaj unos vam omogućava izbor snimljene sesije"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ova sesija Vas prijavljuje u GNOME"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME prazno"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "GNOME u Wayland"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "Ova sesija vas prijavljuje na GNOME, koristeći Wayland"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Vlastita sesija"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Molim odaberite vlastitu sesiju za izvršenje"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_Nova sesija"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_Ukloni sesiju"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "Prei_menuj sesiju"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Nastavi"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Dodaj startup _program:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "Početni programi"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "_Sam zapamti pokrenute programe pri odjavi"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "_Zapamti trenutno pokrenute programe"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Opcije"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "Traži…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "Komentar:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "_Naredba:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_Naziv:"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "O, ne! Nešto je pošlo naopako."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Problem se desio i sistem se ne može oporaviti. Molimo Vas da kontaktirate "
+"administratora sistema"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Došlo je do problema i sistem ne može da se oporavi. Sva proširenja su "
+"isključena zarad predostrožnosti."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Problem je nastao i sistem se ne može povratiti.\n"
+"Molim, odjavite se i pokušajte ponovo."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Odjava"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:243
+msgid "Enable debugging code"
+msgstr "Uključi kod za traženje grešaka"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Dozvoli odjavljivanje"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Prikaži upozorenje o proširenju"
+
+#: ../gnome-session/gsm-manager.c:1251 ../gnome-session/gsm-manager.c:1896
+msgid "Not responding"
+msgstr "Ne daje odziv"
+
+#: ../gnome-session/gsm-util.c:381
+msgid "_Log out"
+msgstr "_Odjava"
+
+#. It'd bje really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still bje that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamćeni program"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "Program ne dozvoljava da se odjavite."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Odbijam vezu sa novim klijentom jer je u toku gašenje sesije.\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ne mogu da napravim ICE soket: %s"
+
+#: ../gnome-session/main.c:241
+msgid "Override standard autostart directories"
+msgstr "Zaobiđi standardne direktorije za automatski start"
+
+#: ../gnome-session/main.c:241
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:242
+msgid "Session to use"
+msgstr "Sesija koja se koristi."
+
+#: ../gnome-session/main.c:242
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:244
+msgid "Do not load user-specified applications"
+msgstr "Ne učitavaj programe koje je zadao korisnik"
+
+#: ../gnome-session/main.c:245
+msgid "Version of this application"
+msgstr "Verzija ove aplikacije"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:247
+msgid "Show the fail whale dialog for testing"
+msgstr "Prikaži dijalog neuspjeha radi testa"
+
+#: ../gnome-session/main.c:248
+msgid "Disable hardware acceleration check"
+msgstr "Isključi provjeru hardverske akceleracije"
+
+#: ../gnome-session/main.c:267
+msgid " - the GNOME session manager"
+msgstr " - GNOME upravljač sesija"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIJA...] NAREDBA\n"
+"\n"
+"Izvršite NAREDBU uz sprječavanje nekih funkcionalnosti sesije.\n"
+"\n"
+" -h, --help Prikazuje ovu pomoć\n"
+" --version Prikazuje izdanje programa\n"
+" --app-id IB IB programa za korišćenje prilikom\n"
+" sprječavanja (izborno)\n"
+" --reason RAZLOG Razlog sprječavanja (izborno)\n"
+" --inhibit ARG Spisak stvari za sprječavanje, razdvojenih dvotačkama:\n"
+" logout (odjavljivanje), switch-user (promjena "
+"korisnika),\n"
+" suspend (obustava), idle (mirovanje), automount "
+"(samomontiranje)\n"
+" --inhibit-only Ne pokreće NAREDBU i umjesto toga čeka u nedogled\n"
+"\n"
+"Ako nijedna opcija sprečavanja (--inhibit) nije navedena, podrazumijeva se "
+"stanje mirovanja (idle).\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Nije uspijelo izvršenje %s\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s zahtjeva argument\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesija %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "Imena sesija ne mogu početi sa ‘.’ ili sadržati ‘/’ znakovee"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "Imena sesija ne mogu početi sa ‘.’"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "Imena sesija ne mogu sadržati ‘/’ znakovee"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "Sesija s imenom ‘%s’ već postoji"
+
+#: ../tools/gnome-session-quit.c:49
+msgid "Log out"
+msgstr "Odjava"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Power off"
+msgstr "Ugasi"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Reboot"
+msgstr "Ponovo pokreni"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignoriranje svih postojećiv inhibitora"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Don't prompt for user confirmation"
+msgstr "Ne pitaj za potvrdu korisnika"
+
+#: ../tools/gnome-session-quit.c:87 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "Ne mogu se priključiti na menadžera sesije"
+
+#: ../tools/gnome-session-quit.c:196
+msgid "Program called with conflicting options"
+msgstr "Program je pozvan sa nesaglasnim opcijama"
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..6955618
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,1312 @@
+# gnome-session translation to Catalan.
+# Copyright © 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2000.
+# Softcatalà <info@softcatala.org>, 2000.
+# Jordi Mallach <jordi@sindominio.net>, 2002, 2003, 2004, 2005, 2006, 2007.
+# Josep Puigdemont <josep.puigdemont@gmail.com>, 2007.
+# David Planella <david.planella@gmail.com>, 2008, 2009, 2010, 2011.
+# Jordi Serratosa <jordis@softcatala.cat>, 2012.
+# Gil Forcada <gilforcada@guifi.net>, 2013.
+# Josep Sànchez <papapep@gmx.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.3.7\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-29 12:50+0200\n"
+"Last-Translator: maite guix <maite.guix@me.com>\n"
+"Language-Team: Catalan <tradgnome@softcatala.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalitzada"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Aquesta entrada us permet seleccionar una sessió desada"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Aquesta sessió us entra al GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME de prova"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME sobre Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME damunt Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Desa les sessions"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Si s'habilita, el gnome-session desarà la sessió automàticament."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Desa aquesta sessió"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Si s'habilita, el gnome-session desarà automàticament la propera sessió al "
+"registre."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Indicador de sortida"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Si s'habilita, el gnome-session preguntarà a l'usuari abans de finalitzar "
+"una sessió."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostra l'avís de mode clàssic"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Si s'habilita, el gnome-session mostrarà un diàleg d'avís després d'iniciar "
+"la sessió si aquesta és en mode clàssic."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sessió personalitzada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Seleccioneu quina sessió personalitzada voleu"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Sessió _nova"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Suprimeix la sessió"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Canvia el nom de la sessió"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continua"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Alguna cosa ha fallat."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar. Contacteu amb un "
+"administrador del sistema"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar. Com a mètode de "
+"precaució s'han inhabilitat totes les extensions."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar.\n"
+"Sortiu i torneu-ho a provar."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Surt"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Habilita el codi de depuració"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permet sortir"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostra l'avís de l'extensió"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "No està responent"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Surt"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicació recordada"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Aquest programa està blocant la sortida."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Es refusarà la connexió de client nova perquè la sessió s'està aturant\n"
+
+# Nota: ICE -> Inter-Client Exchange
+# (http://en.wikipedia.org/wiki/X_Window_System_protocols_and_architecture#Inter-
+# client_communication)
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "No s'ha pogut crear el sòcol ICE d'escolta: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "S'està executant systemd com a servei"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Usa la gestió de la sessió de systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Usa la gestió de sessió integrada (en comptes de la de systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Ignora els directoris estàndard d'inici automàtic"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "DIRECTORI_INICI_AUTOMÀTIC"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sessió que s'utilitzarà"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOM_DE_SESSIÓ"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "No carreguis les aplicacions especificades per l'usuari"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versió d'aquesta aplicació"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostra el diàleg de la balena per fer proves"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Inhabilita la comprovació d'acceleració del maquinari"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — el gestor de sessions del GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Inicia gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Inicia gnome-session-shutdown.target quan es rep EOF o un únic byte a stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "S'ha completat el senyal d'inicialització a gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reinicia dbus.service si està executant-se"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Executa des de ExecStopPost per a iniciar gnome-session-failed.target quan "
+"hi hagi una fallada del servei"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "El programa necessita exactament un paràmetre"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIÓ...] ORDRE\n"
+"\n"
+"Executeu l'ORDRE mentre s'inhibeix alguna funcionalitat de la sessió.\n"
+"\n"
+" -h, --help Mostra aquesta ajuda\n"
+" --version Mostra la versió del programa\n"
+" --app-id ID L'id d'aplicació que s'utilitzarà quan\n"
+" s'inhibeixi (opcional)\n"
+" --reason RAÓ La raó per la qual s'inhibeix (opcional)\n"
+" --inhibit ARG Coses a inhibir, llista separada per dos punts:\n"
+" «logout» (sortida), «switch-user» (canvi d'usuari),\n"
+" «suspend» (suspendre), «idle» (inactiu) i\n"
+" «automount» (muntatge automàtic)\n"
+" --inhibit-only No executis l'ORDRE i espera per sempre\n"
+" -l, --list Llista les inhibicions existents, i surt\n"
+"\n"
+"Si no s'especifica cap opció a --inhibit, s'utilitzarà «idle» (inactiu).\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "No s'ha pogut executar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requereix un argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Surt"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Apaga"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reinicia"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "S'està ignorant qualsevol inhibidor existent"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "No demanis la confirmació de l'usuari"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "No s'ha pogut connectar al gestor de sessions"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr ""
+"El programa s'ha invocat amb opcions que entren en conflicte entre elles"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessió %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Els noms de sessió no poden començar amb els caràcters «.» ni contenir «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Els noms de sessió no poden començar amb el caràcter «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Els noms de sessió no poden contenir el caràcter «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Ja existeix una sessió amb el nom «%s»"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Amb aquesta sessió accediu al GNOME emprant Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programes d'inici addicionals:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programes d'inici"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Recorda _automàticament les aplicacions que s'estan executant en sortir"
+
+# FIXME [l10n-bug] (dpm)
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Recorda les aplicacions que s'estan executant actualment"
+
+#~ msgid "Options"
+#~ msgstr "Opcions"
+
+#~ msgid "Browse…"
+#~ msgstr "Navega…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Co_mentari:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Ordre:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nom:"
+
+#~ msgid "Select Command"
+#~ msgstr "Selecciona una ordre"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Afegeix un programa d'inici"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Edita el programa d'inici"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "L'ordre d'inici no pot ser buida"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "L'ordre d'inici no és vàlida"
+
+#~ msgid "Enabled"
+#~ msgstr "Habilitat"
+
+#~ msgid "Icon"
+#~ msgstr "Icona"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferències de les aplicacions d'inici"
+
+#~ msgid "No name"
+#~ msgstr "Sense nom"
+
+#~ msgid "No description"
+#~ msgstr "Sense descripció"
+
+#~ msgid "Could not display help document"
+#~ msgstr "No s'ha pogut mostrar el document de l'ajuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicacions d'inici"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Trieu quines aplicacions voleu que s'iniciïn en entrar"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Aquest no és un fitxer .desktop vàlid"
+
+# FIXME: potser es refereixen a .desktop (dpm)
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "No es reconeix la versió «%s» del fitxer d'escriptori"
+
+#~ msgid "Starting %s"
+#~ msgstr "S'està iniciant %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "L'aplicació no accepta documents des de la línia d'ordres"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "No és reconeix l'opció de llançament: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "No es poden passar URI de document a una entrada d'escriptori de tipus "
+#~ "«Type=Link»"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "No és un element executable"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Inhabilita la connexió amb el gestor de sessions"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especifiqueu el fitxer que conté la configuració desada"
+
+#~ msgid "FILE"
+#~ msgstr "FITXER"
+
+#~ msgid "ID"
+#~ msgstr "IDENTIFICADOR"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opcions de gestió de la sessió:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Mostra les opcions de gestió de la sessió"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Hi ha alguns programes que encara s'estan executant:"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconegut"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Hi ha un programa que encara s'està executant:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzi el programa. Si l'interrompeu podríeu "
+#~ "perdre les dades no desades."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzin alguns programes. Si els interrompeu és "
+#~ "possible que perdeu les dades no desades."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Canvia d'usuari de totes maneres"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Surt de totes maneres"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Atura temporalment de totes maneres"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hiberna de totes maneres"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Atura de totes maneres"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reinicia de totes maneres"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloca la pantalla"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancel·la"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Sortireu automàticament d'aquí a %d segon."
+#~ msgstr[1] "Sortireu automàticament d'aquí a %d segons."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Aquest sistema s'aturarà automàticament d'aquí a %d segon."
+#~ msgstr[1] "Aquest sistema s'aturarà automàticament d'aquí a %d segons."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Es reiniciarà el sistema automàticament d'aquí a %d segon."
+#~ msgstr[1] "Es reiniciarà el sistema automàticament d'aquí a %d segons."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Heu entrat com a «%s»."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Voleu sortir d'aquest sistema?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Canvia d'_usuari"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Voleu aturar aquest sistema?"
+
+#~ msgid "S_uspend"
+#~ msgstr "A_tura temporalment"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hiberna"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reinicia"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Atura l'ordinador"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Voleu reiniciar el sistema ara?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d hora"
+#~ msgstr[1] "%d hores"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minut"
+#~ msgstr[1] "%d minuts"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d segon"
+#~ msgstr[1] "%d segons"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segons"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Sortida automàtica d'aquí %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "La sessió està configurada perquè se surti automàticament després d'un "
+#~ "període d'inactivitat."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "No s'ha trobat la icona «%s»"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Ha fallat la càrrega del GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "El GNOME 3 no s'ha pogut iniciar correctament i ha arrencat en <i>mode "
+#~ "clàssic</i>.\n"
+#~ "\n"
+#~ "Això vol dir que segurament el vostre sistema (maquinari gràfic o "
+#~ "controlador) no podrà proporcionar el GNOME 3 a la seva màxima capacitat."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Descobriu més coses sobre el GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "No s'ha pogut iniciar la sessió d'entrada (ni connectar amb el servidor X)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Hi ha alguns programes encara en execució:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "S'ha sortit amb codi %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "S'ha matat per la senyal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "S'ha aturat per la senyal %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "S'ha produït un problema i el sistema no es pot recuperar. Algunes de les "
+#~ "extensions de sota poden haver-ho causat.\n"
+#~ "Intenteu inhabilitar-ne algunes i després sortiu i torneu-ho a provar."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Hi ha un problema amb el servidor de la configuració.\n"
+#~ "(%s ha sortit amb l'estat %d)"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Mostra el diàleg de sortida"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Mostra el diàleg d'aturada"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Empra quadres de diàleg per als errors"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Estableix el nom de la sessió actual"
+
+#~ msgid "NAME"
+#~ msgstr "NOM"
+
+#~ msgid "Kill session"
+#~ msgstr "Mata la sessió"
+
+#~ msgid "Classic GNOME"
+#~ msgstr "GNOME clàssic"
+
+#~ msgid "Window Manager"
+#~ msgstr "Gestor de finestres"
+
+#~ msgid "Default session"
+#~ msgstr "Sessió predeterminada"
+
+#~ msgid "File Manager"
+#~ msgstr "Gestor de fitxers"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Llista d'aplicacions que formen part de la sessió."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Llista dels components que són necessaris com a part de la sessió, a "
+#~ "cadascun dels quals li correspon una clau del GConf a «/desktop/gnome/"
+#~ "session/required_components». Normalment l'eina de les preferències de "
+#~ "les aplicacions d'inici no permet que els usuaris suprimeixin un "
+#~ "d'aquests elements necessaris de la sessió. El gestor de la sessió els hi "
+#~ "tornarà a afegir automàticament en entrar en cas que s'hagin suprimit."
+
+#~ msgid "Panel"
+#~ msgstr "Quadre"
+
+#~ msgid "Required session components"
+#~ msgstr "Components necessaris de la sessió"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "El gestor de fitxers proporciona les icones de l'escriptori i us permet "
+#~ "interaccionar amb els fitxers desats."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "El nombre de minuts d'inactivitat abans de considerar la sessió com a "
+#~ "inactiva."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "El quadre proporciona la barra de la part superior o inferior de la "
+#~ "pantalla, la qual conté els menús, la llista de finestra, les icones "
+#~ "d'estat, el rellotge, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "El gestor de finestres és el programa que dibuixa la barra de títol i els "
+#~ "costats de les finestres, i també us permet moure-les i canviar-ne la "
+#~ "mida."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Temps abans de considerar la sessió com a inactiva"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "La clau del GConf utilitzada per a cercar la sessió predeterminada"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzi el programa. Si l'interrompeu és possible "
+#~ "que perdeu les dades no desades."
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Auxiliar del dimoni dels paràmetres del GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Si s'habilita, el gnome-session desarà la sessió automàticament. D'altra "
+#~ "manera, el diàleg de sortida tindrà una opció per a desar la sessió."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Imatge preferida per a emprar a la pantalla de presentació"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Mostra la pantalla de presentació"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Mostra la pantalla de presentació quan s'iniciï la sessió"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Aquest és un valor de camí relatiu basat al directori $datadir/pixmaps/. "
+#~ "Els subdirectoris i noms d'imatges són valors vàlids. El canvi d'aquest "
+#~ "valor tindrà efecte a la següent entrada a la sessió."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- pantalla de presentació del GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Pantalla de presentació del GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "El nom del programa d'inici no pot ser buit"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "S'ha indicat que es requereix tecnologia assistiva per a aquesta sessió, "
+#~ "però no s'ha pogut trobar el registre d'accessibilitat. Assegureu-vos que "
+#~ "el paquet AT-SPI estigui instal·lat. S'ha iniciat la sessió sense la "
+#~ "tecnologia assistiva."
+
+# Ho he escurçat una mica -> Accessibility Technologies Service Provider
+# Interface (dpm)
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "Embolcall del servei de registre de l'accessibilitat (AT SPI)"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Preferències de les sessions"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Opció seleccionada al quadre de diàleg de sortida"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Aquesta és l'opció que estarà seleccionada al quadre de diàleg de "
+#~ "sortida, els valors vàlids són «logout» per a sortir, «shutdown» per a "
+#~ "aturar el sistema, i «restart» per a reiniciar-lo."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configureu les vostres sessions"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "Embolcall del dimoni de l'anell de claus del GNOME"
+
+#~ msgid "Session management"
+#~ msgstr "Gestió de sessions"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr ""
+#~ "Biblioteca de la interfìcie gràfica d'usuari del GNOME amb l'EggSMClient"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Permet connexions TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Per raons de seguretat, en les plataformes que tenen "
+#~ "_IceTcpTransNoListen() (sistemes XFree86), el gnome-session no escolta "
+#~ "connexions en ports TCP. Aquesta opció permetrà connexions des de "
+#~ "màquines remotes (autoritzades). S'ha de reiniciar el gnome-session "
+#~ "perquè tingui efecte."
+
+#~ msgid "_Order:"
+#~ msgstr "_Ordre:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "El que passa amb l'aplicació quan surt."
+
+#~ msgid "_Style:"
+#~ msgstr "_Estil:"
+
+#~ msgid "Inactive"
+#~ msgstr "Inactiu"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "S'està esperant per iniciar o ja ha finalitzat."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "S'ha iniciat però encara no ha informat del seu estat."
+
+#~ msgid "Running"
+#~ msgstr "S'està executant"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Un membre normal de la sessió."
+
+#~ msgid "Saving"
+#~ msgstr "S'està desant"
+
+#~ msgid "Saving session details."
+#~ msgstr "S'estan desant els detalls de la sessió."
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "No ha informat de l'estat dins el temps establert."
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "No l'afecten les sortides però pot morir."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "No es permet que mori mai."
+
+#~ msgid "Trash"
+#~ msgstr "Paperera"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Descartat en la sortida i pot morir."
+
+#~ msgid "Settings"
+#~ msgstr "Propietats"
+
+#~ msgid "Always started on every login."
+#~ msgstr "S'inicia sempre a cada entrada."
+
+#~ msgid "Order"
+#~ msgstr "Ordre"
+
+#~ msgid "Style"
+#~ msgstr "Estil"
+
+#~ msgid "State"
+#~ msgstr "Estat"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "S'ha produït un error en arrencar el GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Algunes coses, com els temes, sons o la configuració del fons podrien no "
+#~ "funcionar correctament."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "L'últim missatge d'error va ser:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "El GNOME intentarà reiniciar el dimoni de configuracions la propera "
+#~ "vegada que entreu."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "El dimoni de configuracions s'ha reiniciat massa vegades."
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "Llista els clients registrats i després surt."
+
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAMA..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "Heu d'especificar almenys un programa per a suprimir. Podeu llistar els "
+#~ "programes amb --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Error: no s'ha pogut connectar al gestor de sessions\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Clients registrats actualment:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "No s'ha pogut trobar el programa %s a la sessió\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "No s'ha pogut iniciar correctament el gestor de sessions del GNOME. "
+#~ "Informeu-ne com una errada del GNOME. Indiqueu aquest missatge d'error "
+#~ "ICE en l'informe d'errada: «%s». De moment podeu mirar d'entrar amb la "
+#~ "sessió a prova de fallades."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "El gestor de sessions del GNOME no ha pogut blocar el fitxer «%s». "
+#~ "Informeu-ne com una errada del GNOME. A vegades aquest error es produeix "
+#~ "si no es pot escriure al directori on és el fitxer. Podeu mirar d'entrar "
+#~ "mitjançant la sessió a prova de fallades i assegurar-vos-en."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "El gestor de sessions del GNOME no ha pogut llegir el fitxer: «%s». "
+#~ "Aquest fitxer ha d'existir i s'ha de poder llegir perquè el GNOME "
+#~ "funcioni correctament. Mireu d'entrar mitjançant la sessió a prova de "
+#~ "fallades i suprimir aquest fitxer."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "No s'ha pogut escriure al fitxer «%s». S'ha de poder escriure en aquest "
+#~ "fitxer perquè el GNOME funcioni correctament. Mireu d'entrar mitjançant "
+#~ "la sessió a prova de fallades, i també assegureu-vos que es pugui "
+#~ "escriure al directori."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Esteu segur que voleu sortir?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Reinicia l'ordinador"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Llegeix només les sessions desades del fitxer default.session"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients es registrin "
+#~ "(0=indefinidament)"
+
+#~ msgid "DELAY"
+#~ msgstr "RETARD"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients responguin "
+#~ "(0=indefinidament)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients morin "
+#~ "(0=indefinidament)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "Aquesta sessió s'executa com a usuari privilegiat"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "S'hauria d'evitar executar una sessió com a usuari privilegiat per raons "
+#~ "de seguretat. Si és possible, hauríeu d'entrar com a usuari normal."
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "Si no funciona correctament el rellotge del sistema podríeu tenir "
+#~ "problemes amb la sessió. Hauríeu d'ajustar-lo.\n"
+#~ "\n"
+#~ "La data actual és <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "No s'ha pogut llançar l'eina de configuració del temps: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "Sembla que el rellotge de l'ordinador està malament"
+
+#~ msgid "_Ignore"
+#~ msgstr "_Ignora"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Ajusta el rellotge"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "No s'ha pogut cercar l'adreça d'Internet de %s.\n"
+#~ "Això provocarà que el GNOME no funcioni correctament.\n"
+#~ "Segurament es podria corregir aquest problema afegint\n"
+#~ "%s al fitxer /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "Torna-ho a provar"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "S'ha abandonat l'espera a causa d'un conflicte."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Cap resposta a l'ordre %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "El programa podria ser lent, estar parat o trencat."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Podeu esperar que respongui o eliminar-lo."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "No s'ha reiniciat atès que s'han produït errades."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Hi ha un tancament de sessió en progrés."
+
+#~ msgid "- Save the current session"
+#~ msgstr "- Desa la sessió actual"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Voleu desar els canvis fets a la sessió actual abans de tancar?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "Si no els deseu, es descartaran tots els canvis."
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Tanca sense desar"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "S'ha desat la sessió."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "no s'ha pogut connectar al gestor de sessions\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "el gestor de sessions no permet l'ús d'extensions del GNOME\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Suprimeix el client seleccionat de la sessió."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Aplica els canvis a la sessió actual"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "La llista dels programes de la sessió."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Programes actualment en execució:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Gestor de finestres Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Gestor de finestres Metacity"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Paràmetres de l'escriptori"
+
+#~ msgid "New Startup Program"
+#~ msgstr "Programa d'inici nou"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Desa la configuració actual"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "_Desa automàticament els canvis a la sessió"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "El nom de la sessió no pot estar buit"
+
+#~ msgid "Add a new session"
+#~ msgstr "Afegeix una nova sessió"
+
+#~ msgid "Edit session name"
+#~ msgstr "Edita el nom de la sessió"
+
+#~ msgid "Disable"
+#~ msgstr "Inhabilita"
+
+#~ msgid "_Edit"
+#~ msgstr "_Edita"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Alguns canvis no estan desats.\n"
+#~ "Voleu sortir igualment?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Mostra la pantalla de presentació en en_trar"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "Ordre d'_inici:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "S'ha produït un error d'activació desconegut."
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Inicialitza els paràmetres de la sessió"
+
+#~ msgid "Save Current Session"
+#~ msgstr "Desa la sessió actual"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Desa l'estat actual de l'escriptori"
+
+#~ msgid "Priority"
+#~ msgstr "Prioritat"
+
+#~ msgid "Audio Settings"
+#~ msgstr "Configuració del so"
+
+#~ msgid "Screensaver"
+#~ msgstr "Protector de pantalla"
+
+#~ msgid "Background Settings"
+#~ msgstr "Propietats del fons"
+
+#~ msgid "Mouse Settings"
+#~ msgstr "Propietats del ratolí"
+
+#~ msgid "Keyboard Settings"
+#~ msgstr "Propietats del teclat"
+
+#~ msgid "_Priority:"
+#~ msgstr "_Prioritat:"
+
+#~ msgid "Starting GNOME: %s"
+#~ msgstr "or something like that :)\n"
+
+#~ msgid "Starting GNOME: done"
+#~ msgstr "S'està iniciant el GNOME: fet"
+
+#~ msgid "Starting GNOME"
+#~ msgstr "S'està iniciant el GNOME"
+
+#~ msgid "Respawn"
+#~ msgstr "Tornar-lo a crear"
+
+#~ msgid "<i>These changes take effect immediately</i>"
+#~ msgstr "<i>Aquests canvis tenen efecte immediatament</i>"
+
+#~ msgid "Choose Current Session"
+#~ msgstr "Selecciona la sessió actual"
+
+#~ msgid "Add..."
+#~ msgstr "Afegeix..."
+
+#~ msgid "Delete"
+#~ msgstr "Suprimeix"
+
+#~ msgid "Non-session-managed Startup Programs"
+#~ msgstr "Programes d'inici no controlats per la sessió"
+
+#~ msgid ""
+#~ "Programs with smaller values are started before programs with higher "
+#~ "values. The default value should be OK"
+#~ msgstr ""
+#~ "Els programes amb valors més baixos s'executen abans que els programes "
+#~ "amb valors més alts. El valor per defecte hauria de valdre."
+
+#~ msgid "Session Properties & Startup Programs"
+#~ msgstr "Propietats de la sessió i programes d'inici"
+
+#~ msgid "Log In"
+#~ msgstr "Entra"
+
+#~ msgid "Start with default programs"
+#~ msgstr "Inicia amb els programes per defecte"
+
+#~ msgid "Reset all user settings"
+#~ msgstr "Reinicialitza tots els paràmetres d'usuari"
+
+#~ msgid "Really reset all GNOME user settings for %s?"
+#~ msgstr "Voleu reinicialitzar realment tots els paràmetres d'usuari per %s?"
+
+#~ msgid "No"
+#~ msgstr "No"
+
+#~ msgid ""
+#~ "The directory /tmp/orbit-%s is not owned\n"
+#~ "by the current user, %s.\n"
+#~ "Please correct the ownership of this directory."
+#~ msgstr ""
+#~ "El directori /tmp/orbit-%s no pertany\n"
+#~ "a l'usuari actual, %s.\n"
+#~ "Si us plau, corregiu la propietat d'aquest directori."
+
+#~ msgid "Really log out?"
+#~ msgstr "Realment voleu sortir?"
+
+#~ msgid ""
+#~ "Your version of libICE has a bug which causes gnome-session\n"
+#~ "to not function correctly.\n"
+#~ "\n"
+#~ "If you are on Solaris, you should either upgrade to Solaris patch\n"
+#~ "#108376-16 or use the libICE.so.6 from the original Solaris 7.\n"
+#~ "Copy the file into /usr/openwin/lib. (Thanks go to Andy Reitz\n"
+#~ "for information on this bug).\n"
+#~ "\n"
+#~ "Your GNOME session will terminate after closing this dialog."
+#~ msgstr ""
+#~ "La vostra versió de libICE té un error que fa que gnome-session\n"
+#~ "no funcione correctament.\n"
+#~ "\n"
+#~ "Si esteu en Solaris, haurieu de actualitzar al pedaç de Solaris\n"
+#~ "#108376-16 o utilitzar la libICE.so.6 del Solaris 7 original.\n"
+#~ "Copieu el fitxer en /usr/openwin/lib. (Gràcies a Andy Reitz per la\n"
+#~ "informació sobre aquest bug).\n"
+#~ "\n"
+#~ "La vostra sessió del GNOME terminarà després de tancar aquest diàleg."
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
new file mode 100644
index 0000000..7485456
--- /dev/null
+++ b/po/ca@valencia.po
@@ -0,0 +1,1243 @@
+# gnome-session translation to Catalan.
+# Copyright © 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2000.
+# Softcatalà <info@softcatala.org>, 2000.
+# Jordi Mallach <jordi@sindominio.net>, 2002, 2003, 2004, 2005, 2006, 2007.
+# Josep Puigdemont <josep.puigdemont@gmail.com>, 2007.
+# David Planella <david.planella@gmail.com>, 2008, 2009, 2010, 2011.
+# Jordi Serratosa <jordis@softcatala.cat>, 2012.
+# Gil Forcada <gilforcada@guifi.net>, 2013.
+# Josep Sànchez <papapep@gmx.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.3.7\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2017-09-18 14:31+0000\n"
+"PO-Revision-Date: 2015-03-07 00:41+0200\n"
+"Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n"
+"Language-Team: Catalan <tradgnome@softcatala.org>\n"
+"Language: ca-valencia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bits\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Personalitzada"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "Esta entrada vos permet seleccionar una sessió guardada"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2 ../data/gnome-xorg.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Esta sessió vos entra al GNOME"
+
+#: ../data/gnome-xorg.desktop.in.h:1
+msgid "GNOME on Xorg"
+msgstr "GNOME en Xorg"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME de prova"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Sessió personalitzada"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Seleccioneu quina sessió personalitzada voleu"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "Sessió _nova"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_Suprimeix la sessió"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "_Canvia el nom de la sessió"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Continua"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Alguna cosa ha fallat."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar. Contacteu amb un "
+"administrador del sistema"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar. Com a mètode de "
+"precaució s'han inhabilitat totes les extensions."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"S'ha produït un problema i el sistema no es pot recuperar.\n"
+"Eixiu i torneu-ho a provar."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "I_x"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:281
+msgid "Enable debugging code"
+msgstr "Habilita el codi de depuració"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Permet eixir"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Mostra l'avís de l'extensió"
+
+#: ../gnome-session/gsm-manager.c:1266 ../gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "No està responent"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "I_x"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicació recordada"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "Este programa està blocant l'eixida."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Es refusarà la connexió de client nova perquè la sessió s'està aturant\n"
+
+# Nota: ICE -> Inter-Client Exchange (http://en.wikipedia.org/wiki/X_Window_System_protocols_and_architecture#Inter-client_communication)
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "No s'ha pogut crear el sòcol ICE d'escolta: %s"
+
+#: ../gnome-session/main.c:279
+msgid "Override standard autostart directories"
+msgstr "Ignora els directoris estàndard d'inici automàtic"
+
+#: ../gnome-session/main.c:279
+msgid "AUTOSTART_DIR"
+msgstr "DIRECTORI_INICI_AUTOMÀTIC"
+
+#: ../gnome-session/main.c:280
+msgid "Session to use"
+msgstr "Sessió que s'utilitzarà"
+
+#: ../gnome-session/main.c:280
+msgid "SESSION_NAME"
+msgstr "NOM_DE_SESSIÓ"
+
+#: ../gnome-session/main.c:282
+msgid "Do not load user-specified applications"
+msgstr "No carreguis les aplicacions especificades per l'usuari"
+
+#: ../gnome-session/main.c:283
+msgid "Version of this application"
+msgstr "Versió d'esta aplicació"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:285
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostra el diàleg de la balena per fer proves"
+
+#: ../gnome-session/main.c:286
+msgid "Disable hardware acceleration check"
+msgstr "Inhabilita la comprovació d'acceleració del maquinari"
+
+#: ../gnome-session/main.c:318
+msgid " — the GNOME session manager"
+msgstr " — el gestor de sessions del GNOME"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIÓ...] ORDRE\n"
+"\n"
+"Executeu l'ORDRE mentre s'inhibeix alguna funcionalitat de la sessió.\n"
+"\n"
+" -h, --help Mostra esta ajuda\n"
+" --version Mostra la versió del programa\n"
+" --app-id ID L'id d'aplicació que s'utilitzarà quan\n"
+" s'inhibisca (opcional)\n"
+" --reason RAÓ La raó per la qual s'inhibeix (opcional)\n"
+" --inhibit ARG Coses a inhibir, llista separada per dos punts:\n"
+" «logout» (eixida), «switch-user» (canvi d'usuari),\n"
+" «suspend» (suspendre), «idle» (inactiu) i\n"
+" «automount» (muntatge automàtic)\n"
+" --inhibit-only No executes l'ORDRE i espera per sempre\n"
+"\n"
+"Si no s'especifica cap opció a --inhibit, s'utilitzarà «idle» (inactiu).\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "No s'ha pogut executar %s\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requereix un argument\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessió %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Els noms de sessió no poden començar amb els caràcters «.» ni contindre «/»"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Els noms de sessió no poden començar amb el caràcter «.»"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Els noms de sessió no poden contindre el caràcter «/»"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Ja existeix una sessió amb el nom «%s»"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Ix"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Atura"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reinicia"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "S'està ignorant qualsevol inhibidor existent"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "No demanes la confirmació de l'usuari"
+
+#: ../tools/gnome-session-quit.c:88 ../tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "No s'ha pogut connectar al gestor de sessions"
+
+#: ../tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr ""
+"El programa s'ha invocat amb opcions que entren en conflicte entre elles"
+
+#~ msgid "GNOME on Wayland"
+#~ msgstr "GNOME sobre Wayland"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Amb aquesta sessió accediu al GNOME emprant Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programes d'inici addicionals:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programes d'inici"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Recorda _automàticament les aplicacions que s'estan executant en sortir"
+
+# FIXME [l10n-bug] (dpm)
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Recorda les aplicacions que s'estan executant actualment"
+
+#~ msgid "Options"
+#~ msgstr "Opcions"
+
+#~ msgid "Browse…"
+#~ msgstr "Navega…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Co_mentari:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Ordre:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nom:"
+
+#~ msgid "Select Command"
+#~ msgstr "Selecciona una ordre"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Afegeix un programa d'inici"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Edita el programa d'inici"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "L'ordre d'inici no pot ser buida"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "L'ordre d'inici no és vàlida"
+
+#~ msgid "Enabled"
+#~ msgstr "Habilitat"
+
+#~ msgid "Icon"
+#~ msgstr "Icona"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferències de les aplicacions d'inici"
+
+#~ msgid "No name"
+#~ msgstr "Sense nom"
+
+#~ msgid "No description"
+#~ msgstr "Sense descripció"
+
+#~ msgid "Could not display help document"
+#~ msgstr "No s'ha pogut mostrar el document de l'ajuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicacions d'inici"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Trieu quines aplicacions voleu que s'iniciïn en entrar"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Aquest no és un fitxer .desktop vàlid"
+
+# FIXME: potser es refereixen a .desktop (dpm)
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "No es reconeix la versió «%s» del fitxer d'escriptori"
+
+#~ msgid "Starting %s"
+#~ msgstr "S'està iniciant %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "L'aplicació no accepta documents des de la línia d'ordres"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "No és reconeix l'opció de llançament: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "No es poden passar URI de document a una entrada d'escriptori de tipus "
+#~ "«Type=Link»"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "No és un element executable"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Inhabilita la connexió amb el gestor de sessions"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especifiqueu el fitxer que conté la configuració desada"
+
+#~ msgid "FILE"
+#~ msgstr "FITXER"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Especifiqueu l'identificador de gestió de la sessió"
+
+#~ msgid "ID"
+#~ msgstr "IDENTIFICADOR"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opcions de gestió de la sessió:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Mostra les opcions de gestió de la sessió"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Hi ha alguns programes que encara s'estan executant:"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconegut"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Hi ha un programa que encara s'està executant:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzi el programa. Si l'interrompeu podríeu "
+#~ "perdre les dades no desades."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzin alguns programes. Si els interrompeu és "
+#~ "possible que perdeu les dades no desades."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Canvia d'usuari de totes maneres"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Surt de totes maneres"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Atura temporalment de totes maneres"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hiberna de totes maneres"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Atura de totes maneres"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reinicia de totes maneres"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloca la pantalla"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancel·la"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Sortireu automàticament d'aquí a %d segon."
+#~ msgstr[1] "Sortireu automàticament d'aquí a %d segons."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Aquest sistema s'aturarà automàticament d'aquí a %d segon."
+#~ msgstr[1] "Aquest sistema s'aturarà automàticament d'aquí a %d segons."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Es reiniciarà el sistema automàticament d'aquí a %d segon."
+#~ msgstr[1] "Es reiniciarà el sistema automàticament d'aquí a %d segons."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Heu entrat com a «%s»."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Voleu sortir d'aquest sistema?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Canvia d'_usuari"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Voleu aturar aquest sistema?"
+
+#~ msgid "S_uspend"
+#~ msgstr "A_tura temporalment"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hiberna"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reinicia"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Atura l'ordinador"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Voleu reiniciar el sistema ara?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d hora"
+#~ msgstr[1] "%d hores"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minut"
+#~ msgstr[1] "%d minuts"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d segon"
+#~ msgstr[1] "%d segons"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segons"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Sortida automàtica d'aquí %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "La sessió està configurada perquè se surti automàticament després d'un "
+#~ "període d'inactivitat."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "No s'ha trobat la icona «%s»"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Ha fallat la càrrega del GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "El GNOME 3 no s'ha pogut iniciar correctament i ha arrencat en <i>mode "
+#~ "clàssic</i>.\n"
+#~ "\n"
+#~ "Això vol dir que segurament el vostre sistema (maquinari gràfic o "
+#~ "controlador) no podrà proporcionar el GNOME 3 a la seva màxima capacitat."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Descobriu més coses sobre el GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "No s'ha pogut iniciar la sessió d'entrada (ni connectar amb el servidor X)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Hi ha alguns programes encara en execució:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "S'ha sortit amb codi %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "S'ha matat per la senyal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "S'ha aturat per la senyal %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "S'ha produït un problema i el sistema no es pot recuperar. Algunes de les "
+#~ "extensions de sota poden haver-ho causat.\n"
+#~ "Intenteu inhabilitar-ne algunes i després sortiu i torneu-ho a provar."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Hi ha un problema amb el servidor de la configuració.\n"
+#~ "(%s ha sortit amb l'estat %d)"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Mostra el diàleg de sortida"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Mostra el diàleg d'aturada"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Empra quadres de diàleg per als errors"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Estableix el nom de la sessió actual"
+
+#~ msgid "NAME"
+#~ msgstr "NOM"
+
+#~ msgid "Kill session"
+#~ msgstr "Mata la sessió"
+
+#~ msgid "Classic GNOME"
+#~ msgstr "GNOME clàssic"
+
+#~ msgid "Window Manager"
+#~ msgstr "Gestor de finestres"
+
+#~ msgid "Default session"
+#~ msgstr "Sessió predeterminada"
+
+#~ msgid "File Manager"
+#~ msgstr "Gestor de fitxers"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr ""
+#~ "Si s'habilita, el gnome-session preguntarà a l'usuari abans de finalitzar "
+#~ "una sessió."
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "Si s'habilita, el gnome-session desarà la sessió automàticament."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Llista d'aplicacions que formen part de la sessió."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Llista dels components que són necessaris com a part de la sessió, a "
+#~ "cadascun dels quals li correspon una clau del GConf a «/desktop/gnome/"
+#~ "session/required_components». Normalment l'eina de les preferències de "
+#~ "les aplicacions d'inici no permet que els usuaris suprimeixin un "
+#~ "d'aquests elements necessaris de la sessió. El gestor de la sessió els hi "
+#~ "tornarà a afegir automàticament en entrar en cas que s'hagin suprimit."
+
+#~ msgid "Logout prompt"
+#~ msgstr "Indicador de sortida"
+
+#~ msgid "Panel"
+#~ msgstr "Quadre"
+
+#~ msgid "Required session components"
+#~ msgstr "Components necessaris de la sessió"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "El gestor de fitxers proporciona les icones de l'escriptori i us permet "
+#~ "interaccionar amb els fitxers desats."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "El nombre de minuts d'inactivitat abans de considerar la sessió com a "
+#~ "inactiva."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "El quadre proporciona la barra de la part superior o inferior de la "
+#~ "pantalla, la qual conté els menús, la llista de finestra, les icones "
+#~ "d'estat, el rellotge, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "El gestor de finestres és el programa que dibuixa la barra de títol i els "
+#~ "costats de les finestres, i també us permet moure-les i canviar-ne la "
+#~ "mida."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Temps abans de considerar la sessió com a inactiva"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "La clau del GConf utilitzada per a cercar la sessió predeterminada"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "S'està esperant que finalitzi el programa. Si l'interrompeu és possible "
+#~ "que perdeu les dades no desades."
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Auxiliar del dimoni dels paràmetres del GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Si s'habilita, el gnome-session desarà la sessió automàticament. D'altra "
+#~ "manera, el diàleg de sortida tindrà una opció per a desar la sessió."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Imatge preferida per a emprar a la pantalla de presentació"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Mostra la pantalla de presentació"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Mostra la pantalla de presentació quan s'iniciï la sessió"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Aquest és un valor de camí relatiu basat al directori $datadir/pixmaps/. "
+#~ "Els subdirectoris i noms d'imatges són valors vàlids. El canvi d'aquest "
+#~ "valor tindrà efecte a la següent entrada a la sessió."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- pantalla de presentació del GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Pantalla de presentació del GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "El nom del programa d'inici no pot ser buit"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "S'ha indicat que es requereix tecnologia assistiva per a aquesta sessió, "
+#~ "però no s'ha pogut trobar el registre d'accessibilitat. Assegureu-vos que "
+#~ "el paquet AT-SPI estigui instal·lat. S'ha iniciat la sessió sense la "
+#~ "tecnologia assistiva."
+
+# Ho he escurçat una mica -> Accessibility Technologies Service Provider
+# Interface (dpm)
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "Embolcall del servei de registre de l'accessibilitat (AT SPI)"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Preferències de les sessions"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Opció seleccionada al quadre de diàleg de sortida"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Aquesta és l'opció que estarà seleccionada al quadre de diàleg de "
+#~ "sortida, els valors vàlids són «logout» per a sortir, «shutdown» per a "
+#~ "aturar el sistema, i «restart» per a reiniciar-lo."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configureu les vostres sessions"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "Embolcall del dimoni de l'anell de claus del GNOME"
+
+#~ msgid "Session management"
+#~ msgstr "Gestió de sessions"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr ""
+#~ "Biblioteca de la interfìcie gràfica d'usuari del GNOME amb l'EggSMClient"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Permet connexions TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Per raons de seguretat, en les plataformes que tenen "
+#~ "_IceTcpTransNoListen() (sistemes XFree86), el gnome-session no escolta "
+#~ "connexions en ports TCP. Aquesta opció permetrà connexions des de "
+#~ "màquines remotes (autoritzades). S'ha de reiniciar el gnome-session "
+#~ "perquè tingui efecte."
+
+#~ msgid "_Order:"
+#~ msgstr "_Ordre:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "El que passa amb l'aplicació quan surt."
+
+#~ msgid "_Style:"
+#~ msgstr "_Estil:"
+
+#~ msgid "Inactive"
+#~ msgstr "Inactiu"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "S'està esperant per iniciar o ja ha finalitzat."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "S'ha iniciat però encara no ha informat del seu estat."
+
+#~ msgid "Running"
+#~ msgstr "S'està executant"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Un membre normal de la sessió."
+
+#~ msgid "Saving"
+#~ msgstr "S'està desant"
+
+#~ msgid "Saving session details."
+#~ msgstr "S'estan desant els detalls de la sessió."
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "No ha informat de l'estat dins el temps establert."
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "No l'afecten les sortides però pot morir."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "No es permet que mori mai."
+
+#~ msgid "Trash"
+#~ msgstr "Paperera"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Descartat en la sortida i pot morir."
+
+#~ msgid "Settings"
+#~ msgstr "Propietats"
+
+#~ msgid "Always started on every login."
+#~ msgstr "S'inicia sempre a cada entrada."
+
+#~ msgid "Order"
+#~ msgstr "Ordre"
+
+#~ msgid "Style"
+#~ msgstr "Estil"
+
+#~ msgid "State"
+#~ msgstr "Estat"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "S'ha produït un error en arrencar el GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Algunes coses, com els temes, sons o la configuració del fons podrien no "
+#~ "funcionar correctament."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "L'últim missatge d'error va ser:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "El GNOME intentarà reiniciar el dimoni de configuracions la propera "
+#~ "vegada que entreu."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "El dimoni de configuracions s'ha reiniciat massa vegades."
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "Llista els clients registrats i després surt."
+
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAMA..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "Heu d'especificar almenys un programa per a suprimir. Podeu llistar els "
+#~ "programes amb --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Error: no s'ha pogut connectar al gestor de sessions\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Clients registrats actualment:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "No s'ha pogut trobar el programa %s a la sessió\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "No s'ha pogut iniciar correctament el gestor de sessions del GNOME. "
+#~ "Informeu-ne com una errada del GNOME. Indiqueu aquest missatge d'error "
+#~ "ICE en l'informe d'errada: «%s». De moment podeu mirar d'entrar amb la "
+#~ "sessió a prova de fallades."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "El gestor de sessions del GNOME no ha pogut blocar el fitxer «%s». "
+#~ "Informeu-ne com una errada del GNOME. A vegades aquest error es produeix "
+#~ "si no es pot escriure al directori on és el fitxer. Podeu mirar d'entrar "
+#~ "mitjançant la sessió a prova de fallades i assegurar-vos-en."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "El gestor de sessions del GNOME no ha pogut llegir el fitxer: «%s». "
+#~ "Aquest fitxer ha d'existir i s'ha de poder llegir perquè el GNOME "
+#~ "funcioni correctament. Mireu d'entrar mitjançant la sessió a prova de "
+#~ "fallades i suprimir aquest fitxer."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "No s'ha pogut escriure al fitxer «%s». S'ha de poder escriure en aquest "
+#~ "fitxer perquè el GNOME funcioni correctament. Mireu d'entrar mitjançant "
+#~ "la sessió a prova de fallades, i també assegureu-vos que es pugui "
+#~ "escriure al directori."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Esteu segur que voleu sortir?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Reinicia l'ordinador"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Llegeix només les sessions desades del fitxer default.session"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients es registrin "
+#~ "(0=indefinidament)"
+
+#~ msgid "DELAY"
+#~ msgstr "RETARD"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients responguin "
+#~ "(0=indefinidament)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Temps d'espera, en mil·lisegons, perquè els clients morin "
+#~ "(0=indefinidament)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "Aquesta sessió s'executa com a usuari privilegiat"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "S'hauria d'evitar executar una sessió com a usuari privilegiat per raons "
+#~ "de seguretat. Si és possible, hauríeu d'entrar com a usuari normal."
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "Si no funciona correctament el rellotge del sistema podríeu tenir "
+#~ "problemes amb la sessió. Hauríeu d'ajustar-lo.\n"
+#~ "\n"
+#~ "La data actual és <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "No s'ha pogut llançar l'eina de configuració del temps: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "Sembla que el rellotge de l'ordinador està malament"
+
+#~ msgid "_Ignore"
+#~ msgstr "_Ignora"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Ajusta el rellotge"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "No s'ha pogut cercar l'adreça d'Internet de %s.\n"
+#~ "Això provocarà que el GNOME no funcioni correctament.\n"
+#~ "Segurament es podria corregir aquest problema afegint\n"
+#~ "%s al fitxer /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "Torna-ho a provar"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "S'ha abandonat l'espera a causa d'un conflicte."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Cap resposta a l'ordre %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "El programa podria ser lent, estar parat o trencat."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Podeu esperar que respongui o eliminar-lo."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "No s'ha reiniciat atès que s'han produït errades."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Hi ha un tancament de sessió en progrés."
+
+#~ msgid "- Save the current session"
+#~ msgstr "- Desa la sessió actual"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Voleu desar els canvis fets a la sessió actual abans de tancar?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "Si no els deseu, es descartaran tots els canvis."
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Tanca sense desar"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "S'ha desat la sessió."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "no s'ha pogut connectar al gestor de sessions\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "el gestor de sessions no permet l'ús d'extensions del GNOME\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Suprimeix el client seleccionat de la sessió."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Aplica els canvis a la sessió actual"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "La llista dels programes de la sessió."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Programes actualment en execució:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Gestor de finestres Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Gestor de finestres Metacity"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Paràmetres de l'escriptori"
+
+#~ msgid "New Startup Program"
+#~ msgstr "Programa d'inici nou"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Desa la configuració actual"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "_Desa automàticament els canvis a la sessió"
+
+#~ msgid "Save the current session"
+#~ msgstr "Desa la sessió actual"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "El nom de la sessió no pot estar buit"
+
+#~ msgid "Add a new session"
+#~ msgstr "Afegeix una nova sessió"
+
+#~ msgid "Edit session name"
+#~ msgstr "Edita el nom de la sessió"
+
+#~ msgid "Disable"
+#~ msgstr "Inhabilita"
+
+#~ msgid "_Edit"
+#~ msgstr "_Edita"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Alguns canvis no estan desats.\n"
+#~ "Voleu sortir igualment?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Mostra la pantalla de presentació en en_trar"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "Ordre d'_inici:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "S'ha produït un error d'activació desconegut."
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Inicialitza els paràmetres de la sessió"
+
+#~ msgid "Save Current Session"
+#~ msgstr "Desa la sessió actual"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Desa l'estat actual de l'escriptori"
+
+#~ msgid "Priority"
+#~ msgstr "Prioritat"
+
+#~ msgid "Audio Settings"
+#~ msgstr "Configuració del so"
+
+#~ msgid "Screensaver"
+#~ msgstr "Protector de pantalla"
+
+#~ msgid "Background Settings"
+#~ msgstr "Propietats del fons"
+
+#~ msgid "Mouse Settings"
+#~ msgstr "Propietats del ratolí"
+
+#~ msgid "Keyboard Settings"
+#~ msgstr "Propietats del teclat"
+
+#~ msgid "_Priority:"
+#~ msgstr "_Prioritat:"
+
+#~ msgid "Starting GNOME: %s"
+#~ msgstr "or something like that :)\n"
+
+#~ msgid "Starting GNOME: done"
+#~ msgstr "S'està iniciant el GNOME: fet"
+
+#~ msgid "Starting GNOME"
+#~ msgstr "S'està iniciant el GNOME"
+
+#~ msgid "Respawn"
+#~ msgstr "Tornar-lo a crear"
+
+#~ msgid "<i>These changes take effect immediately</i>"
+#~ msgstr "<i>Aquests canvis tenen efecte immediatament</i>"
+
+#~ msgid "Choose Current Session"
+#~ msgstr "Selecciona la sessió actual"
+
+#~ msgid "Add..."
+#~ msgstr "Afegeix..."
+
+#~ msgid "Delete"
+#~ msgstr "Suprimeix"
+
+#~ msgid "Non-session-managed Startup Programs"
+#~ msgstr "Programes d'inici no controlats per la sessió"
+
+#~ msgid ""
+#~ "Programs with smaller values are started before programs with higher "
+#~ "values. The default value should be OK"
+#~ msgstr ""
+#~ "Els programes amb valors més baixos s'executen abans que els programes "
+#~ "amb valors més alts. El valor per defecte hauria de valdre."
+
+#~ msgid "Session Properties & Startup Programs"
+#~ msgstr "Propietats de la sessió i programes d'inici"
+
+#~ msgid "Log In"
+#~ msgstr "Entra"
+
+#~ msgid "Start with default programs"
+#~ msgstr "Inicia amb els programes per defecte"
+
+#~ msgid "Reset all user settings"
+#~ msgstr "Reinicialitza tots els paràmetres d'usuari"
+
+#~ msgid "Really reset all GNOME user settings for %s?"
+#~ msgstr "Voleu reinicialitzar realment tots els paràmetres d'usuari per %s?"
+
+#~ msgid "No"
+#~ msgstr "No"
+
+#~ msgid ""
+#~ "The directory /tmp/orbit-%s is not owned\n"
+#~ "by the current user, %s.\n"
+#~ "Please correct the ownership of this directory."
+#~ msgstr ""
+#~ "El directori /tmp/orbit-%s no pertany\n"
+#~ "a l'usuari actual, %s.\n"
+#~ "Si us plau, corregiu la propietat d'aquest directori."
+
+#~ msgid "Really log out?"
+#~ msgstr "Realment voleu sortir?"
+
+#~ msgid ""
+#~ "Your version of libICE has a bug which causes gnome-session\n"
+#~ "to not function correctly.\n"
+#~ "\n"
+#~ "If you are on Solaris, you should either upgrade to Solaris patch\n"
+#~ "#108376-16 or use the libICE.so.6 from the original Solaris 7.\n"
+#~ "Copy the file into /usr/openwin/lib. (Thanks go to Andy Reitz\n"
+#~ "for information on this bug).\n"
+#~ "\n"
+#~ "Your GNOME session will terminate after closing this dialog."
+#~ msgstr ""
+#~ "La vostra versió de libICE té un error que fa que gnome-session\n"
+#~ "no funcione correctament.\n"
+#~ "\n"
+#~ "Si esteu en Solaris, haurieu de actualitzar al pedaç de Solaris\n"
+#~ "#108376-16 o utilitzar la libICE.so.6 del Solaris 7 original.\n"
+#~ "Copieu el fitxer en /usr/openwin/lib. (Gràcies a Andy Reitz per la\n"
+#~ "informació sobre aquest bug).\n"
+#~ "\n"
+#~ "La vostra sessió del GNOME terminarà després de tancar aquest diàleg."
+
+#~ msgid "Start Session"
+#~ msgstr "Inicia la sessió"
diff --git a/po/ckb.po b/po/ckb.po
new file mode 100644
index 0000000..dd368fe
--- /dev/null
+++ b/po/ckb.po
@@ -0,0 +1,331 @@
+# Kurdish Sorani translation for gnome-session.
+# Copyright (C) 2020 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# jwtiyar <jwtiyar@gmail.com>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session gnome-3-34\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2019-12-09 10:01+0000\n"
+"PO-Revision-Date: 2020-01-17 02:18+0300\n"
+"Language-Team: Kurdish Sorani <ckb@li.org>\n"
+"Language: ckb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Jwtiyar Nariman <jwtiyar@gmail.com>\n"
+"X-Generator: Poedit 2.2.4\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "ڕاسپێراو"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr ""
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "گنوم"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "به‌م دانیشتنه‌ ئه‌که‌ویته‌ ناو گنومه‌وه‌"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr ""
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "پاشەکەوتکردنی دانیشتن"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "پاشەکەوتکردنی ئەم دانیشتنە"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "دانیشتنی ڕاسپێراو"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "تکایە دانیشتنێکی ڕاسپێراو دیاریبکە بۆ دەسپێکردن"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "ـدانیشتنێکی نوێ"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "ـسڕینەوەی دانیشتن"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "ناوـنانی دانیشتن"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_به‌رده‌وامبوون"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "ئۆو نا! شتێک بەهەڵە ڕوویدا."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"کێشەیەک ڕوویدا لە سیستەم ناتوانرێت بگەڕینرێتەوە. تکایە پەیوەندی بە "
+"بەڕیوەبەری سیستمەوە بکە"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"کێشەیەک ڕوویدا لە سیستەم ناتوانرێت بگەڕینرێتەوە. هەموو پێوەکراەکان ناچالاک "
+"کران."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"کێشەیەک ڕوویدا لە سیستەم ناتوانرێت بگەڕینرێتەوە.\n"
+"تکایە بچۆدەرەوە و دووبارە هەوڵبدەرەوە"
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_ده‌رچوون"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:396
+msgid "Enable debugging code"
+msgstr ""
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "ڕێگە بەچوونەدەرەوە بدە"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "ئاگاداریەکانی پێوەکراوە پیشان بدە"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "وەڵام نادرێتەوە"
+
+#: gnome-session/gsm-util.c:414
+msgid "_Log out"
+msgstr "_ده‌رچوون"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "داوانامەی لەیادنەکراو"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "ئەم نەرمەواڵەی ڕێگە بە چوونەدەرەوە نادات."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#: gnome-session/main.c:390
+msgid "Running as systemd service"
+msgstr ""
+
+#: gnome-session/main.c:391
+msgid "Use systemd session management"
+msgstr ""
+
+#: gnome-session/main.c:393
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+
+#: gnome-session/main.c:394
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: gnome-session/main.c:394
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:395
+msgid "Session to use"
+msgstr "دانیشتن بۆ بەکارهێنان"
+
+#: gnome-session/main.c:395
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:397
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: gnome-session/main.c:398
+msgid "Version of this application"
+msgstr "وەشانی ئەم پڕۆگرامە"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:400
+msgid "Show the fail whale dialog for testing"
+msgstr ""
+
+#: gnome-session/main.c:401
+msgid "Disable hardware acceleration check"
+msgstr ""
+
+#: gnome-session/main.c:433
+msgid " — the GNOME session manager"
+msgstr " —بەڕێوەبردنی پیشاندانی گنۆم"
+
+#: tools/gnome-session-ctl.c:244
+msgid "Start gnome-session-shutdown.target"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:245
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:246
+msgid "Signal initialization done to gnome-session"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:247
+msgid "Restart dbus.service if it is running"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:275
+msgid "Program needs exactly one parameter"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "نەتوانرا %s جێبەجێبکرێت \n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "_ده‌رچوون"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "کوژاندنەوە"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "پێکردنەوە"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr ""
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr ""
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "نەتوانرا پەیوەندی بگرێت لەگەڵ بەڕێوەبردنی گنۆم"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr ""
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "دانیشتنی %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr ""
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr ""
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "دانیشتنێک بە ناوی “%s” پێشتر بەکارهێنراوە"
diff --git a/po/crh.po b/po/crh.po
new file mode 100644
index 0000000..4ac2d79
--- /dev/null
+++ b/po/crh.po
@@ -0,0 +1,921 @@
+# Qırımtatarca translation of gnome-session.
+# This file is distributed under the same license as the gnome-session package.
+# Reşat SABIQ <tilde.birlik@gmail.com>, 2009, 2010, 2011, 2012, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-03-27 23:52-0500\n"
+"PO-Revision-Date: 2013-03-30 12:06-0500\n"
+"Last-Translator: Reşat SABIQ <tilde.birlik@gmail.com>\n"
+"Language-Team: QIRIMTATARCA (Qırım Türkçesi) <tilde-birlik-meydan@lists."
+"sourceforge.net>\n"
+"Language: crh\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: UTF-8\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Emir Sayla"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "Başlanğıç Programı Ekle"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "Başlanğıç Programı Tahrir Et"
+
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr "Başlanğıç emri boş olalmaz"
+
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr "Başlanğıç emri keçerli degil"
+
+#: ../capplet/gsm-properties-dialog.c:517
+msgid "Enabled"
+msgstr "Qabilleştirilgen"
+
+#: ../capplet/gsm-properties-dialog.c:529
+msgid "Icon"
+msgstr "İşaretçik"
+
+#: ../capplet/gsm-properties-dialog.c:541
+msgid "Program"
+msgstr "Program"
+
+#: ../capplet/gsm-properties-dialog.c:745
+msgid "Startup Applications Preferences"
+msgstr "Başlanğıç Uyğulamaları Tercihleri"
+
+#: ../capplet/gsp-app.c:274
+msgid "No name"
+msgstr "İsim yoq"
+
+#: ../capplet/gsp-app.c:280
+msgid "No description"
+msgstr "Tasvirsiz"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:284
+msgid "Version of this application"
+msgstr "Bu uyğulamanıñ sürümi"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "Yardım vesiqası kösterilamadı"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+# tüklü
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Bu oturım sizni GNOME'ğa içeri imzalandırır"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Özel"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "Bu kirildi sizge saqlanğan bir oturımnı saylamağa imkân berir"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME qorçağı"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Özel Oturım"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:103
+msgid "Please select a custom session to run"
+msgstr "Lütfen çalıştırmaq üzre şahsiyleştirilgen bir oturımnı saylañız"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_Yañı Oturım"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "Oturımnı _Çetleştir"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "Oturımnı Kene _adlandır"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Devam Et"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1 ../gnome-session/gsm-inhibit-dialog.c:514
+msgid "Some programs are still running:"
+msgstr "Bazı programlar ale çapmaqta:"
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Startup Applications"
+msgstr "Başlanğıç Uyğulamaları"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Choose what applications to start when you log in"
+msgstr "İçeri imzalanğan soñ başlatılacaq uyğulamalarnı saylañız"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Ek başlanğıç _programları:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "Başlanğıç Uyğulamaları"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "Tışarı imzalanğanda çapmaqta olğan uyğulamalarnı _öz-özünden hatırla"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "Hal-hazırda Çapmaqta Olğan Uyğulamalarnı _Hatırla"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "İhtiyariyat"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "Kezin…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "_Şerh:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "_Emir:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_İsim:"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Dosye keçerli bir .desktop dosyesi degil"
+
+#. translators: 'Version' is from a desktop file, and
+#. * should not be translated. '%s' would probably be a
+#. * version number.
+#: ../egg/eggdesktopfile.c:191
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Tanılmağan masaüstü dosyesi Sürümi '%s'"
+
+#: ../egg/eggdesktopfile.c:974
+#, c-format
+msgid "Starting %s"
+msgstr "%s Başlatıla"
+
+#: ../egg/eggdesktopfile.c:1116
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "Uyğulama emir satrında vesiqalarnı qabul etmey"
+
+# tüklü
+#: ../egg/eggdesktopfile.c:1184
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Tanılmağan fırlatma ihtiyariyatı: %d"
+
+#. translators: The 'Type=Link' string is found in a
+#. * desktop file, and should not be translated.
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "Bir 'Tür=İlişim' masaüstü kirildisine vesiqa URI'leri keçirilalmaz"
+
+#: ../egg/eggdesktopfile.c:1412
+#, c-format
+msgid "Not a launchable item"
+msgstr "Fırlatılabilir bir unsur degil"
+
+#: ../egg/eggsmclient.c:226
+msgid "Disable connection to session manager"
+msgstr "Oturım idarecisine bağlantını ğayrı qabilleştir"
+
+#: ../egg/eggsmclient.c:229
+msgid "Specify file containing saved configuration"
+msgstr "Saqlanğan ayarlamanı ihtiva etken dosyeni belirtiñiz"
+
+#: ../egg/eggsmclient.c:229
+msgid "FILE"
+msgstr "DOSYE"
+
+#: ../egg/eggsmclient.c:232
+msgid "Specify session management ID"
+msgstr "Oturım idaresi kimligini belirtiñiz"
+
+#: ../egg/eggsmclient.c:232
+msgid "ID"
+msgstr "Kimlik"
+
+#: ../egg/eggsmclient.c:253
+msgid "Session management options:"
+msgstr "Oturım idaresi ihtiyariyatı:"
+
+#: ../egg/eggsmclient.c:254
+msgid "Show session management options"
+msgstr "Oturım idaresi ihtiyariyatını köster"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:286
+msgid "Oh no! Something has gone wrong."
+msgstr "Aman! Bir şey yañlış ketkendir."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:293
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Bir mesele hasıl oldı ve sistem toparlanalmay. Lütfen bir sistem memurı ile "
+"temasqa keçiñiz"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:295
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Bir mesele hasıl oldı ve sistem toparlanalmay. İhtiyat olaraq eklentilerniñ "
+"hepsi ğayrıfaalleştirilgendir."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:297
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Bir mesele hasıl oldı ve sistem toparlanalmay.Lütfen tışarı imzalanıp tekrar "
+"deñeñiz."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:312
+#: ../gnome-session/gsm-logout-dialog.c:384
+msgid "_Log Out"
+msgstr "_Tışarı İmzalan"
+
+# tüklü
+#: ../gnome-session/gsm-fail-whale-dialog.c:334 ../gnome-session/main.c:282
+msgid "Enable debugging code"
+msgstr "Arızasızlandıruv kodunı qabilleştir"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:335
+msgid "Allow logout"
+msgstr "Tışarı imzalanmağa izin ber"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:336
+msgid "Show extension warning"
+msgstr "Uzantı tenbihini köster"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:462
+msgid "Unknown"
+msgstr "Bilinmey"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:510
+msgid "A program is still running:"
+msgstr "Bir program ale çapmaqta:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:511
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you to "
+"lose work."
+msgstr ""
+"Programnıñ tamamlanuvı içün beklene. Bu programnı inqıtağa oğratuv emekni "
+"ğayıp etüviñizge sebep olabilir."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:515
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you to "
+"lose work."
+msgstr ""
+"Programlarnıñ tamamlanuvı içün beklene. Bu programlarnıñ inqıtağa oğratıluvı "
+"işleriñizni ğayıp etüviñizge sebep olabilir."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:745
+msgid "Switch User Anyway"
+msgstr "Kene de Qullanıcını Deñiştir"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:748
+msgid "Log Out Anyway"
+msgstr "Kene de Tışarı İmzalan"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:751
+msgid "Suspend Anyway"
+msgstr "Kene de Sarqıt"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:754
+msgid "Hibernate Anyway"
+msgstr "Kene de Yuqlat"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:757
+msgid "Shut Down Anyway"
+msgstr "Kene de Qapat"
+
+# tüklü
+#: ../gnome-session/gsm-inhibit-dialog.c:760
+msgid "Restart Anyway"
+msgstr "Kene de Yañıdan Başlat"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:768
+msgid "Lock Screen"
+msgstr "Ekrannı Kilitle"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:771
+msgid "Cancel"
+msgstr "Vazgeç"
+
+# tüklü
+#. This string is shared with gsm-fail-whale-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:263
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "%d saniyeden soñ avtomatik olaraq tışarı imzalandırılacaqsıñız. "
+
+#: ../gnome-session/gsm-logout-dialog.c:271
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "Bu sistem %d saniyeden soñ avtomatik olaraq qapatılacaq."
+
+#: ../gnome-session/gsm-logout-dialog.c:279
+#, c-format
+msgid "This system will be automatically restarted in %d second."
+msgid_plural "This system will be automatically restarted in %d seconds."
+msgstr[0] "Bu sistem %d saniyeden soñ avtomatik olaraq kene başlatılacaq."
+
+#: ../gnome-session/gsm-logout-dialog.c:303
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Hal-hazırda \"%s\" olaraq içeri imzalanğansıñız."
+
+#: ../gnome-session/gsm-logout-dialog.c:369
+msgid "Log out of this system now?"
+msgstr "Bu sistemden şimdi çıqılsınmı?"
+
+#: ../gnome-session/gsm-logout-dialog.c:375
+msgid "_Switch User"
+msgstr "_Qullanıcı Almaştır"
+
+#: ../gnome-session/gsm-logout-dialog.c:390
+msgid "Shut down this system now?"
+msgstr "Bu sistem şimdi qapatılsınmı?"
+
+#: ../gnome-session/gsm-logout-dialog.c:396
+msgid "S_uspend"
+msgstr "_Sarqıt"
+
+#: ../gnome-session/gsm-logout-dialog.c:402
+msgid "_Hibernate"
+msgstr "_Yuqlat"
+
+#: ../gnome-session/gsm-logout-dialog.c:408
+#: ../gnome-session/gsm-logout-dialog.c:434
+msgid "_Restart"
+msgstr "_Kene Başlat"
+
+#: ../gnome-session/gsm-logout-dialog.c:418
+msgid "_Shut Down"
+msgstr "_Söndür"
+
+#: ../gnome-session/gsm-logout-dialog.c:424
+msgid "Restart this system now?"
+msgstr "Bu sistem şimdi kene başlatılsınmı?"
+
+#: ../gnome-session/gsm-manager.c:1429 ../gnome-session/gsm-manager.c:2178
+msgid "Not responding"
+msgstr "Cevap bermey"
+
+#: ../gnome-session/gsm-util.c:411
+msgid "_Log out"
+msgstr "_Tışarı imzalan"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:558
+msgid "Remembered Application"
+msgstr "Hatırlanğan Uyğulama"
+
+#: ../gnome-session/gsm-xsmp-client.c:1196
+msgid "This program is blocking logout."
+msgstr "Bu program tışarı imzalanuvnı bloklay."
+
+#: ../gnome-session/gsm-xsmp-server.c:341
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Oturım şu ande qapatılmaqta olğandan dolayı yañı müşteri bağlantısı red "
+"etile\n"
+
+# tüklü
+#: ../gnome-session/gsm-xsmp-server.c:610
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE diñlev oyuğı (soketi) icat etilamadı: %s"
+
+# tüklü
+#: ../gnome-session/main.c:280
+msgid "Override standard autostart directories"
+msgstr "Standart avto-başlanğıç fihristleriniñ üstünden ayda"
+
+#: ../gnome-session/main.c:280
+msgid "AUTOSTART_DIR"
+msgstr "AVTOBAŞLATMA_FİHRİSTİ"
+
+#: ../gnome-session/main.c:281
+msgid "Session to use"
+msgstr "Qullanılacaq oturım"
+
+#: ../gnome-session/main.c:281
+msgid "SESSION_NAME"
+msgstr "OTURIM_ADI"
+
+#: ../gnome-session/main.c:283
+msgid "Do not load user-specified applications"
+msgstr "Qullanıcı tarafından belirtilgen programlarnı yükleme"
+
+# tüklü
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:286
+msgid "Show the fail whale dialog for testing"
+msgstr "Sınama içün ciddiy hata dialoğını köster"
+
+#: ../gnome-session/main.c:320
+msgid " - the GNOME session manager"
+msgstr " - GNOME oturım idarecisi"
+
+#: ../tools/gnome-session-inhibit.c:110
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [SEÇENEK...] EMİR\n"
+"\n"
+"EMİR, bazı oturım işleyişine mania etilerek ifa etilsin.\n"
+"\n"
+" -h, --help Bu yardımnı köster\n"
+" --version Program sürümini köster\n"
+" --app-id KİMLİK Mania etkende qullanılacaq\n"
+" uyğulama kimligi (ihtiyariy)\n"
+" --reason SEBEP Mania etmeniñ sebebi (ihtiyariy)\n"
+" --inhibit ARG Mania etilecek şeyler, eki-noqta-ayırğıçlı listesi:\n"
+" logout (tışarı imzalan), switch-user (qullanıcı-"
+"almaştır), suspend (sarqıt), idle (atıl), automount (avtotaq)\n"
+" --inhibit-only EMİR'ni fırlatma ve onıñ yerine ilelebet bekle\n"
+"\n"
+"Hiç bir --inhibit seçenegi belirtilmegen ise, idle (atıl) üstlenilir.\n"
+
+#: ../tools/gnome-session-inhibit.c:148
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s ifa etilamadı\n"
+
+#: ../tools/gnome-session-inhibit.c:208 ../tools/gnome-session-inhibit.c:218
+#: ../tools/gnome-session-inhibit.c:228
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s içün bir argument şarttır\n"
+
+#: ../tools/gnome-session-selector.c:62
+#, c-format
+msgid "Session %d"
+msgstr "Oturım %d"
+
+#: ../tools/gnome-session-selector.c:108
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"Oturım isimleriniñ ‘.’ ile başlaması yaki ‘/’ remizlerini ihtiva etmesi caiz "
+"degildir"
+
+#: ../tools/gnome-session-selector.c:112
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "Oturım isimleriniñ ‘.’ ile başlaması caiz degildir"
+
+#: ../tools/gnome-session-selector.c:116
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "Oturım isimleriniñ ‘/’ remizlerini ihtiva etmesi caiz degildir"
+
+#: ../tools/gnome-session-selector.c:124
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "Bir '%s' isimli oturım endi mevcuttır"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Log out"
+msgstr "Tışarı imzalan"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Power off"
+msgstr "Söndür"
+
+# tüklü
+#: ../tools/gnome-session-quit.c:55
+msgid "Reboot"
+msgstr "Kene başlat"
+
+#: ../tools/gnome-session-quit.c:56
+msgid "Ignoring any existing inhibitors"
+msgstr "Mevcut her türlü sedlerni ihmal eterek"
+
+#: ../tools/gnome-session-quit.c:57
+msgid "Don't prompt for user confirmation"
+msgstr "Qullanıcı teyiti içün indeme"
+
+#: ../tools/gnome-session-quit.c:91 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "Oturım idarecisine bağlanılamadı"
+
+#: ../tools/gnome-session-quit.c:203
+msgid "Program called with conflicting options"
+msgstr "Program çatışqan ihtiyariyat ile çağırıldı"
+
+#~ msgid "GNOME fallback"
+#~ msgstr "GNOME ricatı"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Bazı programlar ale çapmaqta:</b>"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' işaretçigi tapılamadı"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "%d kodu ile terk etti"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Signal %d tarafından öldürildi"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Signal %d tarafından toqtatıldı"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 Yüklenmekte Muvaffaqiyetsiz Edi"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Teessüf ki GNOME 3 uyğun olaraq başlayamadı ve <i>ricat tarzında</i> "
+#~ "başladı.\n"
+#~ "\n"
+#~ "Bu eñ muhtemelen sistemiñiz (grafikler donanımı yaki sürücisi) tolu GNOME "
+#~ "3 tecribesini sunmaq içün qabiliyetli degil demektir."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "GNOME 3 haqqında daha çoq ögren"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "İçeri imzalanuv oturımı başlatılalmay (ve X sunucısına bağlanılalmay)"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Bir mesele hasıl oldı ve sistem toparlanalmay. Aşağıdaki eklentilerniñ "
+#~ "bazıları belki de buña sebep olğandır.\n"
+#~ "Lütfen bularnıñ bazılarını ğayrıqabilleştirmege deñeñiz, soñra tışarı "
+#~ "imzalanıp tekrar deñeñiz."
+
+#~ msgid "File Manager"
+#~ msgstr "Dosye İdarecisi"
+
+# tüklü
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr ""
+#~ "Eger qabilleştirilgen ise, gnome-session bir oturımnı qapatmazdan evel "
+#~ "qullanıcığa inder."
+
+# tüklü
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr ""
+#~ "Eger qabilleştirilgen ise, gnome-session oturımnı öz-özünden saqlar."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Ög-belgilengen oturımnıñ parçası olğan uyğulamalarnıñ cedveli."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Oturımnıñ parçası olaraq şart olğan komponentlerniñ cedveli. (Her unsur "
+#~ "\"/desktop/gnome/session/required_components\" altındaki bir anahtarnı "
+#~ "isimlendirir.) Başlanğıç Uyğulamaları tercihleri aleti normal olaraq "
+#~ "qullanıcılarnıñ oturımdan şart olğan bir komponentni çetleştirüvine izin "
+#~ "bermez ve şart olğan komponentler çetleştirilgen olsa da oturım idarecisi "
+#~ "içeri imzalanuv vaqtında olarnı öz-özünden oturımğa keri ekler."
+
+# tüklü
+#~ msgid "Logout prompt"
+#~ msgstr "Tışarı imzalanuv daveti"
+
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Required session components"
+#~ msgstr "Talap etilgen oturım komponentleri"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Dosye idarecisi, masaüstü işaretçiklerini ve saqlanğan dosyeleriñiz ile "
+#~ "tesirleşim imkânını temin eter."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "Oturım aylaq mulâhaza etilmeden evel faaliyetsiz daqqa sayısı."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Panel, ekrannıñ üstünde ya da tübünde menüler, pencere cedveli, durum "
+#~ "işaretçikleri, saat vs. ihtiva etken çubuq temin eter."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Pencere idarecisi, pencerelerniñ serlevhalarını ve etrafındaki sıñırlarnı "
+#~ "sızğan ve pencerelerni avuştırmağa ve kene ölçülendirmege imkân temin "
+#~ "etken programdır."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Oturım aylaq mulâhaza etilmeden evelki vaqıt."
+
+#~ msgid "Window Manager"
+#~ msgstr "Pencere İdarecisi"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Ayarlama sunucısı ile bir mesele bar.\n"
+#~ "(%s, %d durumı ile çıqtı)"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "Ögbelgilengen oturımnı baqıp almaq içün qullanılğan GConf anahtarı"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Qapatuv dialogını köster"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Hatalar içün dialog qutularını qullan"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Ağımdaki oturım ismini tesbit et"
+
+#~ msgid "NAME"
+#~ msgstr "İSİM"
+
+#~ msgid "Kill session"
+#~ msgstr "Oturımnı öldür"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME Tesbitleri Cın Yardımcısı"
+
+# tüklü
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Eger qabilleştirilgen ise, gnome-session oturımnı öz-özünden saqlar. Aksi "
+#~ "taqdirde, tışarı imzalanuv dialogında oturımnı saqlav ihtiyariyatı "
+#~ "bulunır."
+
+# tüklü
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr ""
+#~ "İçeri imzalanuv saçrama ekranı içün qullanılacaq tercih etilgen suret"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Saçrama ekranını köster"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Oturım başlağanda saçrama ekranını köster"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Bu $datadir/pixmaps/ fihristine esaslı nisbiy bir yolçıqtır. Alt-"
+#~ "fihristler ve suret isimleri keçerli degerlerdir. Bu qıymetniñ "
+#~ "deñiştirilüvi soñraki oturımğa tesir etecek."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Programnıñ tamamlanuvı içün beklene. Programnıñ kestirilüvi yapqan "
+#~ "olğanıñız işlerni coyuvıñızğa sebep ola bilir."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME Saçrama Ekranı"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME Saçrama Ekranı"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "Başlanğıç programınıñ ismi boş olamaz"
+
+# tüklü
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Bu oturım içün yardımçan tehnologiya destegi istendi, ancaq "
+#~ "irişilebilirlik sicili tapılamadı. Lütfen AT-SPİ paketiniñ qurulğan "
+#~ "olğanından emin oluñız. Oturımıñız yardımçan tehnologiya destegi olmadan "
+#~ "başlatıldı."
+
+# tüklü
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPİ Sicili Sarıcısı"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Oturım Tercihleri"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "Oturımıñız saqlanğandır."
+
+# tüklü
+#~ msgid "Could not connect to the session bus"
+#~ msgstr "Oturım veriyoluna bağlanılamadı"
+
+# tüklü
+#~ msgid "Failsafe GNOME"
+#~ msgstr "Qusur-öñler GNOME"
+
+# tüklü
+#~ msgid "This session logs you into GNOME without user applications"
+#~ msgstr ""
+#~ "Bu oturım sizni qullanıcı uyğulamaları olmağan GNOME'ğa içeri imzalandırır"
+
+#~ msgid "Log Out of the Session"
+#~ msgstr "Oturımdan Tışarı İmzalan"
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "Oturımıñıznı soñlandırır ve sizni tışarı imzalandırır."
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "Oturımıñıznı sarqıtıp, başqa bir qullanıcığa içeri imzalanıp bilgisayarnı "
+#~ "qullanmağa imkân berir."
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "Bilgisayarnı Qapat"
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "Oturımıñıznı soñlandırır ve bilgisayarnı söndürir."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "Oturımıñıznı soñlandırır ve bilgisayarnı yañıdan başlatır."
+
+# tüklü
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "Oturımıñıznı çabik sarqıtır ve bilgisayar yanda bekletilgende asğariy "
+#~ "quvet qullanır."
+
+#~ msgid "Hiber_nate"
+#~ msgstr "_Yuqlat"
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "Oturımıñıznı sarqıtıp, bilgisayar kene başlatılğance elektrik iç "
+#~ "qullanmaz."
+
+#~ msgid "Cannot find help."
+#~ msgstr "Yardım tapılalmay."
+
+#, fuzzy
+#~ msgid "Session Management Options"
+#~ msgstr "Oturım idaresi ihtiyariyatı:"
+
+#, fuzzy
+#~ msgid "Show Session Management options"
+#~ msgstr "Oturım idaresi ihtiyariyatını köster"
+
+# tüklü
+#~ msgid "This session logs you into Ubuntu"
+#~ msgstr "Bu oturım sizni Ubuntu'ğa içeri imzalandırır"
+
+#~ msgid "Ubuntu"
+#~ msgstr "Ubuntu"
+
+# tüklü
+#~ msgid ""
+#~ "This session logs you into GNOME with the traditional panel without any "
+#~ "graphical effect."
+#~ msgstr ""
+#~ "Bu oturım sizni her hangi grafikiy effekti olmağan ananeviy panelli "
+#~ "GNOME'ğa içeri imzalandırır."
+
+#~ msgid "Ubuntu Classic (No effects)"
+#~ msgstr "Ubuntu Klassik (Effektler yoq)"
+
+# tüklü
+#~ msgid "This session logs you into GNOME with the traditional panel"
+#~ msgstr "Bu oturım sizni ananeviy panelli GNOME'ğa içeri imzalandırır"
+
+#~ msgid "Ubuntu Classic"
+#~ msgstr "Ubuntu Klassik"
+
+# tüklü
+#~ msgid "Ubuntu (Safe Mode)"
+#~ msgstr "Ubuntu (Emin Tarz)"
+
+# tüklü
+#~ msgid "Force Fallback Message to show"
+#~ msgstr "Ricat Mesajını körünmege cebret"
+
+#~ msgid ""
+#~ "If enabled, the fallback message of the session (if present), will be "
+#~ "displayed each time the session fallbacks."
+#~ msgstr ""
+#~ "Eger qabilleştirilgen ise, oturımnıñ ricat mesajı (mevcut ise), oturım "
+#~ "ricat etken sayın kösterilecek."
+
+# tüklü
+#~ msgid ""
+#~ "It seems that you do not have the hardware required to run Unity. Please "
+#~ "choose Ubuntu Classic at the login screen and you will be using the "
+#~ "traditional environment."
+#~ msgstr ""
+#~ "Unity'ni çaptırmaq içün zarur olğan donanımıñız yoq ğaliba. Lütfen oturım "
+#~ "açuv ekranında Ubuntu Klassik saylañız ve ananeviy çevreni qullana "
+#~ "olacaqsıñız."
+
+#~ msgid "Unable to connect to the X server"
+#~ msgstr "X sunucısına bağlanılalmay"
+
+#~ msgid "Ubuntu Desktop Edition"
+#~ msgstr "Ubuntu Masaüstü Tahriri"
+
+#~ msgid "Override name of the saved session"
+#~ msgstr "Saqlanğan oturım adını üst-ayda"
+
+#, fuzzy
+#~ msgid "Browse..."
+#~ msgstr "Kezin…"
+
+#, fuzzy
+#~ msgid "Logout Anyway"
+#~ msgstr "Kene de Tışarı İmzalan"
+
+#, fuzzy
+#~ msgid "Shutdown Anyway"
+#~ msgstr "Kene de Qapat"
+
+#, fuzzy
+#~ msgid "This program is blocking log out."
+#~ msgstr "Bu program tışarı imzalanuvnı bloklay."
+
+#, fuzzy
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "Ögbelgilengen oturımnı baqıp almaq içün qullanılğan GConf anahtarı"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..8e14234
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,380 @@
+# Translation of gnome-session to Czech.
+# Copyright (C) 1999, 2003, 2007, 2008, 2009, 2010, 2011 the author(s) of gnome-session.
+# Copyright (C) 2004, 2005, 2006 Miloslav Trmac <mitr@volny.cz>.
+# This file is distributed under the same license as the gnome-session package.
+#
+# GIS <gis@academy.cas.cz>, 1999.
+# David Šauer <davids@penguin.cz>, 1999.
+# George Lebl <jirka@5z.com>, 2000, 2001.
+# Stanislav Brabec <utx@penguin.cz>, 2000, 2001.
+# Michal Bukovjan <bukm@centrum.cz>, 2002, 2003.
+# Miloslav Trmac <mitr@volny.cz>, 2004, 2005, 2006.
+# Petr Tomeš <ptomes@gmail.com>, 2006.
+# Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010, 2011, 2012, 2013.
+# Marek Černocký <marek@manet.cz>, 2012, 2013, 2015, 2018, 2020, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-15 13:19+0200\n"
+"Last-Translator: Marek Černocký <marek@manet.cz>\n"
+"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
+"Language: cs\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"
+"X-Generator: Poedit 2.2.3\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Vlastní"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Tato položka umožňuje vybrat uložené sezení"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Toto sezení vás přihlásí do GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME na Waylandu"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME na Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Ukládat sezení"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Když je zapnuto, bude gnome-session automaticky ukládat sezení."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Uložit toto sezení"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Když je zapnuto, gnome-session při odhlášení automaticky uloží příští "
+"sezení, i když je vypnuté automatické ukládání."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Dotaz na odhlášení"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Když je zapnuto, gnome-session se bude před ukončením sezení dotazovat "
+"uživatele."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Zobrazit varování při záložním sezení"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Když je zapnuto, gnome-session zobrazí po přihlášení varovné dialogové okno "
+"v situaci, kdy se automaticky použije záložní sezení."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Vlastní sezení"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Vyberte prosím vlastní sezení, které chcete spustit"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nové sezení"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Odst_ranit sezení"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Přej_menovat sezení"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Pokračovat"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Jejda! Něco se pokazilo."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Došlo ke komplikacím a systém se nepodařilo obnovit. Kontaktujte prosím "
+"správce systému"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Došlo ke komplikacím a systém se nepodařilo obnovit. Všechna rozšíření byla "
+"preventivně zakázána."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Došlo ke komplikacím a systém se nepodařilo obnovit.\n"
+"Odhlaste se prosím a zkuste to znovu."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Odhlásit se"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Zapnout ladicí kód"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Umožnit odhlášení"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Zobrazit varování rozšíření"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Neodpovídá"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "Odh_lásit se"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamatovaná aplikace"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Tento program brání odhlášení."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Odmítnutí spojení nového klienta, jelikož právě probíhá vypnutí sezení\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nelze vytvořit socket naslouchání ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Běží jako služba systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Používat správu sezení systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Používat vestavěnou správu sezení (místo té založené na systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Přepsat standardní adresáře automatického spuštění"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "ADR_AUTOSPUŠTĚNÍ"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sezení, které se má použít"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NÁZEV_SEZENÍ"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Nenahrávat uživatelem zadané aplikace"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Verze této aplikace"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Zobrazit dialogové okno černé barvy pro testování"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Zakázat kontrolu hardwarové akcelerace"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " – správce sezení GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Spustit gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Spustit gnome-session-shutdown.target při zachycení signálu EOF nebo jednoho "
+"bajtu na standardním vstupu"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Dokončena signálová inicializace vůči gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Restartovat dbus.service, pokud běží"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Běžet od ExecStopPost do spuštění gnome-session-failed.target při selhání "
+"služby"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program potřebuje právě jeden parametr"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [VOLBA…] PŘÍKAZ\n"
+"\n"
+"Spustí PŘÍKAZ a zablokuje určitou vlastnost sezení.\n"
+"\n"
+" -h, --help Zobrazit tuto nápovědu\n"
+" --version Zobrazit verzi programu\n"
+" --app-id ID ID aplikace, které se má použít při zablokování\n"
+" (volitelné)\n"
+" --reason DŮVOD Důvod zablokování (volitelné)\n"
+" --inhibit ARG Vlastnosti k zablokování, seznam z následujících "
+"možností\n"
+" oddělených dvojtečkou:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Nespustit PŘÍKAZ a namísto toho čekat donekonečna\n"
+" -l, --list Vypsat současná blokování a skončit\n"
+"\n"
+"Pokud není zadána volba --inhibit, použije se idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Nepodařilo se spustit %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s vyžaduje argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Odhlásit se"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Vypnout"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Restartovat"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorovat jakékoliv existující inhibitory"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Nevyžadovat potvrzení od uživatele"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nelze se spojit se správcem sezení"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program volán s kolidujícími volbami"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sezení %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Názvy sezení nemohou začínat znakem „.“ nebo obsahovat znak „/“"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Názvy sezení nemohou začínat znakem „.“"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Názvy sezení nemohou obsahovat znak „/“"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Sezení s názvem „%s“ již existuje"
diff --git a/po/csb.po b/po/csb.po
new file mode 100644
index 0000000..506ed96
--- /dev/null
+++ b/po/csb.po
@@ -0,0 +1,478 @@
+# Kashubian translation for gnome-session
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the gnome-session package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-04-16 19:17+0200\n"
+"PO-Revision-Date: 2011-11-01 19:36+0000\n"
+"Last-Translator: Yurek Hinz <yurekh@yahoo.com>\n"
+"Language-Team: Kashubian <csb@li.org>\n"
+"Language: csb\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"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Wëbierzë pòlét"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "Nowi program sztartowi"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "Editëjë program sztartowi"
+
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr "Sztartowi pòlét nie mòże bëc pùsti"
+
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr "Sztartowi pòlét je lëchi"
+
+#: ../capplet/gsm-properties-dialog.c:518
+msgid "Enabled"
+msgstr "Włączoné"
+
+#: ../capplet/gsm-properties-dialog.c:530
+msgid "Icon"
+msgstr "Jikòna"
+
+#: ../capplet/gsm-properties-dialog.c:542
+msgid "Program"
+msgstr "Program"
+
+#: ../capplet/gsm-properties-dialog.c:746
+msgid "Startup Applications Preferences"
+msgstr "Preferencje sztartowëch aplikacji"
+
+#: ../capplet/gsp-app.c:274
+msgid "No name"
+msgstr "Felëje miona"
+
+#: ../capplet/gsp-app.c:280
+msgid "No description"
+msgstr "Felëje òpisënka"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Wersëjô ti aplikacji"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "Ni mòże wëskrzënic dokùmentu pòmòcë"
+
+#: ../data/gnome-fallback.session.desktop.in.in.h:1
+#, fuzzy
+msgid "GNOME fallback"
+msgstr "GNOME fallback (awariowi trib)"
+
+#: ../data/gnome.session.desktop.in.in.h:1 ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+#, fuzzy
+msgid "This session logs you into GNOME"
+msgstr "Na sesjô wlogùje Ce do Ubuntu"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Niejedné programë dali robią:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:640
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you "
+"to lose work."
+msgstr ""
+"Żdanié na zakùńczenié dzejania programù. Òprzestanié mòże sprawic że "
+"ùtracysz swòją robòtã."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Startup Applications"
+msgstr "Sztartowé programë"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Choose what applications to start when you log in"
+msgstr "Wëbiérk apliakcjów zrëszónyëh przë logòwaniu"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Dodówne zrëszëniowi programë:"
+
+#: ../data/session-properties.ui.h:2
+#, fuzzy
+msgid "Startup Programs"
+msgstr "Nowi program sztartowi"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "_Automatné spamiãtëwónié zrëszonëch aplikacjów przë wëlogòwaniu"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Application"
+msgstr "_Spamiãtôj zrëszone programë"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr ""
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "Przezérôj..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "_Dopòwiesc:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "_Pólét:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_Miono:"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Lopk nie je pòprôwnym lopkã .desktop"
+
+#. translators: 'Version' is from a desktop file, and
+#. * should not be translated. '%s' would probably be a
+#. * version number.
+#: ../egg/eggdesktopfile.c:191
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Nierozpòznónô wersja lokpa pùltu '%s'"
+
+#: ../egg/eggdesktopfile.c:974
+#, c-format
+msgid "Starting %s"
+msgstr "Zrësziwô %s"
+
+#: ../egg/eggdesktopfile.c:1116
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "Aplikacjô nie przëjmówô dokùmentów z pólétu"
+
+#: ../egg/eggdesktopfile.c:1184
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Nieropòznônô aptacjô zreszeniô: %d"
+
+#. translators: The 'Type=Link' string is found in a
+#. * desktop file, and should not be translated.
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "Ni mòże sélac zamłoscë dokùmentu URIs do skrótu 'Type=Link'"
+
+#: ../egg/eggdesktopfile.c:1412
+#, c-format
+msgid "Not a launchable item"
+msgstr "Element nie je do zrëszeniô"
+
+#: ../egg/eggsmclient.c:226
+msgid "Disable connection to session manager"
+msgstr "Wëłączë sparłãczenié z menadżerã sesji"
+
+#: ../egg/eggsmclient.c:229
+msgid "Specify file containing saved configuration"
+msgstr "Wëbierzë lopk z zapisóną kònfigùracjã"
+
+#: ../egg/eggsmclient.c:229
+msgid "FILE"
+msgstr "LOPK"
+
+#: ../egg/eggsmclient.c:232
+msgid "Specify session management ID"
+msgstr "Wëbierzë jidentifikatór sesji"
+
+#: ../egg/eggsmclient.c:232
+msgid "ID"
+msgstr "Jidentifikatór"
+
+#: ../egg/eggsmclient.c:253
+msgid "Session management options:"
+msgstr "Òptacje sprôwianiô sesjama:"
+
+#: ../egg/eggsmclient.c:254
+msgid "Show session management options"
+msgstr "Wëskrzeni optacje sprôwianiô sesjama"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:253
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Ni mógł nalezc jikòny '%s'"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:588
+msgid "Unknown"
+msgstr "Nieznóny"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:639
+msgid "A program is still running:"
+msgstr "Program jesz chòdzy:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:643
+msgid "Some programs are still running:"
+msgstr "Niechtërné programë jesz chòdzą"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:644
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Żdanié na zakùńczenié dzejania programów. Òprzestanié dzejania programów "
+"mòże sprawic ùtratã niezapisóny robòtë."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Switch User Anyway"
+msgstr "Ë tak przëłączë brëkòwnika"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Log Out Anyway"
+msgstr "Ë tak wëlogùjë"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Suspend Anyway"
+msgstr "Ë tak zawieszë"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:883
+msgid "Hibernate Anyway"
+msgstr "Ë tak hibernëjë"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:886
+msgid "Shut Down Anyway"
+msgstr "Ë tak wëłączë"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:889
+msgid "Restart Anyway"
+msgstr "Ë tak zrëszi znowa"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:897
+msgid "Lock Screen"
+msgstr "Zablokùjë ekran"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:900
+msgid "Cancel"
+msgstr "Òprzestóń"
+
+#. This string is shared with gsm-fail-whale-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:271
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "Bãdzesz automatno wëlogòwóny za %d sekùndã."
+msgstr[1] "Bãdzesz automatno wëlogòwóny za %d sekùndë."
+msgstr[2] "Bãdzesz automatno wëlogòwóny za %d sekùndów."
+
+#: ../gnome-session/gsm-logout-dialog.c:279
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "System sã automatno wëłączi za %d sekùndã."
+msgstr[1] "System sã automatno wëłączi za %d sekùndë."
+msgstr[2] "System sã automatno wëłączi za %d sekùndów."
+
+#: ../gnome-session/gsm-logout-dialog.c:303
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Jes wlogòwóny jakno \"%s\"."
+
+#: ../gnome-session/gsm-logout-dialog.c:369
+msgid "Log out of this system now?"
+msgstr "Wëlogòwac sã z systemù?"
+
+#: ../gnome-session/gsm-logout-dialog.c:375
+msgid "_Switch User"
+msgstr "_Przełączë brëkòwnika"
+
+#: ../gnome-session/gsm-logout-dialog.c:384
+#: ../gnome-session/gsm-fail-whale-dialog.c:337
+#: ../gnome-session/gsm-util.c:389
+msgid "_Log Out"
+msgstr "Wë_logùjë"
+
+#: ../gnome-session/gsm-logout-dialog.c:390
+msgid "Shut down this system now?"
+msgstr "Zarô wëłączëc system?"
+
+#: ../gnome-session/gsm-logout-dialog.c:396
+msgid "S_uspend"
+msgstr "_Zawieszë"
+
+#: ../gnome-session/gsm-logout-dialog.c:402
+msgid "_Hibernate"
+msgstr "Ùs_pienié"
+
+#: ../gnome-session/gsm-logout-dialog.c:408
+msgid "_Restart"
+msgstr "Zôstne z_rëszenié"
+
+#: ../gnome-session/gsm-logout-dialog.c:418
+msgid "_Shut Down"
+msgstr "_Wëłączë kòmpùtr"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:311
+msgid "Oh no! Something has gone wrong."
+msgstr "Në! Cos sã nie darzëło."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:318
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Pòkôza sã fela ë nie jidze przëwrócëc systemù. Proszã sparłãczëc sã ze "
+"sprôwnikã kòmpùtra."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+#, fuzzy
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Pòkôza sã fela ë nie jidze przëwrócëc systemù. Proszã sparłãczëc sã ze "
+"sprôwnikã kòmpùtra."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Pòkôza sã fela ë nie jidze przëwrócëc systemù.\n"
+"Proszã, wëlogùjë sã ë spróbùjë jesz rôz."
+
+#: ../gnome-session/gsm-process-helper.c:123
+#, c-format
+msgid "Exited with code %d"
+msgstr "Zakùńczono z kòdã %d"
+
+#: ../gnome-session/gsm-process-helper.c:128
+#, c-format
+msgid "Killed by signal %d"
+msgstr "Ùsëniãté przez signał %d"
+
+#: ../gnome-session/gsm-process-helper.c:133
+#, c-format
+msgid "Stopped by signal %d"
+msgstr "Zatrzimóné przez signał %d"
+
+#: ../gnome-session/gsm-manager.c:1421
+msgid "GNOME 3 Failed to Load"
+msgstr "GNOME 3 sã ni mógł wladowac"
+
+#: ../gnome-session/gsm-manager.c:1422
+msgid ""
+"Unfortunately GNOME 3 failed to start properly and started in the "
+"<i>fallback mode</i>.\n"
+"\n"
+"This most likely means your system (graphics hardware or driver) is not "
+"capable of delivering the full GNOME 3 experience."
+msgstr ""
+"Ladowanié GNOME 3 sã nie darzëło ë zrësził sã <i>trib zastãpczy</i>\n"
+"Mòżlëwi że Twój kòmpùtr (hardwôrë graficzné abò czerowniczi) ni mòże zrëszëc "
+"GNOMA 3."
+
+#: ../gnome-session/gsm-manager.c:1424
+msgid "Learn more about GNOME 3"
+msgstr "Wëdowiédzë sã wicy ò GNOMIE 3"
+
+#: ../gnome-session/gsm-manager.c:1521 ../gnome-session/gsm-manager.c:2267
+msgid "Not responding"
+msgstr "Nie dostôł òdpòwiescy"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:559
+msgid "Remembered Application"
+msgstr "Spamiãtóny program"
+
+#: ../gnome-session/gsm-xsmp-client.c:1197
+msgid "This program is blocking logout."
+msgstr "Nen program ùniemòlëwiô wëlogòwónié."
+
+#: ../gnome-session/gsm-xsmp-server.c:325
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Òdrzëcono nowé sparłãczenié bò starô sesjô jesz sã do kùńca nie zamkła\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:587
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ni mòże stwòrzëc słëchającégò gniazda: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:373
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr "Ni mòże zrëszëc sesji logòwaniô (ë nie mòże sã sparłãczëc z serwerã X)"
+
+#: ../gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Òbéńdzenié sztandardowëch katalogów automatnégò zrëszaniô"
+
+#: ../gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "KATALOG_AUTOMATNÉGÒ_ÙRUCHAMIANIÔ"
+
+#: ../gnome-session/main.c:278
+msgid "Session to use"
+msgstr "Sesjô do ùżëcô"
+
+#: ../gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "MIONO_SESJI"
+
+#: ../gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Włączë debùgùjący kòd"
+
+#: ../gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Nie wczëtiwôj aplikacji brëkòwnika"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Wëskrzeni òkno felów dlô testowaniégò"
+
+#: ../gnome-session/main.c:303
+msgid " - the GNOME session manager"
+msgstr " - menadżer sesji GNOME"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Log out"
+msgstr "Wëlogùjë"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Power off"
+msgstr "Wëłączë"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "Jignorëjë wszëtczé wstrzimùjącé mechanizmë"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "Nie pëtój ò pòtwierdzenié"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "Nie jidze sã sparłãczëc z menadzerã sesji"
+
+#: ../tools/gnome-session-quit.c:199
+msgid "Program called with conflicting options"
+msgstr "Program béł wëwołóny ze procëmnyma òptacjama"
diff --git a/po/cy.po b/po/cy.po
new file mode 100644
index 0000000..fc2799b
--- /dev/null
+++ b/po/cy.po
@@ -0,0 +1,522 @@
+# gnome-session yn Gymraeg.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# www.gyfieithu.co.uk <kyfieithu@dotmon.com>, 2003.
+# and contributors
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-03-02 17:48+0000\n"
+"PO-Revision-Date: 2006-03-02 12:20-0000\n"
+"Last-Translator: Rhys Jones <rhys@sucs.org>\n"
+"Language-Team: Cymraeg <gnome-cy@pengwyn.linux.org.uk>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Caniatáu cysylltiadau TCP"
+
+#: ../gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Am resymau diogelwch, nid yw gnome-session yn caniatáu cysylltiadau TCP ar "
+"systemau sy'n darparu _IceTcpTransNoListen() (systemau XFree86). Mae'r "
+"opsiwn hwn yn caniatáu cysylltiadau o westeion pell (awdurdodedig). Mae'n "
+"rhaid ailgychwyn gnome-session cyn bo hyn yn cael effaith."
+
+#: ../gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Os galluogir hyn, fe fydd gnome-session yn gofyn am gadarnhad cyn diweddu "
+"sesiwn."
+
+#: ../gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Os galluogir hyn, fe fydd gnome-session yn cadw'r sesiwn yn awtomatig. Fel "
+"arall, fe fydd gan y deialog allgofnodi opsiwn i gadw'r sesiwn."
+
+#: ../gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Annog allgofnodi"
+
+#: ../gnome-session/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+"Y ddelwedd hoffech gael ei ddefnyddio yn y sgrin gychwyn wrth fewngofnodi"
+
+#: ../gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Cadw sesiynau"
+
+#: ../gnome-session/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "Opsiwn dewisedig yn y deialog allgofnodi"
+
+#: ../gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "Dangos y sgrin gychwyn"
+
+#: ../gnome-session/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "Dangos y sgrin gychwyn wrth gychwyn sesiwn"
+
+#: ../gnome-session/gnome-session.schemas.in.h:11
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Mae hwn yn werth perthynol wedi ei seilio oddi ar y plygell $datadir/"
+"pixmaps/. Bydd is ffolderi ac enwau delweddau yn werthoedd dilys. Bydd newid "
+"y gwerthoedd yma yn dod i rym yn y sesiwn mewngofnodi nesaf."
+
+#: ../gnome-session/gnome-session.schemas.in.h:12
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Hon fydd yr opsiwn a dewisir yn y deialog allgofnodi, gwerthoedd dilys yw "
+"\"logout\" ar gyfer allgofnodi, \"shutdown\" ar gyfer atal system ac "
+"\"restart\" i ail gychwyn y system."
+
+#: ../gnome-session/gsm-client-editor.c:97
+msgid "_Order:"
+msgstr "_Trefn:"
+
+#: ../gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Y drefn mae rhaglenni yn cael eu dechrau ynddi yn y sesiwn."
+
+#: ../gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Beth sy'n digwydd i'r rhaglen pan mae'n terfynu."
+
+#: ../gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Arddull:"
+
+#: ../gnome-session/gsm-client-list.c:150
+msgid "Order"
+msgstr "Trefn"
+
+#: ../gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Arddull"
+
+#: ../gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Cyflwr"
+
+#: ../gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Rhaglen"
+
+#: ../gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Anweithredol"
+
+#: ../gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Aros i gychwyn neu wedi gorffen."
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Wedi dechrau"
+
+#: ../gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Wedi dechrau ond heb adroddi ei gyflwr eto."
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Gweithredu"
+
+#: ../gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Aelod arferol o'r sesiwn."
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Wrthi'n Cadw"
+
+#: ../gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Wrthi'n cadw manylion y sesiwn."
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Anhysbys"
+
+#: ../gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Ni adroddwyd y cyflwr o fewn y terfyn amser."
+
+#: ../gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Arferol"
+
+#: ../gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Heb ei effeithio gan allgofnodi ond caiff derfynu."
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Ailgychwyn"
+
+#: ../gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Ni chaiff derfynu."
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Sbwriel"
+
+#: ../gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Gwaredir wrth allgofnodi a chaiff derfynu."
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Gosodiadau"
+
+#: ../gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Caiff ei gychwyn ar bob mewngofnodiad."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Roedd gwall wrth gychwyn Ellyll Gosodiadau GNOME.\n"
+"\n"
+"Efallai na fydd rhai pethau (megis themâu, seiniau a chefndir) yn gweithio'n "
+"gywir."
+
+#: ../gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Y neges gwall diwethaf oedd:\n"
+"\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Bydd GNOME o hyd yn ceisio ailgychwyn y Daemon Gosodiadau y tro nesaf i chi "
+"fewngofnodi."
+
+#: ../gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Roedd gwall cychwyn anhysbys."
+
+#: ../gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Fe ailgychwynnodd Daemon Gosodiadau GNOME gormod o weithiau."
+
+#: ../gnome-session/logout.c:408
+msgid "Are you sure you want to log out?"
+msgstr "Ydych chi'n sicr eich bod eisiau allgofnodi?"
+
+#: ../gnome-session/logout.c:425
+msgid "_Save current setup"
+msgstr "_Cadw'r cyflwr cyfredol"
+
+#: ../gnome-session/logout.c:448
+msgid "Action"
+msgstr "Gweithred"
+
+#: ../gnome-session/logout.c:465
+msgid "_Log out"
+msgstr "_Allgofnodi"
+
+#: ../gnome-session/logout.c:472
+msgid "Sh_ut down"
+msgstr "_Troi'r cyfrifiadur i ffwrdd"
+
+#: ../gnome-session/logout.c:480
+msgid "_Restart the computer"
+msgstr "A_il-gychwyn y cyfrifiadur"
+
+#: ../gnome-session/main.c:82
+msgid "Specify a session name to load"
+msgstr "Penodwch enw sesiwn i'w lwytho"
+
+#: ../gnome-session/main.c:83
+msgid "Only read saved sessions from the default.session file"
+msgstr "Darllen sesiynau wedi'u cadw o'r ffeil default.session yn unig"
+
+#: ../gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+"Y milfedau o eiliadau dylid aros am gleientiaid i gofrestru (0 = am byth)"
+
+#: ../gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Y milfedau o eiliadau dylid aros am gleientiaid i ateb (0 = am byth)"
+
+#: ../gnome-session/main.c:86
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+"Y milfedau o eiliadau dylid aros am gleientiaid i derfynu (0 = am byth)"
+
+#: ../gnome-session/main.c:266
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Methu canfod y cyfeiriad rhyngrwyd ar gyfer %s.\n"
+"Fe fydd hyn yn rhwystro GNOME rhag gweithredu'n gywir.\n"
+"Fe all fod yn bosib cywiro'r broblem gan ychwanegu\n"
+"%s y ffeil /etc/hosts."
+
+#: ../gnome-session/main.c:273
+msgid "Log in Anyway"
+msgstr "Mewngofnodi Fodd Bynnag"
+
+#: ../gnome-session/main.c:274
+msgid "Try Again"
+msgstr "Ceisio Eto"
+
+#: ../gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Mae eich sesiwn wedi ei gadw"
+
+#: ../gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Peidiwyd aros oherwydd gwrthdrawiad"
+
+#: ../gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Dim ateb i'r gorchymyn %s."
+
+#: ../gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Fe all fod y rhaglen yn araf, yn seibio, neu wedi torri."
+
+#: ../gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Fe allwch aros iddo ymateb neu ei dynnu."
+
+#: ../gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Peidiwyd yr ailgychwyniad oherwydd methiannau."
+
+#: ../gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Mae terfyniad sesiwn yn digwydd."
+
+#: ../gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Gosod y sesiwn gyfredol"
+
+#: ../gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Terfynu'r sesiwn"
+
+#: ../gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Defnyddio blychau deialog"
+
+#: ../gnome-session/save-session.c:146 ../gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Methu cysylltu â'r rheolwr sesiwn"
+
+#: ../gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Ni all enw'r sesiwn fod yn wag"
+
+#: ../gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Mae sesiwn gyda'r enw hwn yn bodoli"
+
+#: ../gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Ychwanegu sesiwn newydd"
+
+#: ../gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Golygu enw'r sesiwn"
+
+#: ../gnome-session/session-properties-capplet.c:117
+msgid "Enable"
+msgstr "Galluogi"
+
+#: ../gnome-session/session-properties-capplet.c:123
+#: ../gnome-session/session-properties-capplet.c:464
+msgid "Disable"
+msgstr "Analluogi"
+
+#: ../gnome-session/session-properties-capplet.c:145
+msgid "_Edit"
+msgstr "_Golygu"
+
+#: ../gnome-session/session-properties-capplet.c:213
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Mae rhai newidiadau heb eu cadw.\n"
+"Ydy hi'n iawn i derfynu fodd bynnag?"
+
+#: ../gnome-session/session-properties-capplet.c:263
+#: ../gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Sesiynau"
+
+#: ../gnome-session/session-properties-capplet.c:296
+msgid "Show splash screen on _login"
+msgstr "Dangos sgrin gychwyn wrth _fewngofnodi"
+
+#: ../gnome-session/session-properties-capplet.c:307
+msgid "As_k on logout"
+msgstr "_Cadarnhau wrth allgofnodi"
+
+#: ../gnome-session/session-properties-capplet.c:318
+msgid "Automatically save chan_ges to session"
+msgstr "Cadw newidiadau i'r sesiwn yn _awtomatig"
+
+#: ../gnome-session/session-properties-capplet.c:329
+msgid "_Sessions:"
+msgstr "_Sesiynau:"
+
+#: ../gnome-session/session-properties-capplet.c:347
+msgid "Session Name"
+msgstr "Enw'r Sesiwn"
+
+#: ../gnome-session/session-properties-capplet.c:398
+msgid "Session Options"
+msgstr "Dewisiadau'r Sesiwn"
+
+#: ../gnome-session/session-properties-capplet.c:407
+msgid "Current Session"
+msgstr "Y Sesiwn Gyfredol"
+
+#: ../gnome-session/session-properties-capplet.c:416
+msgid "Additional startup _programs:"
+msgstr "Rhaglenni wrth _gychwyn eraill:"
+
+#: ../gnome-session/session-properties-capplet.c:435
+msgid "Command"
+msgstr "Gorchymyn"
+
+#: ../gnome-session/session-properties-capplet.c:475
+msgid "Startup Programs"
+msgstr "Rhaglenni Wrth Gychwyn"
+
+#: ../gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Tynnu'r cleient dewisedig o'r sesiwn"
+
+#: ../gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Gosod y newidiadau i'r sesiwn gyfredol"
+
+#: ../gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Rhestr y rhaglenni yn y sesiwn."
+
+#: ../gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "_Rhaglenni sy'n rhedeg ar hyn o bryd:"
+
+#: ../gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Cychwyn gosodiadau'r sesiwn"
+
+#: ../gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Ffurfweddu eich sesiynau"
+
+#: ../gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Y Rheolwr Ffenestri Sawfish"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Y Rheolwr Ffenestri Metacity"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Rheolwr Ffenestri"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Y Panel"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Desktop Settings"
+msgstr "Gosodiadau Penbwrdd"
+
+#: ../gnome-session/startup-programs.c:425
+msgid "_Startup Command:"
+msgstr "_Gorchymyn Wrth Gychwyn:"
+
+#: ../gnome-session/startup-programs.c:431
+msgid "Startup Command"
+msgstr "Gorchymyn Wrth Gychwyn"
+
+#: ../gnome-session/startup-programs.c:460
+msgid "The startup command cannot be empty"
+msgstr "Ni chaiff y gorchymyn wrth gychwyn fod yn wag"
+
+#: ../gnome-session/startup-programs.c:497
+msgid "Add Startup Program"
+msgstr "Ychwanegu Rhaglen Wrth Gychwyn"
+
+#: ../gnome-session/startup-programs.c:535
+msgid "Edit Startup Program"
+msgstr "Golygu Rhaglen Wrth Gychwyn"
+
+#~ msgid "Splash Screen Image"
+#~ msgstr "Delwedd y Sgrin Gychwyn"
+
+#~ msgid "Session Manager Proxy"
+#~ msgstr "Dirprwy Rheolwr Sesiynau"
+
+#~ msgid "Save Current Session"
+#~ msgstr "Cadw'r Sesiwn Gyfredol"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Cadw cyflwr cyfredol y penbwrdd"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..6b1e3f4
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,805 @@
+# translation of gnome-session.HEAD.po to Dansk
+# Danish translation of gnome-session.
+# Copyright (C) 1998-2009, 2015-2019 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Kenneth Christiansen <kenneth@ripen.dk>, 1998-2000.
+# Birger Langkjer <birger.langkjer@image.dk>, 1999.
+# Keld Simonsen <keld@dkuug.dk>, 2000-2001.
+# Ole Laursen <olau@hardworking.dk>, 2001, 02, 03.
+# Martin Willemoes Hansen <mwh@sysrq.dk>, 2004, 05.
+# Lasse Bang Mikkelsen <lbm@fatalerror.dk>, 2007.
+# Peter Bach <bach.peter@gmail.com>, 2007.
+# Ask Hjorth Larsen <asklarsen@gmail.com>, 2007, 2015-2019.
+# Kenneth Nielsen <k.nielsen81@gmail.com>, 2008-2009, 2013.
+# M.P. Rommedahl <Lhademmor@gmail.com>, 2008.
+# Kris Thomsen <lakristho@gmail.com>, 2011, 2013.
+# flemming christensen <fc@stromata.dk>, 2011.
+#
+# Konventioner:
+#
+# dialog -> vindue
+# hints -> tip
+# splash screen -> velkomstvindue
+# start up -> starter
+# tasklist -> procesliste
+# URL -> adresse
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-02-27 13:07+0100\n"
+"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.3\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Tilpasset"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Dette indtastningsfelt lader dig vælge en gemt session"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Denne session logger dig ind i GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME-attrap"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME på Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME på Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Gem sessioner"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Hvis aktiveret vil gnome-session automatisk gemme sessionen."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Gem denne session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Hvis aktiveret vil gnome-session automatisk gemme næste session ved "
+"udlogning, selv når automatisk gemmetilstand er slået fra."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Log ud-prompt"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Hvis aktiveret vil gnome-session spørge brugeren før en session afsluttes."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Vis advarsel for reservetilstand"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Hvis aktiveret vil gnome-session vise en advarselsdialog efter indlogning, "
+"hvis sessionen gik i reservetilstand."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Tilpasset session"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Vælg venligst en tilpasset session at køre"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Ny session"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Fjern session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Omdøb session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Fortsæt"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Åh nej! Noget er gået galt."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Der er opstået et problem og systemet kan ikke gendannes. Henvend dig "
+"venligst til en systemadministrator"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Der er opstået et problem, og systemet kan ikke gendannes. Alle udvidelser "
+"er blevet deaktiveret for en sikkerheds skyld."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Et problem er opstået og systemet kan ikke gendannes.\n"
+"Log venligst ud og prøv igen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Log ud"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Aktivér fejlfindingskode"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Tillad log ud"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Vis udvidelsesfejl"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Svarer ikke"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Log ud"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Husket program"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Dette program blokerer log ud."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Nægter ny klientforbindelse fordi sessionen er ved at blive lukket ned\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Kunne ikke oprette ICE-lyttesoklen: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Kører som systemd-tjeneste"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Brug systemd-sessionshåndtering"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Brug indbygget sessionshåndtering (frem for den baseret på systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Tilsidesæt standard-autostartmapper"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_KAT"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session som skal bruges"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSIONS_NAVN"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Hent ikke brugerangivne programmer"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version af dette program"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Vis dialogen uheldig hval for at gennemføre en test"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Slå hardwareaccelerationstjek fra"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME-sessionshåndteringen"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Start gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Start gnome-session-shutdown.target ved modtagelse af EOF eller en enkelt "
+"byte på stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signalinitialisering udført til gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Genstart dbus.service hvis den kører"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Kør fra ExecStopPost for at starte gnome-session-failed.target ved fejlende "
+"tjeneste"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programmet kræver én parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [TILVALG …] KOMMANDO\n"
+"\n"
+"Kør KOMMANDO mens nogen sessionsfunktionalitet hindres.\n"
+"\n"
+" -h, --help Vis denne hjælp\n"
+" --version Vis programversionen\n"
+" --app-id ID Det program-id der skal bruges\n"
+" ved hindring (valgfrit)\n"
+" --reason GRUND Grunden til hindring (valgfri)\n"
+" --inhibit ARG Ting som skal hindres. Kolonsepareret liste af:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Start ikke kommandoen og vent i stedet for altid\n"
+" -l, --list Vis de eksisterende hindringer og afslut\n"
+"\n"
+"Hvis intet --inhibit tilvalg er angivet, vil “idle” blive antaget.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Kunne ikke køre %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s kræver et argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Log ud"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Sluk"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Genstart"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorerer eventuelle eksisterende blokeringer"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Opkræv ikke brugerbekræftelse"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Kunne ikke tilkoble til sessionshåndteringen"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program blev kaldt med selvmodsigende tilvalg"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Sessionnavne må ikke starte med “.” eller indeholde “/”-tegn"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sessionsnavne må ikke starte med “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sessionsnavne må ikke indeholde “/”-tegn"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Der findes allerede en session med navnet “%s”"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Yderligere opstarts_programmer:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Opstartsprogrammer"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Husk _automatisk kørende programmer når der logges ud"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Husk programmer, der kører nu"
+
+#~ msgid "Options"
+#~ msgstr "Indstillinger"
+
+#~ msgid "Browse…"
+#~ msgstr "Gennemse …"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Komm_entar:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ko_mmando:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Navn:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Denne session logger dig ind i GNOME, med brug af Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Vælg kommando"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Tilføj opstartsprogram"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Redigér opstartsprogram"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Startkommandoen kan ikke være tom"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Startkommandoen er ugyldig"
+
+#~ msgid "Enabled"
+#~ msgstr "Aktiveret"
+
+#~ msgid "Icon"
+#~ msgstr "Ikon"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Indstillinger for opstartsprogrammer"
+
+#~ msgid "No name"
+#~ msgstr "Intet navn"
+
+#~ msgid "No description"
+#~ msgstr "Ingen beskrivelse"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Kunne ikke vise hjælpedokument"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Opstartsprogrammer"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Vælg hvilke programmer som skal startes når du logger ind"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Filen er ikke en gyldig .desktop-fil"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Ukendt desktop-filversion “%s”"
+
+#~ msgid "Starting %s"
+#~ msgstr "Starter %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Programmet accepterer ikke dokumenter på kommandolinje"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Ukendt køreindstilling: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Kan ikke sende dokumentets URI til en “Type=Link”-skrivebordsentitet"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Ikke et kørbart element"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Deaktivér forbindelse til sessionshåndteringen"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Angiv fil som indeholder den gemte konfiguration"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Sessionshåndtering-indstillinger:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Vis tilvalg for sessionshåndtering"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Nogle programmer kører stadigvæk:"
+
+#~ msgid "Unknown"
+#~ msgstr "Ukendt"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Et program kører stadigvæk:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Venter på at programmet afslutter. At afbryde dette program kan føre til, "
+#~ "at du mister data."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Venter på at programmer afslutter. At afbryde disse programmer kan føre "
+#~ "til, at du mister data."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Skift bruger alligevel"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Log ud alligevel"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Gå i standby alligevel"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Gå i dvale alligevel"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Sluk alligevel"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Genstart alligevel"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Lås skærmen"
+
+#~ msgid "Cancel"
+#~ msgstr "Annullér"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Du vil automatisk blive logget ud om %d sekund."
+#~ msgstr[1] "Du vil automatisk blive logget ud om %d sekunder."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Dette system vil automatisk lukke ned om %d sekund."
+#~ msgstr[1] "Dette system vil automatisk lukke ned om %d sekunder."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Dette system vil automatisk genstarte om %d sekund."
+#~ msgstr[1] "Dette system vil automatisk genstarte om %d sekunder."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Du er på nuværende tidspunkt logget ind som “%s”."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Log ud af dette system nu?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Skift bruger"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Sluk dette system nu?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_tandby"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Dvale"
+
+#~ msgid "_Restart"
+#~ msgstr "_Genstart"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Sluk"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Genstart dette system nu?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ikon “%s” kunne ikke findes"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 kunne ikke indlæses"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Desværre er det mislykkedes for GNOME 3 at starte rigtigt og startede "
+#~ "derfor i <i>tilbagefaldstilstand</i>.\n"
+#~ "\n"
+#~ "Dette betyder højst sandsynligt at dit system (grafik-hardware eller -"
+#~ "driver) ikke er i stand til at levere den fulde GNOME 3-oplevelse."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Lær mere om GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Kunne ikke starte logind-session (og kunne ikke forbinde til X-serveren)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Nogle programmer kører stadigvæk:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Afsluttede med kode %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Dræbt af signal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Stoppet af signal %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Der er opstået et problem og systemet kan ikke gendannes.\n"
+#~ "Det skyldes muligvis nogle af nedenstående udvidelser. Prøv at deaktivere "
+#~ "nogle af dem og log så ud og prøv igen."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Der er et problem med konfigurationsserveren.\n"
+#~ "(%s afsluttede med status %d)"
+
+#~ msgid "File Manager"
+#~ msgstr "Filhåndtering"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Programmer som er en del af standardsessionen."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Liste over komponenter der er nødvendige som en del af sessionen. (Hvert "
+#~ "element navngiver en nøgle under “/desktop/gnome/session/required-"
+#~ "components”.) Værktøjer “Indstillinger for opstartprogrammer” vil normalt "
+#~ "ikke tillade brugere at fjerne en nødvendig komponent fra sessionen, og "
+#~ "sessionshåndteringen vil automatisk tilføje nødvendige komponenter "
+#~ "tilbage til sessionen, hvis de bliver fjernet."
+
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Required session components"
+#~ msgstr "Nødvendige sessionskomponenter"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Filhåndteringen sørger for skrivebordsikoner og lader dig bruge dine "
+#~ "gemte filer."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "Antallet af minutter med inaktivitet før systemet betragtes som i tomgang."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Panelet sørger for bjælken i toppen eller bunden af skærmen, som "
+#~ "indeholder menuer, vindueslisten, statusikoner, uret, osv."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Vindueshåndteringen er det program, som optegner titelbjælken og "
+#~ "grænserne rundt om vinduer, samt lader dig flytte og ændre størrelse på "
+#~ "vinduer."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Tid før sessionen betragtes som værende i tomgang"
+
+#~ msgid "Window Manager"
+#~ msgstr "Vindueshåndtering"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "GConf-nøgle brugt til at finde standardsession"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Vis sluk-dialog"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Benyt vinduesbokse til fejl"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Sæt det nuværende sessionsnavn"
+
+#~ msgid "NAME"
+#~ msgstr "NAVN"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME-indstillinger dæmonhjælper"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Hvis aktiveret vil gnome-session gemme sessionen automatisk. Ellers vil "
+#~ "log ud-vinduet indeholde en valgmulighed for at gemme sessionen."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Foretrukket billede til brug for velkomstvinduet"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Vis velkomstvinduet"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Vis velkomstvinduet når sessionen starter"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Dette er en relativ stiværdi baseret på $datadir/pixmaps/-kataloget. "
+#~ "Under-kataloger og billednavne er gyldige værdier. Ændring af denne værdi "
+#~ "vil påvirke det næste sessionslogind."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Venter på at programmer afslutter. At forstyrre disse programmer kan føre "
+#~ "til at du mister data."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME-velkomstvindue"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME-velkomstvindue"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "Startkommandoen kan ikke være tom"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Assisterende teknologi understøttelse er blevet anmodet i denne session, "
+#~ "men blev ikke fundet. Vær sikker på at AT-SPI-pakken er installeret. Din "
+#~ "session er blevet startet uden brug af assisterende teknologi "
+#~ "understøttelse."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPI registreringsomslag"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Sessionsindstillinger"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "GNOME-nøglering dæmonomslag"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Forvalgt valgmulighed i “Log ud”-vinduet"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Dette er den forvalgte valgmulighed i “Log ud”-vinduet. Gyldige værdier "
+#~ "er “logout” for at logge ud, “shutdown” for at stoppe systemet og "
+#~ "“restart” for at genstarte systemet."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Konfigurér dine sessioner"
+
+#~ msgid "Session management"
+#~ msgstr "Sessionshåndtering"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "GNOME GUI-bibliotek + EggSMClient"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..244ed70
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,391 @@
+# German translation file for gnome-session.
+# Copyright (C) 1998-2002, 2007 Free Software Foundation, Inc.
+# Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>, 1998.
+# Matthias Warkus <mawa@iname.com>, 1999-2001.
+# Karl Eichwalder <ke@suse.de>, 2000-2001.
+# Christian Meyer <chrisime@gnome.org>, 2000-2001.
+# Benedikt Roth <Benedikt.Roth@gmx.net>, 2000-2001.
+# Jörgen Scheibengruber <mfcn@gmx.de>, 2002.
+# Christian Neumair <chris@gnome-de.org>, 2002, 2003, 2004.
+# Hendrik Richter <hendrikr@gnome.org>, 2005-2008.
+# Jochen Skulj <jochen@jochenskulj.de>, 2006.
+# Andre Klapper <ak-47@gmx.net>, 2007.
+# Mario Blättermann <mario.blaettermann@gmail.com>, 2008, 2010-2011, 2013, 2015, 2017-2018.
+# Wolfgang Stöggl <c72578@yahoo.de>, 2009, 2011-2012.
+# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2011.
+# Tobias Endrigkeit <tobiasendrigkeit@googlemail.com>, 2012.
+# Andre Jonas <nipsky@googlemail.com>, 2013.
+# Christian Kirbach <christian.kirbach@gmail.com>, 2009-2013.
+# Bernd Homuth <dev@hmt.im>, 2014.
+# Florian Heiser <postfuerflo@gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-31 22:44+0100\n"
+"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
+"Language-Team: Deutsch <gnome-de@gnome.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.0\n"
+
+# Benutzerdefiniert oder Angepasst?
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Benutzerdefiniert"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr ""
+"Dieser Eintrag ermöglicht es Ihnen, eine gespeicherte Sitzung auszuwählen"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Diese Sitzung meldet Sie bei GNOME an"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME Platzhalter"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME unter Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME unter Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Sitzungen speichern"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Wenn aktiviert, speichert gnome-session die Sitzung automatisch."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Diese Sitzung speichern"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Wenn aktiviert, speichert gnome-session die nächste Sitzung beim Abmelden "
+"automatisch, selbst wenn automatisches Speichern deaktiviert ist."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Abmeldebestätigung"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Wenn aktiviert, bittet gnome-session den Benutzer um Bestätigung, bevor eine "
+"Sitzung beendet wird."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Warnung für Rückfallmodus anzeigen"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Wenn aktiviert, zeigt gnome-session eine Warnung nach der Anmeldung an, dass "
+"die Sitzung automatisch zurückgefallen ist."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Benutzerdefinierte Sitzung"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr ""
+"Bitte wählen Sie eine benutzerdefinierte Sitzung, die ausgeführt werden soll"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Neue Sitzung"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Sitzung _entfernen"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Sitzung _umbenennen"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Fortfahren"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Leider ist ein Problem aufgetreten."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ein Problem ist aufgetreten, welches vom System nicht behoben werden kann. "
+"Bitte kontaktieren Sie den Systemverwalter"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ein Problem ist aufgetreten, welches vom System nicht behoben werden kann. "
+"Als Vorsichtsmaßnahme sind alle Erweiterungen deaktiviert worden."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ein Problem ist aufgetreten, welches vom System nicht behoben werden kann.\n"
+"Bitte melden Sie sich ab und versuchen Sie es erneut."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Benutzer ab_melden"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Debugging-Code aktivieren"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Abmelden erlauben"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Warnung der Erweiterung anzeigen"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Keine Antwort"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Abmelden"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Gemerkte Anwendung"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Dieses Programm blockiert die Abmeldung."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Neue Client-Verbindung wurde abgelehnt, weil die aktuelle Sitzung "
+"gegenwärtig beendet wird\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE-Listening-Socket konnte nicht erzeugt werden: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Läuft als systemd-Dienst"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "systemd-Sitzungsverwaltung verwenden"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Die interne Sitzungsverwaltung verwenden (im Gegensatz zur systemd-basierten)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Vorgegebene Autostart-Ordner außer Kraft setzen"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTARTORDNER"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Zu verwendende Sitzung"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SITZUNGSNAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Keine benutzerspezifischen Anwendungen laden"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version dieser Anwendung"
+
+# Der Kommentar im Quelltext lautet: »/* Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong */«
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Den Dialog zum Fehlschlag für Prüfungszwecke anzeigen"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Überprüfung des Hardware-Beschleunigers abschalten"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " – Die Verwaltung der GNOME-Sitzung"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target starten"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"gnome-session-shutdown.target starten, wenn EOF oder ein einzelnes Byte von "
+"stdin empfangen wird"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr ""
+"gnome-session signalisieren, dass die Initialisierung abgeschlossen ist"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service neu starten, sofern es läuft"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Von ExecStopPost ausführen, um bei Dienstversagen gnome-session-failed."
+"target zu starten"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Das Programm erfordert genau einen Parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION …] BEFEHL\n"
+"\n"
+"BEFEHL ausführen und bestimme Funktionalitäten der Sitzung unterdrücken.\n"
+"\n"
+" -h, --help Diese Hilfe anzeigen\n"
+" --version Die Programmversion anzeigen\n"
+" --app-id KENNUNG Die beim Unterdrücken zu benutzende\n"
+" Programmkennung (optional)\n"
+" --reason GRUND Der Grund für das Unterdrücken (optional)\n"
+" --inhibit ARG Zu unterdrückende Funktionalitäten als durch "
+"Doppelpunkte getrennte Liste:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only BEFEHL nicht starten und stattdessen dauerhaft warten\n"
+" -l, --list Mögliche Unterdrückungen auflisten und beenden\n"
+"\n"
+"Wenn die Option »--inhibit« nicht angegeben ist, so wird »idle« angenommen.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Fehler beim Ausführen von %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s benötigt ein Argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Abmelden"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Ausschalten"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Neustart"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Bestehende Unterdrückungen ignorieren"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Keine Bestätigung abfragen"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Sitzungsverwaltung konnte nicht kontaktiert werden"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programm wurde mit Optionen aufgerufen, die zu einem Konflikt führen"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sitzung %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Sitzungsnamen dürfen nicht mit einem ».« anfangen oder »/« enthalten"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sitzungsnamen dürfen nicht mit einem ».« anfangen"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sitzungsnamen dürfen keine »/«-Zeichen enthalten"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Eine Sitzung mit Namen »%s« existiert bereits"
diff --git a/po/dz.po b/po/dz.po
new file mode 100644
index 0000000..5fdc8a9
--- /dev/null
+++ b/po/dz.po
@@ -0,0 +1,649 @@
+# Dzongkha translation of gnome-session
+# Copyright @ 2006 Free Software Foundation, Inc.
+# Mindu Dorji
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2-14 dz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-03-25 04:22+0000\n"
+"PO-Revision-Date: 2008-09-25 12:24+0530\n"
+"Last-Translator: Dawa pemo <daws_403@hotmail.com>\n"
+"Language-Team: DZONGKHA <pgeyleg@dit.gov.bt>\n"
+"Language: dz\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"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "ཊི་སི་པི་ མཐུད་ལམ་འབད་བཅུག།"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "For security reasons, on platforms which have _IceTcpTransNoListen() (XFree86 systems), gnome-session does not listen for connections on TCP ports. This option will allow connections from (authorized) remote hosts. gnome-session must be restarted for this to take effect."
+msgstr "སྲུང་སྐྱོབ་ཀྱི་རྒྱུ་མཚན་ལུ་བརྟེན་ཏེ་ _IceTcpTransNoListen() (XFree86 systems) ཡོད་པའི་ས་སྒོ་ཚུ་ནང་ ཇི་ནོམ་-ལཱ་ཐུན་གྱིས་ ཊི་སི་པི་འདྲེན་ལམ་གུ་ མཐུད་ནི་ལུ་ཉན་མི་བཏུབ། གདམ་ཁ་འདི་གིས་ ཐག་རིང་གི་ཧོསིཊི་ (གནང་བ་མེདཔ) ཚུ་ལས་ མཐུད་བཅུགཔ་ཨིན། འདི་ལུ་ནུས་པ་འཐོབ་བཅུག་ནི་ལུ་ ཇི་ནོམ་-ལཱ་ཡུན་དེ་ ལོག་འགོ་བཙུགས་དགོ།"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "ལྕོགས་ཅན་བཟོ་བ་ཅིན་ ཇི་ནོམ་ལཱ་ཡུན་གྱིས་ ལཱ་ཡུན་ཅིག་མཇུག་མ་བསྡུ་བའི་ཧེ་མར་ ལག་ལེན་པ་ལུ་ ནུས་སྤེལ་བྱིནམ་ཨིན།"
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid "If enabled, gnome-session will save the session automatically. Otherwise, the logout dialog will have an option to save the session."
+msgstr "ལྕོགས་ཅན་བཟོ་བ་ཅིན་ ཇི་ནོམ་ལཱ་ཡུན་གྱིས་ ལཱ་ཡུན་དེ་རང་བཞིན་གྱིས་ སྲུངམ་ཨིན། དེ་མིན་པ་ཅིན་ ཕྱིར་བསྐྱོད་ཌའི་ལོག་དེ་ལུ་ ལཱ་ཡུན་འདི་ བསྲུང་ནིའི་་གདམ་ཁ་ཡོད།"
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "ཕྱིར་བསྐྱོད་ཀྱི་ནུས་སྤེལ།"
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "ནང་བསྐྱོད་ཀྱི་ སི་པེལེཤ་གསལ་གཞིའི་དོན་ལུ་ ལག་ལེན་འཐབ་ནིའི་ དགའ་གདམ་ཅན་གྱི་གཟུགས་བརྙན།"
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "ལཱ་ཡུན་ཚུ་སྲུངས།"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "ཕྱིར་བསྐྱོད་ཌའི་ལོག་ནང་ སེལ་འཐུ་འབད་མི་གདམ་ཁ།"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "སི་པེལེཤ་གསལ་གཞི་སྟོན།"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "ལཱ་ཡུན་དེ་འགོ་བཙུགས་སྐབས་ སི་པེལེཤ་གསལ་གཞི་དེ་སྟོན།"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "This is a relative path value based off the $datadir/pixmaps/ directory. Sub-directories and image names are valid values. Changing this value will effect the next session login."
+msgstr "འདི་$datadir/pixmaps/ སྣོད་ཐོ་ལུ་མ་བརྟེན་པའི་ འབྲེལ་ཡོད་འགྲུལ་ལམ་གྱི་བེ་ལུ་ཅིག་ཨིན། བེ་ལུ་འདི་བསྒྱུར་བཅོས་འབད་བ་ཅིན་ ལཱ་ཡུན་ཤུལ་མམ་ ནང་བསྐྱོད་འབད་ནི་ལུ་ ནུས་པ་འཐོབ་ཨིན།"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "This is the option that will be selected in the logout dialog, valid values are \"logout\" for logging out, \"shutdown\" for halting the system and \"restart\" for restarting the system."
+msgstr "འདི་ཕྱིར་བསྐྱོད་ཌའི་ལོག་ནང་ སེལ་འཐུ་འབད་ནིའི་ གདམ་ཁ་ཨིན། ནུས་ཅན་བེ་ལུསི་ཚུ་ ཕྱིར་བསྐྱོད་དོན་ལུ་ \"logout\" དང་ མཚམས་འཇོག་དོན་ལུ་\"shutdown\" དེ་ལས་ རིམ་ལུགས་ལོག་འགོ་བཙུགས་ནིའི་དོན་ལུ་\"shutdown\" ཨིན།"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "ཇི་ནོམ་ "
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "ལཱ་ཡུན་འདི་གིས་ ཁྱོད་ ཇི་ནོམ་ནང་ལུ་ ནང་བསྐྱོད་འབདཝ་ཨིན་ "
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "ཁྱོན་རའི་ལཱ་ཡུན་ རིམ་སྒྲིག་འབད།"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "ལཱ་ཡུན་ཚུ།"
+
+#: ../gnome-session/gsm-at-startup.c:39
+msgid "Assistive technology support has been requested for this session, but the accessibility registry was not found. Please ensure that the AT-SPI package is installed. Your session has been started without assistive technology support."
+msgstr "ཕན་ཐབས་ཅན་འཕྲུལ་རིག་རྒྱབ་སྐྱོར་འདི་ འ་ནི་ལཱ་ཡུན་གྱི་དོན་ལུ་ ཞུ་བ་འབད་ཡོད་ དེ་འབདཝ་ད་ འཛུལ་སྤྱོད་ཐོ་འགོད་འདི་ འཚོལ་མ་འཐོབ། ཨེ་ཊི་-ཨེསི་པི་ཨའི་ཐུམ་སྒྲིལ་འདི་ གཞི་བཙུགས་མ་འབདཝ་ཨིནམ་སྦེ་ ངེས་གཏན་བཟོ་གནང་། ཁྱོད་ཀྱི་ལཱ་ཡུན་འདི་ ཕན་ཐབས་ཅན་འཕྲུལ་རིག་རྒྱབསྐྱོར་མེད་པར་ འགོ་བཙུགས་ཡོད།"
+
+#: ../gnome-session/gsm-client-editor.c:123
+msgid "_Order:"
+msgstr "གོ་རིམ་:(_O)"
+
+#: ../gnome-session/gsm-client-editor.c:125
+msgid "The order in which applications are started in the session."
+msgstr "ལཱ་ཡུན་དེ་ནང་ གློག་རིམ་ཚུ་འགོ་བཙུགས་ཡོད་པའི་གོ་རིམ།"
+
+#: ../gnome-session/gsm-client-editor.c:133
+msgid "What happens to the application when it exits."
+msgstr "གློག་རིམ་ཕྱིར་ཐོན་འགྱོཝ་ད་ ག་ཅི་འབདཝ་འོང་།"
+
+#: ../gnome-session/gsm-client-editor.c:134
+msgid "_Style:"
+msgstr "བཟོ་རྣམ་:(_S)"
+
+#: ../gnome-session/gsm-client-list.c:44
+msgid "Inactive"
+msgstr "ཤུགས་མེད།"
+
+#: ../gnome-session/gsm-client-list.c:44
+msgid "Waiting to start or already finished."
+msgstr "འགོ་བཙུགས་ནི་ལུ་བསྒུག་བཞིན་པ་ ཡང་ན་ ཧེ་མ་ལས་རྫོགས་པ།།"
+
+#: ../gnome-session/gsm-client-list.c:46
+msgid "Starting"
+msgstr "འགོ་བཙུགས་པའི་བསྒང་།"
+
+#: ../gnome-session/gsm-client-list.c:46
+msgid "Started but has not yet reported state."
+msgstr "འགོ་བཙུགས་ནུག དེ་འབདཝ་ད་ ད་ཚུན་གནས་ལུགས་སྙན་ཞུ་མ་འབད་བས།"
+
+#: ../gnome-session/gsm-client-list.c:48
+msgid "Running"
+msgstr "གཡོག་བཀོལ་དོ།"
+
+#: ../gnome-session/gsm-client-list.c:48
+msgid "A normal member of the session."
+msgstr "ལཱ་ཡུན་གྱི་སྤྱིར་བཏང་འཐུས་མི།"
+
+#: ../gnome-session/gsm-client-list.c:50
+msgid "Saving"
+msgstr "སྲུང་དོ།"
+
+#: ../gnome-session/gsm-client-list.c:50
+msgid "Saving session details."
+msgstr "ལཱ་ཡུན་གྱི་རྒྱས་བཤད་ཚུ་སྲུང་དོ།"
+
+#. FIXME find better icon
+#: ../gnome-session/gsm-client-list.c:53
+msgid "Unknown"
+msgstr "མ་ཤེསཔ།"
+
+#: ../gnome-session/gsm-client-list.c:53
+msgid "State not reported within timeout."
+msgstr "ངལ་མཚམས་ནང་འཁོད་ གནས་ལུགས་སྙན་ཞུ་མ་འབདཝ།"
+
+#. FIXME find icon
+#: ../gnome-session/gsm-client-list.c:60
+msgid "Normal"
+msgstr "སྤྱིར་བཏང་།"
+
+#: ../gnome-session/gsm-client-list.c:60
+msgid "Unaffected by logouts but can die."
+msgstr "ཕྱིར་བསྐྱོད་ཀྱིས་གནོད་སྐྱོན་མ་བྱུང་། དེ་འབདཝ་ད་ ཤི་ནིའི་ཉེན་ཁ་ཡོད།"
+
+#: ../gnome-session/gsm-client-list.c:62
+msgid "Restart"
+msgstr "ལོག་འགོ་བཙུགས།"
+
+#: ../gnome-session/gsm-client-list.c:62
+msgid "Never allowed to die."
+msgstr "ནམ་ཡང་ཤི་མ་བཅུག"
+
+#: ../gnome-session/gsm-client-list.c:64
+msgid "Trash"
+msgstr "ཕྱགས་ཧོད།"
+
+#: ../gnome-session/gsm-client-list.c:64
+msgid "Discarded on logout and can die."
+msgstr "ཕྱིར་བསྐྱོད་སྐབས་ བཏོན་བཀོག་བ་ཅིན་ཤི་འོང་།"
+
+#: ../gnome-session/gsm-client-list.c:66
+msgid "Settings"
+msgstr "གཞི་སྒྲིག་ཚུ།"
+
+#: ../gnome-session/gsm-client-list.c:66
+msgid "Always started on every login."
+msgstr "ནང་བསྐྱོད་འབད་རེ་འབད་ཚེ་ ཨ་རྟག་རང་འགོ་བཙུགས།"
+
+#: ../gnome-session/gsm-client-list.c:190
+msgid "Order"
+msgstr "གོ་རིམ།"
+
+#: ../gnome-session/gsm-client-list.c:197
+msgid "Style"
+msgstr "བཟོ་རྣམ།"
+
+#: ../gnome-session/gsm-client-list.c:204
+msgid "State"
+msgstr "གནས་ལུགས།"
+
+#: ../gnome-session/gsm-client-list.c:211
+#: ../gnome-session/session-properties-capplet.c:284
+msgid "Program"
+msgstr "ལས་རིམ།"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:47
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work correctly."
+msgstr ""
+"ཇི་ནོམ་གཞི་སྒྲིག་ཌེ་མཱོན་ འགོ་བཙུགསཔ་ད་ འཛོལ་བ་ཅིག་བྱུང་ནུག \n"
+"\n"
+"བརྗོད་དོན་དང་ སྒྲ་སྐད་ ཡང་ན་ རྒྱབ་གཞིའི་གཞི་སྒྲིག་ཚུ་བཟུམ་ ལ་ལོ་ཅིག་ ངེས་བདེན་སྦེ་ ལཱ་འབད་མི་བཏུབ་འོང་།"
+
+#: ../gnome-session/gsm-gsd.c:59
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"འཛོལ་བ་མཐའ་མའི་འཕྲིན་དོན་དེ་ཨིན་པས: \n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:64
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"ཇི་ནོམ་གྱིས་ ཤུལ་ལས་ཁྱོད་ཀྱིས་ ནང་བསྐྱོད་འབདཝ་ད་ ད་རུང་ཡང་ གཞི་སྒྲིག་ཌེ་མཱོན་དེ་ ལོག་འགོ་བཙུགས་ནི་ལུ་ འབད་རྩོལ་བསྐྱེད་འོང་།"
+
+#: ../gnome-session/gsm-gsd.c:162
+msgid "The Settings Daemon restarted too many times."
+msgstr "གཞི་སྒྲིག་ཌེ་མཱོན་དེ་ ལན་ཐེངས་མང་རབས་ཅིག་ ལོག་འགོ་བཙུགས་ནུག"
+
+#. Name is mandatory and might not be set by the caller
+#: ../gnome-session/gsm-keyfile.c:43
+msgid "No Name"
+msgstr "མིང་མིན་འདུག།"
+
+#: ../gnome-session/gnome-session-remove.c:50
+msgid "List registered clients, then exit"
+msgstr "ཐོ་བཀོད་འབད་ཡོད་མི་ཞབས་ཏོག་སྤྱོད་མི་ཚུ་ ཐོ་བཀོད་འབད་ དེ་ལས་ཕྱིར་ཐོན་འབད་"
+
+#: ../gnome-session/gnome-session-remove.c:52
+msgid "PROGRAM..."
+msgstr "ལས་རིམ་..."
+
+#: ../gnome-session/gnome-session-remove.c:176
+#, c-format
+msgid "You must specify at least one program to remove. You can list the programs with --list.\n"
+msgstr "ཁྱོད་ཀྱིས་རྩ་བསྐྲད་གཏང་ནིའི་དོན་ལས་ ཉུང་མཐའ་ལས་རིམ་གཅིག་ གསལ་བཀོད་འབད་དགོ ཁྱོད་ཀྱིས་ལས་རིམ་ཚུ་ --ཐོ་ཡིག་དང་གཅིག་ཁར་ཐོ་བཀོད་འབད་ཚུགས།\n"
+
+#: ../gnome-session/gnome-session-remove.c:183
+#, c-format
+msgid "Error: could not connect to the session manager\n"
+msgstr "འཛོལ་བ་:ལཱ་ཡུན་འཛིན་སྐྱོང་པ་འདི་ལུ་མཐུད་མ་ཚུགས་\n"
+
+#: ../gnome-session/gnome-session-remove.c:197
+#, c-format
+msgid "Currently registered clients:\n"
+msgstr "ད་ལྟོ་ཐོ་བཀོད་འབད་ཡོད་མི་ཞབས་ཏོག་སྤྱོད་མི་ཚུ་:\n"
+
+#: ../gnome-session/gnome-session-remove.c:207
+#, c-format
+msgid "Couldn't find program %s in session\n"
+msgstr "ལཱ་ཡུན་ནང་ ལས་རིམ་ %s འཚོལ་མ་འཐོབ་\n"
+
+#. At least try to tell the user something.
+#: ../gnome-session/ice.c:355
+#, c-format
+msgid "The GNOME session manager cannot start properly. Please report this as a GNOME bug. Please include this ICE failure message in the bug report: '%s'. Meanwhile you could try logging in using the failsafe session."
+msgstr "ཇི་ནོམ་ལཱ་ཡུན་འཛིན་སྐྱོང་པ་འདི་ ཚུལ་ལྡན་སྦེ་འགོ་བཙུགས་མི་ཚུགས། འ་ནི་འདི་ ཇི་ནོམ་རྐྱེན་ཅིག་སྦེ་སྙན་ཞུ་འབད་གནང་། '%s' : རྐྱེན་གྱི་སྙན་ཞུ་འདི་ནང་ འ་ནི་ཨའི་སི་ཨི་འཐུས་ཤོར་འཕྲིན་དོན་འདི་ གྲངས་སུ་བཙུགས་གནང། དེ་སྐབས་ ཁྱོད་ཀྱིས་འཐུས་ཤོར་ཉེན་སྲུང་ལག་ལེན་འཐབ་ཐོག་ ནང་བསྐྱོད་འབད་ནི་འབད་རྩོར་བསྐྱེད།"
+
+#: ../gnome-session/ice.c:514
+#, c-format
+msgid "The GNOME session manager was unable to lock the file '%s'. Please report this as a GNOME bug. Sometimes this error may occur if the file's directory is unwritable, you could try logging in via the failsafe session and ensuring that it is."
+msgstr "ཇི་ནོམ་ལཱ་ཡུན་འཛིན་སྐྱོང་པ་འདི་གིས་ ཡིག་སྣོད་ '%s' ལྡེ་མིག་རྐྱབས་མ་ཚུགས། འ་ནི་འདི་ཇི་ནོམ་རྐྱེན་སྦེ་སྙན་ཞུ་འབད་གནང་། རེ་ཅིག་སྐབས་འ་ནི་འཛོལ་བ་འདི་ ཡིག་སྣོད་ཀྱི་སྣོད་ཐོ་འདི་འབྲི་མ་བཏུབ་ཨིན་པའི་སྐབས་ འབྱུང་འོང་ ཁྱོད་ཀྱིས་ངེས་གཏན་བཟོ་ཞིནམ་དང་ འཐུས་ཤོར་ཉེན་སྲུང་ལཱ་ཡུན་འདི་བརྒྱུད་དེ་ ནང་བསྐྱོད་འབད་ནི་འབད་རྩོལ་བསྐྱེད་བཏུབ།"
+
+#: ../gnome-session/ice.c:541
+#, c-format
+msgid "The GNOME session manager was unable to read the file: '%s'. If this file exists it must be readable by you for GNOME to work properly. Try logging in with the failsafe session and removing this file."
+msgstr "ཇི་ནོམ་ལཱ་ཡུན་འཛིན་སྐྱོང་པ་འདི་གིས་ ཡིག་སྣོད་ལྷག་མ་ཚུགས་: '%s' འ་ནི་ཡིག་སྣོད་འདི་ཡོདཔ་ཨིན་པ་ཅིན་ ཚུལ་ལྡན་སྦེ་ལཱ་འབད་ནིའི་དོན་ལས་ ཇི་ནོམ་གྱི་དོན་ལུ་ ཁྱོད་ཀྱིས་ལྷག་བཏུབ་དགོ འ་ནི་ཡིག་སྣོད་རྩ་བསྐྲད་གཏང་ཐོག་དང་ འཐུས་ཤོར་ཉེན་སྲུང་གིས་སྦེ་ ནང་བསྐྱོད་འབད་ནི་འབད་རྩོལ་བསྐྱེད།"
+
+#: ../gnome-session/ice.c:586
+#, c-format
+msgid "Could not write to file '%s'. This file must be writable in order for GNOME to function properly. Try logging in with the failsafe session and removing this file. Also make sure that the file's directory is writable."
+msgstr "ཡིག་སྣོད་ '%s' ལུ་འབྲི་མ་ཚུགས། འ་ནི་ཡིག་སྣོད་འདི་ ཇི་ནོམ་གྱི་དོན་ལུ་ཚུལ་ལྡན་ལཱ་འབད་ནིའི་དོན་ལས་ འབྲི་བཏུབ་དགོ འ་ནི་ཡིག་སྣོད་རྩ་བསྐྲད་གཏང་ཐོག་དང་ འཐུས་ཤོར་ཉེན་སྲུང་ལཱ་ཡུན་གྱིས་སྦེ་ ནང་བསྐྱོད་འབད་ནི་འབད་རྩོལ་བསྐྱོད། ཡིག་སྣོད་ཀྱི་སྣོད་ཐོ་འདི་ འབྲི་བཏུབ་ཨིནམ་ཡང་ངེས་གཏན་བཟོ།"
+
+#: ../gnome-session/logout.c:392
+msgid "Are you sure you want to log out?"
+msgstr "ཁྱོད་ཀྱིས་ངེས་པར་དུ་ ཕྱིར་བསྐྱོད་འབད་ནི་ཨིན་ན།"
+
+#: ../gnome-session/logout.c:409
+msgid "Remember running applications"
+msgstr "གཡོག་བཀོལ་བའི་བསྒང་གི་འཇུག་སྤྱོད་ཚུ་སེམས་ཁར་བཞག"
+
+#: ../gnome-session/logout.c:432
+msgid "Action"
+msgstr "བྱ་བ།"
+
+#: ../gnome-session/logout.c:449
+msgid "_Log out"
+msgstr "ཕྱིར་བསྐྱོད།(_L)"
+
+#: ../gnome-session/logout.c:456
+msgid "Sh_ut down"
+msgstr "སྒོ་བསྡམས།(_u)"
+
+#: ../gnome-session/logout.c:464
+msgid "_Restart the computer"
+msgstr "གློག་རིག་ལོག་འགོ་བཙུགས།(_R)"
+
+#: ../gnome-session/main.c:86
+msgid "Specify a session name to load"
+msgstr "མངོན་གསལ་འབད་ནིའི་ ལཱ་ཡུན་གྱི་མིང་ཅིག་ གསལ་བཀོད་འབད།"
+
+#: ../gnome-session/main.c:86
+#: ../gnome-session/gnome-session-save.c:48
+msgid "NAME"
+msgstr "མིང་།"
+
+#: ../gnome-session/main.c:87
+msgid "Only read saved sessions from the default.session file"
+msgstr "སྔོན་སྒྲིག་ལཱ་ཡུན་ཡིག་སྣོད་ནང་ལས་ སྲུང་བཞག་འབད་མི་ ལཱ་ཡུན་རྐྱངམ་གཅིག་ལྷག"
+
+#: ../gnome-session/main.c:88
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "ཡོངས་འབྲེལ་ཡན་ལག་ཚུ་གིས་ ཐོ་བཀོད་འབད་ནིའི་དོན་ལུ་ རྫོགས་ཡོད་པའི་དུས་ཡུན་ མི་ལི་སྐར་ཆ། (༠=རྟག་པར)"
+
+#: ../gnome-session/main.c:88
+#: ../gnome-session/main.c:89
+#: ../gnome-session/main.c:90
+msgid "DELAY"
+msgstr "ཕྱིར་འགྱངས།"
+
+#: ../gnome-session/main.c:89
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "ཡོངས་འབྲེལ་ཡན་ལག་ཚུ་གིས་ ངོས་ལན་བྱིན་ནིའི་དོན་ལུ་ རྫོགས་ཡོད་པའི་དུས་ཡུན་ མི་ལི་སྐར་ཆ། (༠=རྟག་པར)"
+
+#: ../gnome-session/main.c:90
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "ཡོངས་འབྲེལ་ཡན་ལག་ཚུ་ ཤི་བཅུག་ནིའི་དོན་ལུ་ རྫོགས་ཡོད་པའི་དུས་ཡུན་ མི་ལི་སྐར་ཆ། (༠=རྟག་པར)"
+
+#: ../gnome-session/main.c:166
+msgid "This session is running as a privileged user"
+msgstr "ལཱ་ཡུན་འདི་ཁེ་དབང་ལག་ལེན་པ་སྦེ་འཇུག་སྤྱོད་འབད་དོ"
+
+#: ../gnome-session/main.c:168
+msgid "Running a session as a privileged user should be avoided for security reasons. If possible, you should log in as a normal user."
+msgstr "ལཱ་ཡུན་ཁེ་དབང་ལག་ལེན་པ་སྦེ་འཇུག་སྤྱོད་སྲུང་སྐྱོབ་ཀྱི་རྒྱུ་མཚན་གི་དོན་ལུ་ཟུར་། གལ་སྲིད་ཚགས་པ་ཅིན་ ཁྱོད་སྤྱིར་གཏང་ལག་ལེན་སྦེ་ནང་བསྐྱོད་འབད།"
+
+#: ../gnome-session/main.c:172
+msgid "_Continue"
+msgstr "འཕྲོ་མཐུད(_C)"
+
+#: ../gnome-session/main.c:256
+#, c-format
+msgid ""
+"The session might encounter issues if the computer clock is not properly configured. Please consider adjusting it.\n"
+"\n"
+"Current date is <b>%s</b>."
+msgstr ""
+"ལཱ་ཡུན་དེ་གནད་དོན་ངོ་ཕྲད་འོང་གལ་སྲིད་གློག་རིག་ཆེ་འཁོར་འདི་ལེགས་ཤོམ་སྦེ་རིམ་སྒྲིག་མ་འབད་བ་ཅིན འདི་བདེ་སྒྲིག་ཆ་འཇོག་འབད་གནང\n"
+"\n"
+"ད་ལྟོའི་ཚེས་གྲངས་འདི <b>%s</b>."
+
+#: ../gnome-session/main.c:375
+#, c-format
+msgid "Failed to launch time configuration tool: %s"
+msgstr "ལག་ཆས་རིམ་སྒྲིག་ གསར་བཙུགས་འབད་བའི་སྐབས་འཐུས་ཤོར་བྱུང་ཡོདཔ: %s"
+
+#: ../gnome-session/main.c:406
+msgid "The computer clock appears to be wrong"
+msgstr "གློག་རིག་ཆེ་འཁོར་འཛོལ་བ་འབྱུང་ནི་བཟུམ་འདུག།"
+
+#: ../gnome-session/main.c:413
+msgid "_Ignore"
+msgstr "སྣང་མེད་སྦེ་བཞག(_I)"
+
+#: ../gnome-session/main.c:414
+msgid "_Adjust the Clock"
+msgstr "ཆེ་འཁོར་བདེ་སྒྲིག་འབད(_A)"
+
+#: ../gnome-session/main.c:551
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"%sགི་དོན་ལུ་ ཨིན་ཊར་ནེཊི་ཁ་བྱང་ བལྟ་མ་ཚུགས། \n"
+"འདི་གིས་ཇི་ནོམ་ ངེས་བདེན་སྦེ་ ལཱ་འབད་ནི་ལུ་ བཀག་ཐབས་འབདཝ་ཨིན། \n"
+"ཡིག་སྣོད་དང་ ཧོསིཊི་ལ་སོགས་པ་ལུ་%sཁ་སྐོང་བརྐྱབས་པའི་ཐོག་ལས་ \n"
+" དཀའ་ངལ་འདི་སེལ་ཚུགསཔ་འོང་།"
+
+#: ../gnome-session/main.c:558
+msgid "Log in Anyway"
+msgstr "གང་རུང་སྦེ་ ནང་བསྐྱོད་འབད།"
+
+#: ../gnome-session/main.c:559
+msgid "Try Again"
+msgstr "ལོག་སྟེ་འབད་རྩོལ་བསྐྱེད།"
+
+#: ../gnome-session/main.c:693
+msgid "- Manage the GNOME session"
+msgstr "- ཇི་ནོམ་ལཱ་ཡུན་ འཛིན་སྐྱོང་འཐབ།"
+
+#: ../gnome-session/manager.c:513
+msgid "Wait abandoned due to conflict."
+msgstr "འཐབ་འཁྲུག་ལུ་བརྟེན་ཏེ་ བསྒུག་སྡོད་ནི་ འདོར་བཞག་ནུག"
+
+#: ../gnome-session/manager.c:1021
+#, c-format
+msgid "No response to the %s command."
+msgstr "བརྡ་བཀོད་%s ལུ་ ལན་གསལ་མིན་འདུག"
+
+#: ../gnome-session/manager.c:1022
+msgid "The program may be slow, stopped or broken."
+msgstr "ལས་རིམ་དེ་ ལྷོད་ཆ་ཞུགས་པའམ་ མཚམས་འཇོག་སོང་བ་ ཡང་ན་ རྒྱུན་ཆད་སོངཔ་འོང་ནི་མས།"
+
+#: ../gnome-session/manager.c:1023
+msgid "You may wait for it to respond or remove it."
+msgstr "ཁྱོད་ཀྱིས་དེ་གི་ལན་གསལ་གྱི་དོན་ལུ་ བསྒུག་དགོཔ་འོང་། ཡང་ན་ རྩ་བསྐྲད་གཏང་།"
+
+#: ../gnome-session/manager.c:1749
+msgid "Restart abandoned due to failures."
+msgstr "འཐུས་ཤོར་ལུ་བརྟེན་ཏེ་ ལོག་འགོ་བཙུགས་ནི་ འདོར་བཞག་ནུག"
+
+#: ../gnome-session/manager.c:1945
+msgid "A session shutdown is in progress."
+msgstr "ལཱ་ཡུན་ཅིག་ སྒོ་བསྡམ་པའི་བསྒང་ཡོད།"
+
+#: ../gnome-session/gnome-session-save.c:48
+msgid "Set the current session name"
+msgstr "ད་ལྟོའི་ལཱ་ཡུན་དེ་གི་མིང་ གཞི་སྒྲིག་འབད།"
+
+#: ../gnome-session/gnome-session-save.c:49
+msgid "Kill session"
+msgstr "ལཱ་ཡུན་བསད།"
+
+#: ../gnome-session/gnome-session-save.c:50
+msgid "Use dialog boxes for errors"
+msgstr "འཛོལ་བ་ཚུ་གི་དོན་ལུ་ ཌའི་ལོག་སྒྲོམ་ཚུ་ ལག་ལེན་འཐབ་"
+
+#: ../gnome-session/gnome-session-save.c:51
+msgid "Do not require confirmation"
+msgstr "ངེས་དཔྱད་དགོས་མཁོ་མེད་"
+
+#: ../gnome-session/gnome-session-save.c:149
+#: ../gnome-session/gnome-session-save.c:187
+msgid "Could not connect to the session manager"
+msgstr "ལཱ་ཡུན་འཛིན་སྐྱོང་པ་དང་གཅིག་ཁར་ མཐུད་མ་ཚུགས།"
+
+#: ../gnome-session/gnome-session-save.c:172
+msgid "- Save the current session"
+msgstr "- ད་ལྟོའི་ལཱ་ཡུན་དེ་སྲུངས།"
+
+#: ../gnome-session/session-properties-capplet.c:154
+msgid "Save changes to the current session before closing?"
+msgstr "ཁ་མ་བསྡམ་པའི་ཧེ་མ་ ད་ལྟོའི་ལཱ་ཡུན་དེ་ལུ་ བསྒྱུར་བཅོས་ཚུ་ སྲུང་བཞག་འབད?"
+
+#: ../gnome-session/session-properties-capplet.c:156
+msgid "If you don't save, changes will be discarded."
+msgstr "ཁྱོད་ཀྱིས་སྲུང་བཞག་མ་འབད་བ་ཅིན་ བསྒྱུར་བཅོས་ཚུ་བཏོན་བཀོག་འོང་།"
+
+#: ../gnome-session/session-properties-capplet.c:159
+msgid "_Close without Saving"
+msgstr "སྲུང་བཞག་མ་འབད་བར་ཁ་བསྡམ་(_C)"
+
+#: ../gnome-session/session-properties-capplet.c:224
+msgid "Sessions Preferences"
+msgstr "ལཱ་ཡུན་གྱི་ དགའ་གདམ་ཚུ་ "
+
+#. non-session managed startup programs
+#: ../gnome-session/session-properties-capplet.c:250
+msgid "Additional startup _programs:"
+msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་ལས་རིམ་ཁ་སྐོང་།(_p)"
+
+#: ../gnome-session/session-properties-capplet.c:275
+msgid "Enabled"
+msgstr "ལྕོགས་ཅན་བཟོ་ཡོདཔ་"
+
+#: ../gnome-session/session-properties-capplet.c:319
+msgid "Startup Programs"
+msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་ལས་རིམ་ཚུ།"
+
+#: ../gnome-session/session-properties-capplet.c:326
+msgid "Current Session"
+msgstr "ད་ལྟོའི་ལཱ་ཡུན།"
+
+#. Autosave
+#: ../gnome-session/session-properties-capplet.c:337
+msgid "_Automatically remember running applications when logging out"
+msgstr "ཕྱིར་བསྐྱོད་འབད་བའི་སྐབས་ རང་བཞིན་གྱི་གཡོག་བཀོལ་བའི་སྒང་གི་འཇུག་སྤྱོད་སེམ་ཁར་བཞག(_A)"
+
+#: ../gnome-session/session-properties-capplet.c:353
+msgid "_Remember Currently Running Applications"
+msgstr "ད་ལྟོ་ གཡོག་བཀོལ་བའི་བསྒང་ཡོད་པའི་ འཇུག་སྤྱོད་ཚུ་སེམས་ཁར་བཞག་ "
+
+#: ../gnome-session/session-properties-capplet.c:361
+msgid "Session Options"
+msgstr "ལཱ་ཡུན་གྱི་གདམ་ཁ་ཚུ།"
+
+#: ../gnome-session/session-properties-capplet.c:457
+msgid "Your session has been saved."
+msgstr "ཁྱོད་ཀྱི་ལཱ་ཡུན་དེ་ སྲུང་བཞག་འབད་ཡོད།"
+
+#: ../gnome-session/session-properties-capplet.c:500
+#, c-format
+msgid "could not connect to the session manager\n"
+msgstr "ལཱ་ཡུན་འཛིན་སྐྱོང་པ་འདི་ལུ་ མཐུད་མ་ཚུགས་\n"
+
+#: ../gnome-session/session-properties-capplet.c:506
+#, c-format
+msgid "session manager does not support GNOME extensions\n"
+msgstr "ལཱ་ཡུན་འཛིན་སྐྱོང་པ་གིས་ ཇི་ནོམ་རྒྱ་བསྐྱེད་རྒྱབ་སྐྱོར་མི་འབད་\n"
+
+#: ../gnome-session/session-properties.c:51
+msgid "Remove the currently selected client from the session."
+msgstr "ད་ལྟོ་སེལ་འཐུ་འབད་ཡོད་མི་ ཡོངས་འབྲེལ་ཡན་ལག་དེ་ ལཱ་ཡུན་ནང་ལས་ རྩ་བསྐྲད་གཏང་།"
+
+#: ../gnome-session/session-properties.c:57
+msgid "Apply changes to the current session"
+msgstr "ད་ལྟོའི་ལཱ་ཡུན་དེ་ལུ་ བསྒྱུར་བཅོས་ཚུ་ ལག་ལེན་འཐབ།"
+
+#: ../gnome-session/session-properties.c:63
+msgid "The list of programs in the session."
+msgstr "ལཱ་ཡུན་ནང་གི་ ལས་རིམ་ཚུ་གི་ཐོ་ཡིག"
+
+#: ../gnome-session/session-properties.c:89
+msgid "Currently running _programs:"
+msgstr "ད་ལྟོ་གཡོག་བཀོལ་བའི་བསྒང་ཡོད་མི་ ལས་རིམ་ཚུ་:(_p)"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Sawfish Window Manager"
+msgstr "སཱ་ཕིཤ་ སྒོ་སྒྲིག་འཛིན་སྐྱོང་པ།"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Metacity Window Manager"
+msgstr "མེ་ཊ་སི་ཊི་ སྒོ་སྒྲིག་འཛིན་སྐྱོང་པ།"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "Window Manager"
+msgstr "སྒོ་སྒྲིག་འཛིན་སྐྱོང་པ།"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "The Panel"
+msgstr "པེ་ནཱལ།"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "ནའུ་ཊི་ལཱསི།"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "ཌེཀསི་ཊོཔ་གི་གཞི་སྒྲིག་ཚུ།"
+
+#: ../gnome-session/startup-programs.c:348
+msgid "No description"
+msgstr "འགྲེལ་བཤད་མེད"
+
+#: ../gnome-session/startup-programs.c:409
+msgid "Select Command"
+msgstr "བརྡ་བཀོད་ སེལ་འཐུ་འབད་ "
+
+#: ../gnome-session/startup-programs.c:471
+msgid "_Name:"
+msgstr "མིང་:(_N)"
+
+#: ../gnome-session/startup-programs.c:486
+msgid "Co_mmand:"
+msgstr "བརྡ་བཀོད་:(_M)"
+
+#: ../gnome-session/startup-programs.c:498
+msgid "_Browse..."
+msgstr "བརྡ་འཚོལ(_B)"
+
+#: ../gnome-session/startup-programs.c:510
+msgid "Comm_ent:"
+msgstr "བས་བཀོད་:(_E)"
+
+#: ../gnome-session/startup-programs.c:538
+msgid "The name of the startup program cannot be empty"
+msgstr "འགོ་བཙུགས་ལས་རིམ་འདི་གི་མིང་ སྟོངམ་སྦེ་མི་བཏུབ་"
+
+#: ../gnome-session/startup-programs.c:540
+msgid "The startup command cannot be empty"
+msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་བརྡ་བཀོད་དེ་ སྟོངམ་བཏོན་མི་ཚུགས་པས།"
+
+#: ../gnome-session/startup-programs.c:546
+msgid "The startup command is not valid"
+msgstr "འགོ་བཙུགས་བརྡ་བཀོད་དེ་ ནུས་ལྡན་མེན་པས་"
+
+#: ../gnome-session/startup-programs.c:603
+msgid "Add Startup Program"
+msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་ལས་རིམ་ ཁ་སྐོང་རྐྱབས།"
+
+#: ../gnome-session/startup-programs.c:647
+msgid "Edit Startup Program"
+msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་ལས་རིམ་ ཞུན་དག་རྐྱབས།"
+
+#~ msgid "New Startup Program"
+#~ msgstr "འགོ་བཙུགས་ལས་རིམ་གསརཔ་"
+#~ msgid "_Save current setup"
+#~ msgstr "ད་ལྟོའི་གཞི་སྒྲིག་ཚུ་སྲུངས།(_S)"
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "ལཱ་ཡུན་ནང་གི་བསྒྱུར་བཅོས་ཙུ་ རང་བཞིན་གྱིས་ སྲུང་བཞག་འབད།(_g)"
+#~ msgid "Save the current session"
+#~ msgstr "ད་ལྟོའི་ལཱ་ཡུན་དེ་སྲུངས་"
+#~ msgid "The session name cannot be empty"
+#~ msgstr "ལཱ་ཡུན་མིང་དེ་ སྟོངམ་བཏོན་མི་ཚུགས།"
+#~ msgid "The session name already exists"
+#~ msgstr "ལཱ་ཡུན་མིང་དེ་ ཧེ་མ་ལས་རང་འདུག"
+#~ msgid "Add a new session"
+#~ msgstr "ལཱ་ཡུན་གསརཔ་ཅིག་ ཁ་སྐོང་རྐྱབས།"
+#~ msgid "Edit session name"
+#~ msgstr "ལཱ་ཡུན་མིང་ ཞུན་དག་རྐྱབས།"
+#~ msgid "Disable"
+#~ msgstr "ལྕོགས་མིན་བཟོ།"
+#~ msgid "_Edit"
+#~ msgstr "ཞུན་དག(_E)"
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "བསྒྱུར་བཅོས་ལ་ལོ་ཅིག་ སྲུང་བཞག་མ་འབད་བས།\n"
+#~ "ཕྱིར་འཐོན་འབད་རུང་བཏུབ་ག?"
+#~ msgid "Show splash screen on _login"
+#~ msgstr "ནང་བསྐྱོད་སྐབས་ལུ་ སི་པེལེཤ་གསལ་གཞི་སྟོན།(_l)"
+#~ msgid "As_k on logout"
+#~ msgstr "ཕྱིར་བསྐྱོད་སྐབས་ལུ་དྲིས།(_k)"
+#~ msgid "_Sessions:"
+#~ msgstr "ལཱ་ཡུན་ཚུ་:(_S)"
+#~ msgid "_Startup Command:"
+#~ msgstr "འགོ་བཙུགས་སྐབས་ཀྱི་བརྡ་བཀོད།(_S)"
+#~ msgid "There was an unknown activation error."
+#~ msgstr "ཤུགས་ལྡན་བཟོ་ནི་ལུ་ མ་ཤེས་པའི་འཛོལ་བ་ཅིག་བྱུང་ནུག"
+#~ msgid "Initialize session settings"
+#~ msgstr "ལཱ་ཡུན་གྱི་གཞི་སྒྲིག་ཚུ་ འགོ་འབྱེད་འབད།"
+#~ msgid "Session Manager Proxy"
+#~ msgstr "ལཱ་ཡུན་འཛིན་སྐྱོང་པའི་ པོརོག་སི།"
+
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..0227e9f
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,822 @@
+# Greek translation of gnome-session
+# Copyright (C) 1999 ~ 2009 Free Software Foundation, Inc.
+# Comment: Most of the work done by Spiros (around 600 messages).
+# Comment: Simos/Sarantis did 12%.
+# Comment: Simos/Sarantis did review.
+# Comment: Simos did 10 new/unfuzzy 30.
+# Comment: Simos did 3 new/unfuzzy 1.
+# Comment: Simos did 2 new/unfuzzy 8.
+# Comment: Simos did 6 new/unfuzzy 8.
+# Comment: Simos did 2 new/unfuzzy 5.
+# Split from gnome-core as gnome-session.
+# kostas: 10Dec2002, updated translation for Gnome 2.1x
+# kostas: 26Jan2003, one more update.
+# kostas:03Aug2003, updated translation for Gnome2.4
+# nikos: 06Sep2003, review
+# kostas:12Nov2003.fixes
+# simos: 874 messages, 18Feb2001, (sgpbea).
+# simos: 897 messages, 01Mar2001, (regmtsgpbea).
+# simos: 959 messages, 04Jun2001, (micumple).
+# simos: 959 messages, 06Jun2001, (fixed minor typo).
+# simos: 897 messages, 28Nov2001, (feeling good to translate HEAD).
+# simos: 112 messages, 20Apr2002, complete translation.
+# simos: 96 messages, 19Aug2992, compelte translation.
+# Spiros Papadimitriou <spapadim+@cs.cmu.edu>, 1999.
+# Simos Xenitellis <simos@hellug.gr>, 1999, 2000, 2001, 2002,.
+# Sarantis Paskalis <paskalis@di.uoa.gr>, 2000.
+# Kostas Papadimas <pkst@gmx.net>, 2003.
+# Nikos Charonitakis <frolix68@yahoo.gr>, 2003.
+# Kostas Papadimas <pkst@gnome.org>, 2003, 2005, 2006, 2008.
+# Jennie Petoumenou <epetoumenou@gmail.com>, 2009.
+# Michael Kotsarinis <mk73628@gmail.com>, 2011.
+# Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>, 2013.
+# Efstathios Iosifidis <iosifidis@opensuse.org>, 2013-2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: el\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-07-31 14:02+0000\n"
+"PO-Revision-Date: 2020-09-30 23:04+0300\n"
+"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n"
+"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.3\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Προσαρμοσμένο"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Αυτή η καταχώριση επιτρέπει την επιλογή μιας αποθηκευμένης συνεδρίας"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Εικονικό GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME σε Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Αποθήκευση συνεδρίων"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+"Αν ενεργοποιηθεί, η συνεδρία του gnome θα αποθηκεύει αυτόματα τη συνεδρία."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Αποθήκευση συνεδρίας"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Αν ενεργοποιηθεί, η συνεδρία του gnome θα αποθηκεύει αυτόματα την επόμενη "
+"συνεδρία στην έξοδο ακόμη και αν η αυτόματη αποθήκευση είναι "
+"απενεργοποιημένη."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Ειδοποίηση αποσύνδεσης"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Αν ενεργοποιηθεί, η συνεδρία του gnome θα ειδοποιεί το χρήστη πριν το τέλος "
+"της συνεδρίας."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Προβολή προειδοποίησης εφεδρικής συνεδρίας"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Αν ενεργοποιηθεί, η συνεδρία του gnome θα εμφανίσει έναν διάλογο "
+"προειδοποίησης μετά την είσοδο αν χρησιμοποιήθηκε η εφεδρική συνεδρία."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Προσαρμοσμένη συνεδρία"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Παρακαλούμε επιλέξτε μια προσαρμοσμένη συνεδρία για να εκτελεστεί"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Νέα συνεδρία"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Αφαίρεση συνεδρίας"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Με_τονομασία συνεδρίας"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Συνέχεια"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Ωχ όχι! Κάτι πήγε στραβά."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Προέκυψε ένα πρόβλημα και το σύστημα δε μπορεί να ανακάμψει. Παρακαλούμε "
+"επικοινωνήστε με τον διαχειριστή του συστήματος"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Προέκυψε ένα πρόβλημα και το σύστημα δε μπορεί να ανακάμψει. Έχουν "
+"απενεργοποιηθεί όλες οι επεκτάσεις για λόγους προφύλαξης."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Προέκυψε ένα πρόβλημα και το σύστημα δε μπορεί να ανακάμψει.\n"
+"Παρακαλούμε αποσυνδεθείτε και δοκιμάστε ξανά."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Απο_σύνδεση"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Ενεργοποίηση κώδικα αποφαλμάτωσης"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Να επιτρέπεται αποσύνδεση"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Προβολή προειδοποίησης επέκτασης"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Δεν ανταποκρίνεται"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "_Αποσύνδεση"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Απομνημόνευση εφαρμογών"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Αυτό το πρόγραμμα εμποδίζει την αποσύνδεση."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Άρνηση σύνδεσης νέου πελάτη επειδή το σύστημα τερματίζεται αυτή τη στιγμή\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Αδυναμία δημιουργίας υποδοχής ακρόασης ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Εκτελείται ως υπηρεσία systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Χρήση διαχείριση συνεδρίας systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Χρήση της ενσωματωμένης διαχείρισης συνεδρίας (και όχι την βασισμένη στο "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Παράκαμψη τυπικών καταλόγων αυτόματης εκκίνησης"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Συνεδρία για χρήση"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Να μην φορτώνονται εφαρμογές καθορισμένες από τον χρήστη"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Η έκδοση αυτής της εφαρμογής"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Εμφάνιση του διαλόγου fail whale για δοκιμή"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Απενεργοποίηση ελέγχου επιτάχυνσης υλικού"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — ο διαχειριστής συνεδρίας του GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Εκκίνηση του gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Εκκίνηση του gnome-session-shutdown.target όταν λαμβάνετε EOF ή ένα μόνο "
+"byte στο stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Η αρχικοποίηση του σήματος έγινε στο gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Επανεκκίνηση της υπηρεσίας dbus εάν εκτελείται"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Εκτέλεση από το ExecStopPost για εκκίνηση του gnome-session-failed.target σε "
+"περίπτωση αποτυχίας υπηρεσίας"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Το πρόγραμμα χρειάζεται ακριβώς μία παράμετρο"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Εκτέλεση COMMAND ενώ παρεμποδίζεται κάποια λειτουργικότητα συνεδρίας.\n"
+"\n"
+" -h, --help Προβολή αυτής της βοήθειας\n"
+" --version Προβολή έκδοσης προγράμματος\n"
+" --app-id ID Το χρησιμοποιούμενο αναγνωριστικό της εφαρμογής\n"
+" όταν εμποδίζεται (προαιρετικό)\n"
+" --reason REASON Ο λόγος παρεμπόδισης (προαιρετικός)\n"
+" --inhibit ARG Τα πράγματα για παρεμπόδιση, λίστα που χωρίζεται με : "
+"για τα\n"
+" : αποσύνδεση, εναλλαγή χρήστη, αναστολή, αδράνεια, "
+"αυτόματη προσάρτηση\n"
+" --inhibit-only Να μην ξεκινά η COMMAND και να περιμένετε για πάντα\n"
+" -l, --list Εμφάνιση των υπαρχόντων παρεμποδίσεων, και έξοδος\n"
+"\n"
+"Εάν δεν έχει οριστεί καμιά επιλογή --inhibit, υποτίθεται αδράνεια.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Αποτυχία εκτέλεσης του %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "Το %s απαιτεί ένα όρισμα\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Αποσύνδεση"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Τερματισμός"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Επανεκκίνηση"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Αγνοώντας όποιους υπάρχοντες αναστολείς"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Να μη ζητείται επιβεβαίωση από το χρήστη"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Αδυναμία σύνδεσης με το διαχειριστή συνεδρίας"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Το πρόγραμμα κλήθηκε με συγκρουόμενες επιλογές"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Συνεδρία %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Τα ονόματα της συνεδρίας δεν επιτρέπεται να ξεκινάνε με «.» ή να περιέχουν "
+"χαρακτήρες «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Τα ονόματα της συνεδρίας δεν επιτρέπεται να ξεκινούν με «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Τα ονόματα της συνεδρίας δεν επιτρέπεται να περιέχουν χαρακτήρες «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Υπάρχει ήδη μια συνεδρία με όνομα «%s»"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Πρόσθετα _προγράμματα εκκίνησης:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Προγράμματα εκκίνησης"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Αυτόματη απομνημόνευση εκτελούμενων εφαρμογών κατά την αποσύνδεση"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Α_πομνημόνευση εφαρμογών που εκτελούνται"
+
+#~ msgid "Options"
+#~ msgstr "Επιλογές"
+
+#~ msgid "Browse…"
+#~ msgstr "Περιήγηση…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_Σχόλιο:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Εντολή:"
+
+#~ msgid "_Name:"
+#~ msgstr "Ό_νομα:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME, χρησιμοποιώντας Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Επιλογή εντολής"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Προσθήκη προγραμμάτων εκκίνησης"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Επεξεργασία προγραμμάτων εκκίνησης"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Η εντολή εκκίνησης δε μπορεί να είναι κενή"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Η εντολή εκκίνησης δεν είναι έγκυρη"
+
+#~ msgid "Enabled"
+#~ msgstr "Ενεργό"
+
+#~ msgid "Icon"
+#~ msgstr "Εικονίδιο"
+
+#~ msgid "Program"
+#~ msgstr "Πρόγραμμα"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Προτιμήσεις προγραμμάτων εκκίνησης"
+
+#~ msgid "No name"
+#~ msgstr "Χωρίς όνομα"
+
+#~ msgid "No description"
+#~ msgstr "Χωρίς περιγραφή"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Δεν είναι δυνατή η προβολή του αρχείου βοήθειας"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Προγράμματα εκκίνησης"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr ""
+#~ "Επιλέξτε τα προγράμματα που θα εκκινούνται όταν συνδέεστε στο σύστημα"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Το αρχείο δεν είναι ένα έγκυρο αρχείο .desktop"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Μη αναγνωρίσιμη έκδοση αρχείου desktop '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Εκκινείται %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Η εφαρμογή δεν δέχεται έγγραφα από την γραμμή εντολών"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Μη αναγνωρίσιμη επιλογή εκκίνησης: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Δεν είναι δυνατό το πέρασμα URIs σε μια εγγραφή επιφάνειας εργασίας "
+#~ "'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Δεν είναι ένα εκκινήσιμο αντικείμενο"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Απενεργοποίηση σύνδεσης με το διαχειριστή συνεδρίας"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Καθορισμός αρχείου που περιέχει αποθηκευμένες ρυθμίσεις"
+
+#~ msgid "FILE"
+#~ msgstr "ΑΡΧΕΙΟ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Επιλογές διαχείρισης συνεδρίας:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Προβολή επιλογών διαχείρισης συνεδρίας"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Μερικά προγράμματα εκτελούνται ακόμη:"
+
+#~ msgid "Unknown"
+#~ msgstr "Άγνωστο"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Ένα πρόγραμμα εκτελείται ήδη:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Αναμονή τερματισμού του προγράμματος. Η διακοπή του προγράμματος μπορεί "
+#~ "να προκαλέσει απώλεια δεδομένων."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Αναμονή για τον τερματισμό των προγραμμάτων. Η διακοπή αυτών των "
+#~ "προγραμμάτων μπορεί να προκαλέσει απώλεια δεδομένων."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Αλλαγή χρήστη ούτως ή άλλως"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Αποσύνδεση ούτως ή άλλως"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Αναστολή ούτως ή άλλως"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Αδρανοποίηση ούτως ή άλλως"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Κλείσιμο ούτως ή άλλως"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Επανεκκίνηση οπωσδήποτε"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Κλείδωμα οθόνης"
+
+#~ msgid "Cancel"
+#~ msgstr "Ακύρωση"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Θα αποσυνδεθείτε αυτόματα σε %d δευτερόλεπτο."
+#~ msgstr[1] "Θα αποσυνδεθείτε αυτόματα σε %d δευτερόλεπτα."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Το σύστημα θα κλείσει αυτόματα σε %d δευτερόλεπτο."
+#~ msgstr[1] "Το σύστημα θα κλείσει αυτόματα σε %d δευτερόλεπτα."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Το σύστημα θα επανεκκινηθεί αυτόματα σε %d δευτερόλεπτο."
+#~ msgstr[1] "Το σύστημα θα επανεκκινηθεί αυτόματα σε %d δευτερόλεπτα."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Είστε συνδεδεμένος ως \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Να γίνει αποσύνδεση από το σύστημα τώρα;"
+
+#~ msgid "_Switch User"
+#~ msgstr "Α_λλαγή χρήστη"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Να κλείσει το σύστημα τώρα;"
+
+#~ msgid "S_uspend"
+#~ msgstr "Α_ναστολή"
+
+#~ msgid "_Hibernate"
+#~ msgstr "Α_δρανοποίηση"
+
+#~ msgid "_Restart"
+#~ msgstr "Επα_νεκκίνηση"
+
+#~ msgid "_Shut Down"
+#~ msgstr "Κ_λείσιμο συστήματος"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Να επανεκκινηθεί το σύστημα τώρα;"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Το εικονίδιο '%s' δεν βρέθηκε "
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Αποτυχία φόρτωσης του GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Δυστυχώς το GNOME 3 δεν εκκίνησε σωστά και έγινε εκκίνηση σε <i>εφερδική "
+#~ "κατάσταση</i>.\n"
+#~ "\n"
+#~ "Αυτό πιθανότατα σημαίνει ότι το σύστημά σας (το σύστημα γραφικών ή ο "
+#~ "οδηγός) δεν μπορεί να αποδώσει την πλήρη εμπειρία του GNOME 3."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Μάθετε περισσότερα για το GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Αδυναμία εκκίνησης συνεδρίας με σύνδεση (και αδυναμία σύνδεσης με "
+#~ "εξυπηρετητή X)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Έξοδος με τιμή %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Τερματίστηκε από το σήμα %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Σταμάτησε από το σήμα %d"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Μερικά προγράμματα εκτελούνται ακόμα:</b>"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Υπάρχει πρόβλημα με τον εξυπηρετητή ρυθμίσεων.\n"
+#~ "(%s τερματίστηκε με κατάσταση %d)"
+
+#~ msgid "File Manager"
+#~ msgstr "Διαχειριστής αρχείων"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Λίστα με εφαρμογές που είναι μέρος της προεπιλεγμένης συνεδρίας."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Μια λίστα με στοιχεία που είναι απαραίτητα μέρη της συνεδρίας. (Κάθε "
+#~ "στοιχείο ονομάζει ένα κλειδί στο \"/desktop/gnome/session/"
+#~ "required_components\"). Οι Προτιμήσεις προγραμμάτων εκκίνησης κανονικά "
+#~ "δεν επιτρέπουν στους χρήστες να αφαιρέσουν αυτά τα στοιχεία. Αν κάποια "
+#~ "απαραίτητα στοιχεία αφαιρεθούν, ο διαχειριστής συνεδρίας θα τα προσθέσει "
+#~ "ξανά κατά την επόμενη είσοδο."
+
+#~ msgid "Panel"
+#~ msgstr "Πίνακας εφαρμογών"
+
+#~ msgid "Required session components"
+#~ msgstr "Απαιτούμενα στοιχεία συνεδρίας"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Ο διαχειριστής αρχείων παρέχει τα εικονίδια της επιφάνειας εργασίας σας "
+#~ "και σας επιτρέπει να διαχειρίζεστε τα αποθηκευμένα σας αρχεία."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "Ο αριθμός των λεπτών αδράνειας μέχρι να θεωρηθεί η συνεδρία αδρανής."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Ο πίνακας εφαρμογών παρέχει την μπάρα στο πάνω ή το κάτω μέρος της οθόνης "
+#~ "που περιέχει τα μενού, τη λίστα παραθύρων, τα εικονίδια κατάστασης, το "
+#~ "ρολόι, κτλ."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Ο διαχειριστής παραθύρων είναι το πρόγραμμα εκείνο που σχεδιάζει την "
+#~ "γραμμή τίτλων και τα περιγράμματα γύρω από τα παράθυρα, και σας επιτρέπει "
+#~ "να μετακινείτε και να αλλάζετε το μέγεθος των παραθύρων."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Χρόνος μέχρι να θεωρηθεί η συνεδρία αδρανής"
+
+#~ msgid "Window Manager"
+#~ msgstr "Διαχειριστής παραθύρων"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr ""
+#~ "Κλειδί GConf που χρησιμοποιείται για την αναζήτηση προεπιλεγμένης "
+#~ "συνεδρίας"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Προβολή διαλόγου κλεισίματος"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Χρήση κουτιών διαλόγων για σφάλματα"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Ορισμός του ονόματος της τρέχουσας συνεδρίας"
+
+#~ msgid "NAME"
+#~ msgstr "ΟΝΟΜΑ"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME Settings Daemon Helper"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Αν ενεργοποιηθεί, η συνεδρία του gnome θα αποθηκεύει τη συνεδρία "
+#~ "αυτόματα. Αλλιώς, ο διάλογος αποσύνδεσης θα εμφανίζει μια επιλογή για την "
+#~ "αποθήκευση της συνεδρίας."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr ""
+#~ "Προτιμώμενη εικόνα που θα χρησιμοποιείται για την οθόνη έναρξης σύνδεσης"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Εμφάνιση της οθόνης έναρξης"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Προβολή της οθόνης έναρξης κατά την εκκίνηση της συνεδρίας"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Αυτή είναι μια σχετική τιμή διαδρομής βασισμένη στον κατάλογο $datadir/"
+#~ "pixmaps/. Οι υποκατάλογοι είναι ονόματα εικόνων και έγκυρες τιμές. Οι "
+#~ "αλλαγές σε αυτήν την τιμή θα πραγματοποιηθούν στην επόμενη είσοδο."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Αναμονή για το κλείσιμο του προγράμματος. Η διακοπή του προγράμματος "
+#~ "μπορεί να προκαλέσει απώλεια δεδομένων."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Οθόνη έναρξης του GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Οθόνη έναρξης του GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "Το όνομα του προγράμματος εκκίνησης δε μπορεί να είναι κενό"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Έχει ζητηθεί υποστήριξη για βοηθητικές τεχνολογίες για αυτή την "
+#~ "συνεδρία, αλλά το μητρώο προσιτότητας δεν βρέθηκε. Βεβαιωθείτε ότι το "
+#~ "πακέτο AT-SPI είναι εγκατεστημένο. Η συνεδρία έχει ξεκινήσει χωρίς "
+#~ "υποστήριξη για βοηθητικές τεχνολογίες."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPI Registry Wrapper"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Προτιμήσεις συνεδριών "
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "GNOME Keyring Daemon Wrapper"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Επιθυμητή επιλογή στο διάλογο αποσύνδεσης"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Αυτή είναι η επιλογή που θα επιλέγεται στο διάλογο αποσύνδεσης. Έγκυρες "
+#~ "τιμές είναι\"αποσύνδεση\" , \"τερματισμός\" και \"επανεκκίνηση\"."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Ρύθμιση των συνεδριών σας"
+
+#~ msgid "Session management"
+#~ msgstr "Διαχείριση συνεδρίας"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "GNOME GUI Library + EggSMClient"
diff --git a/po/en@shaw.po b/po/en@shaw.po
new file mode 100644
index 0000000..2246d64
--- /dev/null
+++ b/po/en@shaw.po
@@ -0,0 +1,532 @@
+# Shavian translation for gnome-session.
+# Copyright (C) 2009 The Gnome Foundation.
+# Thomas Thurman <tthurman@gnome.org>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: metacity\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-session&component=general\n"
+"POT-Creation-Date: 2010-05-12 07:26+0000\n"
+"PO-Revision-Date: 2010-05-12 18:36 -0400\n"
+"Last-Translator: Thomas Thurman <tthurman@gnome.org>\n"
+"Language-Team: Shavian <ubuntu-l10n-en-shaw@launchpad.net>\n"
+"Language: en@shaw\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"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "𐑕𐑩𐑤𐑧𐑒𐑑 𐑒𐑩𐑥𐑭𐑯𐑛"
+
+#: ../capplet/gsm-app-dialog.c:194
+msgid "Add Startup Program"
+msgstr "𐑨𐑛 𐑕𐑑𐑸𐑑𐑳𐑐 𐑐𐑮𐑴𐑜𐑮𐑨𐑥"
+
+#: ../capplet/gsm-app-dialog.c:198
+msgid "Edit Startup Program"
+msgstr "𐑧𐑛𐑦𐑑 𐑕𐑑𐑸𐑑𐑳𐑐 𐑐𐑮𐑴𐑜𐑮𐑨𐑥"
+
+#: ../capplet/gsm-app-dialog.c:486
+msgid "The startup command cannot be empty"
+msgstr "𐑞 𐑕𐑑𐑸𐑑𐑳𐑐 𐑒𐑩𐑥𐑭𐑯𐑛 𐑒𐑨𐑯𐑪𐑑 𐑚𐑰 𐑧𐑥𐑐𐑑𐑦"
+
+#: ../capplet/gsm-app-dialog.c:492
+msgid "The startup command is not valid"
+msgstr "𐑞 𐑕𐑑𐑸𐑑𐑳𐑐 𐑒𐑩𐑥𐑭𐑯𐑛 𐑦𐑟 𐑯𐑪𐑑 𐑝𐑨𐑤𐑦𐑛"
+
+#: ../capplet/gsm-properties-dialog.c:555
+msgid "Enabled"
+msgstr "𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
+
+#: ../capplet/gsm-properties-dialog.c:567
+msgid "Icon"
+msgstr "𐑲𐑒𐑪𐑯"
+
+#: ../capplet/gsm-properties-dialog.c:579
+msgid "Program"
+msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥"
+
+#: ../capplet/gsm-properties-dialog.c:792
+msgid "Startup Applications Preferences"
+msgstr "𐑕𐑑𐑸𐑑𐑳𐑐 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟"
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "𐑯𐑴 𐑯𐑱𐑥"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "𐑯𐑴 𐑛𐑦𐑕𐑒𐑮𐑦𐑐𐑖𐑩𐑯"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:441
+msgid "Version of this application"
+msgstr "𐑝𐑻𐑠𐑩𐑯 𐑝 𐑞𐑦𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯"
+
+#: ../capplet/main.c:63
+msgid "Could not display help document"
+msgstr "𐑒𐑫𐑛 𐑯𐑪𐑑 𐑛𐑩𐑕𐑐𐑤𐑱 𐑣𐑧𐑤𐑐 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "·𐑜𐑯𐑴𐑥 𐑕𐑧𐑑𐑦𐑙𐑟 𐑛𐑰𐑥𐑩𐑯 𐑣𐑧𐑤𐑐𐑼"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "·𐑜𐑯𐑴𐑥"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "𐑞𐑦𐑕 𐑕𐑧𐑖𐑩𐑯 𐑤𐑪𐑜𐑟 𐑿 𐑦𐑯𐑑𐑫 ·𐑜𐑯𐑴𐑥"
+
+#: ../data/gnome-session.schemas.in.in.h:1
+msgid "Default session"
+msgstr "𐑛𐑦𐑓𐑷𐑤𐑑 𐑕𐑧𐑖𐑩𐑯"
+
+#: ../data/gnome-session.schemas.in.in.h:2
+msgid "File Manager"
+msgstr "𐑓𐑲𐑤 𐑥𐑨𐑯𐑩𐑡𐑼"
+
+#: ../data/gnome-session.schemas.in.in.h:3
+msgid ""
+"If enabled, gnome-session will prompt the user before ending a session."
+msgstr "𐑦𐑓 𐑦𐑯𐑱𐑚𐑩𐑤𐑛, 𐑯𐑴𐑥-𐑕𐑧𐑖𐑩𐑯 𐑢𐑦𐑤 𐑐𐑮𐑪𐑥𐑐𐑑 𐑞 𐑿𐑟𐑼 𐑚𐑦𐑓𐑹 𐑧𐑯𐑛𐑦𐑙 𐑩 𐑕𐑧𐑖𐑩𐑯."
+
+#, fuzzy
+#: ../data/gnome-session.schemas.in.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, the "
+"logout dialog will have an option to save the session."
+msgstr ""
+"𐑦𐑓 𐑦𐑯𐑱𐑚𐑩𐑤𐑛, 𐑯𐑴𐑥-𐑕𐑧𐑖𐑩𐑯 𐑢𐑦𐑤 𐑕𐑱𐑝 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦. 𐑳𐑞𐑼𐑢𐑲𐑟, 𐑞 logout 𐑛𐑲𐑩𐑤𐑪𐑜 𐑢𐑦𐑤 "
+"𐑣𐑨𐑝 𐑩𐑯 𐑪𐑐𐑖𐑩𐑯 𐑑 𐑕𐑱𐑝 𐑞 𐑕𐑧𐑖𐑩𐑯."
+
+#: ../data/gnome-session.schemas.in.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr "𐑤𐑦𐑕𐑑 𐑝 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑞𐑨𐑑 𐑸 𐑐𐑸𐑑 𐑝 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑕𐑧𐑖𐑩𐑯."
+
+#: ../data/gnome-session.schemas.in.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required_components\"). The "
+"Startup Applications preferences tool will not normally allow users to remove "
+"a required component from the session, and the session manager will "
+"automatically add the required components back to the session at login time "
+"if they do get removed."
+msgstr ""
+"𐑤𐑦𐑕𐑑 𐑝 𐑒𐑩𐑥𐑐𐑴𐑯𐑩𐑯𐑑𐑕 𐑞𐑨𐑑 𐑸 𐑮𐑦𐑒𐑢𐑲𐑼𐑛 𐑨𐑟 𐑐𐑸𐑑 𐑝 𐑞 𐑕𐑧𐑖𐑩𐑯. (𐑰𐑗 𐑧𐑤𐑩𐑥𐑩𐑯𐑑 𐑯𐑱𐑥𐑟 𐑩 𐑒𐑰 𐑳𐑯𐑛𐑼 "
+"\"/desktop/gnome/session/required_components\"). 𐑞 𐑕𐑑𐑸𐑑𐑳𐑐 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 "
+"𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟 𐑑𐑵𐑤 𐑢𐑦𐑤 𐑯𐑪𐑑 𐑯𐑹𐑥𐑩𐑤𐑦 𐑩𐑤𐑬 𐑿𐑟𐑼𐑟 𐑑 𐑮𐑦𐑥𐑵𐑝 𐑩 𐑮𐑦𐑒𐑢𐑲𐑼𐑛 𐑒𐑩𐑥𐑐𐑴𐑯𐑩𐑯𐑑 𐑓𐑮𐑪𐑥 𐑞 "
+"𐑕𐑧𐑖𐑩𐑯, 𐑯 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑼 𐑢𐑦𐑤 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑨𐑛 𐑞 𐑮𐑦𐑒𐑢𐑲𐑼𐑛 𐑒𐑩𐑥𐑐𐑴𐑯𐑩𐑯𐑑𐑕 𐑚𐑨𐑒 𐑑 𐑞 𐑕𐑧𐑖𐑩𐑯 "
+"𐑨𐑑 𐑤𐑪𐑜𐑦𐑯 𐑑𐑲𐑥 𐑦𐑓 𐑞𐑱 𐑛𐑵 𐑜𐑧𐑑 𐑮𐑦𐑥𐑵𐑝𐑛."
+
+#, fuzzy
+#: ../data/gnome-session.schemas.in.in.h:7
+msgid "Logout prompt"
+msgstr "Logout 𐑐𐑮𐑪𐑥𐑐𐑑"
+
+#: ../data/gnome-session.schemas.in.in.h:8
+msgid "Panel"
+msgstr "𐑐𐑨𐑯𐑩𐑤"
+
+#: ../data/gnome-session.schemas.in.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "𐑐𐑮𐑦𐑓𐑻𐑛 𐑦𐑥𐑦𐑡 𐑑 𐑿𐑕 𐑓𐑹 𐑤𐑪𐑜𐑦𐑯 𐑕𐑐𐑤𐑨𐑖 𐑕𐑒𐑮𐑰𐑯"
+
+#: ../data/gnome-session.schemas.in.in.h:10
+msgid "Required session components"
+msgstr "𐑮𐑦𐑒𐑢𐑲𐑼𐑛 𐑕𐑧𐑖𐑩𐑯 𐑒𐑩𐑥𐑐𐑴𐑯𐑩𐑯𐑑𐑕"
+
+#: ../data/gnome-session.schemas.in.in.h:11
+msgid "Save sessions"
+msgstr "𐑕𐑱𐑝 𐑕𐑧𐑖𐑩𐑯𐑟"
+
+#: ../data/gnome-session.schemas.in.in.h:12
+msgid "Show the splash screen"
+msgstr "𐑖𐑴 𐑞 𐑕𐑐𐑤𐑨𐑖 𐑕𐑒𐑮𐑰𐑯"
+
+#: ../data/gnome-session.schemas.in.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr "𐑖𐑴 𐑞 𐑕𐑐𐑤𐑨𐑖 𐑕𐑒𐑮𐑰𐑯 𐑢𐑧𐑯 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑕𐑑𐑸𐑑𐑕 𐑳𐑐"
+
+#: ../data/gnome-session.schemas.in.in.h:14
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+"𐑞 𐑓𐑲𐑤 𐑥𐑨𐑯𐑩𐑡𐑼 𐑐𐑮𐑩𐑝𐑲𐑛𐑟 𐑞 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑲𐑒𐑪𐑯𐑟 𐑯 𐑩𐑤𐑬𐑟 𐑿 𐑑 𐑦𐑯𐑑𐑻𐑨𐑒𐑑 𐑢𐑦𐑞 𐑿𐑼 𐑕𐑱𐑝𐑛 𐑓𐑲𐑤𐑟."
+
+#: ../data/gnome-session.schemas.in.in.h:15
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr "𐑞 𐑯𐑳𐑥𐑚𐑼 𐑝 𐑥𐑦𐑯𐑦𐑑𐑕 𐑝 𐑦𐑯𐑨𐑒𐑑𐑦𐑝𐑦𐑑𐑰 𐑚𐑦𐑓𐑹 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑦𐑟 𐑒𐑩𐑯𐑕𐑦𐑛𐑼𐑛 𐑲𐑛𐑩𐑤."
+
+#: ../data/gnome-session.schemas.in.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+"𐑞 𐑐𐑨𐑯𐑩𐑤 𐑐𐑮𐑩𐑝𐑲𐑛𐑟 𐑞 𐑚𐑸 𐑨𐑑 𐑞 𐑑𐑪𐑐 𐑹 𐑚𐑪𐑑𐑫𐑥 𐑝 𐑞 𐑕𐑒𐑮𐑰𐑯 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙 𐑥𐑧𐑯𐑿𐑟, 𐑞 𐑢𐑦𐑯𐑛𐑴 𐑤𐑦𐑕𐑑, "
+"𐑕𐑑𐑱𐑑𐑫𐑕 𐑲𐑒𐑪𐑯𐑟, 𐑞 𐑒𐑤𐑪𐑒, 𐑧𐑑𐑕."
+
+#: ../data/gnome-session.schemas.in.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders around "
+"windows, and allows you to move and resize windows."
+msgstr ""
+"𐑞 𐑢𐑦𐑯𐑛𐑴 𐑥𐑨𐑯𐑩𐑡𐑼 𐑦𐑟 𐑞 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑞𐑨𐑑 𐑛𐑮𐑷𐑟 𐑞 𐑑𐑲𐑑𐑩𐑤 𐑚𐑸 𐑯 𐑚𐑹𐑛𐑼𐑟 𐑼𐑬𐑯𐑛 𐑢𐑦𐑯𐑛𐑴𐑟, 𐑯 𐑩𐑤𐑬𐑟 𐑿 "
+"𐑑 𐑥𐑵𐑝 𐑯 𐑮𐑰𐑕𐑲𐑟 𐑢𐑦𐑯𐑛𐑴𐑟."
+
+#, fuzzy
+#: ../data/gnome-session.schemas.in.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. "
+"Sub-directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"𐑞𐑦𐑕 𐑦𐑟 𐑩 𐑮𐑧𐑤𐑩𐑑𐑦𐑝 𐑐𐑭𐑔 𐑝𐑨𐑤𐑿 𐑚𐑱𐑕𐑑 𐑪𐑓 𐑞 $datadir/pixmaps/ 𐑛𐑲𐑮𐑧𐑒𐑑𐑼𐑦. 𐑕𐑳𐑚-𐑛𐑲𐑮𐑧𐑒𐑑𐑼𐑦𐑟 "
+"𐑯 𐑦𐑥𐑦𐑡 𐑯𐑱𐑥𐑟 𐑸 𐑝𐑨𐑤𐑦𐑛 𐑝𐑨𐑤𐑿𐑟. 𐑗𐑱𐑯𐑡𐑦𐑙 𐑞𐑦𐑕 𐑝𐑨𐑤𐑿 𐑢𐑦𐑤 𐑦𐑓𐑧𐑒𐑑 𐑞 𐑯𐑧𐑒𐑕𐑑 𐑕𐑧𐑖𐑩𐑯 𐑤𐑪𐑜𐑦𐑯."
+
+#: ../data/gnome-session.schemas.in.in.h:19
+msgid "Time before session is considered idle"
+msgstr "𐑑𐑲𐑥 𐑚𐑦𐑓𐑹 𐑕𐑧𐑖𐑩𐑯 𐑦𐑟 𐑒𐑩𐑯𐑕𐑦𐑛𐑼𐑛 𐑲𐑛𐑩𐑤"
+
+#: ../data/gnome-session.schemas.in.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "𐑢𐑦𐑯𐑛𐑴 𐑥𐑨𐑯𐑩𐑡𐑼"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>𐑕𐑳𐑥 𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑸 𐑕𐑑𐑦𐑤 𐑮𐑳𐑯𐑦𐑙:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:667
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr "𐑢𐑱𐑑𐑦𐑙 𐑓𐑹 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑑 𐑓𐑦𐑯𐑦𐑖. 𐑦𐑯𐑑𐑻𐑳𐑐𐑑𐑦𐑙 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑥𐑱 𐑒𐑷𐑟 𐑿 𐑑 𐑤𐑵𐑟 𐑢𐑻𐑒."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "𐑗𐑵𐑟 𐑢𐑪𐑑 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑑 𐑕𐑑𐑸𐑑 𐑢𐑧𐑯 𐑿 𐑤𐑪𐑜 𐑦𐑯"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "𐑕𐑑𐑸𐑑𐑳𐑐 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "𐑩𐑛𐑦𐑖𐑩𐑯𐑩𐑤 𐑕𐑑𐑸𐑑𐑳𐑐 _𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse..."
+msgstr "𐑚𐑮𐑬𐑟..."
+
+#, fuzzy
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "Co_mmand:"
+
+#, fuzzy
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "Comm_ent:"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "𐑪𐑐𐑖𐑩𐑯𐑟"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "𐑕𐑑𐑸𐑑𐑳𐑐 𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr "_𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑮𐑦𐑥𐑧𐑥𐑚𐑼 𐑮𐑳𐑯𐑦𐑙 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑢𐑧𐑯 𐑤𐑪𐑜𐑦𐑙 𐑬𐑑"
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "_𐑯𐑱𐑥:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "_𐑮𐑦𐑥𐑧𐑥𐑚𐑼 𐑒𐑳𐑮𐑩𐑯𐑑𐑤𐑦 𐑮𐑳𐑯𐑦𐑙 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯"
+
+#, c-format
+#: ../egg/eggdesktopfile.c:165
+msgid "File is not a valid .desktop file"
+msgstr "𐑓𐑲𐑤 𐑦𐑟 𐑯𐑪𐑑 𐑩 𐑝𐑨𐑤𐑦𐑛 .desktop 𐑓𐑲𐑤"
+
+#, c-format
+#: ../egg/eggdesktopfile.c:188
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑓𐑲𐑤 𐑝𐑻𐑠𐑩𐑯 '%s'"
+
+#, c-format
+#: ../egg/eggdesktopfile.c:958
+msgid "Starting %s"
+msgstr "𐑕𐑑𐑸𐑑𐑦𐑙 %s"
+
+#, c-format
+#: ../egg/eggdesktopfile.c:1100
+msgid "Application does not accept documents on command line"
+msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯 𐑛𐑳𐑟 𐑯𐑪𐑑 𐑨𐑒𐑕𐑧𐑐𐑑 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑𐑕 𐑪𐑯 𐑒𐑩𐑥𐑭𐑯𐑛 𐑤𐑲𐑯"
+
+#, c-format
+#: ../egg/eggdesktopfile.c:1168
+msgid "Unrecognized launch option: %d"
+msgstr "𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑤𐑷𐑯𐑗 𐑪𐑐𐑖𐑩𐑯: %d"
+
+#, fuzzy, c-format
+#: ../egg/eggdesktopfile.c:1373
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "𐑒𐑭𐑯𐑑 𐑐𐑭𐑕 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑 URIs 𐑑 𐑩 '𐑑𐑲𐑐=𐑤𐑦𐑙𐑒' 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑧𐑯𐑑𐑮𐑦"
+
+#, fuzzy, c-format
+#: ../egg/eggdesktopfile.c:1394
+msgid "Not a launchable item"
+msgstr "𐑯𐑪𐑑 𐑩 launchable 𐑲𐑑𐑩𐑥"
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr "𐑛𐑦𐑕𐑱𐑚𐑩𐑤 𐑒𐑩𐑯𐑧𐑒𐑖𐑩𐑯 𐑑 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑼"
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr "𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑓𐑲𐑤 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙 𐑕𐑱𐑝𐑛 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑱𐑖𐑩𐑯"
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "𐑓𐑲𐑤"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 ID"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 𐑪𐑐𐑖𐑩𐑯𐑟:"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "𐑖𐑴 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 𐑪𐑐𐑖𐑩𐑯𐑟"
+
+#, c-format
+#: ../gnome-session/gsm-gconf.c:106
+msgid ""
+"There is a problem with the configuration server.\n(%s exited with status %d)"
+msgstr "𐑞𐑺 𐑦𐑟 𐑩 𐑐𐑮𐑪𐑚𐑤𐑩𐑥 𐑢𐑦𐑞 𐑞 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑱𐑖𐑩𐑯 𐑕𐑻𐑝𐑼.\n(%s 𐑧𐑜𐑟𐑦𐑑𐑩𐑛 𐑢𐑦𐑞 𐑕𐑑𐑱𐑑𐑫𐑕 %d)"
+
+#, c-format
+#: ../gnome-session/gsm-inhibit-dialog.c:255
+msgid "Icon '%s' not found"
+msgstr "𐑲𐑒𐑪𐑯 '%s' 𐑯𐑪𐑑 𐑓𐑬𐑯𐑛"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:615
+msgid "Unknown"
+msgstr "𐑳𐑯𐑴𐑯"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:666
+msgid "A program is still running:"
+msgstr "𐑩 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑦𐑟 𐑕𐑑𐑦𐑤 𐑮𐑳𐑯𐑦𐑙:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:670
+msgid "Some programs are still running:"
+msgstr "𐑕𐑳𐑥 𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑸 𐑕𐑑𐑦𐑤 𐑮𐑳𐑯𐑦𐑙:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:671
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you to "
+"lose work."
+msgstr ""
+"𐑢𐑱𐑑𐑦𐑙 𐑓𐑹 𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑑 𐑓𐑦𐑯𐑦𐑖. 𐑦𐑯𐑑𐑻𐑳𐑐𐑑𐑦𐑙 𐑞𐑰𐑟 𐑐𐑮𐑴𐑜𐑮𐑨𐑥𐑟 𐑥𐑱 𐑒𐑷𐑟 𐑿 𐑑 𐑤𐑵𐑟 𐑢𐑻𐑒."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Switch User Anyway"
+msgstr "𐑕𐑢𐑦𐑗 𐑿𐑟𐑼 𐑧𐑯𐑦𐑢𐑱"
+
+#, fuzzy
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Logout Anyway"
+msgstr "Logout 𐑧𐑯𐑦𐑢𐑱"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:907
+msgid "Suspend Anyway"
+msgstr "𐑕𐑩𐑕𐑐𐑧𐑯𐑛 𐑧𐑯𐑦𐑢𐑱"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:910
+msgid "Hibernate Anyway"
+msgstr "𐑣𐑲𐑚𐑼𐑯𐑱𐑑 𐑧𐑯𐑦𐑢𐑱"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:913
+msgid "Shutdown Anyway"
+msgstr "𐑖𐑩𐑑𐑛𐑶𐑯 𐑧𐑯𐑦𐑢𐑱"
+
+#, fuzzy
+#: ../gnome-session/gsm-inhibit-dialog.c:916
+msgid "Reboot Anyway"
+msgstr "Reboot 𐑧𐑯𐑦𐑢𐑱"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:924
+msgid "Lock Screen"
+msgstr "𐑤𐑪𐑒 𐑕𐑒𐑮𐑰𐑯"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:927
+msgid "Cancel"
+msgstr "𐑒𐑨𐑯𐑕𐑩𐑤"
+
+#, c-format
+#: ../gnome-session/gsm-logout-dialog.c:274
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "𐑿 𐑢𐑦𐑤 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑤𐑪𐑜𐑛 𐑬𐑑 𐑦𐑯 %d 𐑕𐑧𐑒𐑩𐑯𐑛."
+msgstr[1] "𐑿 𐑢𐑦𐑤 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑤𐑪𐑜𐑛 𐑬𐑑 𐑦𐑯 %d 𐑕𐑧𐑒𐑩𐑯𐑛𐑟."
+
+#, c-format
+#: ../gnome-session/gsm-logout-dialog.c:282
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "𐑞𐑦𐑕 𐑕𐑦𐑕𐑑𐑩𐑥 𐑢𐑦𐑤 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑖𐑳𐑑 𐑛𐑬𐑯 𐑦𐑯 %d 𐑕𐑧𐑒𐑩𐑯𐑛."
+msgstr[1] "𐑞𐑦𐑕 𐑕𐑦𐑕𐑑𐑩𐑥 𐑢𐑦𐑤 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑖𐑳𐑑 𐑛𐑬𐑯 𐑦𐑯 %d 𐑕𐑧𐑒𐑩𐑯𐑛𐑟."
+
+#, c-format
+#: ../gnome-session/gsm-logout-dialog.c:314
+msgid "You are currently logged in as \"%s\"."
+msgstr "𐑿 𐑸 𐑒𐑳𐑮𐑩𐑯𐑑𐑤𐑦 𐑤𐑪𐑜𐑛 𐑦𐑯 𐑨𐑟 \"%s\"."
+
+#: ../gnome-session/gsm-logout-dialog.c:380
+msgid "Log out of this system now?"
+msgstr "𐑤𐑪𐑜 𐑬𐑑 𐑝 𐑞𐑦𐑕 𐑕𐑦𐑕𐑑𐑩𐑥 𐑯𐑬?"
+
+#: ../gnome-session/gsm-logout-dialog.c:386
+msgid "_Switch User"
+msgstr "_𐑕𐑢𐑦𐑗 𐑿𐑟𐑼"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "_Log Out"
+msgstr "_𐑤𐑪𐑜 𐑬𐑑"
+
+#: ../gnome-session/gsm-logout-dialog.c:401
+msgid "Shut down this system now?"
+msgstr "𐑖𐑳𐑑 𐑛𐑬𐑯 𐑞𐑦𐑕 𐑕𐑦𐑕𐑑𐑩𐑥 𐑯𐑬?"
+
+#: ../gnome-session/gsm-logout-dialog.c:407
+msgid "S_uspend"
+msgstr "𐑕_𐑳𐑕𐑐𐑧𐑯𐑛"
+
+#: ../gnome-session/gsm-logout-dialog.c:413
+msgid "_Hibernate"
+msgstr "_𐑣𐑲𐑚𐑼𐑯𐑱𐑑"
+
+#: ../gnome-session/gsm-logout-dialog.c:419
+msgid "_Restart"
+msgstr "_𐑮𐑰𐑕𐑑𐑸𐑑"
+
+#: ../gnome-session/gsm-logout-dialog.c:429
+msgid "_Shut Down"
+msgstr "_𐑖𐑳𐑑 𐑛𐑬𐑯"
+
+#: ../gnome-session/gsm-manager.c:1220 ../gnome-session/gsm-manager.c:1912
+msgid "Not responding"
+msgstr "𐑯𐑪𐑑 𐑮𐑰𐑕𐑐𐑪𐑯𐑛𐑦𐑙"
+
+#: ../gnome-session/gsm-xsmp-client.c:1189
+msgid "This program is blocking log out."
+msgstr "𐑞𐑦𐑕 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑦𐑟 𐑚𐑤𐑪𐑒𐑦𐑙 𐑤𐑪𐑜 𐑬𐑑."
+
+#: ../gnome-session/gsm-xsmp-server.c:325
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "𐑮𐑩𐑓𐑘𐑵𐑟𐑦𐑙 𐑯𐑿 𐑒𐑤𐑲𐑩𐑯𐑑 𐑒𐑩𐑯𐑧𐑒𐑖𐑩𐑯 𐑚𐑦𐑒𐑪𐑟 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑦𐑟 𐑒𐑳𐑮𐑩𐑯𐑑𐑤𐑦 𐑚𐑰𐑦𐑙 𐑖𐑳𐑑 𐑛𐑬𐑯\n"
+
+#, c-format
+#: ../gnome-session/gsm-xsmp-server.c:587
+msgid "Could not create ICE listening socket: %s"
+msgstr "𐑒𐑫𐑛 𐑯𐑪𐑑 𐑒𐑮𐑦𐑱𐑑 ICE 𐑤𐑦𐑕𐑩𐑯𐑦𐑙 𐑕𐑪𐑒𐑩𐑑: %s"
+
+#. Oh well, no X for you!
+#, c-format
+#: ../gnome-session/gsm-util.c:354
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr "𐑳𐑯𐑱𐑚𐑩𐑤 𐑑 𐑕𐑑𐑸𐑑 𐑤𐑪𐑜𐑦𐑯 𐑕𐑧𐑖𐑩𐑯 (𐑯 𐑳𐑯𐑱𐑚𐑩𐑤 𐑑 𐑒𐑩𐑯𐑧𐑒𐑑 𐑑 𐑞 X 𐑕𐑻𐑝𐑼)"
+
+#, fuzzy
+#: ../gnome-session/main.c:437
+msgid "Override standard autostart directories"
+msgstr "𐑴𐑝𐑼𐑮𐑲𐑛 𐑕𐑑𐑨𐑯𐑛𐑼𐑛 autostart 𐑛𐑲𐑮𐑧𐑒𐑑𐑼𐑦𐑟"
+
+#, fuzzy
+#: ../gnome-session/main.c:438
+msgid "GConf key used to lookup default session"
+msgstr "GConf 𐑒𐑰 𐑿𐑕𐑑 𐑑 𐑤𐑫𐑒𐑩𐑐 𐑛𐑦𐑓𐑷𐑤𐑑 𐑕𐑧𐑖𐑩𐑯"
+
+#: ../gnome-session/main.c:439
+msgid "Enable debugging code"
+msgstr "𐑦𐑯𐑱𐑚𐑩𐑤 𐑛𐑰𐑚𐑳𐑜𐑦𐑙 𐑒𐑴𐑛"
+
+#: ../gnome-session/main.c:440
+msgid "Do not load user-specified applications"
+msgstr "𐑛𐑵 𐑯𐑪𐑑 𐑤𐑴𐑛 𐑿𐑟𐑼-𐑕𐑐𐑧𐑕𐑦𐑓𐑲𐑛 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟"
+
+#: ../gnome-session/main.c:461
+msgid " - the GNOME session manager"
+msgstr " - 𐑞 ·𐑜𐑯𐑴𐑥 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑼"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- ·𐑜𐑯𐑴𐑥 𐑕𐑐𐑤𐑨𐑖 𐑕𐑒𐑮𐑰𐑯"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "·𐑜𐑯𐑴𐑥 𐑕𐑐𐑤𐑨𐑖 𐑕𐑒𐑮𐑰𐑯"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Log out"
+msgstr "𐑤𐑪𐑜 𐑬𐑑"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "𐑤𐑪𐑜 𐑬𐑑, 𐑦𐑜𐑯𐑹𐑦𐑙 𐑧𐑯𐑦 𐑧𐑒𐑟𐑦𐑕𐑑𐑦𐑙 𐑦𐑯𐑣𐑦𐑚𐑩𐑑𐑻𐑟"
+
+#, fuzzy
+#: ../tools/gnome-session-save.c:67
+msgid "Show logout dialog"
+msgstr "𐑖𐑴 logout 𐑛𐑲𐑩𐑤𐑪𐑜"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show shutdown dialog"
+msgstr "𐑖𐑴 𐑖𐑩𐑑𐑛𐑶𐑯 𐑛𐑲𐑩𐑤𐑪𐑜"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Use dialog boxes for errors"
+msgstr "𐑿𐑟 𐑛𐑲𐑩𐑤𐑪𐑜 𐑚𐑪𐑒𐑕𐑩𐑟 𐑓𐑹 𐑻𐑼𐑟"
+
+#. deprecated options
+#: ../tools/gnome-session-save.c:71
+msgid "Set the current session name"
+msgstr "𐑕𐑧𐑑 𐑞 𐑒𐑳𐑮𐑩𐑯𐑑 𐑕𐑧𐑖𐑩𐑯 𐑯𐑱𐑥"
+
+#: ../tools/gnome-session-save.c:71
+msgid "NAME"
+msgstr "𐑯𐑱𐑥"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Kill session"
+msgstr "𐑒𐑦𐑤 𐑕𐑧𐑖𐑩𐑯"
+
+#: ../tools/gnome-session-save.c:73
+msgid "Do not require confirmation"
+msgstr "𐑛𐑵 𐑯𐑪𐑑 𐑮𐑦𐑒𐑢𐑲𐑼 𐑒𐑪𐑯𐑓𐑼𐑥𐑱𐑖𐑩𐑯"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "𐑒𐑫𐑛 𐑯𐑪𐑑 𐑒𐑩𐑯𐑧𐑒𐑑 𐑑 𐑞 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑼"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr "𐑐𐑮𐑴𐑜𐑮𐑨𐑥 𐑒𐑷𐑤𐑛 𐑢𐑦𐑞 𐑒𐑩𐑯𐑓𐑤𐑦𐑒𐑑𐑦𐑙 𐑪𐑐𐑖𐑩𐑯𐑟"
+
diff --git a/po/en_CA.po b/po/en_CA.po
new file mode 100644
index 0000000..d498286
--- /dev/null
+++ b/po/en_CA.po
@@ -0,0 +1,657 @@
+# Canadian English translation of gnome-session
+# Copyright (C) 2004-2006 Adam Weinberger and the GNOME Foundation
+# This file is distributed under the same licence as the gnome-session package.
+# Adam Weinberger <adamw@gnome.org>, 2004, 2005, 2006.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-08-15 15:25-0400\n"
+"PO-Revision-Date: 2005-04-27 11:54-0500\n"
+"Last-Translator: Adam Weinberger <adamw@gnome.org>\n"
+"Language-Team: Canadian English <adamw@gnome.org>\n"
+"Language: en_CA\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Allow TCP connections"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"If enabled, gnome-session will prompt the user before ending a session."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialogue will have an option to save the session."
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Logout prompt"
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "Preferred Image to use for login splash screen"
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Save sessions"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "Selected option in the log-out dialogue"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "Show the splash screen"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "Show the splash screen when the session starts up"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"affect the next session login."
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"This is the option that will be selected in the logout dialogue. Valid "
+"values are \"logout\" for logging out, \"shutdown\" for halting the system "
+"and \"restart\" for restarting the system."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Configure your sessions"
+
+#: ../data/session-properties.desktop.in.in.h:2
+#: ../gnome-session/session-properties-capplet.c:224
+msgid "Sessions"
+msgstr "Sessions"
+
+#: ../gnome-session/gsm-at-startup.c:39
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+
+#: ../gnome-session/gsm-client-editor.c:123
+msgid "_Order:"
+msgstr "_Order:"
+
+#: ../gnome-session/gsm-client-editor.c:125
+msgid "The order in which applications are started in the session."
+msgstr "The order in which applications are started in the session."
+
+#: ../gnome-session/gsm-client-editor.c:133
+msgid "What happens to the application when it exits."
+msgstr "What happens to the application when it exits."
+
+#: ../gnome-session/gsm-client-editor.c:134
+msgid "_Style:"
+msgstr "_Style:"
+
+#: ../gnome-session/gsm-client-list.c:44
+msgid "Inactive"
+msgstr "Inactive"
+
+#: ../gnome-session/gsm-client-list.c:44
+msgid "Waiting to start or already finished."
+msgstr "Waiting to start or already finished."
+
+#: ../gnome-session/gsm-client-list.c:46
+msgid "Starting"
+msgstr "Starting"
+
+#: ../gnome-session/gsm-client-list.c:46
+msgid "Started but has not yet reported state."
+msgstr "Started but has not yet reported state."
+
+#: ../gnome-session/gsm-client-list.c:48
+msgid "Running"
+msgstr "Running"
+
+#: ../gnome-session/gsm-client-list.c:48
+msgid "A normal member of the session."
+msgstr "A normal member of the session."
+
+#: ../gnome-session/gsm-client-list.c:50
+msgid "Saving"
+msgstr "Saving"
+
+#: ../gnome-session/gsm-client-list.c:50
+msgid "Saving session details."
+msgstr "Saving session details."
+
+#. FIXME find better icon
+#: ../gnome-session/gsm-client-list.c:53
+msgid "Unknown"
+msgstr "Unknown"
+
+#: ../gnome-session/gsm-client-list.c:53
+msgid "State not reported within timeout."
+msgstr "State not reported within timeout."
+
+#. FIXME find icon
+#: ../gnome-session/gsm-client-list.c:60
+msgid "Normal"
+msgstr "Normal"
+
+#: ../gnome-session/gsm-client-list.c:60
+msgid "Unaffected by logouts but can die."
+msgstr "Unaffected by logouts but can die."
+
+#: ../gnome-session/gsm-client-list.c:62
+msgid "Restart"
+msgstr "Restart"
+
+#: ../gnome-session/gsm-client-list.c:62
+msgid "Never allowed to die."
+msgstr "Never allowed to die."
+
+#: ../gnome-session/gsm-client-list.c:64
+msgid "Trash"
+msgstr "Trash"
+
+#: ../gnome-session/gsm-client-list.c:64
+msgid "Discarded on logout and can die."
+msgstr "Discarded on logout and can die."
+
+#: ../gnome-session/gsm-client-list.c:66
+msgid "Settings"
+msgstr "Settings"
+
+#: ../gnome-session/gsm-client-list.c:66
+msgid "Always started on every login."
+msgstr "Always started on every login."
+
+#: ../gnome-session/gsm-client-list.c:190
+msgid "Order"
+msgstr "Order"
+
+#: ../gnome-session/gsm-client-list.c:197
+msgid "Style"
+msgstr "Style"
+
+#: ../gnome-session/gsm-client-list.c:204
+msgid "State"
+msgstr "State"
+
+#: ../gnome-session/gsm-client-list.c:211
+#: ../gnome-session/session-properties-capplet.c:283
+msgid "Program"
+msgstr "Program"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:45
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+
+#: ../gnome-session/gsm-gsd.c:57
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:62
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+
+#: ../gnome-session/gsm-gsd.c:145
+msgid "The Settings Daemon restarted too many times."
+msgstr "The Settings Daemon restarted too many times."
+
+#. Name is mandatory and might not be set by the caller
+#: ../gnome-session/gsm-keyfile.c:43
+msgid "No Name"
+msgstr "No Name"
+
+#: ../gnome-session/gnome-session-remove.c:50
+msgid "List registered clients, then exit"
+msgstr "List registered clients, then exit"
+
+#: ../gnome-session/gnome-session-remove.c:52
+msgid "PROGRAM..."
+msgstr "PROGRAM..."
+
+#: ../gnome-session/gnome-session-remove.c:176
+#, c-format
+msgid ""
+"You must specify at least one program to remove. You can list the programs "
+"with --list.\n"
+msgstr ""
+"You must specify at least one program to remove. You can list the programs "
+"with --list.\n"
+
+#: ../gnome-session/gnome-session-remove.c:183
+#, c-format
+msgid "Error: could not connect to the session manager\n"
+msgstr "Error: could not connect to the session manager\n"
+
+#: ../gnome-session/gnome-session-remove.c:197
+#, c-format
+msgid "Currently registered clients:\n"
+msgstr "Currently registered clients:\n"
+
+#: ../gnome-session/gnome-session-remove.c:207
+#, c-format
+msgid "Couldn't find program %s in session\n"
+msgstr "Could not find program %s in session\n"
+
+#. At least try to tell the user something.
+#: ../gnome-session/ice.c:355
+#, c-format
+msgid ""
+"The GNOME session manager cannot start properly. Please report this as a "
+"GNOME bug. Please include this ICE failure message in the bug report: '%"
+"s'. Meanwhile you could try logging in using the failsafe session."
+msgstr ""
+"The GNOME session manager cannot start properly. Please report this as a "
+"GNOME bug. Please include this ICE failure message in the bug report: '%"
+"s'. Meanwhile you could try logging in using the failsafe session."
+
+#: ../gnome-session/ice.c:511
+#, c-format
+msgid ""
+"The GNOME session manager was unable to lock the file '%s'. Please report "
+"this as a GNOME bug. Sometimes this error may occur if the file's directory "
+"is unwritable, you could try logging in via the failsafe session and "
+"ensuring that it is."
+msgstr ""
+"The GNOME session manager was unable to lock the file '%s'. Please report "
+"this as a GNOME bug. Sometimes this error may occur if the file's directory "
+"is unwritable. You could try logging in via the failsafe session and "
+"checking the directory."
+
+#: ../gnome-session/ice.c:538
+#, c-format
+msgid ""
+"The GNOME session manager was unable to read the file: '%s'. If this file "
+"exists it must be readable by you for GNOME to work properly. Try logging "
+"in with the failsafe session and removing this file."
+msgstr ""
+"The GNOME session manager was unable to read the file '%s'. If this file "
+"exists it must be readable by you for GNOME to work properly. Try logging "
+"in with the failsafe session and removing this file."
+
+#: ../gnome-session/ice.c:583
+#, c-format
+msgid ""
+"Could not write to file '%s'. This file must be writable in order for GNOME "
+"to function properly. Try logging in with the failsafe session and removing "
+"this file. Also make sure that the file's directory is writable."
+msgstr ""
+"Could not write to file '%s'. This file must be writable in order for GNOME "
+"to function properly. Try logging in with the failsafe session and removing "
+"this file. Also make sure that the file's directory is writable."
+
+#: ../gnome-session/logout.c:392
+msgid "Are you sure you want to log out?"
+msgstr "Are you sure you want to log out?"
+
+#: ../gnome-session/logout.c:409
+msgid "Remember running applications"
+msgstr "Remember running applications"
+
+#: ../gnome-session/logout.c:432
+msgid "Action"
+msgstr "Action"
+
+#: ../gnome-session/logout.c:449
+msgid "_Log out"
+msgstr "_Log out"
+
+#: ../gnome-session/logout.c:456
+msgid "Sh_ut down"
+msgstr "Sh_ut down"
+
+#: ../gnome-session/logout.c:464
+msgid "_Restart the computer"
+msgstr "_Restart the computer"
+
+#: ../gnome-session/main.c:87
+msgid "Specify a session name to load"
+msgstr "Specify a session name to load"
+
+#: ../gnome-session/main.c:87 ../gnome-session/gnome-session-save.c:48
+msgid "NAME"
+msgstr "NAME"
+
+#: ../gnome-session/main.c:88
+msgid "Only read saved sessions from the default.session file"
+msgstr "Only read saved sessions from the default.session file"
+
+#: ../gnome-session/main.c:89
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Millisecond period spent waiting for clients to register (0=forever)"
+
+#: ../gnome-session/main.c:89 ../gnome-session/main.c:90
+#: ../gnome-session/main.c:91
+msgid "DELAY"
+msgstr "DELAY"
+
+#: ../gnome-session/main.c:90
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Millisecond period spent waiting for clients to respond (0=forever)"
+
+#: ../gnome-session/main.c:91
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Millisecond period spent waiting for clients to die (0=forever)"
+
+#: ../gnome-session/main.c:167
+msgid "This session is running as a privileged user"
+msgstr "This session is running as a privileged user"
+
+#: ../gnome-session/main.c:169
+msgid ""
+"Running a session as a privileged user should be avoided for security "
+"reasons. If possible, you should log in as a normal user."
+msgstr ""
+"Running a session as a privileged user should be avoided for security "
+"reasons. If possible, you should log in as a normal user."
+
+#: ../gnome-session/main.c:173
+msgid "_Continue"
+msgstr "_Continue"
+
+#: ../gnome-session/main.c:257
+#, c-format
+msgid ""
+"The session might encounter issues if the computer clock is not properly "
+"configured. Please consider adjusting it.\n"
+"\n"
+"Current date is <b>%s</b>."
+msgstr ""
+"The session might encounter issues if the computer's clock is not properly "
+"configured. Please consider adjusting it.\n"
+"\n"
+"Current date is <b>%s</b>."
+
+#: ../gnome-session/main.c:376
+#, c-format
+msgid "Failed to launch time configuration tool: %s"
+msgstr "Failed to launch time configuration tool: %s"
+
+#: ../gnome-session/main.c:407
+msgid "The computer clock appears to be wrong"
+msgstr "The computer's clock appears to be wrong"
+
+#: ../gnome-session/main.c:414
+msgid "_Ignore"
+msgstr "_Ignore"
+
+#: ../gnome-session/main.c:415
+msgid "_Adjust the Clock"
+msgstr "_Adjust the Clock"
+
+#: ../gnome-session/main.c:552
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+
+#: ../gnome-session/main.c:559
+msgid "Log in Anyway"
+msgstr "Log in Anyway"
+
+#: ../gnome-session/main.c:560
+msgid "Try Again"
+msgstr "Try Again"
+
+#: ../gnome-session/main.c:696
+msgid "- Manage the GNOME session"
+msgstr "- Manage the GNOME session"
+
+#: ../gnome-session/manager.c:513
+msgid "Wait abandoned due to conflict."
+msgstr "Wait abandoned due to conflict."
+
+#: ../gnome-session/manager.c:1021
+#, c-format
+msgid "No response to the %s command."
+msgstr "No response to the %s command."
+
+#: ../gnome-session/manager.c:1022
+msgid "The program may be slow, stopped or broken."
+msgstr "The program may be slow, stopped or broken."
+
+#: ../gnome-session/manager.c:1023
+msgid "You may wait for it to respond or remove it."
+msgstr "You may wait for it to respond or remove it."
+
+#: ../gnome-session/manager.c:1749
+msgid "Restart abandoned due to failures."
+msgstr "Restart abandoned due to failures."
+
+#: ../gnome-session/manager.c:1945
+msgid "A session shutdown is in progress."
+msgstr "A session shutdown is in progress."
+
+#: ../gnome-session/gnome-session-save.c:48
+msgid "Set the current session name"
+msgstr "Set the current session name"
+
+#: ../gnome-session/gnome-session-save.c:49
+msgid "Kill session"
+msgstr "Kill session"
+
+#: ../gnome-session/gnome-session-save.c:50
+msgid "Use dialog boxes for errors"
+msgstr "Use dialogue boxes for errors"
+
+#: ../gnome-session/gnome-session-save.c:51
+msgid "Do not require confirmation"
+msgstr "Do not require confirmation"
+
+#: ../gnome-session/gnome-session-save.c:149
+#: ../gnome-session/gnome-session-save.c:187
+msgid "Could not connect to the session manager"
+msgstr "Could not connect to the session manager"
+
+#: ../gnome-session/gnome-session-save.c:172
+msgid "- Save the current session"
+msgstr "- Save the current session"
+
+#: ../gnome-session/session-properties-capplet.c:154
+msgid "Save changes to the current session before closing?"
+msgstr "Save changes to the current session before closing?"
+
+#: ../gnome-session/session-properties-capplet.c:156
+msgid "If you don't save, changes will be discarded."
+msgstr "If you don't save, changes will be discarded."
+
+#: ../gnome-session/session-properties-capplet.c:159
+msgid "_Close without Saving"
+msgstr "_Close without Saving"
+
+#: ../gnome-session/session-properties-capplet.c:250
+msgid "Additional startup _programs:"
+msgstr "Additional startup _programs:"
+
+#: ../gnome-session/session-properties-capplet.c:274
+msgid "Enabled"
+msgstr "Enabled"
+
+#: ../gnome-session/session-properties-capplet.c:322
+msgid "Startup Programs"
+msgstr "Startup Programs"
+
+#: ../gnome-session/session-properties-capplet.c:328
+msgid "Current Session"
+msgstr "Current Session"
+
+#: ../gnome-session/session-properties-capplet.c:341
+msgid "_Automatically remember running applications when logging out"
+msgstr "_Automatically remember running applications when logging out"
+
+#: ../gnome-session/session-properties-capplet.c:356
+msgid "_Remember currently running applications"
+msgstr "_Remember currently running applications"
+
+#: ../gnome-session/session-properties-capplet.c:364
+msgid "Session Options"
+msgstr "Session Options"
+
+#: ../gnome-session/session-properties-capplet.c:460
+msgid "Your session has been saved."
+msgstr "Your session has been saved."
+
+#: ../gnome-session/session-properties-capplet.c:503
+#, c-format
+msgid "could not connect to the session manager\n"
+msgstr "could not connect to the session manager\n"
+
+#: ../gnome-session/session-properties-capplet.c:509
+#, c-format
+msgid "session manager does not support GNOME extensions\n"
+msgstr "session manager does not support GNOME extensions\n"
+
+#: ../gnome-session/session-properties.c:51
+msgid "Remove the currently selected client from the session."
+msgstr "Remove the currently selected client from the session."
+
+#: ../gnome-session/session-properties.c:57
+msgid "Apply changes to the current session"
+msgstr "Apply changes to the current session"
+
+#: ../gnome-session/session-properties.c:63
+msgid "The list of programs in the session."
+msgstr "The list of programs in the session."
+
+#: ../gnome-session/session-properties.c:90
+msgid "Currently running _programs:"
+msgstr "Currently running _programs:"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Sawfish Window Manager"
+msgstr "Sawfish Window Manager"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Metacity Window Manager"
+msgstr "Metacity Window Manager"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "Window Manager"
+msgstr "Window Manager"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "The Panel"
+msgstr "The Panel"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Desktop Settings"
+
+#: ../gnome-session/startup-programs.c:348
+msgid "No description"
+msgstr "No description"
+
+#: ../gnome-session/startup-programs.c:467
+msgid "_Name:"
+msgstr "_Name:"
+
+#: ../gnome-session/startup-programs.c:485
+msgid "_Command:"
+msgstr "_Command:"
+
+#: ../gnome-session/startup-programs.c:499
+msgid "_Browse..."
+msgstr "_Browse..."
+
+#: ../gnome-session/startup-programs.c:512
+msgid "Co_mment:"
+msgstr "Co_mment:"
+
+#: ../gnome-session/startup-programs.c:542
+msgid "The name of the startup program cannot be empty"
+msgstr "The name of the startup program cannot be empty"
+
+#: ../gnome-session/startup-programs.c:544
+msgid "The startup command cannot be empty"
+msgstr "The startup command cannot be empty"
+
+#: ../gnome-session/startup-programs.c:550
+msgid "The startup command is not valid"
+msgstr "The startup command is not valid"
+
+#: ../gnome-session/startup-programs.c:607
+msgid "New Startup Program"
+msgstr "New Startup Program"
+
+#: ../gnome-session/startup-programs.c:651
+msgid "Edit Startup Program"
+msgstr "Edit Startup Program"
diff --git a/po/en_GB.po b/po/en_GB.po
new file mode 100644
index 0000000..94ab6b6
--- /dev/null
+++ b/po/en_GB.po
@@ -0,0 +1,1148 @@
+# English (British) translation of gnome-session
+# Copyright (C) 1999-2000 Free Software Foundation, Inc.
+# Robert Brady <robert@susu.org.uk>, 1999-2000.
+# Philip Withnall <philip@tecnocode.co.uk>, 2009, 2010.
+# Bruce Cowan <bruce@bcowan.me.uk>, 2011-2019.
+# Zander Brown <zbrown@gnome.org>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.24\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-07-31 14:02+0000\n"
+"PO-Revision-Date: 2020-08-20 02:23+0100\n"
+"Last-Translator: Zander Brown <zbrown@gnome.org>\n"
+"Language-Team: English - United Kingdom <en_GB@li.org>\n"
+"Language: en_GB\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: Gtranslator 3.36.0\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Custom"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "This entry lets you select a saved session"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "This session logs you into GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME on Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Save sessions"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "If enabled, gnome-session will save the session automatically."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Save this session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Logout prompt"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"If enabled, gnome-session will prompt the user before ending a session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Show the fallback warning"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Custom Session"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Please select a custom session to run"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_New Session"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Remove Session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Rena_me Session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continue"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh no! Something has gone wrong."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Log Out"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Enable debugging code"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Allow logout"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Show extension warning"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Not responding"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "_Log out"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Remembered Application"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "This program is blocking logout."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Could not create ICE listening socket: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Running as systemd service"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Use systemd session management"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Use builtin session management (rather than the systemd based one)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Override standard autostart directories"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session to use"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Do not load user-specified applications"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version of this application"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Show the fail whale dialogue for testing"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Disable hardware acceleration check"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — the GNOME session manager"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Start gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signal initialisation done to gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Restart dbus.service if it is running"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program needs exactly one parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+#| msgid ""
+#| "%s [OPTION…] COMMAND\n"
+#| "\n"
+#| "Execute COMMAND while inhibiting some session functionality.\n"
+#| "\n"
+#| " -h, --help Show this help\n"
+#| " --version Show program version\n"
+#| " --app-id ID The application id to use\n"
+#| " when inhibiting (optional)\n"
+#| " --reason REASON The reason for inhibiting (optional)\n"
+#| " --inhibit ARG Things to inhibit, colon-separated list of:\n"
+#| " logout, switch-user, suspend, idle, automount\n"
+#| " --inhibit-only Do not launch COMMAND and wait forever instead\n"
+#| "\n"
+#| "If no --inhibit option is specified, idle is assumed.\n"
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Failed to execute %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requires an argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Log out"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Power off"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reboot"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignoring any existing inhibitors"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Don’t prompt for user confirmation"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Could not connect to the session manager"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program called with conflicting options"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Session names are not allowed to start with “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Session names are not allowed to contain “/” characters"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "A session named “%s” already exists"
+
+#~ msgid "Select Command"
+#~ msgstr "Select Command"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Add Startup Program"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Edit Startup Program"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "The startup command cannot be empty"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "The startup command is not valid"
+
+#~ msgid "Enabled"
+#~ msgstr "Enabled"
+
+#~ msgid "Icon"
+#~ msgstr "Icon"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Startup Applications Preferences"
+
+#~ msgid "No name"
+#~ msgstr "No name"
+
+#~ msgid "No description"
+#~ msgstr "No description"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Could not display help document"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Some programs are still running:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Startup Applications"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Choose what applications to start when you log in"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Additional startup _programs:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Startup Programs"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Automatically remember running applications when logging out"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Remember Currently Running Applications"
+
+#~ msgid "Options"
+#~ msgstr "Options"
+
+#~ msgid "Browse…"
+#~ msgstr "Browse…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Comm_ent:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mmand:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Name:"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "File is not a valid .desktop file"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Unrecognised desktop file Version '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Starting %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Application does not accept documents on command line"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Unrecognised launch option: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Can't pass document URIs to a 'Type=Link' desktop entry"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Not a launchable item"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Disable connection to session manager"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Specify file containing saved configuration"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Session management options:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Show session management options"
+
+#~ msgid "Unknown"
+#~ msgstr "Unknown"
+
+#~ msgid "A program is still running:"
+#~ msgstr "A program is still running:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Switch User Anyway"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Log Out Anyway"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Suspend Anyway"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernate Anyway"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Shut Down Anyway"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Restart Anyway"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Lock Screen"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancel"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "You will be automatically logged out in %d second."
+#~ msgstr[1] "You will be automatically logged out in %d seconds."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "This system will be automatically shut down in %d second."
+#~ msgstr[1] "This system will be automatically shut down in %d seconds."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "This system will be automatically restarted in %d second."
+#~ msgstr[1] "This system will be automatically restarted in %d seconds."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "You are currently logged in as \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Log out of this system now?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Switch User"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Shut down this system now?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_uspend"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernate"
+
+#~ msgid "_Restart"
+#~ msgstr "_Restart"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Shut Down"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Restart this system now?"
+
+#~ msgid "GNOME fallback"
+#~ msgstr "GNOME fallback"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Icon '%s' not found"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 Failed to Load"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Learn more about GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Some programs are still running:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Exited with code %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Killed by signal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Stopped by signal %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+
+#~ msgid "Default session"
+#~ msgstr "Default session"
+
+#~ msgid "File Manager"
+#~ msgstr "File Manager"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "List of applications that are part of the default session."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Required session components"
+#~ msgstr "Required session components"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Time before session is considered idle"
+
+#~ msgid "Window Manager"
+#~ msgstr "Window Manager"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "GConf key used to look up default session"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Show logout dialogue"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Show shutdown dialogue"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Use dialogue boxes for errors"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Set the current session name"
+
+#~ msgid "NAME"
+#~ msgstr "NAME"
+
+#~ msgid "Kill session"
+#~ msgstr "Kill session"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME Settings Daemon Helper"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialogue will have an option to save the session."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Preferred Image to use for login splash screen"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Show the splash screen"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Show the splash screen when the session starts up"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME Splash Screen"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME Splash Screen"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "The name of the startup program cannot be empty"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT-SPI Registry Wrapper"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Sessions Preferences"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "GNOME Keyring Daemon Wrapper"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Selected option in the logout dialogue"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "This is the option that will be selected in the logout dialogue, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configure your sessions"
+
+#~ msgid "Session management"
+#~ msgstr "Session management"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "GNOME GUI Library + EggSMClient"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Allow TCP connections"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorised) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+
+#~ msgid "_Order:"
+#~ msgstr "_Order:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "What happens to the application when it exits."
+
+#~ msgid "_Style:"
+#~ msgstr "_Style:"
+
+#~ msgid "Inactive"
+#~ msgstr "Inactive"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Waiting to start or already finished."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Started but has not yet reported state."
+
+#~ msgid "Running"
+#~ msgstr "Running"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "A normal member of the session."
+
+#~ msgid "Saving"
+#~ msgstr "Saving"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "State not reported within timeout."
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Unaffected by logouts but can die."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Never allowed to die."
+
+#~ msgid "Trash"
+#~ msgstr "Wastebasket"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Discarded on logout and can die."
+
+#~ msgid "Settings"
+#~ msgstr "Settings"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Always started on every login."
+
+#~ msgid "Order"
+#~ msgstr "Order"
+
+#~ msgid "Style"
+#~ msgstr "Style"
+
+#~ msgid "State"
+#~ msgstr "State"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "The Settings Daemon restarted too many times."
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "List registered clients, then exit"
+
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAM…"
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Error: could not connect to the session manager\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Currently registered clients:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Couldn't find program %s in session\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Are you sure you want to log out?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Restart the computer"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Only read saved sessions from the default.session file"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Millisecond period spent waiting for clients to register (0=forever)"
+
+#~ msgid "DELAY"
+#~ msgstr "DELAY"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Millisecond period spent waiting for clients to respond (0=forever)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Millisecond period spent waiting for clients to die (0=forever)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "This session is running as a privileged user"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "Failed to launch time configuration tool: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "The computer clock appears to be wrong"
+
+#~ msgid "_Ignore"
+#~ msgstr "_Ignore"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Adjust the Clock"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "Try Again"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Wait abandoned due to conflict."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "No response to the %s command."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "The program may be slow, stopped or broken."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "You may wait for it to respond or remove it."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Restart abandoned due to failures."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "A session shutdown is in progress."
+
+#~ msgid "- Save the current session"
+#~ msgstr "- Save the current session"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Save changes to the current session before closing?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "If you don't save, changes will be discarded."
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Close without Saving"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "Your session has been saved."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "could not connect to the session manager\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "session manager does not support GNOME extensions\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Remove the currently selected client from the session."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Apply changes to the current session"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "The list of programs in the session."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Currently running _programs:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Sawfish Window Manager"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Metacity Window Manager"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Desktop Settings"
+
+#~ msgid "New Startup Program"
+#~ msgstr "New Startup Program"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Save current setup"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Automatically save chan_ges to session"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "The session name cannot be empty"
+
+#~ msgid "Add a new session"
+#~ msgstr "Add a new session"
+
+#~ msgid "Edit session name"
+#~ msgstr "Edit session name"
+
+#~ msgid "Disable"
+#~ msgstr "Disable"
+
+#~ msgid "_Edit"
+#~ msgstr "_Edit"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Show splash screen on _login"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Startup Command:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "There was an unknown activation error."
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Initialise session settings"
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 0000000..8130df8
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,660 @@
+# Esperanto translation for gnome-session.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Joël BRICH <joel.brich@laposte.net>, 2003.
+# Guillaume SAVATON <llumeao@tuxfamily.org>, 2006
+# Dominique PELLÉ <dominique.pelle@free.fr>, 2006
+# Joop EGGEN <joop_eggen@yahoo.de>, 2008.
+# Chris PAVLINA <Pavlina.Chris@gmail.com>, 2008.
+# Michael MORONI, <haikara90@gmail.com >, 2009.
+# Donald ROGERS, <dero2648@clear.net.nz>, 2009.
+# Benno SCHULENBERG <bensberg@justemail.net>, 2010
+# Tiffany ANTOPOLSKI <tiffany.antopolski@gmail.com>, 2011.
+# Ryan LORTIE <desrt@desrt.ca>, 2013.
+# Daniel PUENTES <blatberk@openmailbox.org>, 2015.
+# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2009, 2010, 2011, 2015, 2017, 2018.
+# Carmen Bianca BAKKER <carmen@carmenbianca.eu>, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.3.6.2\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2018-08-28 21:21+0000\n"
+"PO-Revision-Date: 2018-10-16 23:10+0200\n"
+"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
+"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
+"Language: eo\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.7.1\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Propra"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ĉi kampo permesas al vi elekti konservitan seancon"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Ĉi tiu seanco salutas vin en GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME lokokupo"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME je Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Konservi seancojn"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se ŝaltita, gnome-session konservos la seancon aŭtomate."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Konservi ĉi tiun seancon"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Se ŝaltita, gnome-session konservos la seancon aŭtomate kiam vi adiaŭas, eĉ "
+"se aŭto-konservado estas malŝaltita."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Adiaŭ-invitilo"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Se ŝaltita, gnome-session demandos la uzanton antaŭ ol fini seancon."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Montri retropaŝan averton"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se ŝaltita, gnome-session montros avertan dialogon antaŭ ol salutado se la "
+"seanco aŭtomate retropaŝiĝis."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Propra seanco"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Bonvolu elekti proporan seancon por lanĉi"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova seanco"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Forigi seancon"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Alino_mi seancon"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Daŭrigi"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Ho ne! Io malsukcesis."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Problemo okazis kaj la sistemo ne eblis retrovi. Bonvolu kontakti "
+"sistemadministranton"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Problemo okazis kaj la sistemo ne eblis retrovi. Ĉiuj kromprogramoj estis "
+"malŝaltitaj por garantii sekurecon."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Problemo okazis kaj la sistemo ne eblas restaŭri.\n"
+"Bonvolu adiaŭi kaj provi denove."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "A_diaŭi"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Ŝalti sencimigan kodon"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Permesi adiaŭon"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Montri kromproagaman averton"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "Ne respondas"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "A_diaŭi"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Memorigitaj aplikaĵoj"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ĉi tiu programaro blokas adiaŭon."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Rifuzas novan klientkonekton ĉar la seanco estas nun elsalutata\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ne eblis krei ICE-aŭskultantan kontaktoskatolon: %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Transiri normajn aŭtomatajn startdosierujojn"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "Uzenda seanco"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Ne ŝargi propre specifitajn aplikaĵojn"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Versio de ĉi tiu aplikaĵo"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Montri la paneo-dialogo por testado"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "Malebligi kontrolon de aparatara plirapidigo"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " — la seancadministrilo de GNOME"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIO...] KOMANDO\n"
+"\n"
+"Plenumi KOMANDO dum inhibiting some session functionality.\n"
+"\n"
+" -h, --help Montri ĉi tiun helpon\n"
+" --version Montri la version de la programo\n"
+" --app-id ID La uzenda aplikaĵa ID\n"
+" kiam malebligante (malnepra)\n"
+" --reason KIALO La kialo por malebligi (malnepra)\n"
+" --inhibit ARG Malebligendaj aferoj, dupunkto-apartigita listo de:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Ne lanĉi COMMAND kaj anstataŭe atendi por ĉiam\n"
+"\n"
+"Se neniu --inhibit opcio estas specifita, oni antaŭsupozas idle.\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Malsukcesis ruli %s\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s bezonas argumenton\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Adiaŭi"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Malŝalti"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Restartigi"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignori ĉiujn ajn ekzistantajn malebligilojn"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne informpeti la uzanton por konfirmo"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Ne eblis konekti al la seancoadministrilo"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programo vokata kun konfliktaj parametroj"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seanco %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Seancaj nomoj ne permesas komenci kun “.” aŭ enhavi “/” signojn"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Seancaj nomoj ne permesas komenci kun “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Seancaj nomoj ne permesas enhavi “/” signojn"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Seanco nomita “%s” jam ekzistas"
+
+#~| msgid "This session logs you into GNOME"
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Tiu seanco ensalutas vin en GNOME, uzante Vejlandon"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Pli lanĉaj a_plikaĵoj:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Lanĉaj aplikaĵoj"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Memori aŭtomate jam lanĉitajn aplikaĵojn kiam vi elsalutas"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Memorigi nuntempe rulantajn aplikaĵojn"
+
+#~ msgid "Options"
+#~ msgstr "Opcioj"
+
+#~ msgid "Browse…"
+#~ msgstr "Foliumi…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Kom_entaro:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ko_mando:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nomo:"
+
+#~ msgid "Select Command"
+#~ msgstr "Elekti komandon"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Aldoni lanĉan programon"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Redakti lanĉan programon"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "La lanĉa komando ne povas esti malplena"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "La lanĉa komando ne estas valida"
+
+#~ msgid "Enabled"
+#~ msgstr "Enŝaltite"
+
+#~ msgid "Icon"
+#~ msgstr "Piktogramo"
+
+#~ msgid "Program"
+#~ msgstr "Programo"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Agordoj de startaj aplikaĵoj"
+
+#~ msgid "No name"
+#~ msgstr "Neniu nomo"
+
+#~ msgid "No description"
+#~ msgstr "Neniu priskribo"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ne eblis montri helpdokumenton"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Iuj programoj ankoraŭ rulas:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Lanĉaj aplikaĵoj"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Elektu kiujn aplikaĵojn startigi kiam vi ensalutas"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Dosiero ne estas valida .desktop-dosiero"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Nerekonata versio '%s' de labortabla dosiero"
+
+#~ msgid "Starting %s"
+#~ msgstr "Lanĉas %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Aplikaĵo ne akceptas dokumentojn per komandlinio"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Nerekonata lanĉo-opcio: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Ne eblas transdoni dokumento-URI-ojn al labortabla elemento 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nelanĉebla ero"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Elŝalti la konekton al la seancoadministrilo"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Specifi dosieron kiu enhavas konservitan agordon"
+
+#~ msgid "FILE"
+#~ msgstr "DOSIERO"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Specifi identigilon de la seancoadministrilo"
+
+#~ msgid "ID"
+#~ msgstr "Identigilon"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opcioj de la seancoadministrilo:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Montri opciojn de la seancoadministrilo"
+
+#~ msgid "Unknown"
+#~ msgstr "Nekonate"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Programo ankoraŭ rulas:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Atendante ĝis la programo finiĝas. Se vi interrompas ĉi tiun programon, "
+#~ "via laboro povus perdiĝi."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Atendas ĝis programoj finiĝas. Vian laboran povus perdigota se vi "
+#~ "interrompas ĉi tiuj programoj."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Ŝanĝi uzanton ĉiukaze"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Elsaluti tamen"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Prokrasti ĉiukaze"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Pasivumigi ĉiukaze"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Elŝalti ĉiukaze"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Restartigi ĉiukaze"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Ŝlosi la ekranon"
+
+#~ msgid "Cancel"
+#~ msgstr "Nuligi"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Vi estos aŭtomate malkonektata post %d sekundo."
+#~ msgstr[1] "Vi estos aŭtomate malkonektata post %d sekundoj."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Ĉi tiu sistemo aŭtomate haltos post %d sekundo."
+#~ msgstr[1] "Ĉi tiu sistemo aŭtomate haltos post %d sekundoj."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Ĉi tiu sistemo aŭtomate restartigos post %d sekundo."
+#~ msgstr[1] "Ĉi tiu sistemo aŭtomate restartigos post %d sekundoj."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Vi ensalutis kiel \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Ĉu elsaluti el la sistemo nun?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Ŝangi la _uzanton"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Ĉu elŝalti ĉi tiun sistemon nun?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Prokrasti"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Pasivumigi"
+
+#~ msgid "_Restart"
+#~ msgstr "_Restartigi"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Elŝalti"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Ĉu restartigi ĉi tiun sistemon nun?"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Kelkaj programoj ankoraŭ rulas:</b>"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Piktogramo '%s' ne trovita"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Problemo okazis kaj la sistemo ne eblis retrovi. Iuj kromprogramoj kiuj "
+#~ "subitajestus kaŭzito de ĉi tiu.\n"
+#~ "Bonvole provu elŝalti iujn de la kromprogramoj kaj provu denove."
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Elirate kun kodo %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Mortigis per signalo %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Haltigis per signalo %d"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Ŝargo de GNOME 3 malsukcesis"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Bedaŭrinde korekta startado de GNOME 3 malsukcesis kaj startis per la "
+#~ "<i>fallback mode</i> (retropaŝa reĝimo).\n"
+#~ "\n"
+#~ "La kompleta sperto de GNOME 3 ne disponeblas por via sistemo. (La grafika "
+#~ "aparato aŭ pelilo ne kapablas lanĉi la plenan GNOME 3)."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Lernu plu pri GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Ne eblas lanĉi ensalutan seancon (kaj ne eblas konekti al la X-servilo)"
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "Interrompas vian seancon, uzante neniun elektron ĝis kiam la komputilo "
+#~ "estas restartigata."
+
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "Rapide interrompas vian seancon, uzante minimuman elektron dum kiam la "
+#~ "komputilo atendas."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Ekzistas problemo pri la konfigura servilo.\n"
+#~ "(%s eliris kun stato %d)"
+
+#~ msgid "Window Manager"
+#~ msgstr "Fenestradministrilo"
+
+#~ msgid "NAME"
+#~ msgstr "NOMO"
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "Finas vian seancon kaj elsalutas vin."
+
+#~ msgid "Hiber_nate"
+#~ msgstr "_Pasivumigi"
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "Elŝalti la komputilon"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Uzi dialogkestojn por eraroj"
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "Interrompas vian seancon, permesante al alia uzanto ensaluti kaj uzi la "
+#~ "komputilon."
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "Finas vian seancon kaj elŝaltas la komputilon."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "Finas vian seancon kaj restartigas la komputilon."
+
+#~ msgid "This session logs you into GNOME without user applications"
+#~ msgstr "Ĉi tiu seanco ensalutas vin en GNOMEon sen uzantaj apliakĵoj"
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "La nombro da minutoj de senaktiveco antaŭ ol konsideri la seancon kiel "
+#~ "senokupe."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "La tempo antaŭ ol konsideri la seancon senokupe"
+
+#~ msgid "Unable to connect to the X server"
+#~ msgstr "Ne eblas konekti al la X-servilo"
+
+#~ msgid "Cannot find help."
+#~ msgstr "Ne eblas trovi helpon."
+
+#~ msgid "Do not require confirmation"
+#~ msgstr "Ne postulas konfirmon"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Montri la elŝaltodialogon"
+
+#~ msgid "Log out, ignoring any existing inhibitors"
+#~ msgstr "Elsaluti ignorante ĉiujn ajn ekzistantajn preventojn"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Agordi la aktualansenaconomon"
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..78920f0
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,877 @@
+# translation of gnome-session.master.po to Español
+# gnome-session Spanish translation.
+# Copyright © 1998-2003, 2006, 2007, 2008 the Free Software Foundation, Inc.
+# Pablo Saratxaga <srtxg@chanae.alphanet.ch> 1999-2000
+# Javier Gómez <jgomsi@apolo.umh.es> 2000
+# Juanjo Alvarez 2000
+# Ismael Olea <olea@hispafuentes.com> 2000
+# Manuel de Vega Barreiro <barreiro@arrakis.es> 2000
+# Juan Manuel García Molina <juanma_gm@wanadoo.es> 2001-2002.
+#
+# Miguel de Icaza,computo,622-4680 <miguel@metropolis.nuclecu.unam.mx> 1998.
+# Francisco Javier F. Serrador <serrador@arrakis.es>, 2003.
+# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2005, 2006.
+#
+# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2009-2011.
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-11-26 17:57+0100\n"
+"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
+"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 41.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizada"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Esta entrada le permite seleccionar una sesión guardada"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Esta sesión accede a GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME «dummy»"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME en Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME en Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Guardar sesiones"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Si está activado, gnome-session guardará la sesión automáticamente."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Guardar esta sesión"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Si está activado, gnome-session guardará automáticamente la próxima sesión "
+"cuando salga incluso si el guardado automático está desactivado."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Diálogo de salida"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Si está activado, gnome-session preguntará al usuario antes de cerrar una "
+"sesión."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostrar advertencia del modo alternativo"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Si está activado, gnome-session mostrará un diálogo de advertencia después "
+"del inicio de sesión si se ha iniciado automáticamente el modo alternativo."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sesión personalizada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Seleccione una sesión personalizada que ejecutar"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Sesión _nueva"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Sesión _remota"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Reno_mbrar sesión"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Algo salió mal."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ocurrió un problema y el sistema no se puede recuperar. Contacte con un "
+"administrador del sistema"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ocurrió un problema y el sistema no se puede recuperar. Por precaución, se "
+"han desactivado todas las extensiones."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ocurrió un problema y el sistema no se puede recuperar.\n"
+"Cierre la sesión e inténtelo de nuevo."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Ce_rrar la sesión"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Activar el código de depuración"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permitir cerrar sesión"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostrar advertencias de las extensiones"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "No responde"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Cerrar la sesión"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicación recordada"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Este programa está bloqueando el cierre de sesión."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Rechazando la conexión de un nuevo cliente porque actualmente se está "
+"cerrando la sesión\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "No se pudo crear el socket de escucha ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Ejecutándose como servicio de systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Usar el gestor de sesión de systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Usar la gestión de sesiones implementada (en lugar de la basada en systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Sobrescribir las carpetas de inicio automático estándar"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "CARPETA_DE_AUTOINICIO"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sesión que usar"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOMBRE_DE_LA_SESIÓN"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "No cargar las aplicaciones especificadas por el usuario"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versión de esta aplicación"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostrar el diálogo de la ballena de pruebas"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Desactivar la verificación de aceleración hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " - El gestor de sesiones de GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Iniciar gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Iniciar gnome-session-shutdown.target cuando se reciba un EOF o un único "
+"byte en stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inicialización de señales hecha para gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reiniciar dbus.service si está en ejecución"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Ejecutar desde ExecStopPost para iniciar gnome-session-failed.target en caso "
+"de fallo del servicio"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "El programa necesita exactamente un parámetro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIÓN...] COMANDO\n"
+"\n"
+"Ejecutar COMANDO al inhibir alguna funcionalidad de la sesión.\n"
+"\n"
+" -h, --help Mostrar esta ayuda\n"
+" --version Mostrar la versión del programa\n"
+" --app-id ID El ID de aplicación que usar\n"
+" al inhibir (opcional)\n"
+" --reason RAZÓN La razón para inhibir (opcional)\n"
+" --inhibit ARG Qué inhibir, lista de elementos separados por dos puntos "
+"de:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only No ejecutar COMANDO y esperar indefinidamente\n"
+" -l, --list Listar las inhibiciones existentes y salir\n"
+"\n"
+"Si no se especifica la opción --inhibit se asume «idle».\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Falló al ejecutar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requiere un argumento\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Cerrar la sesión"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Apagar"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorando cualquier inhibidor existente"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "No requerir confirmación del usuario"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "No se pudo conectar con el gestor de sesiones"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Se llamó al programa con opciones en conflicto"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesión %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"No se permite que los nombres de las sesiones empiecen por «.» ni que "
+"contengan el carácter «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "No se permite que los nombres de las sesiones empiecen por «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "No se permite que los nombres de las sesiones contengan «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Ya existe una sesión llamada «%s»"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programas adicionales para iniciar:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programas al inicio"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Recordar _automáticamente las aplicaciones en ejecución al salir de la "
+#~ "sesión"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Recordar las aplicaciones ejecutándose actualmente"
+
+#~ msgid "Options"
+#~ msgstr "Opciones"
+
+#~ msgid "Browse…"
+#~ msgstr "Examinar…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Com_entario:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mando:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nombre:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Esta sesión accede a GNOME, usando Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Seleccionar comando"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Añadir programa al inicio"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editar programa al inicio"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "El comando de inicio no puede estar vacío"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "El comando de inicio no es válido"
+
+#~ msgid "Enabled"
+#~ msgstr "Activado"
+
+#~ msgid "Icon"
+#~ msgstr "Icono"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferencias de las aplicaciones al inicio"
+
+#~ msgid "No name"
+#~ msgstr "Sin nombre"
+
+#~ msgid "No description"
+#~ msgstr "Sin descripción"
+
+#~ msgid "Could not display help document"
+#~ msgstr "No se pudo mostrar el documento de ayuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicaciones al inicio"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Elija qué aplicaciones iniciar al iniciar la sesión"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "El archivo no es un archivo .desktop válido"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "No se reconoce la versión «%s» del archivo desktop"
+
+#~ msgid "Starting %s"
+#~ msgstr "Iniciando %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "La aplicación no acepta documentos en la línea de comandos"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opción de lanzamiento no reconocida: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "No se pueden pasar los URI de documentos a entradas de escritorio "
+#~ "Type=Link"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "No es un elemento lanzable"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desactivar la conexión con el gestor de sesiones"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especifique el archivo que contiene la configuración guardada"
+
+#~ msgid "FILE"
+#~ msgstr "ARCHIVO"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opciones de gestión de sesión:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Mostrar opciones de gestión de sesión"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Aún se están ejecutando algunos programas:"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconocido"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Aún se está ejecutando un programa:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Esperando a que los programas finalicen. Interrumpir estos programas "
+#~ "puede causar la pérdida de su trabajo."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Esperando a que los programas finalicen. Interrumpir estos programas "
+#~ "puede causar la pérdida de su trabajo."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Cambiar usuario de todas formas"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Salir de todas formas"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Suspender de todas formas"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernar de todas formas"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Apagar de todas formas"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reiniciar de todas formas"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloquear pantalla"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancelar"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Saldrá automáticamente de la sesión en %d segundo."
+#~ msgstr[1] "Saldrá automáticamente de la sesión en %d segundos."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "El sistema se apagará automáticamente en %d segundo."
+#~ msgstr[1] "El sistema se apagará automáticamente en %d segundos."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "El sistema se reiniciará automáticamente en %d segundo."
+#~ msgstr[1] "El sistema se reiniciará automáticamente en %d segundos."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Ha iniciado sesión como «%s»."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "¿Cerrar la sesión en este sistema ahora?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Ca_mbiar usuario"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "¿Apagar ahora este sistema?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Suspender"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernar"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reiniciar"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Apagar"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "¿Reiniciar este sistema ahora?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d hora"
+#~ msgstr[1] "%d horas"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minuto"
+#~ msgstr[1] "%d minutos"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d segundo"
+#~ msgstr[1] "%d segundos"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segundos"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Cierre de sesión automático en %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Esta sesión está configurada para cerrarse automáticamente después de un "
+#~ "período de inactividad."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "No se encontró el icono «%s»"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 falló al cargar"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Desafortunadamente GNOME 3 falló al iniciar y se inició en el <i>modo "
+#~ "alternativo</i>.\n"
+#~ "\n"
+#~ "Probablemente significa que su sistema (hardware gráfico o controlador) "
+#~ "no es capaz de ejecutar la experiencia GNOME 3 completa."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Aprenda más acerca de GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "No se pudo iniciar el inicio de sesión (y fue imposible conectar con el "
+#~ "servidor X)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Salió con el código %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Matado por la señal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Detenido por la señal %d"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Algunos programas aún se están ejecutando:</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Ocurrió un problema y el sistema no se puede recuperar. Algunas de las "
+#~ "extensiones de abajo pueden haber causado el problema.\n"
+#~ "Desactive algunas de ellas y después cierre la sesión e inténtelo de "
+#~ "nuevo."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Hay un problema con la configuración del servidor.\n"
+#~ "(%s salió con el estado %d)"
+
+#~ msgid "Try _Recovery"
+#~ msgstr "Intentar _recuperar"
+
+#~ msgid "A system error has occurred: %s"
+#~ msgstr "Ocurrió un error del sistema: %s"
+
+#~ msgid "A fatal system error has occurred: %s"
+#~ msgstr "Ocurrió un error fatal del sistema: %s"
+
+#~ msgid "Component '%s': %s"
+#~ msgstr "Componente «%s»: %s"
+
+#~ msgid "Killed by signal"
+#~ msgstr "Matado por una señal"
+
+#~ msgid "Timed out"
+#~ msgstr "Tiempo de espera agotado"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Mostrar el diálogo de apagado"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Usar cajas de diálogo para los errores"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Establecer el nombre de la sesión actual"
+
+#~ msgid "NAME"
+#~ msgstr "NOMBRE"
+
+#~ msgid "Window Manager"
+#~ msgstr "Gestor de ventanas"
+
+#~ msgid "Classic GNOME"
+#~ msgstr "GNOME clásico"
+
+#~ msgid "File Manager"
+#~ msgstr "Gestor de archivos"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Lista de aplicaciones que son parte de la sesión predeterminada."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Lista de componentes necesarios como partes de la sesión. (Cada elemento "
+#~ "tiene una clave bajo \"/desktop/gnome/session/required_components\".) "
+#~ "Generalmente la miniaplicación de la sesión no permitirá que los usuarios "
+#~ "eliminen componentes necesarios para la sesión, y el gestor de sesiones "
+#~ "añadirá automáticamente los componentes necesarios a la sesión, si se "
+#~ "eliminaron."
+
+#~ msgid "Panel"
+#~ msgstr "El panel"
+
+#~ msgid "Required session components"
+#~ msgstr "Componentes de sesión requeridos"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "El gestor de archivos proporciona los iconos de escritorio y le permite "
+#~ "interactuar con sus archivos guardados."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "El número de minutos de inactividad antes de considerar la sesión "
+#~ "inactiva."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "El panel proporciona la barra en la parte superior y/o inferior de la "
+#~ "pantalla y que contiene los menús, la lista de ventanas, los iconos de "
+#~ "estado, el reloj, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "El gestor de ventanas es el programa que dibuja las barras de título y "
+#~ "los bordes alrededor de las ventanas, y le permite mover y redimensionar "
+#~ "ventanas."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Tiempo antes de que la sesión se considere inactiva"
+
+#~| msgid "GConf key used to lookup default session"
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "Clave de GConf usada para buscar la sesión predeterminada"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "La imagen preferida para mostrar como pantalla de bienvenida"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Mostrar la pantalla de bienvenida"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Muestra la pantalla de bienvenida cuando se inicia la sesión"
+
+#~| msgid ""
+#~| "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~| "Sub-directories and image names are valid values. Changing this value "
+#~| "will effect the next session login."
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will affect the next session login."
+#~ msgstr ""
+#~ "Esta es una ruta relativa basada en el directorio $datadir/pixmaps/. Los "
+#~ "subdirectorios y los nombres de imágenes son valores válidos. El cambio "
+#~ "de este valor afectará al siguiente inicio de sesión."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Esperando a que finalice el programa. Interrumpir el programa puede "
+#~ "causar pérdidas de datos."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Pantalla de bienvenida de GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Pantalla de bienvenida de GNOME"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Se ha solicitado soporte de tecnologías de asistencia para esta sesión, "
+#~ "pero no se ha encontrado el registro para accesibilidad. Asegúrese de que "
+#~ "el paquete AT-SPI está instalado. Su sesión se ha iniciado sin soporte de "
+#~ "tecnologías de asistencia."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "Envolvente de registro AT SPI"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Ayudante del demonio de preferencias de GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Si está activado, gnome-session guardará la sesión automáticamente. En "
+#~ "caso contrario, el diálogo de salida presentará la opción de guardar la "
+#~ "sesión."
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "El nombre del programa de inicio no puede estar vacío"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Preferencias de la sesión"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Opción seleccionada en el diálogo de cierre de sesión"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Esta es la opción que estará seleccionado en el diálogo de cierre de "
+#~ "sesión, los valores válidos son \"logout\" para cerrar la sesión, "
+#~ "\"shutdown\" para apagar el sistema y \"restart\" para reiniciar el "
+#~ "sistema."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configure sus sesiones"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "Envolvente del demonio del Depósito de claves de GNOME"
+
+#~ msgid "Session management"
+#~ msgstr "Gestión de sesiones"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "Biblioteca IGU de GNOME + EggSMClient"
+
+#~ msgid ""
+#~ "The Window manager that gnome-session will start. Valid values are "
+#~ "\"metacity\" and \"compiz\"."
+#~ msgstr ""
+#~ "El Gestor de ventanas que gnome-session iniciará. Los valores válidos son "
+#~ "«metacity» y «compiz»."
+
+#~ msgid "Window Manager to start"
+#~ msgstr "Gestor de ventanas que iniciar"
+
+#~ msgid "gtk-cancel"
+#~ msgstr "gtk-cancel"
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 0000000..1e77620
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,548 @@
+# GNOME seansi eesti keele tõlge.
+# Estonian translation of gnome-session.
+#
+# Copyright (C) 1999, 2001, 2002, 2004–2006 Free Software Foundation, Inc.
+# Copyright (C) 2006–2011 The GNOME Project.
+#
+# Lauris Kaplinski <lauris@ariman.ee>, 1999.
+# Ilmar Kerm <ikerm@hot.ee>, 2001, 2002.
+# Tõivo Leedjärv <toivo@linux.ee>, 2002.
+# Priit Laes <amd@store20.com>, 2004–2006.
+# Ivar Smolin <okul@linux.ee>, 2005–2011.
+# Mattias Põldaru <mahfiaz@gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session MASTER\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2018-01-08 21:39+0000\n"
+"PO-Revision-Date: 2018-02-09 16:00+0200\n"
+"Last-Translator: Mart Raudsepp <leio@gentoo.org>\n"
+"Language-Team: Estonian <>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Poedit 2.0.6\n"
+
+#: data/gnome-custom-session.desktop.in:3
+msgid "Custom"
+msgstr "Kohandatud"
+
+#: data/gnome-custom-session.desktop.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Selle abil saab valida salvestatud seansi"
+
+#: data/gnome.desktop.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in:4 data/gnome-xorg.desktop.in:4
+msgid "This session logs you into GNOME"
+msgstr "Selle seansiga logitakse sind GNOME keskkonda sisse"
+
+#: data/gnome-xorg.desktop.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg’iga"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME libaseanss"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Kohandatud seanss"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Palun vali kohandatud seanss, mida käivitada"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Uus seanss"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Eemalda seanss"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Muuda seansi nime"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Jätka"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Oo ei! Miski läks nihu."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Esines viga ja süsteem ei suuda taastuda. Palun võta ühendust "
+"süsteemihalduriga"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Esines viga ja süsteem ei suuda taastuda. Ettevaatusabinõuna keelati kõik "
+"laiendused."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Esines viga ja süsteem ei suuda taastuda.\n"
+"Logi välja ja proovi uuesti."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "Logi _välja"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Silumiskoodi lubamine"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Väljalogimine on lubatud"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Laienduse hoiatuse kuvamine"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "Ei vasta"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "_Logi välja"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Meelde jäetud rakendus"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "See rakendus takistab väljalogimist."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Uue kliendi ühendus lükati tagasi, kuna hetkel jäetakse seanss seisma\n"
+
+#: gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE kuulamissoklit pole võimalik luua: %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr ""
+"Standardsete automaatkäivituse kataloogide asemel muude kataloogide "
+"kasutamine"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "AUTOMAATKÄIVITUS_KAUST"
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "Kasutatav seanss"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "SEANSI_NIMI"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Kasutaja määratud rakendusi ei laadita"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Rakenduse versioon"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Testimise jaoks kuvatakse nurjumise dialoogi"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "Riistvarakiirenduse kontrolli keelamine"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " — GNOME seansihaldur"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [VALIKUD…] KÄSK\n"
+"\n"
+"Käivita KÄSK, piirates selleks ajaks seansi võimekust.\n"
+"\n"
+" -h, --help Selle abi kuvamine\n"
+" --version Rakenduse versiooni kuvamine\n"
+" --app-id ID Kasutatava rakenduse ID\n"
+" piirangu ajal (valikuline)\n"
+" --reason PÕHJUS Piirangu põhjus (valikuline)\n"
+" --inhibit ARG Piiratavad asjad, koolonitega loetelu:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Ei käivitata KÄSKU, selle asemel oodatakse igavesti\n"
+"\n"
+"Kui ühtegi --inhibit valikut pole määratud, jääb idle (jõudeolek).\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s käivitamine nurjus\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s jaoks on vajalik argument\n"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seanss %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Seansi nimed ei tohi alata punktiga (.) ega sisaldada kaldkriipsu (/)"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Seansi nimed ei tohi alata punktiga (.)"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Seansi nimed ei tohi sisaldada kaldkriipsu (/)"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Seanss nimega „%s“ on juba olemas"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Väljalogimine"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Väljalülitamine"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Taaskäivita"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Kõiki olemasolevaid piiranguid eiratakse"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Kinnitust pole vaja küsida"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Seansihalduriga pole võimalik ühenduda"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Rakendus kutsuti välja vastuoluliste parameetritega"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr ""
+#~ "Selle seansiga logitakse sind Waylandi kasutades GNOME keskkonda sisse"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Täiendavad automaatselt käivituvad _rakendused:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Automaatselt käivituvad rakendused"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Väljalogimisel _jäetakse töötavad rakendused meelde"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Jäta hetkel töötavad rakendused meelde"
+
+#~ msgid "Options"
+#~ msgstr "Valikud"
+
+#~ msgid "Browse…"
+#~ msgstr "Sirvi…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Komm_entaar:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Käsk:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nimi:"
+
+#~ msgid "Select Command"
+#~ msgstr "Käsu valimine"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Automaatselt käivituva rakenduse lisamine"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Automaatselt käivituva rakenduse muutmine"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Käivituskäsku ei tohi tühjaks jätta"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Käivituskäsk pole korrektne"
+
+#~ msgid "Enabled"
+#~ msgstr "Lubatud"
+
+#~ msgid "Icon"
+#~ msgstr "Ikoon"
+
+#~ msgid "Program"
+#~ msgstr "Rakendus"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Automaatselt käivitatavate rakenduste eelistused"
+
+#~ msgid "No name"
+#~ msgstr "Nimi puudub"
+
+#~ msgid "No description"
+#~ msgstr "Kirjeldus puudub"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Abidokumenti pole võimalik kuvada"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Automaatselt käivitatavad rakendused"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Sisselogimisel käivitatavate rakenduste valimine"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Fail pole korrektne .desktop fail"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Töölauafailis tundmatu \"Version '%s'\""
+
+#~ msgid "Starting %s"
+#~ msgstr "Käivitamine: %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Rakendus ei toeta käsurealt määratavaid dokumente"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Tundmatu käivitusvalik: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Dokumendi URI-sid pole võimalik 'Type=Link' tüüpi töölauakirjetele "
+#~ "edastada"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Pole käivitatav kirje"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Seansihalduriga ühendumise keelamine"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Salvestatud seadistusi sisaldava faili määramine"
+
+#~ msgid "FILE"
+#~ msgstr "FAIL"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Seansihalduse ID määramine"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Seansihalduse valikud:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Seansihalduse valikute näitamine"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Mõned rakendused töötavad ikka veel:"
+
+#~ msgid "Unknown"
+#~ msgstr "Tundmatu"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Üks rakendus töötab ikka veel:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Rakenduse töö lõpetamise järel ootamine. Rakenduse katkestamine võib "
+#~ "põhjustada sinu töö kaotsimineku."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Rakenduse töö lõpetamise järel ootamine. Rakenduste katkestamine võib "
+#~ "põhjustada sinu töö kaotsimineku."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Vaheta ikkagi kasutajat"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Logi ikkagi välja"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Alusta ikkagi uinakut"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Alusta ikkagi talveund"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Lülita ikkagi välja"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Taaskäivita ikkagi"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Lukusta ekraan"
+
+#~ msgid "Cancel"
+#~ msgstr "Tühista"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Sind logitakse %d sekundi pärast automaatselt välja."
+#~ msgstr[1] "Sind logitakse %d sekundi pärast automaatselt välja."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "See arvuti lülitatakse %d sekundi pärast automaatselt välja."
+#~ msgstr[1] "See arvuti lülitatakse %d sekundi pärast automaatselt välja."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "See arvuti taaskäivitatakse %d sekundi pärast automaatselt."
+#~ msgstr[1] "See arvuti taaskäivitatakse %d sekundi pärast automaatselt."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Sa oled sisse logitud kasutajana \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Kas logida arvutist välja?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Vaheta kasutajat"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Kas lülitada arvuti välja?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Alusta uinakut"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Alusta talveund"
+
+#~ msgid "_Restart"
+#~ msgstr "_Taaskäivita"
+
+#~ msgid "_Shut Down"
+#~ msgstr "Lülita _välja"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Kas taaskäivitada arvuti kohe?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d tund"
+#~ msgstr[1] "%d tundi"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minut"
+#~ msgstr[1] "%d minutit"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d sekund"
+#~ msgstr[1] "%d sekundit"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 sekundit"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Automaatse väljalogimiseni %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Selle seansi seadistuse järgi logitakse pärast määratud tegevusetuse "
+#~ "perioodi automaatselt välja."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ikooni '%s' ei leitud"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 laadimine nurjus"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Kahjuks polnud GNOME 3 võimalik õigesti käivituda ja kasutatakse "
+#~ "<i>varurežiimi</i>.\n"
+#~ "\n"
+#~ "Kõige tõenäolisemalt on probleemide allikaks sinu videokaart või selle "
+#~ "draiver."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Õpi GNOME 3 rohkem tundma"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Sisselogimise seanssi pole võimalik käivitada (ja X-serveriga pole "
+#~ "võimalik ühenduda)"
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..eb24cd8
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,642 @@
+# translation of eu.po to Basque
+# Copyright (C) 1999, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+#
+# Joseba Bidaurrazaga van Dierdonck <gcpbivaj@lg.ehu.es>, 2000.
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
+# Julen Ruiz Aizpuru <julenx@gmail.com>, 2011.
+# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2005, 2006, 2007, 2008, 2009, 2010, 2011.
+# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2012, 2013, 2014, 2016, 2017, 2018.
+# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020, 2021.
+#
+msgid ""
+msgstr "Project-Id-Version: eu\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-12-25 10:00+0100\n"
+"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
+"Language-Team: Basque <librezale@librezale.eus>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Pertsonalizatua"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Sarrera honek gordetako saio bat hautatzea uzten dizu"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Saio honek GNOMEn sartuko zaitu"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Probako GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME Wayland gainean"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg gainean"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Gorde saioak"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Gaituta badago, gnome-session-ek saioa automatikoki gordeko du."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Gorde saio hau"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr "Gaituta badago, 'gnome-session'ek hurrengo saioa automatikoki gordeko du saioa amaitzean, nahiz eta gordetze automatikoa desgaituta egon."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Saio-amaierako gonbita"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Gaituta badago, 'gnome-session'ek erabiltzaileari galdetuko dio saioa bukatu aurretik."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Erakutsi ordezko abisua"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr "Gaituta badago, 'gnome-session'ek abisu bat bistaratuko du saioa hasi ondoren ordezko saioan sartu bada automatikoki."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Saio pertsonalizatua"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Hautatu saio pertsonalizatua exekutatzeko"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Saio _berria"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Kendu saioa"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Aldatu saioaren izena"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Jarraitu"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Zerbait gaizki irten da."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "Arazo bat gertatu da eta sistemak ezin du berreskuratu. Jar zaitez sistemaren administratzaile batekin harremanetan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr "Arazo bat gertatu da eta sistemak ezin du berreskuratu. Hedapen guztiak desgaitu egin dira badaezpada."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr "Arazo bat gertatu da eta sistemak ezin du berreskuratu.\n"
+"Amaitu saioa eta saiatu berriro."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Amaitu _saioa"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Gaitu arazketa-kodea"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Baimendu saio-amaiera"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Erakutsi hedapenaren abisua"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Ez du erantzuten"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Amaitu saioa"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Gogoratutako aplikazioa"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Programa honek saioa amaitzea blokeatzen ari da."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Bezero berrien konexioa ukatzen, unean saioa itzaltzen ari delako\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ezin izan da entzuteko ICE socket-a sortu: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "systemd zerbitzu gisa exekutatzen"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Erabili systemd saio-kudeatzailea"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Erabili integratutako saio-kudeatzailea (systemd sisteman oinarritutakoa erabili ordez)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Jaramonik ez egin hasiera automatikoko direktorio estandarrei"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "HASIERA_AUTOMATIKOKO_DIREKTORIOA"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Saioa erabiltzeko"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SAIOAREN_IZENA"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ez kargatu erabiltzaileak zehaztutako aplikazioak"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Aplikazio honen bertsioa"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Erakutsi errorearen elkarrizketa-koadroa probetarako"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Desgaitu hardware bidezko azelerazioaren egiaztaketa"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOMEren saio-kudeatzailea"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Abiarazi 'gnome-session-shutdown.target'"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr "Abiarazi 'gnome-session-shutdown.target' EOF jasotzean edo byte bakarra jasotzean stdin-en"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Seinalearen hasieratzea egin da 'gnome-session' programan"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Berrabiarazi 'dbus.service' hura exekutatzen ari bada"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "Exekutatu ExecStopPost-etik gnome-session-failed.target abiarazteko zerbitzuak huts egiten duenean"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programak parametro bakar bat behar du"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr "%s [AUKERA…] KOMANDOA\n"
+"\n"
+"Exekutatu KOMANDOA saioaren beste funtzionalitate batzuk galarazten diren bitartean.\n"
+"\n"
+" -h, --help Erakutsi laguntza hau\n"
+" --version Erakutsi programaren bertsioa\n"
+" --app-id ID Erabiliko den aplikazioaren IDa \n"
+" galaraztean (aukerakoa)\n"
+" --reason ZERGATIA Galarazteko zergatia (aukerakoa)\n"
+" --inhibit ARG Galarazteko gauzak, komaz bereiztutako zerrenda:\n"
+" logout (saio-amaiera), switch-user (erabiltzailez aldatzea),\n"
+" suspend (esekitzea), idle (inaktiboa),\n"
+" automount (muntai automatikoa)\n"
+" --inhibit-only Ez abiarazi KOMANDOA eta itxaron beti\n"
+" -l, --list Zerrendatu galarazpenak eta irten\n"
+"\n"
+"Ez bada --inhibit aukera zehazten, aktibitate ez dagoela ulertzen da.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Huts egin du %s exekutatzean\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s(e)k argumentu bat behar du\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Amaitu saioa"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Itzali"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Berrabiarazi"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ez ikusi egin dauden inhibitzaileei"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ez eskatu erabiltzailearen baieztapena"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Ezin izan da saio-kudeatzailearekin konektatu"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Gatazkan dauden aukerekin deitu da programa"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "%d saio"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Saioen izenak ezin dute “.“ karakterearekin hasi, edo “/“ karakterea eduki"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Saioen izenak ezin dute “.“ karakterearekin hasi"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Saioen izenak ezin dute “/“ karakterea eduki"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "“%s“ izeneko saioa badago lehendik ere"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Saio honek GNOMEn sartuko zaitu, Wayland erabiliz"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Abioko _programa osagarriak:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Abioko programak"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Gogoratu _automatikoki exekutatzen ari diren aplikazioak saioa amaitzean"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Gogoratu unean exekutatzen ari diren aplikazioak"
+
+#~ msgid "Options"
+#~ msgstr "Aukerak"
+
+#~ msgid "Browse…"
+#~ msgstr "Arakatu..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_Iruzkina:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Komandoa:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Izena:"
+
+#~ msgid "Select Command"
+#~ msgstr "Hautatu komandoa"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Gehitu abioko programa"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editatu abioko programa"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Abioko komandoa ezin da hutsik egon"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Abioko komandoa ez da baliozkoa"
+
+#~ msgid "Enabled"
+#~ msgstr "Gaituta"
+
+#~ msgid "Icon"
+#~ msgstr "Ikonoa"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Abioko aplikazioen hobespenak"
+
+#~ msgid "No name"
+#~ msgstr "Izenik ez"
+
+#~ msgid "No description"
+#~ msgstr "Azalpenik ez"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ezin izan da laguntzako dokumentua bistaratu"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Abioko aplikazioak"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Aukeratu zein aplikazio abiarazi saioa-hasten duzunean"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Fitxategia ez da baliozko '.desktop' fitxategia"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Mahaigaineko fitxategiaren '%s' bertsioa ezezaguna"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s abiarazten"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Aplikazioak ez ditu dokumenturik onartzen komando-lerroan"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Abiarazteko aukera ezezaguna: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Ezin zaio dokumentuaren URIrik eman mahaigaineko 'Type=Link' sarrerari"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Ez da elementu abiarazgarria"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desgaitu konexioa saio-kudeatzailearekin"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Zehaztu gordetako konfigurazioa duen fitxategia"
+
+#~ msgid "FILE"
+#~ msgstr "FITXATEGIA"
+
+#~ msgid "ID"
+#~ msgstr "IDa"
+
+#~ msgid "Session management options:"
+#~ msgstr "Saio-kudeatzailearen aukerak:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Erakutsi saio-kudeatzailearen aukerak"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Programa batzuk oraindik exekutatzen ari dira:"
+
+#~ msgid "Unknown"
+#~ msgstr "Ezezaguna"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Programa bat oraindik exekutatzen ari da:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Programa amaitu zain. Programa hau eteteak zure lanak galtzea eragin "
+#~ "lezake."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Programak amaitu zain. Programa hauek eteteak zure lanak galtzea eragin "
+#~ "lezake."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Aldatu erabiltzailez hala ere"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Amaitu saioa hala ere"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Eseki hala ere"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernatu hala ere"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Itzali hala ere"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Berrabiarazi hala ere"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Blokeatu pantaila"
+
+#~ msgid "Cancel"
+#~ msgstr "Utzi"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Automatikoki zure saioa segundo %d barru amaituko da."
+#~ msgstr[1] "Automatikoki zure saioa %d segundotan amaituko da."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Automatikoki sistema segundo %d barru itzaliko da."
+#~ msgstr[1] "Automatikoki sistema %d segundotan itzaliko da."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Automatikoki sistema segundo %d barru berrabiaraziko da."
+#~ msgstr[1] "Automatikoki sistema %d segundotan berrabiaraziko da."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Unean \"%s\" gisa zaude saioan hasita."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Amaitu saioa sistematik orain?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Aldatu erabiltzailez"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Itzali sistema orain?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Eseki"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernatu"
+
+#~ msgid "_Restart"
+#~ msgstr "_Berrabiarazi"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Itzali"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Berrabiarazi sistema orain?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "ordu %d"
+#~ msgstr[1] "%d ordu"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "minutu %d"
+#~ msgstr[1] "%d minutu"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "segundo %d"
+#~ msgstr[1] "%d segundo"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segundo"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Saioa automatikoki amaitzeko: %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Saio hau inaktibitate denbora baten ondoren automatikoki amaitzeko "
+#~ "konfiguratuta dago."
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Programa batzuk oraindik exekutatzen ari dira:</b>"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ez da '%s' ikonoa aurkitu"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Arazo bat gertatu da eta sistemak ezin du berreskuratu. Azpiko "
+#~ "gehigarrietakoren batek eragindakoa izan daiteke arazoa.\n"
+#~ "Saiatu hauetakoren bat desgaitzen eta gero amaitu saioa eta saiatu "
+#~ "berriro."
+
+#~ msgid "Exited with code %d"
+#~ msgstr "%d kodearekin irten da"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "%d seinalearekin hilda"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "%d seinalearekin geldituta"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Huts egin du GNOME 3 kargatzean"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Zoritxarrez huts egin du GNOME 3 dagokion moduan kargatzean eta "
+#~ "<i>ordezko moduan</i> hasi da.\n"
+#~ "\n"
+#~ "Baliteke sistemak (grafikoen hardware edo gailuak) ahalmenik ez izatea "
+#~ "GNOME 3 esperientzia osoaz aritzeko."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Ikasi GNOME 3 buruz gehiago"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Ezin da saio-hasiera hasi (eta ezin da X zerbitzariarekin konektatu)"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Arazo bat dago konfigurazioko zerbitzariarekin.\n"
+#~ "(%s irtenda %d egoerarekin)"
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..8d47fd4
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,644 @@
+# Persian translation of gnome-session.
+# Copyright (C) 2010, 2011, Iranian Free Software Users Group (IFSUG.org)translation team.
+# Copyright (C) 2002, 2003, 2005, 2006 Sharif FarsiWeb, Inc.
+# This file is distributed under the same license as gnome-session package.
+# Roozbeh Pournader <roozbeh@farsiweb.info>, 2002, 2003.
+# Elnaz Sarbar <elnaz@farsiweb.info>, 2005, 2006.
+# Meelad Zakaria <meelad@farsiweb.info>, 2006.
+# Mahyar Moghimi <mahyar.moqimi@gmail.com>, 2010.
+# Arash Mousavi <mousavi.arash@gmail.com>, 2011, 2012, 2013, 2015, 2016, 2017.
+# Danial Behzadi <dani.behzi@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.10.0\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-13 14:56+0330\n"
+"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
+"Language-Team: Persian\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "سفارشی"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "این ورودی می‌گذارد نشست ذخیره‌شده‌ای را برگزینید"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "گنوم"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "این نشست شما را به گنوم وارد می‌کند"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "گنوم ساختگی"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "گنوم روی وی‌لند"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "گنوم روی زورگ"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "_ذخیرهٔ نشست‌ها"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "در صورت فعّال بودن، گنوم به صورت خودکار، نشست را ذخیره می‌کند."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "ذخیرهٔ این نشست"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"هنگام فعّال بودن، gnome-session به صورت خودکار، نشست بعدی را هنگام خروج ذخیره "
+"می‌کند، حتا اگر ذخیرهٔ خودکار غیرفعّال باشد."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "اعلان خروج"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"در صورت فعّال بودن، gnome-session پیش از اتمام یک نشست، به کاربر اعلان می‌دهد."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "نمایش هشدار جایگزینی"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"در صورت فعّال بودن، اگر نشست به صورت خودکار به عقب افتاده باشد، gnome-session "
+"یک پنجرهٔ هشدار پس از ورود نمایش خواهد داد."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "نشست سفارشی"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "لطفاً یک نشست سفارشی را برای اجرا برگزینید"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "نشست _جدید"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_برداشتن نشست"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_تغییرنام نشست"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_ادامه"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "وای نه! اشتباهی رخ داد."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"مشکلی رخ داده و سامانه نمی‌تواند بازیابی شود. لطفاً با یک مدیر سامانه تماس "
+"بگیرید"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have been "
+"disabled as a precaution."
+msgstr ""
+"مشکلی رخ داده و سامانه نمی‌تواند بازیابی شود. تمام افزونه‌ها جهت احتیاط غیرفعال "
+"شده‌اند."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"مشکلی رخ داده و سامانه نمی‌تواند بازیابی شود.\n"
+"لطفاً خارج شده و دوباره بیازمایید."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_خروج"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "کد اشکال‌زدایی به کار انداخته شود"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "اجازهٔ خروج"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "نمایش هشدار افزونه"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "ناپاسخگو"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_خروج"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "به خاطر سپردن برنامه"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "این برنامه جلوی خروج را گرفته است."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "چون سامانه در حال خاموش شدن است، درخواست اتصال کارخواه رد می‌شود\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ایجاد سوکت شنود ICE ممکن نبود: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "در حال اجرا به عنوان خدمت سیستم‌دی"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "استفاده از مدیریت نشست سیستم‌دی"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"استفاده از مدیریت نشست توکار (به جای استفاده از مدیریت مبتنی بر سیستم‌دی)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "شاخه‌های استاندارد آغاز خودکار، نادیده گرفته شود"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "نشست مورد استفاده"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "بار نکردن برنامه‌های مختص کاربر"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "نگارش این برنامه"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "نمایش بالن محاوره شکست جهت آزمایش"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "غیرفعال‌سازی بررسی شتابدهنده سخت‌افزاری"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — مدیر نشست گنوم"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "شروع gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr "شروع gnome-session-shutdown.target هنگام دریافت EOF یا تک‌بایت روی stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "آغازش سیگنال به gnome-session انجام شد"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "شروع دوبارهٔ dbus.service در صورت اجرا"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"برای آغاز gnome-session-failed.target هنگام شکست خدمت، از ExecStopPost اجرا "
+"کنید"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "برنامه دقیقاً به یک پارامتر نیاز دارد"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [گزینه…] دستور\n"
+"\n"
+"اجرای دستور هنگام منع برخی قابلیت‌های نشست.\n"
+"\n"
+" -h, --help نمایش این راهنما\n"
+" --version نمایش نگارش برنامه\n"
+" --app-id ID شناسهٔ برنامه برای استفاده\n"
+" هنگام منع (اختیاری)\n"
+" --reason REASON دلیل منع (اختیاری)\n"
+" --inhibit ARG دلیل منع، فهرستی جداشده با دونقطه از:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only دستور COMMAND اجرا نشود و به جایش تا ابد منتظر شود\n"
+" -l, --list فهرست کردن منع‌های موجود و خروج\n"
+"\n"
+"اگر گزینهٔ no --inhibit مشخّص شود، idle در نظر گرفته می‌شود.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "اجرای %s شکست خورد\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "دستور %s احتیاج به یک آرگومان دارد\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "خروج"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "خاموش کردن"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "راه‌اندازی دوباره"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "هرگونه مهارکننده‌های خروج را نادیده بگیر"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "برای تایید هویت کاربر هشدار نده"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "اتصال به مدیر نشست ممکن نیست"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "برنامه با گزینه‌های ناسازگار فراخوانده شده است"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "نشست %Id"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "نام نشست‌ها نمی‌توانند با «.» شروع شده یا شامل نویسهٔ «/» باشند"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "نام نشست‌ها نمی‌توانند با «.» شروع شوند"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "نام نشست‌ها نمی‌توانند شامل نویسهٔ «/» باشند"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "نشستی با نام «%s» از پیش وجود دارد"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "این نشست، با استفاده از Wayland شما را به گنوم وارد می‌کند"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "برنامه‌های راه‌اندازی اضافی:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "برنامه‌های راه‌اندازی"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "برنامه‌های جاری هنگام خروج از سیستم، _خودکار به خاطر سپرده شوند"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "برنامه‌های درحال اجرای فعلی به خاطر _سپرده شوند"
+
+#~ msgid "Options"
+#~ msgstr "گزینه‌ها"
+
+#~ msgid "Browse…"
+#~ msgstr "مرور..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_توضیح:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_فرمان:"
+
+#~ msgid "_Name:"
+#~ msgstr "_نام:"
+
+#~ msgid "Select Command"
+#~ msgstr "انتخاب فرمان"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "افزودن برنامه‌ی راه‌اندازی"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "ویرایش برنامه‌ی راه‌اندازی"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "فرمان راه‌اندازی نمی‌تواند خالی باشد"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "فرمان راه‌اندازی معتبر نیست"
+
+#~ msgid "Enabled"
+#~ msgstr "فعال"
+
+#~ msgid "Icon"
+#~ msgstr "نقشک"
+
+#~ msgid "Program"
+#~ msgstr "برنامه"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ترجیحات برنامه‌های راه‌اندازی"
+
+#~ msgid "No name"
+#~ msgstr "بدون نام"
+
+#~ msgid "No description"
+#~ msgstr "بدون شرح"
+
+#~ msgid "Could not display help document"
+#~ msgstr "نمی‌توان سند راهنما را نمایش داد"
+
+#~ msgid "Startup Applications"
+#~ msgstr "برنامه‌های راه‌اندازی"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "انتخاب کنید که هنگام ورود به سیستم چه برنامه‌هایی آغاز شوند"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "پرونده یک پرونده‌ی .desktop معتبر نیست."
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "نسخه‌ی پرونده میزکار ناشناس «%s»"
+
+#~ msgid "Starting %s"
+#~ msgstr "در حال آغاز %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "برنامه سند‌ها را در خط فرمان نمی‌پذیرد."
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "گزینه‌ی راه‌اندازی ناشناخته‌: %Id"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "نشانی سند به یک ورودی میزکار «نوع=پیوند» گذر داده نمی‌شود."
+
+#~ msgid "Not a launchable item"
+#~ msgstr "این، یک مورد قابل راه‌اندازی نیست"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "از کار انداختن اتصال به مدیر نشست"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "مشخص کردن پرونده‌ی شامل پیکربندی ذخیره شده"
+
+#~ msgid "FILE"
+#~ msgstr "پرونده"
+
+#~ msgid "ID"
+#~ msgstr "شناسه"
+
+#~ msgid "Session management options:"
+#~ msgstr "گزینه‌های مدیریت نشست:"
+
+#~ msgid "Show session management options"
+#~ msgstr "گزینه‌های مدیریت نشست نمایش داده شوند"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "چند برنامه همچنان در حال اجرا هستند:"
+
+#~ msgid "Unknown"
+#~ msgstr "ناشناخته"
+
+#~ msgid "A program is still running:"
+#~ msgstr "یک برنامه همچنان در حال اجرا است:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "در حال انتظار برای پایان یافتن برنامه. وقفه انداختن در برنامه ممکن است "
+#~ "باعث از دست رفتن کارتان بشود."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "در حال انتظار برای پایان یافتن برنامه‌ها. وقفه انداختن در این برنامه‌ها ممکن "
+#~ "است باعث از دست رفتن کارتان بشود."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "در هر حال، تعویض کاربر انجام شود"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "در هر حال خروج از سیستم انجام شود"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "در هر حال سیستم معلق شود"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "در هر حال خواب زمستانی انجام شود"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "در هر حال خاموش کردن سیستم صورت گیرد"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "در هر حال سیستم مجددا راه‌اندازی شود"
+
+#~ msgid "Lock Screen"
+#~ msgstr "قفل کردن صفحه"
+
+#~ msgid "Cancel"
+#~ msgstr "انصراف"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "شما پس از %Id ثانیه به صورت خودکار از سیستم خارج خواهید شد."
+#~ msgstr[1] "شما پس از %Id ثانیه خودکار از سیستم خارج خواهید شد."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "این سیستم پس از %Id ثانیه، به صورت خودکار خاموش خواهد شد."
+#~ msgstr[1] "این سیستم پس از %Id ثانیه، خودکار خاموش خواهد شد."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] ""
+#~ "این سیستم پس از %Id ثانیه، به صورت خودکار مجددا راه‌اندازی خواهد شد."
+#~ msgstr[1] "این سیستم پس از %Id ثانیه، بصورت خودکار مجددا راه‌اندازی خواهد شد."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "هم‌اکنون شما با عنوان «%s» وارد سیستم شده‌اید."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "هم‌اکنون از این سیستم خارج شویم؟"
+
+#~ msgid "_Switch User"
+#~ msgstr "_تعویض کاربر"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "این سیستم هم‌اکنون خاموش شود؟"
+
+#~ msgid "S_uspend"
+#~ msgstr "_تعلیق"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_خواب زمستانی"
+
+#~ msgid "_Restart"
+#~ msgstr "_راه‌اندازی مجدد"
+
+#~ msgid "_Shut Down"
+#~ msgstr "خامو_ش کردن"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "سیستم هم‌اکنون خاموش شود؟"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%Id ساعت"
+#~ msgstr[1] "%Id ساعت"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%Id دقیقه"
+#~ msgstr[1] "%Id دقیقه"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%Id ثانیه"
+#~ msgstr[1] "%Id ثانیه"
+
+#~ msgid "0 seconds"
+#~ msgstr "۰ ثانیه"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "خروج خودکار از سیستم در %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "این نشست به‌گونه‌ای پیکربندی شده است که پس از مدتی بدون فعالبت، به طور "
+#~ "خودکار از سیستم خارج شود."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "نقشک «%s» پیدا نشد"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "بارگیری گنوم ۳ شکست خورد"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "متاسفانه اجرای صحیح گنوم ۳ با مشکل مواجه شد و در <i>حالت یدکی</i> اجرا "
+#~ "شد.\n"
+#~ "\n"
+#~ "این موضوع اکثرا به این علت است که سیستم شما (سخت‌افزار گرافیکی یا راه‌انداز) "
+#~ "قابلیت ارائه‌ی کامل گنوم ۳ را ندارد."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "اطلاعات بیشتر در مورد گنوم ۳"
+
+#~ msgid "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "ناتوان در آغاز نشست ورود به سیستم (و ناتوان در اتصال به کارگزار ایکس)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>هنوز برنامه‌هایی دارند اجرا می‌شوند:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "با کد %Id خارج شد"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "با سیگنال %Id کشته شد"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "با سیگنال %Id متوقف شد"
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..27b1409
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,756 @@
+# gnome-session Finnish translation
+# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Ville Hautamäki <villeh@cs.joensuu.fi>, 1998, 2000.
+# Mikko Rauhala <mjr@iki.fi>, 1999.
+# Pauli Virtanen <pauli.virtanen@hut.fi>, 2000-2005.
+# Ilkka Tuohela <hile@iki.fi>, 2005-2009.
+# Mikko Piippo (https://launchpad.net/~piippo-cc), 2008.
+# Timo Jyrinki <timo.jyrinki@iki.fi>, 2008-2010.
+# Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2010.
+# Tommi Vainikainen <thv@iki.fi>, 2011.
+# Jiri Grönroos <jiri.gronroos+l10n@iki.fi>, 2012, 2013, 2015, 2016, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-02-27 19:06+0200\n"
+"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
+"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Omavalintainen"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Tämä kohta mahdollistaa tallennetun istunnon valinnan"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "Gnome"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Tämä istunto kirjautuu Gnomeen"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Gnome-malli-istunto (dummy)"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "Gnome Waylandia käyttäen"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Gnome Xorgia käyttäen"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Tallenna istunnot"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Jos käytössä, gnome-session tallentaa istunnon automaatisesti."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Tallenna tämä istunto"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Jos käytössä, gnome-session tallentaa seuraavan istunnon automaatisesti "
+"uloskirjautuessa vaikka automaattinen tallennus olisi pois käytöstä."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Uloskirjautumiskehote"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Jos käytössä, gnome-session kysyy käyttäjältä ennen istunnon lopettamista."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+#, fuzzy
+#| msgid "Show extension warning"
+msgid "Show the fallback warning"
+msgstr "Näytä laajennusvaroitus"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+#, fuzzy
+#| msgid "If enabled, gnome-session will save the session automatically."
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr "Jos käytössä, gnome-session tallentaa istunnon automaatisesti."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Omavalintainen istunto"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Valitse omavalintainen istunto"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Uusi istunto"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Poista istunto"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Ni_meä istunto uudelleen"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Jatka"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Voi ei! Jotain meni pieleen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Esiintyi ongelma, josta järjestelmä ei pysty palautumaan. Ota yhteys "
+"järjestelmän ylläpitäjään"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Esiintyi ongelma, josta järjestelmä ei pysty palautumaan. Kaikki "
+"laajennukset on poistettu käytöstä varotoimenpiteenä."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Esiintyi ongelma, josta järjestelmä ei pysty palautumaan.\n"
+"Kirjaudu ulos ja yritä uudelleen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Kirjaudu ul_os"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Käytä vianetsintäkoodia"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Salli uloskirjautuminen"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Näytä laajennusvaroitus"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Ei vastaa"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "Kirjau_du ulos"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Muistettu sovellus"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Tämä ohjelma estää kirjautumisen ulos."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Kieltäydytään uudesta asiakasyhteydestä, koska istuntoa ollaan parhaillaan "
+"sulkemassa\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE-kuuntelupistoketta ei voi luoda: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Suoritetaan systemd-palveluna"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Käytä systemd-istuntohallintaa"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Käytä sisäänrakennettua istuntohallintaa systemd-istuntohallinan sijaan"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Korvaa automaattikäynnistyksen oletuskansiot"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOKÄYN_HAK"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Käytettävä istunto"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "ISTUNTONIMI"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Älä lataa käyttäjän määrittelemiä sovelluksia"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Tämän ohjelman versio"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Näytä musta virheikkuna testausta varten"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Poista laitteistokiihdytyksen tarkistus käytöstä"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — Gnomen istunnonhallinta"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Käynnistä gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Käynnistä dbus.service uudelleen jos se on käynnissä"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Kohteen %s suorittaminen epäonnistui\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s vaatii argumentin\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Kirjaudu ulos"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Sammuta"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Käynnistä uudelleen"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Jätä käynnissä olevat estot huomioimatta"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Älä kysy käyttäjän vahvistusta"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Istunnonhallintaan ei saa yhteyttä"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Ohjelmaa kutsuttiin ristiriitaisilla valitsimilla"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Istunto %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Istuntonimi ei voi alkaa merkillä “.” tai sisältää merkkiä “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Istuntonimi ei voi alkaa merkillä “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Istuntonimi ei voi sisältää merkkiä “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Istunto nimeltä “%s” on jo olemassa"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Muut käynnistyvät _ohjelmat:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Käynnistyvät ohjelmat"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Muista käynnissä olevat ohjelmat kirjauduttaessa ulos"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Muista tällä hetkellä _käynnissä olevat sovellukset"
+
+#~ msgid "Options"
+#~ msgstr "Valinnat"
+
+#~ msgid "Browse…"
+#~ msgstr "Selaa…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Komm_entti:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ko_mento:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nimi:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Tämä istunto kirjautuu Gnomeen Waylandia käyttäen"
+
+#~ msgid "Select Command"
+#~ msgstr "Valitse komento"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Lisää käynnistyvä sovellus"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Muokkaa käynnistyvää ohjelmaa"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Käynnistyskomento ei voi olla tyhjä"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Käynnistyskomento ei ole kelvollinen"
+
+#~ msgid "Enabled"
+#~ msgstr "Käytössä"
+
+#~ msgid "Icon"
+#~ msgstr "Kuvake"
+
+#~ msgid "Program"
+#~ msgstr "Sovellus"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Aloitusohjelmien asetukset"
+
+#~ msgid "No name"
+#~ msgstr "Ei nimeä"
+
+#~ msgid "No description"
+#~ msgstr "Ei kuvausta"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ohjetta ei voitu näyttää"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Käynnistettävät ohjelmat"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Valitse sisäänkirjauduttaessa käynnistettävät ohjelmat"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Tiedosto ei ole kelvollinen .desktop-tiedosto"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Tuntematon desktop-tiedoston versio ”%s”"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s käynnistyy"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Sovellus ei hyväksy asiakirjoja komentoriviltä"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Tuntematon käynnistinvalitsin: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Asiakirja-URIa ei voida antaa ”Type=Link”-työpöytäkohteelle"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Kohde ei ole käynnistettävä"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Ota yhteys istunnonhallintaan pois käytöstä"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Anna tallennetut asetukset sisältävä tiedosto"
+
+#~ msgid "FILE"
+#~ msgstr "TIEDOSTO"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Istunnonhallinnan valinnat:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Näytä istunnonhallinnan valinnat"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Joitakin ohjelmia on vielä käynnissä:"
+
+#~ msgid "Unknown"
+#~ msgstr "Tuntematon"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Ohjelma on vielä käynnissä:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Odotetaan ohjelman sulkeutumista. Ohjelman suorituksen keskeyttäminen voi "
+#~ "aiheuttaa töiden häviämisen."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Odotetaan ohjelmien sulkeutumista. Ohjelmien suorituksen keskeyttäminen "
+#~ "voi aiheuttaa töiden häviämisen."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Vaihda käyttäjää kaikesta huolimatta"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Kirjaudu ulos kaikesta huolimatta"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Siirry valmiustilaan kaikesta huolimatta"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Siirry lepotilaan kaikesta huolimatta"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Sammuta kaikesta huolimatta"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Käynnistä uudelleen kaikesta huolimatta"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Lukitse näyttö"
+
+#~ msgid "Cancel"
+#~ msgstr "Peru"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Sinut kirjataan ulos automaattisesti %d sekunnin kuluttua."
+#~ msgstr[1] "Sinut kirjataan ulos automaattisesti %d sekunnin kuluttua."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Järjestelmä sammuu automaattisesti %d sekunnin kuluttua."
+#~ msgstr[1] "Järjestelmä sammuu automaattisesti %d sekunnin kuluttua."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Järjestelmä käynnistetään uudelleen %d sekunnin kuluttua."
+#~ msgstr[1] "Järjestelmä käynnistetään uudelleen %d sekunnin kuluttua."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Olet kirjautunut sisään käyttäjänä ”%s”."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Kirjaudutaanko ulos järjestelmästä nyt?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Vaihda käyttäjää"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Sammutetaanko järjestelmä nyt?"
+
+#~ msgid "S_uspend"
+#~ msgstr "Valmi_ustila"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Lepotila"
+
+#~ msgid "_Restart"
+#~ msgstr "Käynnistä _uudelleen"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Sammuta"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Käynnistetäänkö järjestelmä uudelleen nyt?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Kuvaketta ”%s” ei löydy"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Gnome 3 lataus epäonnistui"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Valitettavasti Gnome 3:n täysi käynnistys epäonnistui ja se "
+#~ "käynnistettiin <i>varatilassa</i>.\n"
+#~ "\n"
+#~ "Yleensä tämä tarkoittaa, että järjestelmäsi (grafiikkalaitteisto tai -"
+#~ "ajuri) ei pysty tarjoamaan täyttä Gnome 3 -kokemusta."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Opi lisää GNOME 3 -työpöydästä"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Kirjautumisistuntoa ei voi käynnistää (eikä X-palvelimeen voitu yhdistää)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Joitakin ohjelmia on vielä käynnissä:</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Esiintyi ongelma ja järjestelmä ei pysty palautumaan. Jokin alla "
+#~ "mainituista laajennuksista on saattanut aiheuttaa tämän.\n"
+#~ "Kokeile ottaa ne pois käytöstä sekä kirjaudu ulos ja yritä uudelleen, "
+#~ "kiitos."
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Päättyi koodilla %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Tapettu signaalilla %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Pysäytetty signaalilla %d"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Ongelma asetuspalvelimen kanssa.\n"
+#~ "(%s poistui tila-arvolla %d)"
+
+#~ msgid "File Manager"
+#~ msgstr "Tiedostonhallinta"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Luettelo sovelluksista, jotka ovat osa oletusistuntoa."
+
+#~ msgid "Panel"
+#~ msgstr "Paneeli"
+
+#~ msgid "Required session components"
+#~ msgstr "Vaaditut istuntokomponentit"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Tiedostonhallinta mahdollistaa kuvakkeet työpöydällä ja tallennettujen "
+#~ "tiedostojen kanssa työskentelyn."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "Kuinka monen käyttämättömän minuutin jälkeen istunnon tulkitaan olevan "
+#~ "jouten."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Paneeli tarjoaa näytön ylä- tai alaosassa olevan palkin, joka sisältää "
+#~ "valikot, ikkunaluettelot, tilakuvakkeet, kellon ja niin edelleen."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Ikkunanhallinta on ohjelma, joka piirtää otsikkopalkin ja reunat "
+#~ "ikkunoiden ympärille, sekä mahdollistaa ikkunoiden siirtämisen ja koon "
+#~ "muuttamisen."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Aikaviive, jonka jälkeen istunto tulkitaan joutenolevaksi"
+
+#~ msgid "Window Manager"
+#~ msgstr "Ikkunointiohjelma"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "GConf-avain, josta oletusistuntoa etsitään"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Näytä sammutusikkuna"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Käytä valintaikkunoita virheille"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Aseta nykyisen istunnon nimi"
+
+#~ msgid "NAME"
+#~ msgstr "NIMI"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "Istunto on tallennettu."
+
+#~ msgid "Could not connect to the session bus"
+#~ msgstr "Istuntoväylään ei voi yhdistää"
+
+#~ msgid "Ubuntu Desktop Edition"
+#~ msgstr "Ubuntu työpöydille"
+
+#~ msgid "This session logs you into GNOME without user applications"
+#~ msgstr "Tämä istunto kirjautuu Gnomeen ilman käyttäjäsovelluksia"
+
+#~ msgid "Ubuntu Desktop Edition (Safe Mode)"
+#~ msgstr "Ubuntu työpöydille (turvallinen tila)"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Odotetaan ohjelman lopettamista. Ohjelman suorituksen keskeyttäminen voi "
+#~ "aiheuttaa töiden häviämistä."
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "Lopettaa istunnon ja kirjautuu ulos."
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "Keskeyttää istunnon, mahdollistaen toisen käyttäjän kirjautumisen ja "
+#~ "tietokoneen käytön."
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "Sammuta tietokone"
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "Lopettaa istunnon ja sammuttaa tietokoneen."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "Lopettaa istunnon ja käynnistää tietokoneen uudelleen."
+
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "Keskeyttää istunnon nopeasti. Tietokone käyttää hyvin vähän virtaa "
+#~ "valmiustilassa."
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "Keskeyttää istunnon. Tietokone ei käytä virtaa lainkaan, kunnes tietokone "
+#~ "kytketään jälleen päälle."
+
+#~ msgid "Cannot find help."
+#~ msgstr "Ohjetta ei löydy."
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Gnomen käynnistymisikkuna"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Gnomen asetuspalvelimen käärin"
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Gnomen käynnistymisikkuna"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Tämä on suhteellinen polku, joka saa arvonsa hakemistosta $datadir/"
+#~ "pixmaps/. Kelvollisia arvoja ovat alihakemistot ja kuvien nimet. Tämän "
+#~ "arvon muutos tulee voimaan vasta seuraavalla kirjautumiskerralla."
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..5d46157
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,388 @@
+# French translation of gnome-session.
+# Copyright (C) 1998-2019 Free Software Foundation, Inc.
+#
+# Vincent Renardias <vincent@ldsol.com>, 1998-2000.
+# Joaquim Fellmann <joaquim@hrnet.fr>, 2000.
+# Christophe Merlet <redfox@redfoxcenter.org>, 2000-2006.
+# Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002.
+# Laurent Richard <laurent.richard@ael.be>, 2006.
+# Damien Durand <splinux@fedoraproject.org>, 2006.
+# Robert-André Mauchin <zebob.m@pengzone.org>, 2006-2008.
+# Claude Paroz <claude@2xlibre.net>, 2007-2010, 2019.
+# Jonathan Ernst <jonathan@ernstfamily.ch>, 2007.
+# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2008.
+# Frédéric Péters <fpeters@0d.be>, 2008.
+# Bruno Brouard <annoa.b@gmail.com>, 2009,2011-2012
+# Nicolas Repentin <nicolas@shivaserv.fr>, 2011
+# vanadiae <vanadiae35@gmail.com>, 2020.
+# Charles Monzat <charles.monzat@free.fr>, 2018-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-14 23:11+0200\n"
+"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n"
+"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
+"Language: fr\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: Gtranslator 40.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personnalisé"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ce choix permet d’accéder à une session enregistrée"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Cette session vous connecte dans GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME factice"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME sur Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME sur Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Enregistrer les sessions"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Si activé, gnome-session enregistre automatiquement la session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Enregistrer cette session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Si activé, gnome-session enregistre automatiquement la prochaine session "
+"lors de la déconnexion même si l’enregistrement automatique est désactivé."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Invite de déconnexion"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Si activé, gnome-session interroge l’utilisateur avant de terminer la "
+"session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Afficher l’avertissement de session de secours"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Si activé, gnome-session affiche une boîte de dialogue d’avertissement après "
+"la connexion si la session de secours a dû être automatiquement activée."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Session personnalisée"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Veuillez choisir une session personnalisée à lancer"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nouvelle session"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Supp_rimer la session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Reno_mmer la session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuer"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh mince ! Quelque chose s’est mal passé."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Un problème est survenu et le système ne peut pas se récupérer. Contactez un "
+"administrateur système"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Un problème est survenu et le système ne peut pas se récupérer. Toutes les "
+"extensions ont été désactivées par mesure de précaution."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Un problème est survenu et le système ne peut pas se récupérer.\n"
+"Déconnectez-vous et essayez à nouveau."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Fermer la session"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Active le code de débogage"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Autoriser la déconnexion"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Afficher l’avertissement pour les extensions"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Absence de réponse"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Se déconnecter"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Applications mémorisées"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ce programme bloque la déconnexion."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Refus de la connexion d’un nouveau client car la session est actuellement en "
+"cours de fermeture\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Impossible de créer le connecteur d’écoute ICE : %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Exécuté en tant que service systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Utiliser la gestion des sessions systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Utiliser la gestion des sessions intégrée (plutôt que celle basée sur "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Remplace les répertoires autostart standards"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "RÉP_AUTOSTART"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session à utiliser"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOM_SESSION"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ne charge pas les applications demandées par l’utilisateur"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version de cette application"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Afficher le dialogue d’erreur pour le tester"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Désactiver la vérification de l’accélération matérielle"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — le gestionnaire de sessions de GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Démarrer gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Démarrer gnome-session-shutdown.target si réception de fin de fichier (EOF) "
+"ou d’un octet unique sur stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signaler l’initialisation comme terminée à gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Redémarrer dbus.service s’il est en cours d’exécution"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Démarrer depuis ExecStopPost pour lancer gnome-session-failed.target en cas "
+"d’échec du service"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Le programme a besoin d’un seul paramètre uniquement"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMANDE\n"
+"\n"
+"Exécute COMMANDE tout en inhibant certaines fonctionnalités de la session.\n"
+"\n"
+" -h, --help Afficher cette aide\n"
+" --version Afficher la version du programme\n"
+" --app-id ID L’identifiant d’application à utiliser\n"
+" lors de l’inhibition (optionnel)\n"
+" --reason RAISON La raison de l’inhibition (optionnel)\n"
+" --inhibit ARG Les choses à inhiber, liste séparée par des deux-points, "
+"parmi :\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Ne pas lancer COMMANDE et attendre indéfiniment à la "
+"place\n"
+"\n"
+"Si l’option --inhibit n’est pas précisée, « idle » est présumé.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Impossible d’exécuter %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s nécessite un paramètre\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Se déconnecter"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Éteindre"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Redémarrer"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorer tout inhibiteur existant"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne pas demander de confirmation"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Impossible de se connecter au gestionnaire de sessions"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programme appelé avec des options conflictuelles"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Les noms de sessions ne peuvent pas commencer par « . » ou contenir le "
+"caractère « / »"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Les noms de sessions ne peuvent pas commencer par « . »"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Les noms de sessions ne peuvent pas contenir le caractère « / »"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Une session nommée « %s » existe déjà"
diff --git a/po/fur.po b/po/fur.po
new file mode 100644
index 0000000..b40a726
--- /dev/null
+++ b/po/fur.po
@@ -0,0 +1,937 @@
+# Friulian traslation for gnome-session
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# Massimo Furlani <massimo.furlani@libero.it>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.20.x\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-11-07 16:46+0000\n"
+"PO-Revision-Date: 2021-12-03 11:56+0100\n"
+"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
+"Language-Team: Friulian <massimo.furlani@libero.it>\n"
+"Language: fur\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: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizade"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ti permet di selezionâ une session salvade"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Cheste session ti fasarà jentrâ in GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME su Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME su Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Salve sessions"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se abilitât, gnome-session al salvarà la session in automatic."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Salve cheste session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Cuant che al è abilitât, gnome-session al salvarà in automatic la sucessive "
+"session tal moment che si jessarà, ancje se il salvament automatic al è "
+"disabilitât."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Conferme fin da session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Se abilitât, gnome-session al domandarà conferme prin di finî la session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostre l'avîs di rapeç"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se abilitât, gnome-sessions al mostrarà un dialic di avîs daspò l'acès se la "
+"session e je stade rapeçade in automatic."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Session personalizade"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Par plasê selezione une session personalizade di inviâ"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "G_nove Sessions"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Gjave sessions"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Cambie Non ae Session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Indenant"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Orpo! Alc al è lât ledrôs."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Al è vignût fûr un probleme e il sisteme nol pues comedâsi. Par plasê clame "
+"l'aministradôr di sisteme"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Al è vignût fûr un probleme e il sisteme nol pues comedâsi. Dutis lis "
+"estensions a son stadis disabilitadis par precauzion."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Al è vignût fûr un probleme e il sisteme nol pues comedâsi. \n"
+"Par plasê jes e torne prove."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Jes"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Abilite codiç di debug"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permet di jessî"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostre avîs di estension"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Nol rispuint"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Jes"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicazion memorizade"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Chest program al sta blocant la jessude."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Refudi le gnove conession client parcè che la session si sta studant\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Impussibil creâ il socket di scolte ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "In esecuzion come servizi di systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Dopre la gjestion de session di systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Dopre la gjestion de session integrade (invezit che chel basât su systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "No'l ten cont des directory standard di inviament automatic"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session di doprâ"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NON_SESSION"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Nol cjame lis aplicazions specificadis dal utent"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version di cheste aplicazion"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostre il dialic \"fail whale\" par fâ un test"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Gjave control acelerazion hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — Il gjestôr di session GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Fâs partî gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Fâs partî gnome-session-shutdown.target cuant che si ricêf EOF o un singul "
+"byte sul stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inizializazion dal segnâl fate par gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Torne invie dbus.service se al è in esecuzion"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Eseguìs di ExecStopPost par fâ partî gnome-session-failed.target al faliment "
+"dal servizi"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Il program al à bisugne di juste un parametri"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPZION...] COMANT\n"
+"\n"
+"Eseguìs COMANT intant che si inibìs cualchi funzionalitât di session.\n"
+"\n"
+" -h, --help Mostre chest jutori\n"
+" --version Mostre version dal program\n"
+" --app-id ID Il ID de aplicazion di doprâ\n"
+" cuant che si inibìs (opzionâl)\n"
+" --reason REASON La reson par inibî (opzionâl)\n"
+" --inhibit ARG Liste, separade di virgulis, di elements di inibî:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only No sta eseguî COMANT, invezit spietâ par simpri\n"
+" -l, --list Liste lis inibizions esistentis e jes\n"
+"\n"
+"Se --inhibit nol à nissune opzion, al ven doprât idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Falît a eseguî %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s al scugne vê un argoment\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "_Jes"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Stude"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Torne invie"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignore ogni inibidôr esistent"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "No sta domandâ conferme"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Impussibil colegasi al ministradôr di session"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program clamât cun opzions in conflit"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "I nons di session no puedin tacâ cun “.” o vê il caratar “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "I nons di session no puedin tacâ cun “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "I nons di session no puedin vê il caratar “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Une session clamade “%s” e esist za"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programs di inviament adizionâi:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programs di inviament"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Ae jessude visasi automaticamentri lis aplicazions in esecuzion"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Visiti lis aplicazions cumò in esecuzion"
+
+#~ msgid "Options"
+#~ msgstr "Opzions di session"
+
+#~ msgid "Browse…"
+#~ msgstr "Esplore..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Co_ment:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mant:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Non:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Cheste session ti fasarâ jentrâ dentri GNOME, doprant Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Selezion comant"
+
+#, fuzzy
+#~ msgid "Add Startup Program"
+#~ msgstr "Zonte program di inviament"
+
+#, fuzzy
+#~ msgid "Edit Startup Program"
+#~ msgstr "Modifiche programe di inviament"
+
+#, fuzzy
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Il non dal program di inviament nol pos jessi vueit"
+
+#, fuzzy
+#~ msgid "The startup command is not valid"
+#~ msgstr "Il comant di inviament nol è valid"
+
+#~ msgid "Enabled"
+#~ msgstr "Abilitât"
+
+#~ msgid "Icon"
+#~ msgstr "Icone"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "No name"
+#~ msgstr "Nissun non"
+
+#~ msgid "No description"
+#~ msgstr "Nissune descrizion"
+
+#~ msgid "Could not display help document"
+#~ msgstr "No pues mostrâ il document di jutori"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Cualchi program al sta ancjemò zirant:"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Selezione cualis aplicazions fa partî cuanche tu jentris"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Il file a nol è un valit file .desktop"
+
+#~| msgid "Starting"
+#~ msgid "Starting %s"
+#~ msgstr "Inviament in côrs di %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "L'aplicazion no acete documents su linie di comant"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opzion di inviament no ricognossude: %d"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Element no inviabil"
+
+#~| msgid "Could not connect to the session manager"
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Impussibil colegasi al gjestôr di session"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opzions di ministrazion di session:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Mostre opzions di ministrazion di session"
+
+#~ msgid "Unknown"
+#~ msgstr "No cognossût"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Un program al sta ancjemò zirant:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "O spieti che il program al finissi. Interompi il program al pues fati "
+#~ "pierdi il lavôr fat."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "O spieti che i programs a finissin. Interompi chescj programs al pues "
+#~ "fati pierdi il lavôr fat."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Cambie utent d'istes"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Jes d'istes"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Sospint d'istes"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Glace d'istes"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Stude d'istes"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reinvie d'istes"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloche Visôr"
+
+#~ msgid "Cancel"
+#~ msgstr "Anule"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Tu jessarâs automaticamentri in %d secont."
+#~ msgstr[1] "Tu jessarâs automaticamentri in %d seconts."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Il sisteme a si studarà automaticamentri in %d secont."
+#~ msgstr[1] "Il sisteme a si studarà automaticamentri in %d seconts."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Il sisteme a si reinviarà automaticamentri in %d secont."
+#~ msgstr[1] "Il sisteme a si reinviarà automaticamentri in %d seconts."
+
+#, fuzzy
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "In chest moment tu sês jentrât come \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Jessî di chest sisteme cumò?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Cambie Utent"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Studâ il sisteme cumò?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_ospint"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Glace"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reinvie"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Stude"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Reinviâ il sisteme cumò?"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Permet conessions TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Par mutîfs di sigurece, su plataformes ch'a doprin _IceTcpTransNoListen() "
+#~ "(sistemes XFree86), gnome-session nol reste in scolte di conessions su "
+#~ "puartis TCP. Cheste operazion a permet conessions di bande di machinis "
+#~ "remotis (autorizadis). Al coventarâ ognicâs tornâ a inviâ gnome-session "
+#~ "parcè che lis modifichis a vedin efiet."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Imagjine preferide di doprâ pa la schermade di inviament"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Opzion selezionade tal dialogo di logout"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Mostre schermade di inviament"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Mostre la schermade di inviament cuant ch'a ven inviade la session"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Chest al è un valôr di percors relatîf basât suntune directory $datadir/"
+#~ "pixmaps/. Noms di sot-directory e di imagjinis a son valôrs valids. La "
+#~ "modifiche di chest valôr à varâ efiet al prossim login."
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Cheste a je l'opzion che a risulte selezionade tal dialogo par finî la "
+#~ "session. Valôrs valids a son \"logout\" par lâ fûr, \"shutdown\" par "
+#~ "studâ il sisteme e \"restart\" par tornâ a inviâ il sisteme."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configure lis sessions"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Par cheste session al è stât domandât il supuart a lis tecnologie "
+#~ "assistive; però nol è stât cjatât il regjistro di acessibilitât. Controlâ "
+#~ "se il pacut AT-SPI al è stât instalât. La session a je stade inviade "
+#~ "cence il supuart a lis tecnologie assistive."
+
+#~ msgid "_Order:"
+#~ msgstr "_Ordin:"
+
+#~ msgid "The order in which applications are started in the session."
+#~ msgstr "L'ordin di inviament da lis aplicazions ta session."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Ce sucedial a l'aplicazion cuant ch'a finis."
+
+#~ msgid "_Style:"
+#~ msgstr "_Stîl:"
+
+#~ msgid "Inactive"
+#~ msgstr "Inatîf"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Al spiete di jessi inviât opûr al à finît."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Inviât, ma nol à ancjemò ripuartât il stât."
+
+#~ msgid "Running"
+#~ msgstr "In esecuzion"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Un membro normâl da session."
+
+#~ msgid "Saving"
+#~ msgstr "Salvatagjio"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Stât no ripuartât in timp util."
+
+#~ msgid "Normal"
+#~ msgstr "Normâl"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "No afiet dal finiment da session, ma al pos finî."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "No stâ finî mai."
+
+#~ msgid "Trash"
+#~ msgstr "Scovazzes"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Lassât sta al finiment da session e al pos finî."
+
+#~ msgid "Settings"
+#~ msgstr "Impostazions"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Inviât a ogni login."
+
+#~ msgid "Order"
+#~ msgstr "Ordin"
+
+#~ msgid "Style"
+#~ msgstr "Stîl"
+
+#~ msgid "State"
+#~ msgstr "Stât"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Al è saltât fûr un erôr vie pa l'inviament dal demoni des impostazions di "
+#~ "GNOME.\n"
+#~ "\n"
+#~ "Cualchi aspiet come temis, sûns o impostazions dal fondâl a podaressin no "
+#~ "funzionâ tal mût coret."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "L'ultim messaç di erôr al è stât:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME al provarâ a tornâ a inviâ il demoni des impostazions al prossim "
+#~ "login."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Il demoni des impostazions al è stât inviât masse voltis."
+
+#~ msgid "No Name"
+#~ msgstr "Nissun nom"
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "Liste dai clients regjistrâts, podopo al jes"
+
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAME..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "Al covente specificâ almancul un programe di rimovi. Al è pussibil elencâ "
+#~ "i programis cun --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Erôr: impussibil colegasi al gjestôr di session\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Clients atualmentri regjistrâts:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Impussibil cjatâ il programe %s ta session\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "Nol è pussibil inviâ in mût coret il gjestôr di session di GNOME. "
+#~ "Parplasè mandâ une report a GNOME. Meti dentri chest faliment di ICE tal "
+#~ "bug report: '%s'. Tal fratimp, provâ a loggasi doprant la session di "
+#~ "emergence."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "Il gjestôr di session di GNOME nol à rivât a lei il file '%s'. Se chest "
+#~ "file al esist, al vares di jessi legjibil par lassâ che GNOME al podedi "
+#~ "operâ in mût coret. Provâ a loggasi cu la session di emergence e a rimovi "
+#~ "chest file."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "Il gjestôr di session di GNOME nol à rivât a lei il file '%s'. Se chest "
+#~ "file al esist, al vares di jessi legjibil par lassâ che GNOME al podedi "
+#~ "operâ in mût coret. Provâ a loggasi cu la session di emergence e a rimovi "
+#~ "chest file."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "Impussibil scrivi sul file '%s'. Chest files al à di jessi scrivibil "
+#~ "parcè che GNOME al funzioni in mût coret. Provâ a loggasi cu la session "
+#~ "di emergence e rimovi chest file. Sigurasi ancje, che la directory dal "
+#~ "file a sedi scrivibil."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Setu sigûr di volê lâ fûr?"
+
+#~ msgid "Action"
+#~ msgstr "Azion"
+
+#~ msgid "Sh_ut down"
+#~ msgstr "Sh_ut down"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Torne a inviâ il computer"
+
+#~ msgid "NAME"
+#~ msgstr "NOM"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Lei lis sessions salvadis dome dal file default.session"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr "Timp di spiete da regjistrazion dai clients (in ms, 0=infinît)"
+
+#~ msgid "DELAY"
+#~ msgstr "RITART"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Timp di spiete da regjistrazion dai clients (in ms, 0=infinît)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Timp di spiete pa la muart dai clients (in ms, 0=infinît)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "Si stâ inviant cheste session come utent cun podês"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "Par sigurece, l'inviament di une session cuntun utent coun podês al vares "
+#~ "di mai sedi fat. Se pussibil loggasi come utent normâl."
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "La session a podares lâ incuintri a problemis se l'orloi dal computer nol "
+#~ "è configurât in mût coret. Al è conseabil regolâ l'orloi.\n"
+#~ "\n"
+#~ "La date di cumò a je <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "Inviament da l'imprest di configurazion falât: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "L'orloi dal computer al samèe regolât."
+
+#~ msgid "_Ignore"
+#~ msgstr "_Lasse sta"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Regole l'orloi"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Nol è pussibil risolvi l'indiriz internet par %s.\n"
+#~ "Chest nol permet a GNOME di funzionâ in mût coret.\n"
+#~ "Eventualmentri al è pussibil coregi l'erôr zontant\n"
+#~ "%s a la fin dal file. /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "Prove ancjemò"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Vonde spietâ... Al è un conflit."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Nissune rispueste al comant %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Il programe al podares jessi lent, fêr o no funzionâ."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Al è pussibil spieta ch'al rispuindi o rimovilu."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Inviament interot. Masse erôrs."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Il finiment da session a je in cors."
+
+#~ msgid "Set the current session name"
+#~ msgstr "Imposte il nom da session"
+
+#~ msgid "Kill session"
+#~ msgstr "Cope la session"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Dopre barcons di dialogo pai erôrs"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Salva i gambiaments a la session curint prime di sierâ?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "Se no si salve, lis modifichis a saran scartadis."
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Siere cence salvâ"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "La session jè stade salvade"
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "Impussibil conetisi al gjestôr di session\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "Il gjestôr di session nol supuarte lis estensions di GNOME\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Rimôf il client che cumò al è selezionât da la session."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Apliche lis modifichis a la session curint"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "La liste dai programes da session."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Programes cumò in esecuzion:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Window Manager Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Window Manager Metacity"
+
+#~ msgid "Window Manager"
+#~ msgstr "Window Manager"
+
+#~ msgid "The Panel"
+#~ msgstr "Il panel"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Impostazions desktop"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "Il nom dal programe di inviament nol pos jessi vueit"
diff --git a/po/fy.po b/po/fy.po
new file mode 100644
index 0000000..10fff42
--- /dev/null
+++ b/po/fy.po
@@ -0,0 +1,657 @@
+# Frisian translation for gnome-session
+#
+# This file is distributed under the same license as the gnome-session package.
+# Sietse <>, 2009.
+# Sense Hofstede <sense@ubuntu.com>, 2010, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-20 16:52+0100\n"
+"PO-Revision-Date: 2011-03-20 20:10+0100\n"
+"Last-Translator: Sense Hofstede <sense@ubuntu.com>\n"
+"Language-Team: Frisian <gnome-fy-list@gnome.org>\n"
+"Language: fy\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\n"
+"X-Launchpad-Export-Date: 2010-07-17 22:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Kommando selektearje"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "Opstartprogramma tafoegje"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "Opstartprogramma bewurkje"
+
+#: ../capplet/gsm-app-dialog.c:485
+msgid "The startup command cannot be empty"
+msgstr "It opstartkommando kin net leech wêze"
+
+#: ../capplet/gsm-app-dialog.c:491
+msgid "The startup command is not valid"
+msgstr "It opstartkommando is net jildich"
+
+#: ../capplet/gsm-properties-dialog.c:517
+msgid "Enabled"
+msgstr "Ynskeakele"
+
+#: ../capplet/gsm-properties-dialog.c:529
+msgid "Icon"
+msgstr "Ikoan"
+
+#: ../capplet/gsm-properties-dialog.c:541
+msgid "Program"
+msgstr "Programma"
+
+#: ../capplet/gsm-properties-dialog.c:745
+msgid "Startup Applications Preferences"
+msgstr "Ynstellingen foar opstarttapassingen"
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "Gjin namme"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "Gjin beskriuwing"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:280
+msgid "Version of this application"
+msgstr "Ferzje fan dizze tapassing"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "Koe it help dokumint net werjaan"
+
+#: ../data/gnome-fallback.session.desktop.in.in.h:1
+msgid "GNOME fallback"
+msgstr "Gnome weromfal"
+
+#: ../data/gnome.session.desktop.in.in.h:1 ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "Gnome"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Dizze sesje meld jo oan by Gnome"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Sommiche tapassingen rinne noch:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:643
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you "
+"to lose work."
+msgstr ""
+"Oan it wachtsjen oant it programma ôfrin is. It programma ûnderbrekke kin jo "
+"wurk fuort meitsje."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "Kies hokker tapassingen start wurden by it oanmelde"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "Opstarttapassingen"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Ekstra opstart_programma's:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse…"
+msgstr "Blêdzje…"
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "Ko_mmando:"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "Taljochting:"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Opsjes"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "Opstartprogramma's"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr "Ûnthâld rinnende tapassingen _automatysk by ôfmelde"
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "_Namme:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "Ûnthâld _rinnende tapassingen"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Triem is gjin jildich .desktop-triem"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Ûnbekend fersje '%s' yn desktop-triem"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "Dwaande mei it starte fan %s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "Tapassing akseptearret gjin dokuminten op de kommandorigel"
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Ûnbekende startopsje: %d"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "Kin gjin dokumint URIs oan in .desktop-triem mei 'Type=Link' trochjaan"
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr "Gjin útfierber item"
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr "Ferbining mei sesjebehearder útskeakelje"
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr "Triem mei bewarre konfiguraasje jaan"
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "TRIEM"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "Sesjebehear-ID oantsjutte"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "Sesjebehearopsjes:"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "Sesjebehearopsjes sjen litte"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Der is in probleem mei de konfiguraasjetsjinner.\n"
+"(%s útgongen mei status %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:252
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Ikoan '%s' net fûn"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:591
+msgid "Unknown"
+msgstr "Ûnbekend"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:642
+msgid "A program is still running:"
+msgstr "In programma rint noch:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:646
+msgid "Some programs are still running:"
+msgstr "Guon programma's rinne noch:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:647
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Wachtsjen op it einigjen fan programma's. Ûnderbrekken fan dizze programma's "
+"kin jo wurk kwyt meitsje."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Switch User Anyway"
+msgstr "Brûker dochs wikselje"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Log Out Anyway"
+msgstr "Dochs ôfmelde"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:883
+msgid "Suspend Anyway"
+msgstr "Dochs ûnderbrekke"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:886
+msgid "Hibernate Anyway"
+msgstr "Dochs sliepe"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:889
+msgid "Shut Down Anyway"
+msgstr "Dochs ôfslute"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:892
+msgid "Reboot Anyway"
+msgstr "Dochs opnij starte"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:900
+msgid "Lock Screen"
+msgstr "Skerm skoattelje"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:903
+msgid "Cancel"
+msgstr "Ôfbrekke"
+
+#. This string is shared with gsm-fail-whale-dialog.c
+#. This string is shared with gsm-logout-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:268
+#: ../gnome-session/gsm-fail-whale-dialog.c:209
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "Jo wurde automatysk ôfmelde yn %d sekonde."
+msgstr[1] "Jo wurde automatysk ôfmelde yn %d sekonde."
+
+#: ../gnome-session/gsm-logout-dialog.c:276
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "Dit systeem sil automatysk ôfsluten wurde yn %d sekonde."
+msgstr[1] "Dit systeem sil automatysk ôfsluten wurde yn %d sekonde."
+
+#: ../gnome-session/gsm-logout-dialog.c:308
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Jo binne no oanmeld as \"%s\""
+
+#: ../gnome-session/gsm-logout-dialog.c:374
+msgid "Log out of this system now?"
+msgstr "No ôfmelde fan dit systeem?"
+
+#: ../gnome-session/gsm-logout-dialog.c:380
+msgid "_Switch User"
+msgstr "Brûker _skeakelje?"
+
+#: ../gnome-session/gsm-logout-dialog.c:389
+#: ../gnome-session/gsm-fail-whale-dialog.c:290
+msgid "_Log Out"
+msgstr "Ôfme_lde"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "Shut down this system now?"
+msgstr "Dit systeem no ôfslúte?"
+
+#: ../gnome-session/gsm-logout-dialog.c:401
+msgid "S_uspend"
+msgstr "Ûnderbrekke"
+
+#: ../gnome-session/gsm-logout-dialog.c:407
+msgid "_Hibernate"
+msgstr "Sliepe"
+
+#: ../gnome-session/gsm-logout-dialog.c:413
+msgid "_Restart"
+msgstr "Opnij sta_rte"
+
+#: ../gnome-session/gsm-logout-dialog.c:423
+msgid "_Shut Down"
+msgstr "Ôf_slúte"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:277
+msgid "Try _Recovery"
+msgstr "Fe_rhelp besykje"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:279
+#, c-format
+msgid "A system error has occurred: %s"
+msgstr "In systeemflater is bard: %s"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:282
+#, c-format
+msgid "A fatal system error has occurred: %s"
+msgstr "In fatale systeemflater is bart: %s"
+
+#: ../gnome-session/gsm-process-helper.c:123
+#, c-format
+msgid "Exited with code %d"
+msgstr "Útgean mei koade %d"
+
+#: ../gnome-session/gsm-process-helper.c:128
+#, c-format
+msgid "Killed by signal %d"
+msgstr "Ôfbrutsen troch sinjaal %d"
+
+#: ../gnome-session/gsm-process-helper.c:133
+#, c-format
+msgid "Stopped by signal %d"
+msgstr "Stoppet troch signaal %d"
+
+#. Translators: This will look like: Component 'gnome-shell.desktop': Killed by signal 9.
+#. * It is admittedly mostly technical goop.
+#: ../gnome-session/gsm-manager.c:260
+#, c-format
+msgid "Component '%s': %s"
+msgstr "Komponint '%s': %s"
+
+#: ../gnome-session/gsm-manager.c:561
+msgid "Killed by signal"
+msgstr "Ôfbrutsen troch sinjaal"
+
+#. Translators: "Timed out" refers to a non-responsive application not answering.
+#. In case the string is problematic it might be translated to the noun "Timeout".
+#: ../gnome-session/gsm-manager.c:619
+msgid "Timed out"
+msgstr "Wachttiid ferstriken"
+
+#: ../gnome-session/gsm-manager.c:1332
+msgid "GNOME 3 Failed to Load"
+msgstr "Gnome 3 koe net laden wurde"
+
+#: ../gnome-session/gsm-manager.c:1333
+msgid ""
+"Unfortunately GNOME 3 failed to start properly and started in the "
+"<i>fallback mode</i>.\n"
+"\n"
+"This most likely means your system (graphics hardware or driver) is not "
+"capable of delivering the full GNOME 3 experience."
+msgstr ""
+"Spitigernôch is Gnome 3 net goed starte en begjint no in de <i>weromfal "
+"modus</i>.\n"
+"\n"
+"Dit betsjut wierskynlik dat jo systeem (grafyske hardware of "
+"stjoerprogramma) net de hiele Gnome 3 ûnderfining kin bringe."
+
+#: ../gnome-session/gsm-manager.c:1335
+msgid "Learn more about GNOME 3"
+msgstr "Mear ynformaasje oer Gnome 3"
+
+#: ../gnome-session/gsm-manager.c:1432 ../gnome-session/gsm-manager.c:2156
+msgid "Not responding"
+msgstr "Reagearret net"
+
+#: ../gnome-session/gsm-xsmp-client.c:1187
+msgid "This program is blocking logout."
+msgstr "Dit programma hâldt it ôfmelde tsjin"
+
+#: ../gnome-session/gsm-xsmp-server.c:325
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Weigert nije ferbining mei klant omdat de sesje no ôfsluten wurd\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:587
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Koe net ICE-lústerjende hâlder oanmeitsje: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:354
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+"Kin oanmeldsesje net starte (en kin gjin kontakt mei de X-tsjinner meitsje)"
+
+#: ../gnome-session/main.c:276
+msgid "Override standard autostart directories"
+msgstr "Standert autostarttriemtafels oerwâldzje"
+
+#: ../gnome-session/main.c:277
+msgid "Session to use"
+msgstr "Te brûken sesje"
+
+#: ../gnome-session/main.c:278
+msgid "Enable debugging code"
+msgstr "Útbrekkoade ynskeakelje"
+
+#: ../gnome-session/main.c:279
+msgid "Do not load user-specified applications"
+msgstr "Net troch de brûker oantsjutte programma's lade"
+
+#: ../gnome-session/main.c:300
+msgid " - the GNOME session manager"
+msgstr " - de Gnome sesjebehearder"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Log out"
+msgstr "Ôfmelde"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Power off"
+msgstr "Ôfslute"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "Alle besteande ferbieders negearjend"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "De brûker gjin befêstiging freegje"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "Koe net ferbine mei de sesjebehearder"
+
+#: ../tools/gnome-session-quit.c:199
+msgid "Program called with conflicting options"
+msgstr "Programma oanroppen mei stridige opsjes"
+
+#~ msgid "Default session"
+#~ msgstr "Standaardsesje"
+
+#~ msgid "File Manager"
+#~ msgstr "Triembehearder"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr ""
+#~ "As dit ynskakele is, sil gnome-session de bruker freegje foar't hij de "
+#~ "sesje beeindiget."
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "As dit ynskakele is, sil gnome-session de sesje automatysk bewarje."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Lyst mei applikaasjes dy't in part binne fan de standerdsesje"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Lyst fan komponinten dy't nedich binne as in part fan de sesje. (Elts "
+#~ "elemint neamt in kaai ûnder \"/desktop/gnome/session/required_components"
+#~ "\"). It Start Applikaasje ynstellings ark lit brûkers gjin easke "
+#~ "komponinten út de sesje fuortsmite, en de sesje behearder sil automatysk "
+#~ "de easke komponinten by it oanmelden wer tafoegje oan de sesje wannear't "
+#~ "sy dochs fuortsmiten binne."
+
+#~ msgid "Logout prompt"
+#~ msgstr "Útlogfinster"
+
+#~ msgid "Panel"
+#~ msgstr "Paniel"
+
+#~ msgid "Required session components"
+#~ msgstr "Easke sesje komponinten"
+
+#~ msgid "Save sessions"
+#~ msgstr "Sesjes opslaan"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "De triem ûnderhâlder jout de buroblêd byldkaikes en makket it jo mooglik "
+#~ "om mei jo bewarre triemen te wurkjen."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "It oantal minuten fan wachttid foar't de sesje as non-aktyf beskôge wurd."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "De paniel levert in balke boppe as ûnder jo skerm en befetted menus, the "
+#~ "finster list, status byldkaaikes, de klok, ens."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "De finster ûnderhâlder is de applikaasje dat de titelbalke tekent mei "
+#~ "rânen rûnom de finsters, en makket it mooglik om de finsters te "
+#~ "verpleatsen en fan formaat te feroarjen."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Tiid foardat de sesje is sjoen as neatdwaande"
+
+#~ msgid "Window Manager"
+#~ msgstr "Finsterbehearder"
+
+#~| msgid "GConf key used to lookup default session"
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "GConf-kaai brûkt om de standert sesje op te syskjen"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Ôfmeldfinster sjen litte"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Ôfslútfinster sjen litte"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Dialoogfinsters brûke foar flaters"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Set de aktuele sesje namme"
+
+#~ msgid "NAME"
+#~ msgstr "NAMME"
+
+#~ msgid "Kill session"
+#~ msgstr "Sesje ôfbrekke"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Foarkar plaatsje om te brûken foar it splash skerm"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Splash skerm sjin litte"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Splash skerm sjen litte wylst de sesje útein set"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will affect the next session login."
+#~ msgstr ""
+#~ "Dit is in relatyf paadwearde basearje op de $datadir/pixmaps/ triemtafel. "
+#~ "Ûndertafel- en ôfbyldingsnammen binne jildiche wearden. Feroarings fan "
+#~ "dizze wearden wurde aktyf by de folgjende sesjeoanmelding."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Wachtsjen op beëinigjen fan applikaasje. Ûnderbrekken fan de applikaasje "
+#~ "kin jo wurk kwyt meitsje."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME Splash-skerm"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME Splash-skerm"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "Jo sesje is bewarre."
+
+#~ msgid "Failed to save session"
+#~ msgstr "Bewarje fan sesje misleare"
+
+#~ msgid "Could not connect to the session bus"
+#~ msgstr "Koe gjin ferbining meitsje mei de sesje bus"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME Ynstellings Demon Behearder"
+
+#~ msgid "Failsafe GNOME"
+#~ msgstr "Mislearfeiliche GNOME"
+
+#~ msgid "This session logs you into GNOME without user applications"
+#~ msgstr "Dizze sesje meld jo oan yn GNOME sûnder brûker applikaasjes"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "As dit ynskakele is, sil gnome-session de sesje automatysk opslaan. As "
+#~ "dat net it gefal is, sil it utlogfinster een opsje hawwe om de sesje op "
+#~ "te slaan."
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "Beslút de sesje en meld ôf."
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "Sliepstân foar jo sesje, sadat in oare brûker oanmelde en dizze kompûter "
+#~ "brûke kin.\r\n"
+#~ "Skoftsje jo sesje, om ta te stean dat in oare brûker sich oanmelde kin en "
+#~ "dizze kompûter brûke kin."
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "Kompjûter ôfslúte"
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "Beëinigjen fan jo sesje en de kompjûter ôfslute."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "Beëinigjen fan jo sesje en de kompjûter op'e nij starte."
+
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "Pausearret fluch jo sesje , minimaal brûk meitsjend fan energzjy wylst de "
+#~ "computer steande by is."
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "Pausearret jo sesje, gjin brûk meitsjend fan energzjy oant de kompjûter "
+#~ "op'e nij starte is.."
+
+#~ msgid "Cannot find help."
+#~ msgstr "Koe gjin help fine."
diff --git a/po/ga.po b/po/ga.po
new file mode 100644
index 0000000..7085b15
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,531 @@
+# Irish translations for gnome-session package.
+# Copyright (C) 2000-2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Seán Ó Ceallaigh <s_oceallaigh@yahoo.com>, 2000.
+# Paul Duffy <dubhthach@frink.nuigalway.ie>, 2003.
+# Seán de Búrca <leftmostcat@gmail.com>, 2007-2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-31 18:10-0600\n"
+"PO-Revision-Date: 2009-07-31 18:26-0600\n"
+"Last-Translator: Seán de Búrca <leftmostcat@gmail.com>\n"
+"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\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"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Roghnaigh Ordú"
+
+#: ../capplet/gsm-app-dialog.c:192
+msgid "Add Startup Program"
+msgstr "Cuir Ríomhchlár Tosaithe Leis"
+
+#: ../capplet/gsm-app-dialog.c:196
+msgid "Edit Startup Program"
+msgstr "Cuir Ríomhchlár Tosaithe in Eagar"
+
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:555
+msgid "Enabled"
+msgstr "Cumasaithe"
+
+#: ../capplet/gsm-properties-dialog.c:567
+msgid "Icon"
+msgstr "Deilbhín"
+
+#: ../capplet/gsm-properties-dialog.c:579
+msgid "Program"
+msgstr "Ríomhchlár"
+
+#: ../capplet/gsm-properties-dialog.c:790
+msgid "Startup Applications Preferences"
+msgstr "Sainroghanna Feidhmchlár Tosaithe"
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "Gan ainm"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "Gan cur síos"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:437
+msgid "Version of this application"
+msgstr "Leagan an fheidhmchláir seo"
+
+#: ../capplet/main.c:63
+msgid "Could not display help document"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr "Rapar Chlárlann AT SPI"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "Cuiditheoir Dheamhan Socruithe GNOME"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Logálann an seisiún seo thú isteach i nGNOME"
+
+#: ../data/gnome-session.schemas.in.in.h:1
+msgid "Default session"
+msgstr "Seisiún réamhshocraithe"
+
+#: ../data/gnome-session.schemas.in.in.h:2
+msgid "File Manager"
+msgstr "Bainisteoir Comhad"
+
+#: ../data/gnome-session.schemas.in.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required_components\"). The "
+"Startup Applications preferences tool will not normally allow users to "
+"remove a required component from the session, and the session manager will "
+"automatically add the required components back to the session at login time "
+"if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:7
+msgid "Logout prompt"
+msgstr "Leid logála amach"
+
+#: ../data/gnome-session.schemas.in.in.h:8
+msgid "Panel"
+msgstr "Painéal"
+
+#: ../data/gnome-session.schemas.in.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:11
+msgid "Save sessions"
+msgstr "Sábháil seisiúin"
+
+#: ../data/gnome-session.schemas.in.in.h:12
+msgid "Show the splash screen"
+msgstr "Taispeáin an splancscáileán"
+
+#: ../data/gnome-session.schemas.in.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr "Taispeáin an splancscáileán nuair a thosaíonn an seisiún"
+
+#: ../data/gnome-session.schemas.in.in.h:14
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:15
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:19
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Bainisteoir Fuinneoga"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Tá ríomhcláir éigin ag rith fós:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:667
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "Roghnaigh na feidhmchláir le tosú agus ag logáil isteach"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "Feidhmchláir Tosaithe"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "_Ríomhchláir tosaithe breise:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse..."
+msgstr "Brábhsáil..."
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "_Ordú:"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "_Nóta:"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Roghanna"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "Ríomhchláir Tosaithe"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr "Meabhraigh feidhmchláir á rith go huathoibríoch agus ag logáil amach"
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "_Ainm:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "_Meabhraigh Feidhmchlár á Rith Faoi Láthair"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Ní comhad .desktop bailí é an comhad"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Leagan comhaid deisce anaithnid '%s'"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "%s á Thosú"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Rogha tosaithe anaithnid: %d"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr ""
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr ""
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "COMHAD"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "Sonraigh CA bainistíochta seisiún"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "CA"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "Roghanna bainistíochta seisiún:"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "Taispeáin roghanna bainistíochta seisiún"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Tá fadhb ann leis an bhfreastalaí cumraíochta.\n"
+"(Chríochnaigh %s le stádas %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:255
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Deilbhín '%s' gan aimsiú"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:615
+msgid "Unknown"
+msgstr "Anaithnid"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:666
+msgid "A program is still running:"
+msgstr "Tá feidhmchlár á rith fós:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:670
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:671
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Switch User Anyway"
+msgstr "Aistrigh Úsáideoir Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Logout Anyway"
+msgstr "Logáil Amach Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:907
+msgid "Suspend Anyway"
+msgstr "Cuir ar Fionraí Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:910
+msgid "Hibernate Anyway"
+msgstr "Geimhrigh Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:913
+msgid "Shutdown Anyway"
+msgstr "Múch Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:916
+msgid "Reboot Anyway"
+msgstr "Atosaigh Mar Sin Féin"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:924
+msgid "Lock Screen"
+msgstr "Cuir Scáileáin Faoi Ghlas"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:927
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: ../gnome-session/gsm-logout-dialog.c:274
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "Logálfar thú amach go huathoibríoch i gceann %d soicind."
+msgstr[1] "Logálfar thú amach go huathoibríoch i gceann %d shoicind."
+msgstr[2] "Logálfar thú amach go huathoibríoch i gceann %d shoicind."
+msgstr[3] "Logálfar thú amach go huathoibríoch i gceann %d soicind."
+msgstr[4] "Logálfar thú amach go huathoibríoch i gceann %d soicind."
+
+#: ../gnome-session/gsm-logout-dialog.c:282
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "Múchfar an córas seo go huathoibríoch i gceann %d soicind."
+msgstr[1] "Múchfar an córas seo go huathoibríoch i gceann %d shoicind."
+msgstr[2] "Múchfar an córas seo go huathoibríoch i gceann %d shoicind."
+msgstr[3] "Múchfar an córas seo go huathoibríoch i gceann %d soicind."
+msgstr[4] "Múchfar an córas seo go huathoibríoch i gceann %d soicind."
+
+#: ../gnome-session/gsm-logout-dialog.c:314
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Tá tú logáilte isteach mar \"%s\"."
+
+#: ../gnome-session/gsm-logout-dialog.c:379
+msgid "Log out of this system now?"
+msgstr "Logáil amach as an gcóras seo anois?"
+
+#: ../gnome-session/gsm-logout-dialog.c:385
+msgid "_Switch User"
+msgstr "_Switch User"
+
+#: ../gnome-session/gsm-logout-dialog.c:394
+msgid "_Log Out"
+msgstr "_Lógáil Amach"
+
+#: ../gnome-session/gsm-logout-dialog.c:400
+msgid "Shut down this system now?"
+msgstr "Múch an córas seo anois?"
+
+#: ../gnome-session/gsm-logout-dialog.c:406
+msgid "S_uspend"
+msgstr "_Cuir ar Fionraí"
+
+#: ../gnome-session/gsm-logout-dialog.c:412
+msgid "_Hibernate"
+msgstr "_Geimhrigh"
+
+#: ../gnome-session/gsm-logout-dialog.c:418
+msgid "_Restart"
+msgstr "_Atosaigh"
+
+#: ../gnome-session/gsm-logout-dialog.c:428
+msgid "_Shut Down"
+msgstr "_Múch"
+
+#: ../gnome-session/gsm-manager.c:1158 ../gnome-session/gsm-manager.c:1850
+msgid "Not responding"
+msgstr "Gan fhreagairt"
+
+#: ../gnome-session/gsm-xsmp-client.c:1206
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:354
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:433
+msgid "Override standard autostart directories"
+msgstr "Sáraigh comhadlanna uath-thosaithe caighdeánacha"
+
+#: ../gnome-session/main.c:434
+msgid "GConf key used to lookup default session"
+msgstr "Eochair GConf úsáidte chun seisiún réamhshocraithe a chuardach"
+
+#: ../gnome-session/main.c:435
+msgid "Enable debugging code"
+msgstr "Cumasaigh cód dífhabhtaithe"
+
+#: ../gnome-session/main.c:436
+msgid "Do not load user-specified applications"
+msgstr "Ná luchtaigh feidhmchláir sonraithe ag an úsáideoir"
+
+#: ../gnome-session/main.c:457
+msgid " - the GNOME session manager"
+msgstr "- an bainisteoir seisiún GNOME"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- Splancscáileáin GNOME"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "Splancscáileáin GNOME"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Log out"
+msgstr "Logáil amach"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:67
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Use dialog boxes for errors"
+msgstr ""
+
+#. deprecated options
+#: ../tools/gnome-session-save.c:71
+msgid "Set the current session name"
+msgstr "Socraigh ainm an tseisiúin reatha"
+
+#: ../tools/gnome-session-save.c:71
+msgid "NAME"
+msgstr "AINM"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Kill session"
+msgstr "Maraigh seisiún"
+
+#: ../tools/gnome-session-save.c:73
+msgid "Do not require confirmation"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
diff --git a/po/gd.po b/po/gd.po
new file mode 100644
index 0000000..c4903a9
--- /dev/null
+++ b/po/gd.po
@@ -0,0 +1,568 @@
+# Gaelic; Scottish translation for gnome-session
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the gnome-session package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+# GunChleoc <fios@foramnagaidhlig.net>, 2013, 2015, 2016, 2017, 2018, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2019-01-07 18:37+0000\n"
+"PO-Revision-Date: 2019-02-16 09:55+0100\n"
+"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
+"Language-Team: Fòram na Gàidhlig\n"
+"Language: gd\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==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
+"(n > 2 && n < 20) ? 2 : 3;\n"
+"X-Generator: Virtaal 0.7.1\n"
+"X-Launchpad-Export-Date: 2013-09-15 06:24+0000\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Gnàthaichte"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr ""
+"’S urrainn dhut seisean air a shàbhaladh a thaghadh leis an innteart seo"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Clàraidh an seisean seo a-steach gu GNOME thu"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Caochag GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME air Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+#| msgid "_Remove Session"
+msgid "Save sessions"
+msgstr "Sàbhail na seiseanan"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+"Ma tha seo an comas, sàbhailidh gnome-session an seisean gu fèin-obrachail."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Sàbhail an seisean seo"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Ma tha seo an comas, sàbhailidh gnome-session an ath-sheisean nuair a "
+"nithear clàradh a-mach fiù ma tha an sàbhaladh fèin-obrachail à comas."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Dearbhadh a’ chlàraidh a-mach"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ma tha seo an comas, cuiridh gnome-session ceist dhan chleachdaiche mus dèid "
+"crìoch a chur air seisean."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+#| msgid "Show extension warning"
+msgid "Show the fallback warning"
+msgstr "Seall an rabhadh èiginneach"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ma tha seo an comas, seallaidh gnome-session còmhradh rabhaidh às dèidh a’ "
+"chlàraidh a-steach ma chaidh an seisean aiseag gu h-èiginneach."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Seisean gnàthaichte"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Tagh seisean gnàthaichte gus a ruith"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Seisean ùr"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Thoi_r an seisean air falbh"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Thoir ain_m ùr air an t-seisean"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Lean air adhart"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Obh Obh! Chaidh rudeigin ceàrr."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "Thachair duilgheadas ach nach urrainn dhan t-siostam aiseag. Feuch an cuir thu fiosrachadh gu rianaire an t-siostaim agad"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr "Thachair duilgheadas ach nach urrainn dhan t-siostam aiseag. Chaidh na h-uile leudachan a chur à comas mar earalas."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr "Thachair duilgheadas ach nach urrainn dhan t-siostam aiseag.\nAn clàraich thu a-mach is a-steach airson feuchainn ris a-rithist?"
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "C_làraich a-mach"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Cuir an comas còd dì-bhugachaidh"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Ceadaich clàradh a-mach"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Seall rabhadh leudachain"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "Chan eil e a’ freagairt"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "C_làraich a-mach"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplacaid air a cuimhneachadh"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Tha am prògram seo a’ bacadh a’ chlàraidh a-mach."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "A’ diùltadh ceangal ùr ri cliant on a tha an seisean ’ga dhùnadh sìos an-dràsta\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Cha b’ urrainn dhuinn socaid èisteachd ICE a chruthachadh: %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Tar-àithn na pasganan fèin-tòiseachaidh stannardach"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "PASGAN_FÈIN_TÒISEACHAIDH"
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "An seisean ri chleachdadh"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "AINM_SEISEIN"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Na luchdaich aplacaidean gnàthaichte a’ chleachdaiche"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Tionndadh na h-aplacaid seo"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Seall an còmhradh “fail whale” a chum deuchainn"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "Cuir an dearbhadh air luathachadh a’ bhathair-chruaidh à comas"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " – manaidsear nan seisean GNOME"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr "%s [ROGHAINN…] ÀITHNE\n\nRuith ÀITHNE fhad ’s a thèid cuid a dh’fhoincseanan seisein a bhacadh.\n\n -h, --help Seall a’ chobhair seo\n --version Seall an tionndadh dhen phrògram\n --app-id ID ID ana h-aplacaid a thèid a chleachdadh\n leis a’ bhacadh (roghainneil)\n --reason ADHBHAR Adhbhar a’ bhacaidh (rogainneil)\n --inhibit ARG Nithean ri am bacadh, liosta air a sgaradh le\n còileanan de:\n logout, switch-user, suspend, idle, automount\n --inhibit-only Na cuir an ÀITHNE gu dol is dèan feitheamh gun chrìch\n ’na àite\n\nMura deach an roghainn --inhibit a shònrachadh, thathar an dùil\nair idle.\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Cha deach leinn %s a ruith\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "Tha argamaid a dhìth air %s\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Clàraich a-mach"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Cuir dheth"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Ath-thòisich"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "A’ leigeil seachad gach bacadair a tha ann"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Na faighnich airson dearbhadh a’ chleachdaiche"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Cha b’ urrainn dhuinn ceangal ri manaidsear nan seisean"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Chaidh prògram a ghairm le roghainnean ann an còmhstri"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seisean %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Chan fhaod ainm seisein a thòiseachadh le “.” no caractar “/” a bhith ’na bhroinn"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Chan fhaod ainm seisein a thòiseachadh le “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Chan fhaod caractar “/” a bhith am broinn ainm seisein"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Tha seisean air a bheil “%s” ann mu thràth"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Prògraman tòiseachaidh a bharrachd:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Prògraman tòiseachaidh"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Cuimhnich na prògraman a bhios a' ruith gu fèin-obr_achail nuair a nì mi "
+#~ "clàradh a-mach"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Cuimhnich na p_rògraman a tha a' ruith an-dràsta"
+
+#~ msgid "Options"
+#~ msgstr "Roghainnean"
+
+#~ msgid "Browse…"
+#~ msgstr "Brabhsaich..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Abai_rt:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ài_thne:"
+
+#~ msgid "_Name:"
+#~ msgstr "Ai_nm:"
+
+#~ msgid "Select Command"
+#~ msgstr "Tagh àithne"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Cuir prògram tòiseachaidh ris"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Deasaich am prògram tòiseachaidh"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Chan fhaod an àithne tòiseachaidh a bhith falamh"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Chan eil an àithne tòiseachaidh dligheach"
+
+#~ msgid "Enabled"
+#~ msgstr "An comas"
+
+#~ msgid "Icon"
+#~ msgstr "Ìomhaigheag"
+
+#~ msgid "Program"
+#~ msgstr "Prògram"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Roghainnean nam prògraman tòiseachaidh"
+
+#~ msgid "No name"
+#~ msgstr "Gun ainm"
+
+#~ msgid "No description"
+#~ msgstr "Gun tuairisgeul"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Cha b' urrainn dhuinn sgrìobhainn na cobharach a shealltainn"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Prògraman tòiseachaidh"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Tagh na prògraman a thèid a ruith nuair a nì thu clàradh a-steach"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Clàraidh an seisean seo a-steach gu GNOME thu a'cleachdadh Wayland"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Chan eil am faidhle seo na fhaidhle .desktop dligheach"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Faidhle desktop tionndadh \"%s\" neo-aithnichte"
+
+#~ msgid "Starting %s"
+#~ msgstr "A' tòiseachadh %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Cha ghabh am prògram ri sgrìobhainnean air an loidhne-àithne"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Roghainn tòiseachaidh neo-aithnichte: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Cha ghabh URI sgrìobhainn a chur gu innteart desktop \"Type=Link\""
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Chan e nì a ghabhas tòiseachadh a th' ann"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Chur à comas an ceangal ri manaidsear nan seisean"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Sònraich am faidhle sa deach an rèiteachadh a shàbhaladh"
+
+#~ msgid "FILE"
+#~ msgstr "FAIDHLE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Sònraich ID stiùireadh nan seisean"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Roghainnean stiùireadh nan seisean:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Seall roghainnean stiùireadh nan seisean"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Tha cuid a' phrògraman a' ruith fhathast:"
+
+#~ msgid "Unknown"
+#~ msgstr "Chan eil fhios"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Tha prògram a' ruith fhathast:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Tha sinn a' feitheamh gus an crìochnaich am prògram. Dh'fhaoidte gun "
+#~ "caill thu obair ma chuireas tu stad air."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Tha sinn a' feitheamh gus an crìochnaich prògraman. Dh'fhaoidte gun caill "
+#~ "thu obair ma chuireas tu stad orra."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Gearr leum gu cleachdaiche eile co-dhiù"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Log a-mach co-dhiù"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Cuir na dhàil co-dhiù"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Geamhraich co-dhiù"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Dùin sìos co-dhiù"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Ath-thòisich co-dhiù"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Glais an sgrìn"
+
+#~ msgid "Cancel"
+#~ msgstr "Sguir dheth"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Thèid do logadh a-mach gu fèin-obrachail an ceann %d diog."
+#~ msgstr[1] "Thèid do logadh a-mach gu fèin-obrachail an ceann %d dhiog."
+#~ msgstr[2] "Thèid do logadh a-mach gu fèin-obrachail an ceann %d diogan."
+#~ msgstr[3] "Thèid do logadh a-mach gu fèin-obrachail an ceann %d diog."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] ""
+#~ "Thèid an siostam seo a dhùnadh sìos gu fèin-obrachail an ceann %d diog."
+#~ msgstr[1] ""
+#~ "Thèid an siostam seo a dhùnadh sìos gu fèin-obrachail an ceann %d dhiog."
+#~ msgstr[2] ""
+#~ "Thèid an siostam seo a dhùnadh sìos gu fèin-obrachail an ceann %d diogan."
+#~ msgstr[3] ""
+#~ "Thèid an siostam seo a dhùnadh sìos gu fèin-obrachail an ceann %d diog."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] ""
+#~ "Thèid an siostam seo ath-thòiseachadh gu fèin-obrachail an ceann %d diog."
+#~ msgstr[1] ""
+#~ "Thèid an siostam seo ath-thòiseachadh gu fèin-obrachail an ceann %d dhiog."
+#~ msgstr[2] ""
+#~ "Thèid an siostam seo ath-thòiseachadh gu fèin-obrachail an ceann %d "
+#~ "diogan."
+#~ msgstr[3] ""
+#~ "Thèid an siostam seo ath-thòiseachadh gu fèin-obrachail an ceann %d diog."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Tha thu air logadh a-steach an-dràsta mar \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "A bheil thu airson logadh a-mach on t-siostam seo an-dràsta?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Gearr leum gu _cleachdaiche eile"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "A bheil thu airson an siostam seo a dhùnadh sìos an-dràsta?"
+
+#~ msgid "S_uspend"
+#~ msgstr "C_uir na dhàil"
+
+#~ msgid "_Hibernate"
+#~ msgstr "Geam_hraich"
+
+#~ msgid "_Restart"
+#~ msgstr "_Ath-thòisich"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Dùin sìos"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "A bheil thu airson an siostam ath-thòiseachadh an-dràsta?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ìomhaigheag '%s' gun lorg"
+
+#~ msgid "GNOME fallback (Safe Mode)"
+#~ msgstr "GNOME cùl-taic (Modh sàbhail)"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "A' feitheamh gus a chrìochnicheas am prògram, dh' fhaodadh tu caill "
+#~ "d'obair le a bhith a' cuir stad air am program."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "A' feitheamh son prògraman a chrìochnach. Dh'fhaodadh tu caill d'obair le "
+#~ "a bhith a' cuir stad air na prògraman seo."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Ionnsaich barrachd mu dheidhinn GNOME"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Dh'fhàillig GNOME 3 luchdadh"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Cha b' urrainn tòiseach seisein logadh a-steach ( 's cha b' urrainn "
+#~ "ceangal ris an fhrithealaiche X"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Gu mì-fhortanach dh'fhàillig GNOME 3 tòiseachadh ceart agus thòisich e "
+#~ "ann an <i>modh cùl-taic</i>.\n"
+#~ "\n"
+#~ "Tha seo ciallachadh gu mòr nach eil do shiostam ( bathar-chruaidh "
+#~ "grafaichean no dràibhear) an comas lìbhrigeadh làn blas GNOME 3."
diff --git a/po/gl.po b/po/gl.po
new file mode 100644
index 0000000..537cd0c
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,385 @@
+# Galician translation of gnome-session.
+# Copyright (C) 1999-2004 Jesús Bravo Álvarez
+# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas
+# colaborar connosco, podes atopar máis información en http://www.trasno.net
+#
+# Jesús Bravo Álvarez <suso@trasno.net>, 1999-2004.
+# Ignacio Casal Quinteiro <nacho.resa@gmail.com>, 2005, 2006.
+# Ignacio Casal Quinteiro <icq@cvs.gnome.org>, 2007.
+# Ignacio Casal Quinteiro <icq@svn.gnome.org>, 2008.
+# Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009.
+# Antón Méixome <meixome@mancomun.org>, 2009.
+# Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012.
+# Fran Dieguez <frandieguez@gnome.org>, 2012-2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-01-13 20:29+0000\n"
+"PO-Revision-Date: 2022-01-26 19:49+0100\n"
+"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
+"Language-Team: Galician <proxecto@trasno.gal>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Gtranslator 40.0\n"
+"X-Project-Style: gnome\n"
+"X-DL-Team: gl\n"
+"X-DL-Module: gnome-session\n"
+"X-DL-Branch: main\n"
+"X-DL-Domain: po\n"
+"X-DL-State: Translating\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizada"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Esta entrada permítelle selecciona unha sesión gardada"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Esta sesión iniciará en GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME de proba"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME en Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME en Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Gardar as sesións"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se está activo, gnome-session gardará a sesión automaticamente."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Gardar esta sesión"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Cando está activado, gnome-session gardará automaticamente a seguinte sesión "
+"cando peche a sesión aínda que o autogardado estea desactivado."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Preguntar ao pechar a sesión"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Se está activado, gnome-session preguntaralle ao usuario antes de finalizar "
+"a sesión."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostrar un aviso ao usar fallback"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se está activado, gnome-session mostrará un diálogo de aviso despois de "
+"iniciar a sesión se se usou o fallback"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sesión personalizada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Seleccione unha sesión personalizada para executar"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova sesión"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Quitar sesión"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Reno_mear sesión"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Recoiro! Algo foi mal."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Produciuse un problema e non é posíbel recuperar o sistema. Contacte co "
+"administrador do sistema"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Produciuse un problema e non é posíbel recuperar o sistema. Desactiváronse "
+"todas as extensións como medida de precaución."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Produciuse un problema e non é posíbel recuperar o sistema.\n"
+"Peche a sesión e ténteo de novo."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Saír da sesión"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "Activar o código de depuración"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permitir saír da sesión"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostrar aviso de extensión"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "Non responde"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Saír da sesión"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicación recordado"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Este programa está bloqueando a saída da sesión."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Rexeitouse a conexión co novo cliente porque neste momento a sesión está "
+"sendo apagada\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Non foi posíbel crear o socket de escoita ICE: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "Executándose como un servizo de systemd"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "Usar a xestión de sesións de systemd"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Usar a xestión de sesións interna (no lugar da baseada en systemd)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "Ignorar os directorios de inicio automático estándares"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "CARTAFO_DE_AUTOINICIO"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "Sesión a usar"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "NOME_DA_SESIÓN"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "Non cargar as aplicacións especificadas polo usuario"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "Versión desta aplicación"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostrar o diálogo da balea de fallos"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "Desactivar a comprobación de aceleración de hardware"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — o xestor de sesións do GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Iniciar gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Iniciar gnome-session-shutdown.target ao recibir EOF ou un byte único pola "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inicialización de sinal feita para gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reiniciar dbus.service se está executándose"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Execute desde ExecStopPost para iniciar o obxectivo gnome-session-failed "
+"cando falle o servizo"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "O programa precisa exactamente un parámetro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIÓN…] ORDE\n"
+"\n"
+"Execute ORDE ao inhibir algunha funcionalidade da sesión.\n"
+"\n"
+" -h, --help Mostrar esta axuda\n"
+" --version Mostrar versión do programa\n"
+" --app-id ID Id de aplicación a usar\n"
+" ao inhibir (opcional)\n"
+" --reason REASON A razón para inhibir (opcional)\n"
+" --inhibit ARG Cousas a inhibir, lista separada por comas de:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Non executar ORDE e agardar no lugar\n"
+" -l, --list Lista as inhibicións existentes, e sae\n"
+"\n"
+"Se non se especifica a opción --inhibit, asúmese idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Produciuse un erro ao executar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s require un argumento\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Saír da sesión"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Apagar"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorando calquera inhibidor existente"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Non requirir confirmación do usuario"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Non foi posíbel conectar co xestor de sesión"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Chamouse un programa con opcións en conflito"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesión %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Os nomes de sesións non poden comezar con «.» ou conter caracteres «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Os nomes das sesións non poden comezar por «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Os nomes de sesións non poden conter caracteres «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Xa existe unha sesión co nome «%s»"
diff --git a/po/gu.po b/po/gu.po
new file mode 100644
index 0000000..c83ed6b
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,566 @@
+# translation of gu.po to Gujarati
+# Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+# MagNet <magnet@magnet-i.com>, 2004.
+# Ankit Patel <ankit@redhat.com>, 2004, 2005, 2007, 2009.
+# Ankit Patel <ankit644@yahoo.com>, 2006.
+# Sweta Kothari <swkothar@redhat.com>, 2009, 2010, 2011, 2012, 2013, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: gu\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2016-06-30 17:18+0000\n"
+"PO-Revision-Date: 2016-07-11 22:10+0200\n"
+"Last-Translator: વિશાલ ભલાણી <vishalbhalani89@gmail.com>\n"
+"Language-Team: American English <kde-i18n-doc@kde.org>\n"
+"Language: gu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "વૈવિધ્ય"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "આ નોંધણી કે જે તમને સંગ્રહ થયેલ સત્રને પસંદ કરવા દે છે"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2 ../data/gnome-xorg.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "આ સત્ર તમને GNOME માં પ્રવેશ આપે છે"
+
+#: ../data/gnome-xorg.desktop.in.h:1
+msgid "GNOME on Xorg"
+msgstr "Xorg પર GNOME"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME ડમી"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "વૈવિધ્ય સત્ર"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "મહેરબાની કરીને ચલાવવા માટે વૈવિધ્ય સત્રને પસંદ કરો"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "નવું સત્ર (_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "સત્રને દૂર કરો (_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "સત્રનું નામ બદલો (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "ચાલુ રાખો (_C)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "અરે નહિં! કંઇક ખોટુ થઇ ગયુ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system administrator"
+msgstr "સમસ્યા ઉદ્ભવી અને સિસ્ટમને પુન:પ્રાપ્ત કરી શક્યા નહિં. મહેરબાની કરીને સિસ્ટમ સંચાલકનો સંપર્ક કરો"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have been disabled as a "
+"precaution."
+msgstr "સમસ્યા ઉદ્ભવી અને સિસ્ટમને પુન:પ્રાપ્ત કરી શક્યા નહિં. બધા એક્સટેન્શન એક સાવચેતી તરીકે નિષ્ક્રિય છે."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"સમસ્યા ઉદ્ભવી અને સિસ્ટમને પુન:પ્રાપ્ત કરી શક્યા નહિં.\n"
+" મહેરબાની કરીને બહાર નીકળો અને ફરીથી પ્રયત્ન કરો."
+
+# gnome-session/logout.c:274
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "બહાર નીકળો (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:283
+msgid "Enable debugging code"
+msgstr "ડિબગીંગ કોડ ને સક્રિય કરો"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "logout ની પરવાનગી આપો"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "ઍક્સટેન્શન ચેતવણી બતાવો"
+
+#: ../gnome-session/gsm-manager.c:1228 ../gnome-session/gsm-manager.c:1881
+msgid "Not responding"
+msgstr "જવાબ આપતુ નથી"
+
+# gnome-session/logout.c:274
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "બહાર નીકળો (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "યાદ રાખેલ કાર્યક્રમ"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "આ કાર્યક્રમ એ બહાર નીકળવાને અટકાવી રહ્યો છે."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid "Refusing new client connection because the session is currently being shut down\n"
+msgstr "નવા ક્લાઇન્ટ જોડાણને ના પાડી રહ્યા છે કારણ કે સત્ર એ હાલમાં બંધ થયેલ છે\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE સાંભળવાની સોકેટ ને બનાવી શકાતી નથી: %s"
+
+#: ../gnome-session/main.c:281
+msgid "Override standard autostart directories"
+msgstr "પ્રમાણભૂત આપોઆપશરૂઆત ડિરેક્ટરીઓ પર ફરી લખો"
+
+#: ../gnome-session/main.c:281
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:282
+msgid "Session to use"
+msgstr "વાપરવા માટે સત્ર"
+
+#: ../gnome-session/main.c:282
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:284
+msgid "Do not load user-specified applications"
+msgstr "વપરાશકર્તા-સ્પષ્ટ થયેલ કાર્યક્રમો ને લોડ કરાતા નથી"
+
+#: ../gnome-session/main.c:285
+msgid "Version of this application"
+msgstr "આ કાર્યક્રમની આવૃત્તિ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:287
+msgid "Show the fail whale dialog for testing"
+msgstr "પરીક્ષણ માટે નિષ્ફળ વ્હેલ સંવાદ બતાવો"
+
+#: ../gnome-session/main.c:288
+msgid "Disable hardware acceleration check"
+msgstr "હાર્ડવેર પ્રવેગકની તપાસણી અક્ષમ કરો"
+
+#: ../gnome-session/main.c:320
+msgid " - the GNOME session manager"
+msgstr " - જીનોમ સત્ર વ્યવસ્થાપક"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"COMMAND ચલાવો જ્યારે અમુક સત્ર કાર્યક્ષમતાઓને અવરોધી રહ્યુ હોય.\n"
+"\n"
+" -h, --help આ મદદને બતાવો\n"
+" --version કાર્યક્રમ આવૃત્તિને બતાવો\n"
+" --app-id ID વાપરવા માટે કાર્યક્રમ id\n"
+" જ્યારે અવરોધી રહ્યા હોય (વૈકલ્પિક)\n"
+" --reason REASON અવરોધવા માટે કારણ (વૈકલ્પિકl)\n"
+" --inhibit ARG અવરોધવા માટેની વસ્તુઓ, અવતરણ ચિહ્નથી અલગ થયેલ યાદી:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only COMMAND શરૂ કરો નહિં અને તેને બદલે હંમેશા રાહ જુઓ\n"
+"\n"
+"If no --inhibit વિકલ્પ સ્પષ્ટ થયેલ છે, નિષ્ક્રિય તરીકે ધાર્યુ હતુ.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s ને ચલાવતી વખતે નિષ્ફળતા\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ને દલીલની જરૂર છે\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "સત્ર %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid "Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "સત્ર નામો ‘.’ સાથે શરૂ થવા પરવાનગી આપતા નથી અથવા ‘/’ અક્ષરોને સમાવે છે"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "સત્ર નામો ‘.’ સાથે શરૂ કરવા પરવાનગી આપતા નથી"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "સત્ર નામો ‘/’ અક્ષરોને સમાવવા પરવાનગી આપતુ નથી"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "નામ થયેલ સત્ર ‘%s’ પહેલેથી અસ્તિત્વ ધરાવે છે"
+
+# gnome-session/logout.c:274
+#: ../tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "બહાર નીકળો"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "પાવર બંધ"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "રીબુટ"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "કોઈપણ વર્તમાન ઇન્હિબિટર્સ અવગણી રહ્યા છે"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Don't prompt for user confirmation"
+msgstr "વપરાશકર્તા ખાતરી માટે પૂછશો નહિં"
+
+# gnome-session/save-session.c:112
+#: ../tools/gnome-session-quit.c:88 ../tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "સત્ર સંચાલક સાથે સંપર્ક થઈ શક્યો નથી"
+
+#: ../tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "તકરાતા વિકલ્પો સાથે કાર્યક્રમ બોલાવવામાં આવ્યો"
+
+#~| msgid "This session logs you into GNOME"
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "આ સત્ર તમને GNOME માં પ્રવેશ આપે છે, Wayland ને વાપરી રહ્યા છે"
+
+# gnome-session/startup-programs.c:372
+#~ msgid "Additional startup _programs:"
+#~ msgstr "વધારાનો પ્રારંભીક કાર્યક્રમ (_p):"
+
+# gnome-session/session-properties-capplet.c:399
+#~ msgid "Startup Programs"
+#~ msgstr "શુરુઆતી કાર્યક્રમો"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "જ્યારે બહાર નીકળી રહ્યા હોય ત્યારે ચાલી રહેલ કાર્યક્રમો આપોઆપ યાદ રાખો (_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "વર્તમાનમાં ચાલી રહેલ કાર્યક્રમો યાદ રાખો (_R)"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Options"
+#~ msgstr "વિકલ્પો"
+
+#~ msgid "Browse…"
+#~ msgstr "બ્રાઉઝ કરો..."
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Comm_ent:"
+#~ msgstr "ટિપ્પણી (_e):"
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Co_mmand:"
+#~ msgstr "આદેશ (_m):"
+
+#~ msgid "_Name:"
+#~ msgstr "નામ (_N):"
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Select Command"
+#~ msgstr "આદેશ ને પસંદ કરો"
+
+# gnome-session/startup-programs.c:392
+#~ msgid "Add Startup Program"
+#~ msgstr "શરુઆતી કાર્યક્રમને ઉમેરો"
+
+# gnome-session/startup-programs.c:392
+#~ msgid "Edit Startup Program"
+#~ msgstr "શરુઆતી કાર્યક્રમમાં ફેરફાર કરો"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "શરુઆતી આદેશ ખાલી હોઈ શકે નહિ"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command is not valid"
+#~ msgstr "શરૂઆતી આદેશ માન્ય નથી"
+
+#~ msgid "Enabled"
+#~ msgstr "સક્રિય કરેલ"
+
+# gnome-session/logout.c:266
+#~ msgid "Icon"
+#~ msgstr "ચિહ્ન"
+
+# gnome-session/gsm-client-list.c:111
+#~ msgid "Program"
+#~ msgstr "કાર્યક્રમ"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "શરૂઆતી કાર્યક્રમોની પસંદગીઓ"
+
+#~ msgid "No name"
+#~ msgstr "નામ નથી"
+
+#~ msgid "No description"
+#~ msgstr "કોઈ વર્ણન નથી"
+
+#~ msgid "Could not display help document"
+#~ msgstr "મદદ દસ્તાવેજ દર્શાવી શકાયુ નહિં"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "કેટલીક પ્રક્રિયાઓ એ હજુ ચાલી રહી છે:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "શરૂઆતી કાર્યક્રમો"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "જ્યારે તમે પ્રવેશો તો શરૂ કરવા માટે ક્યા કાર્યક્મો જોઇએ છે તેને પસંદ કરો"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ફાઇલ એ યોગ્ય .desktop ફાઇલ નથી"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ઓળખી ન શકાય તેવી ડેસ્કટોપ ફાઇલ આવૃત્તિ '%s'"
+
+# gnome-session/gsm-client-row.c:34
+#~ msgid "Starting %s"
+#~ msgstr "શરુ થઈ રહ્યુ છે %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "આદેશ વાક્ય પર કાર્યક્રમ એ દસ્તાવેજોને સ્વીકારતુ નથી"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "નહિં ઓળખાતો લોન્ચ વિકલ્પ: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "'Type=Link' ડેસ્કટોપ પ્રવેશમાં દસ્તાવેજ URIs ને પસાર કરી શકાતી નથી"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "શરૂ કરવા માટે વસ્તુ નથી"
+
+# gnome-session/save-session.c:112
+#~ msgid "Disable connection to session manager"
+#~ msgstr "સત્ર સંચાલક નાં જોડાણને નિષ્ક્રિય કરો"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "ચોક્કસ ફાઇલ એ સંગ્રહ થયેલ રૂપરેખાંકનને સમાવી રહ્યુ છે"
+
+#~ msgid "FILE"
+#~ msgstr "ફાઇલ"
+
+# gnome-session/main.c:66
+#~ msgid "Specify session management ID"
+#~ msgstr "સત્ર વ્યવસ્થાપન ID ને સ્પષ્ટ કરો"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Session management options:"
+#~ msgstr "સત્ર વ્યવસ્થાપન વિકલ્પો:"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Show session management options"
+#~ msgstr "સત્ર વ્યવસ્થાપન વિકલ્પો ને બતાવો"
+
+# gnome-session/gsm-client-row.c:43
+#~ msgid "Unknown"
+#~ msgstr "અજ્ઞાત"
+
+#~ msgid "A program is still running:"
+#~ msgstr "પ્રક્રિયા એ હજુ ચાલી રહી છે:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you to lose work."
+#~ msgstr ""
+#~ "સમાપ્ત કરવા પ્રક્રિયા માટે રાહ જોઇ રહ્યા છે. અટકાવેલી પ્રક્રિયા એ તમે તમારા કામ ને ગુમાવવાનું કારણ બની "
+#~ "શકે છે."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you to lose work."
+#~ msgstr ""
+#~ "સમાપ્ત કરવા પ્રક્રિયા માટે રાહ જોઇ રહ્યા છે. અટકાવેલી પ્રક્રિયા એ તમે તમારા કામ ને ગુમાવવાનું કારણ બની "
+#~ "શકે છે."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "કોઇપણ રીતે વપરાશકર્તાને બદલો"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "કોઈ પણ રીતે બહાર નીકળો"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "કોઇપણ રીતે અટકાવો"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "કોઈ પણ રીતે હાઇબરનેટ કરો"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "કોઈ પણ રીતે બંધ કરો"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "કોઈ પણ રીતે ફરી શરૂ કરો"
+
+#~ msgid "Lock Screen"
+#~ msgstr "સ્ક્રીન ને તાળુ મારો"
+
+#~ msgid "Cancel"
+#~ msgstr "રદ કરો"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "તમે %d સેકન્ડમાં આપમેળે બહાર નીકળી જશો."
+#~ msgstr[1] "તમે %d સેકન્ડોમાં આપમેળે બહાર નીકળી જશો."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "આ સિસ્ટમ એ %d સેકન્ડમાં આપમેળે બહાર નીકળી જશે."
+#~ msgstr[1] "આ સિસ્ટમ એ %d સેકન્ડોમાં આપમેળે બહાર નીકળી જશે."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "આ સિસ્ટમ એ %d સેકંડમાં આપમેળે પુન:શરૂ થઇ જશે."
+#~ msgstr[1] "આ સિસ્ટમ એ %d સેકંડમાં આપમેળે પુન:શરૂ થઇ જશે."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "\"%s\" તરીકે તમે હાલમાં પ્રવેશેલ છો."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "હવે આ સિસ્ટમની બહાર નીકળો?"
+
+#~ msgid "_Switch User"
+#~ msgstr "વપરાશકર્તા ને બદલો (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "હવે આ સિસ્ટમ ને બંધ કરો?"
+
+#~ msgid "S_uspend"
+#~ msgstr "અટકાવો (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "હાઇબરનેટ (_H)"
+
+# gnome-session/session-properties.c:173
+#~ msgid "_Restart"
+#~ msgstr "ફરીથી શરુ કરો (_R)"
+
+# gnome-session/logout.c:277
+#~ msgid "_Shut Down"
+#~ msgstr "બંધ કરો (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "શું હવે આ સિસ્ટમને પુન:શરૂ કરવા માંગો છો?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "ચિહ્ન '%s' એ શોધાયુ નથી"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "લાવવા માટે GNOME 3 નિષ્ફળ"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the <i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not capable of "
+#~ "delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "કમનસીબે GNOME 3 યોગ્ય રીતે શરૂ કરવામાં નિષ્ફળતા અને <i>ફોલબેક સ્થિતિ</i> માં શરૂ થયેલ છે.\n"
+#~ "\n"
+#~ "આનો મતલબ એ કે તમારી સિસ્ટમ (ગ્રાફિકલ હાર્ડવેર અથવા ડ્રાઇવર) સંપૂર્ણ GNOME 3 અનુભવને મોકલવા માટે સક્ષમ "
+#~ "નથી."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "GNOME 3 વિશે વધારે શીખો"
+
+#~ msgid "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "પ્રવેશ સત્ર ને શરૂ કરવામાં અસમર્થ (અને X server ને જોડવામાં અસમર્થ)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>કેટલીક પ્રક્રિયાઓ એ હજુ ચાલી રહી છે:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "કોડ %d સાથે બહાર નીકળેલ છે"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "સંકેત %d દ્દારા મારેલ છે"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "સંકેત %d દ્દારા બંધ થયેલ છે"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the extensions below may "
+#~ "have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "સમસ્યા ઉદ્ભવી અને સિસ્ટમને પુન:પ્રાપ્ત કરી શકતા નથી. નીચે અમુક એક્સટેન્શનો આ કારણે હોઇ શકે છે.\n"
+#~ "મહેરબાની કરીને આમાંના અમુકને નિષ્ક્રિય કરવાનો પ્રયત્ન કરો, અને પછી બહાર નીકળો અને ફરીથી પ્રયત્ન કરો."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "ત્યાં રૂપરેખાંકન સર્વર સાથે સમસ્યા છે.\n"
+#~ "(સ્થિતિ %2$d સાથે %1$s બહાર નીકળેલ છે)"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "સંવાદ ને બંધ કરવાનું બતાવો"
+
+# gnome-session/save-session.c:44
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "ભૂલો માટે સંવાદ બોક્સો વાપરો"
+
+# gnome-session/session-properties-capplet.c:259
+#~ msgid "Set the current session name"
+#~ msgstr "વર્તમાન સત્ર નામ સુયોજિત કરો"
+
+#~ msgid "NAME"
+#~ msgstr "NAME"
+
+# gnome-session/save-session.c:43
+#~ msgid "Kill session"
+#~ msgstr "સત્ર સમાપ્ત કરો"
diff --git a/po/ha.po b/po/ha.po
new file mode 100644
index 0000000..fc48327
--- /dev/null
+++ b/po/ha.po
@@ -0,0 +1,811 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&component=general\n"
+"POT-Creation-Date: 2009-01-17 11:27+0000\n"
+"PO-Revision-Date: 2006-04-25 12:54+0100\n"
+"Last-Translator: saudat mohammed <saudat@wazobialinux>\n"
+"Language-Team: hausa\n"
+"Language: ha\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"
+
+#: ../capplet/gsm-app-dialog.c:126
+#, fuzzy
+msgid "Select Command"
+msgstr "Umarnin Farawa"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Ƙara Shirin Farawa"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Shirya Shirin Farawa"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:952
+#, fuzzy
+msgid "The name of the startup program cannot be empty"
+msgstr "Umarnin farawa ba zai iya zama mai maras komai ba"
+
+#: ../capplet/gsm-properties-dialog.c:956
+msgid "The startup command cannot be empty"
+msgstr "Umarnin farawa ba zai iya zama mai maras komai ba"
+
+#: ../capplet/gsm-properties-dialog.c:962
+#, fuzzy
+msgid "The startup command is not valid"
+msgstr "Umarnin farawa ba zai iya zama mai maras komai ba"
+
+#: ../capplet/gsm-properties-dialog.c:1279
+msgid "Enabled"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:1292
+#, fuzzy
+msgid "Icon"
+msgstr "Aiki"
+
+#: ../capplet/gsm-properties-dialog.c:1303
+msgid "Program"
+msgstr "Shiri"
+
+#: ../capplet/gsm-properties-dialog.c:1453
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:1
+#, fuzzy
+msgid "Default session"
+msgstr "Kashe zaman shawara"
+
+#: ../data/gnome-session.schemas.in.h:2
+#, fuzzy
+msgid "File Manager"
+msgstr "Manajan Taga"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Idan an fara, zaman shawarar-gnome zai yi tambaya ga mai amfani da kwamfyuta "
+"kafin ya ƙarasar da zaman shawarar."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Idan an fara, zaman shawarar-gnome zai adana zaman shawarar farat ɗaya. Idan "
+"ba haka ba, za'a ba da iko wa zauren akwatin bayanin fitarwa ya zaɓi adana "
+"zaman shawarar."
+
+#: ../data/gnome-session.schemas.in.h:5
+#, fuzzy
+msgid "List of applications that are part of the default session."
+msgstr "Tsarin da shirin ayuka ke farawa cikin zaman shawara."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Tambaya ga fitarwa"
+
+#: ../data/gnome-session.schemas.in.h:8
+#, fuzzy
+msgid "Panel"
+msgstr "Fanel ɗin"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Surar da aka fi son amfani da wa sifilash skireen"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Adana zaman shawara"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Nuna sifilash skireen"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Nuna sifilash skireen idan zaman shawarar ta fara yi"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Wannan kimar hanya ya danganta ga gafakan $datadir/pixmaps/. Sunayen zane da "
+"ƙananan-gafakoki wasu kima ne masu inganci. Idan an canza wannan kima, zai "
+"zartar da shigarwa na zaman shawara na gaba."
+
+#: ../data/gnome-session.schemas.in.h:20
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:21
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:22 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Manajan Taga"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Canza tsarin zaman shawarar ka"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Zaman Shawara"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Ƙari na shiryoyin _farawa:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr ""
+
+#: ../data/session-properties.glade.h:3
+#, fuzzy
+msgid "Co_mmand:"
+msgstr "Umarni"
+
+#: ../data/session-properties.glade.h:4
+#, fuzzy
+msgid "Comm_ent:"
+msgstr "Umarni"
+
+#: ../data/session-properties.glade.h:5
+#, fuzzy
+msgid "Options"
+msgstr "Zaɓuɓɓuka na Zaman Shawara"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Shiryoyin Farawa"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr ""
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:958
+#, fuzzy, c-format
+msgid "Starting %s"
+msgstr "Farawa"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1392
+#, c-format
+msgid "Not a launchable item"
+msgstr ""
+
+#: ../egg/eggsmclient.c:185
+#, fuzzy
+msgid "Disable connection to session manager"
+msgstr "An kasa haɗi zuwa manajan zaman shawara"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr ""
+
+#: ../egg/eggsmclient.c:191
+#, fuzzy
+msgid "Specify session management ID"
+msgstr "Ka ƙayyade sunan zaman shawara wanda za'a yi lodi"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr ""
+
+#: ../egg/eggsmclient.c:245
+#, fuzzy
+msgid "Session Management Options"
+msgstr "Zaɓuɓɓuka na Zaman Shawara"
+
+#: ../egg/eggsmclient.c:246
+#, fuzzy
+msgid "Show Session Management options"
+msgstr "Furoksy na Manajan Zaman Shawara"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Wanda ba'a sani ba"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+#, fuzzy
+msgid "Logout Anyway"
+msgstr "Ka Shiga Duk da Haka"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+#, fuzzy
+msgid "Hibernate Anyway"
+msgstr "Ka Shiga Duk da Haka"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+#, fuzzy
+msgid "Shutdown Anyway"
+msgstr "Ka Shiga Duk da Haka"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+#, fuzzy
+msgid "Reboot Anyway"
+msgstr "Ka Shiga Duk da Haka"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+#, fuzzy
+msgid "_Log Out"
+msgstr "_Fitarwa"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+#, fuzzy
+msgid "_Restart"
+msgstr "Sake fara"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+#, fuzzy
+msgid "_Shut Down"
+msgstr "Ka_she"
+
+#: ../gnome-session/gsm-manager.c:943 ../gnome-session/gsm-manager.c:1571
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:528
+#, fuzzy
+msgid " - the GNOME session manager"
+msgstr "An kasa haɗi zuwa manajan zaman shawara"
+
+#: ../splash/gnome-session-splash.c:315
+#, fuzzy
+msgid "- GNOME Splash Screen"
+msgstr "Nuna sifilash skireen"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:65
+#, fuzzy
+msgid "Set the current session name"
+msgstr "Daidaita zaman shawarar da ake ciki yanzu"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:66
+#, fuzzy
+msgid "Log out"
+msgstr "_Fitarwa"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Kashe zaman shawara"
+
+#: ../tools/gnome-session-save.c:71
+#, fuzzy
+msgid "Use dialog boxes for errors"
+msgstr "Yi amfani da akwatunan zauren akwatin bayani"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "An kasa haɗi zuwa manajan zaman shawara"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME zai yi ƙoƙarin sake fara Deemun na Kayan Daidaitawa don shigarwan "
+#~ "ka nan gaba."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Saƙon kuskure na ƙarshe shine:\n"
+#~ "\n"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Wani ɗan zaman shawara na kullum."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Kashewa na wani zaman shawara na ci-gaba."
+
+#~ msgid "Add a new session"
+#~ msgstr "Ƙara wata sabuwar zaman shawara"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Ka yarda da haɗin TCP"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Ana fara shi kullum kan kowani shigarwa."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Manna canje-canje zuwa zaman shawarar da ake ciki yanzu"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Ka tabbata kana so ka fita daga nan?"
+
+#~ msgid "As_k on logout"
+#~ msgstr "Yi t_ambaya kan fitarwa"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Adana canj_e-canje zuwa zaman shawara farat ɗaya"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "An kasa duba adireshin intanet wa %s.\n"
+#~ "Wannan zai hana GNOME aiki daidai.\n"
+#~ "Mai yiwuwa ana iya gyara matsalar idan an ƙara\n"
+#~ "%s zuwa file /etc/hosts."
+
+#~ msgid "Current Session"
+#~ msgstr "Zaman Shawara da Ake Ciki Yanzu"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Shiryoyi _masu tafiya yanzu:"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Kayan Daidaita Kwamfyutan Tebur"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "An yar da kan fitarwa kuma yana iya mutu."
+
+#~ msgid "Edit session name"
+#~ msgstr "Shirya sunan zaman shawara"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Don dalilin tsaro, zaman shawarar-gnome bai saurara wa haɗi na hujin "
+#~ "shirin TCP, kan flatfom masu _IceTcpTransNoListen() (na'urar XFree86). "
+#~ "Wannan shiri zai yarda da haɗi daga na'urar masauƙin bayani masu can nesa "
+#~ "(da aka inganta). Sai an sake fara zama shawarar-gnome kafin canje-canjen "
+#~ "su fara aiki."
+
+#~ msgid "Inactive"
+#~ msgstr "Mai Maras Aiki"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Sake fara(inishiyalayiz) sabuwar kayan daidiata zaman shawara"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Manajan Taga na Metacity"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Ɗan lokaci na millisakan da aka kashe wajen jiran su kilayant su mutu "
+#~ "(0=har abada)"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Ɗan lokaci na millisakan da aka kashe wajen jiran yin rajista na su "
+#~ "kilayant (0=har abada)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Ɗan lokaci na millisakan da aka kashe wajen jiran su kilayant su amsa "
+#~ "(0=har abada)"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Ba'a taɓa yarda ya mutu ba."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Babu amsa wa umarnin %s."
+
+#~ msgid "Normal"
+#~ msgstr "Na Kullum"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr ""
+#~ "Kawai, ka karanta zaman shawarar da aka adana daga fayil na default."
+#~ "session."
+
+#~ msgid "Order"
+#~ msgstr "Tsari"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Cire kilayant da aka zaɓa yanzu daga zaman shawarar."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Sake fara wanda aka watsar da da sabo da kasawa."
+
+#~ msgid "Running"
+#~ msgstr "Yana Tafiya"
+
+#~ msgid "Saving"
+#~ msgstr "Adanawa"
+
+#~ msgid "Saving session details."
+#~ msgstr "Yana adana cikakken bayanin zaman shawara."
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Manajan Taga na Sawfish"
+
+#~ msgid "Session Name"
+#~ msgstr "Sunan Zaman Shawara"
+
+#~ msgid "Settings"
+#~ msgstr "Kayan Daidaitawa"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Nuna sifilash skireen idan ana _shiga"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Ba'a adana wasu canje-canje ba.\n"
+#~ "Ana iya fita har yanzu?"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Ya fara amma bai ba da rahoto kan hali tukun ba."
+
+#~ msgid "State"
+#~ msgstr "Matsayi"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Ba'a ba da rahoto kan hali cikin ɗan lokaci ba."
+
+#~ msgid "Style"
+#~ msgstr "Salo"
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "An sake fara Deemun na Kayan Daidaitawa sau da yawa."
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Jerin shiryoyi masu cikin zaman shawara."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Kila shirin baya sauri, an tsai da shi, ko ya ƙarya."
+
+#~ msgid "The session name already exists"
+#~ msgstr "Sunan zaman shawarar ya riga ya kasance"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Sunan zaman shawaran ba zai iya zama mai maras komai ba"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "An sami kuskure wajen fara Deemun na Kewayen GNOME.\n"
+#~ "\n"
+#~ "Wasu abubuwa kamar, kayan daidaita jigo, sauti, ko bango ba zasu yi aiki "
+#~ "daidai ba."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "An sami wata kuskure ga kunnawa da ba'a gane ba."
+
+#~ msgid "Trash"
+#~ msgstr "Kwandon shara"
+
+#~ msgid "Try Again"
+#~ msgstr "Sake Gwada Kuma"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Fitarwa bai damunsa amma yana iya mutu."
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "An watsar da jira saboda rigima."
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Yana jiran farawa ko an riga an gama."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Mai zai faru ga shirin ayuka idan ya fita."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Kana iya jira ya ba da amsa ko ka cire shi."
+
+#~ msgid "Your session has been saved"
+#~ msgstr "An adana zaman shawarar ka"
+
+#~ msgid "_Edit"
+#~ msgstr "_Shirya"
+
+#~ msgid "_Order:"
+#~ msgstr "_Oda:"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Sake fara kwamfyuta"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Adana tsari da ake kai yanzu"
+
+#~ msgid "_Sessions:"
+#~ msgstr "_Zaman Shawara:"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Umarnin Farawa:"
+
+#~ msgid "_Style:"
+#~ msgstr "_Salo:"
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..05c3326
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,1101 @@
+# translation of gnome-session.HEAD.he.po to Hebrew
+# translation of gnome-session.gnome-2-0.po to Hebrew
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER.
+# Gil Osher <dolfin@rpg.org.il>, 2002, 2005.
+# Gil 'Dolfin' Osher <dolfin@rpg.org.il>, 2002,2003.
+# Yosef Or Boczko <yoseforb@gmail.com>, 2013-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD.he\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-11-15 15:56+0200\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"Language-Team: Hebrew <yoseforb@gmail.com>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? "
+"2 : 3);\n"
+"X-Generator: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "התאמה אישית"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "רשומה זו מאפשרת לך לבחור בהפעלה שנשמרה"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "‏GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "הפעלה זאת מחברת אותך לשולחן העבודה GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "‏דימוי של GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "‏GNOME על גבי Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "‏GNOME על גבי Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "שמירת הפעלות"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "If enabled, gnome-session will save the session automatically."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "שמירת ההפעלה הזאת"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "הודעה לפני יציאה"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"If enabled, gnome-session will prompt the user before ending a session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "הצגת אזהרה כנסיגה"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "הפעלה מותאמת אישית"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "נא לבחור הפעלה מותאמת אישית להרצה"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "הפעלה _חדשה"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "ה_סרת הפעלה"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_שינוי שם ההפעלה"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "להמ_שיך"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "אבוי! משהו השתבש."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"אירעה תקלה והמערכת אינה יכולה להשתקם ממנה. נא ליצור קשר עם הנהלת המערכת"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"אירעה תקלה והמערכת אינה יכולה להשתקם ממנה. ליתר ביטחון כל ההרחבות הושבתו."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"אירעה תקלה והמערכת אינה יכולה להשתקם ממנה.\n"
+"‬\n"
+"‫נא לצאת ולנסות שוב."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_ניתוק"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "הפעלת קוד ניפוי שגיאות"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "לאפשר יציאה"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "הצגת אזהרת הרחבות"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "אין תגובה"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "י_ציאה"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "יישום השמור בזיכרון"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "תכנית זו מונעת את היציאה."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "מסרב לחיבור לקוח חדש מכיון שההפעלה נמצאת במהלך כיבוי\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "לא ניתן ליצור שקע ICE: ‏%s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "מופעל כשירות systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "להשתמש בניהול ההפעלות של systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "להשתמש בניהול הפעלות פנימי (במקום בניהול מבוסס systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Override standard autostart directories"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "תיקייה_הפעלה_אוטומטית"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "הפעלה לשימוש"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "שם_הפעלה"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "לא לטעון יישומים בבחירת המשתמש"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "גירסת היישום הזה"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Show the fail whale dialog for testing"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "השבתת בדיקת האצת חומרה"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — מנהל ההפעלות של GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "הפעלת gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signal initialization done to gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Restart dbus.service if it is running"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "התכנית צריכה משתנה אחד בדיוק"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr ""
+"ההפעלה של %s נכשלה\n"
+"‬\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
+"‫%s דורש ארגומנט\n"
+"‬\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "יציאה"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "כיבוי"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "הפעלה מחדש"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "תוך התעלמות ממעקבים קיימים"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "אין לבקש אישור מהמשתמש"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "לא ניתן להתחבר למנהל ההפעלה"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "התכנית נקראה עם אפשרויות סותרות"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "הפעלה %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "אסור ששמות ההפעלות יתחילו בתו „.” או יכילו את התו „/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "אסור ששמות ההפעלות יתחילו בתו „.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "אסור ששמות ההפעלות יכילו את התו „/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "כבר קיימת הפעלה בשם „%s”"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_תכניות הפעלה נוספות:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "תכניות הפעלה"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_זכירת היישומים הפעילים בזמן הניתוק"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "זכירת היישומים הפועלים _כעת"
+
+#~ msgid "Options"
+#~ msgstr "אפשרויות"
+
+#~ msgid "Browse…"
+#~ msgstr "עיון…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "הע_רה:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "פ_קודה:"
+
+#~ msgid "_Name:"
+#~ msgstr "_שם:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "הפעלה זאת מחברת אותך לשולחן העבודה GNOME, באמצעות Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "בחירת פקודה"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "הוספת תכנית עם ההפעלה"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "עריכת תכנית עם ההפעלה"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "פקודת ההפעלה לא יכולה להיות ריקה"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "פקודת ההפעלה אינה תקינה"
+
+#~ msgid "Enabled"
+#~ msgstr "מאופשר"
+
+#~ msgid "Icon"
+#~ msgstr "סמל"
+
+#~ msgid "Program"
+#~ msgstr "תכנית"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "העדפות יישומי הפעלה"
+
+#~ msgid "No name"
+#~ msgstr "ללא שם"
+
+#~ msgid "No description"
+#~ msgstr "ללא תיאור"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Could not display help document"
+
+#~ msgid "Startup Applications"
+#~ msgstr "יישומי ההפעלה"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "בחירת אילו יישומים יופעלו בעת כניסת המשתמש"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "הקובץ אינו קובץ ‎.desktop תקני"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "גרסת קובץ ה־‎.desktop‏ '%s' אינה מזוהה"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s מופעל"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "היישום לא מקבל מסמכים בשורת הפקודה"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "אפשרות הרצה לא מזוהה: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "לא ניתן חהעביר כתובת מסמך לכניסת .desktop מסוג 'Type=link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "הפריט לא ניתן להרצה"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Disable connection to session manager"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Specify file containing saved configuration"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Session management options:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Show session management options"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ישנן תכניות שעדיין רצות:"
+
+#~ msgid "Unknown"
+#~ msgstr "לא ידוע"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ישנה תכנית שעדיין רצה:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "בהמתנה לסיום התכנית. הפרעה לתכנית עלולה לגרור אבדן החומר שעבדת עליו."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "בהמתנה לסיום התכניות. הפרעה לתכניות עלולה לגרור לאבדן החומר שעבדת עליו."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "ה_חלפת משתמש בכל מקרה"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "יציאה בכל מקרה"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "השהייה בכל מקרה"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "מעבר למצב שינה בכל מקרה"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "כיבוי בכל מקרה"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "הפעלה מחדש בכל מקרה"
+
+#~ msgid "Lock Screen"
+#~ msgstr "נעילת המסך"
+
+#~ msgid "Cancel"
+#~ msgstr "ביטול"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "בעוד שנייה אחת יתרחש ניתוק אוטומטי."
+#~ msgstr[1] "בעוד %d שניות יתרחש ניתוק אוטומטי."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "בעוד שנייה אחת המערכת תכבה אוטומטית."
+#~ msgstr[1] "המערכת תכבה אוטומטית בעוד %d שניות."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "בעוד שנייה אחת המערכת תופעל מחדש אוטומטית."
+#~ msgstr[1] "המערכת תופעל מחדש אוטומטית בעוד %d שניות."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "כרגע נכנסת תחת השם \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "האם להתנתק מהמערכת?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ה_חלפת משתמש"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "האם לכבות את המערכת כעת?"
+
+#~ msgid "S_uspend"
+#~ msgstr "ה_שהייה"
+
+#~ msgid "_Hibernate"
+#~ msgstr "מ_צב שינה"
+
+#~ msgid "_Restart"
+#~ msgstr "הפעלה מ_חדש"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_כיבוי"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "האם להפעיל את המערכת מחדש כעת?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "שעה אחת"
+#~ msgstr[1] "%d שעות"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "דקה אחת"
+#~ msgstr[1] "%d דקות"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "שנייה אחת"
+#~ msgstr[1] "%d שניות"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 שניות"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "יציאה אוטומטית בעוד %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr "הפעלה זו מוגדרת לצאת אוטומטית לאחר פרק זמן של חוסר פעילות."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "הסמל '%s' לא נמצא"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "טעינת GNOME 3 נכשלה"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "לרוע המזל הפעלת GNOME 3 כראוי נכשלה ובמקום זאת הופעל <b>מצב השחזור</b>.\n"
+#~ "\n"
+#~ "תקלה זו אירעה כפי הנראה כיוון שהמערכת שלך (או מנהל ההתקן של חומרת הגרפיקה "
+#~ "שלך) אינה מסוגלת להפעיל את חווית GNOME 3 במלואה."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "מידע נוסף על אודות GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "יציאה עם הקוד %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "חוסל על ידי האות %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "נעצר על ידי האות %d"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>קיימות תכניות שעדיין רצות:</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "אירעה שגיאה והמערכת אינה יכולה להשתקם ממנה. כמה מההרחבות שלהלן עלולות היו "
+#~ "לגרום לכך.\n"
+#~ "נא לצאת ולנסות שוב."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "יש בעיה עם שרת ההגדרות.\n"
+#~ "(‏%s יצא עם המצב %d)"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Show logout dialog"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Show shutdown dialog"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Use dialog boxes for errors"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Set the current session name"
+
+#~ msgid "NAME"
+#~ msgstr "NAME"
+
+#~ msgid "Kill session"
+#~ msgstr "Kill session"
+
+#~ msgid "Classic GNOME"
+#~ msgstr "GNOME קלסי"
+
+#~ msgid "Window Manager"
+#~ msgstr "Window Manager"
+
+#~ msgid "Default session"
+#~ msgstr "Default session"
+
+#~ msgid "File Manager"
+#~ msgstr "File Manager"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "List of applications that are part of the default session."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Required session components"
+#~ msgstr "Required session components"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Time before session is considered idle"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "GConf key used to look up default session"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Preferred Image to use for login splash screen"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Show the splash screen"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Show the splash screen when the session starts up"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will affect the next session login."
+#~ msgstr ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will affect the next session login."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr "ממתין לסיום תוכנית. הפרעה לתוכנית עלולה לגרום לאיבוד העבודה שלך."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME Splash Screen"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME Splash Screen"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "תמיכה בטכנולוגיה מסייעת התבקשה עבור הפעלה זאת, אבל הגדרות הנגישות לא "
+#~ "נמצאו. נא לוודא שהחבילה AT-SPI מותקנת. ההפעלה הותחלה ללא תמיכה בטכנולוגיה "
+#~ "מסייעת."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "עוטף רישומי ה־AT SPI"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "מסייע מנוע ההגדרות של GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "שם פקודת ההפעלה לא יכול להיות ריק"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "העדפות הפעלה"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Selected option in the log out dialog"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "הגדר את תצורות ההפעלה שלך"
+
+#~ msgid "Session management"
+#~ msgstr "ניהול תצורת ההפעלה"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "GNOME GUI Library + EggSMClient"
+
+#~ msgid ""
+#~ "The Window manager that gnome-session will start. Valid values are "
+#~ "\"metacity\" and \"compiz\"."
+#~ msgstr ""
+#~ "The Window manager that gnome-session will start. Valid values are "
+#~ "\"metacity\" and \"compiz\"."
+
+#~ msgid "Window Manager to start"
+#~ msgstr "Window Manager to start"
+
+#~ msgid "gtk-cancel"
+#~ msgstr "gtk-cancel"
+
+#~ msgid "Could not connect to the session manager\n"
+#~ msgstr "לא ניתן להתחבר למנהל ההפעלה\n"
+
+#~ msgid " - Save the current session"
+#~ msgstr "- Save the current session"
+
+#~ msgid "Play logout sound instead of login"
+#~ msgstr "Play logout sound instead of login"
+
+#~ msgid "- GNOME login/logout sound"
+#~ msgstr "- GNOME login/logout sound"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Allow TCP connections"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+
+#~ msgid "_Order:"
+#~ msgstr "_סדר:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "מה שקורה ליישום כשהוא נסגר."
+
+#~ msgid "_Style:"
+#~ msgstr "_סגנון:"
+
+#~ msgid "Inactive"
+#~ msgstr "לא פעיל"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "מחכה להפעלה או כבר סיים."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "התחיל אך טרם ציין מצב."
+
+#~ msgid "Running"
+#~ msgstr "פועל"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "חבר רגיל בתצורת ההפעלה."
+
+#~ msgid "Saving"
+#~ msgstr "שומר"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "מצב לא צויין בזמן הנתון."
+
+#~ msgid "Normal"
+#~ msgstr "רגיל"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "לא מושפע על-ידי התנתקויות, אך יכול למות."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "לעולם לא מורשה למות."
+
+#~ msgid "Trash"
+#~ msgstr "אשפה"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "מבוטל בהתנתקות ויכול למות."
+
+#~ msgid "Settings"
+#~ msgstr "הגדרות"
+
+#~ msgid "Always started on every login."
+#~ msgstr "תמיד מופעל בכל התחברות."
+
+#~ msgid "Order"
+#~ msgstr "סדר"
+
+#~ msgid "Style"
+#~ msgstr "סגנון"
+
+#~ msgid "State"
+#~ msgstr "מצב"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "ארעה שגיאה בהפעלת תהליך השירות של הגדרות GNOME.\n"
+#~ "\n"
+#~ "כמה דברים, כמו הגדרות ערכות נושא, צלילים, או רקעים עלולים לא לפעול כראוי."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "הודעת השגיאה האחרונה הייתה:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME עדיין ינסה להפעיל מחדש את תהליך שירות ההגדרות בפעם הבאה שתתחבר."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "תהליך שירות ההגדרות הופעל מחדש יותר מידי פעמים."
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "List registered clients, then exit"
+
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAM..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Error: could not connect to the session manager\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Currently registered clients:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Couldn't find program %s in session\n"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "אתה בטוח שברצונך להתנתק?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "הפעל _מחדש את המחשב"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Only read saved sessions from the default.session file"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Millisecond period spent waiting for clients to register (0=forever)"
+
+#~ msgid "DELAY"
+#~ msgstr "DELAY"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "תקופת זמן במילי שניות לחכות שהלקוחות יגיבו (0=לנצח)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Millisecond period spent waiting for clients to die (0=forever)"
+
+#~ msgid "_Ignore"
+#~ msgstr "ה_תעלם"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "לא הצלחתי למצוא את כתובת האינטרנט: %s.\n"
+#~ "זה ימנע מ GNOME לעבוד כנדרש.\n"
+#~ "ייתכן וכל הנדרש לתיקון הבעיה הוא הוספת\n"
+#~ "%s לקובץ /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "נסה שנית"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "ההמתנה הופסקה בגלל התנגשות."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "אין תגובה לפקודה %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "התוכנית עשויה להיות אטית, מופסקת או שבורה."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "אתה יכול לחכות לתגובה ממנה או להסיר אותה."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "הפעלה מחדש הופסקה בגלל מספר כשלים."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "כיבוי ההפעלה בתהליכים."
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "לשמור שינויים לתצורת ההפעלה הנוכחית לפני הסגירה?"
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_סגור מבלי לשמור"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "תצורת ההפעלה שלך נשמרה."
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "הסר את הלקוח הנבחר מתצורת ההפעלה."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "שמור שינויים לתצורת ההפעלה הנוכחית"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "רשימת תוכניות בתצורת ההפעלה."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "ה_תוכניות הפועלות כרגע:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "מנהל החלונות Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "מנהל החלונות Metacity"
+
+#~ msgid "Nautilus"
+#~ msgstr "נאוטילוס"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "הגדרות שולחן עבודה"
+
+#~ msgid "New Startup Program"
+#~ msgstr "תוכנית הפעלה חדשה"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_שמור תצורה נוכחית"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "_שמור שינויים בתצורת ההפעלה באופן אוטומטי"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "ארעה שגיאת הפעלה לא ידועה."
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "שם תצורת ההפעלה לא יכול להיות ריק"
+
+#~ msgid "Add a new session"
+#~ msgstr "הוסף תצורת הפעלה חדשה"
+
+#~ msgid "Edit session name"
+#~ msgstr "ערוך את שם תצורת ההפעלה"
+
+#~ msgid "Disable"
+#~ msgstr "אל-תאפשר"
+
+#~ msgid "_Edit"
+#~ msgstr "_ערוך"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "מספר שינויים לא נשמרו.\n"
+#~ "זה עדיין בסדר לצאת?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "הצג מסך פתיחה בה_תחברות"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "אתחל הגדרות תצורת הפעלה"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_פקודת הפעלה:"
diff --git a/po/hi.po b/po/hi.po
new file mode 100644
index 0000000..307c5a7
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,701 @@
+# translation of gnome-session.master.po to Hindi
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+#
+# Rajesh Ranjan <rranjan@redhat.com>, 2005, 2006, 2009.
+# Rajesh Ranjan <rajesh672@gmail.com>, 2009.
+# rajesh <rajeshkajha@yahoo.com>, 2012, 2014.
+# chandankumar <chandankumar.093047@gmail.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-09-19 19:32+0000\n"
+"PO-Revision-Date: 2014-09-20 22:10+0630\n"
+"Last-Translator: rajesh <rajesh>\n"
+"Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"net>\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "मनपसंद"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "इस प्रविष्टि की मदद से आप एक सहेजी गई सत्र का चयन करें"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "गनोम"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "यह सत्र गनोम में लॉगइन होगा"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "गनोम डमी"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+#| msgid "GNOME fallback"
+msgid "GNOME on Wayland"
+msgstr "गनोम वेलैंड पर"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "यह सत्र गनोम में लॉगइन होगा, वेलैंड के उपयोग से"
+
+# gnome-session/save-session.c:43
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "मनपसंद सत्र"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "चलाने के लिए एक कस्टम सत्र का चयन करें"
+
+# gnome-session/session-properties.c:272
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "नया सत्र (_N)"
+
+# gnome-session/session-properties.c:272
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "सत्रें हटाएं (_R)"
+
+# gnome-session/session-properties.c:272
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "सत्र का नाम बदलें (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "जारी रखें (_C)"
+
+# gnome-session/startup-programs.c:372
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "प्रारंभिक प्रोग्राम में जोड़ें (_p)"
+
+# gnome-session/session-properties-capplet.c:399
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "प्रारंभिक प्रोग्राम"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "चलते अनुप्रयोग को स्वतः याद रखें जब लॉग आउट हो रहे हों (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "हाल में कार्यशील अनुप्रयोग याद रखें (_R)"
+
+# gnome-session/session-properties-capplet.c:332
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "विकल्प"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "ब्राउज़ करें…"
+
+# gnome-session/session-properties-capplet.c:362
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "टिप्पणी (_e):"
+
+# gnome-session/session-properties-capplet.c:362
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "कमांड (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "नाम (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "नहीं! कुछ गलत हो गया है."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"एक समस्या आई और तंत्र रिकवर नहीं कर सकता है. कृपया तंत्र प्रशासक से संपर्क "
+"करें"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"एक समस्या आई और तंत्र रिकवर नहीं कर सकता है. सभी विस्तारों को सावधानी के "
+"लिहाज से "
+"निष्क्रिय कर दिया गया है."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"एक समस्या आई और तंत्र रिकवर नहीं कर सकता है. \n"
+"कृपया लॉग आउट करें और फिर कोशिश करें."
+
+# gnome-session/logout.c:274
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "लॉग आउट (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "डिबगिंग कोड सक्रिय करें"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "लॉगआउट की अनुमति दें"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "विस्तार चेतावनी दिखाएं"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "कोई प्रतिक्रिया नहीं दे रहा है"
+
+# gnome-session/logout.c:274
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "लॉग आउट (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "स्मृतिस्थ अनुप्रयोग"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "यह प्रोग्राम लॉगआउट रोक रहा है."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"नया क्लाइंट कनेक्शन अस्वीकार कर रहा है क्योंकि सत्र शट डाउन हो रहा है\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE लाइसेंसिंग सॉकेट बना नहीं सका: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "मानक स्वतः आरंभ निर्देशिका अध्यारोहित करें"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "उपयोग में सत्र"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "उपयोक्ता विशिष्ट अनुप्रयोग मत लोड करें"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "इस अनुप्रयोग का संस्करण"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "फेल ह्वेल संवाद को जाँच के लिए दिखाएँ"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr "- GNOME सत्र प्रबंधक"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [विकल्प...] कमांड\n"
+"\n"
+"जबकि बाधा कुछ सत्र कार्यक्षमता आदेश पर अमल..\n"
+"\n"
+" -h, --मदद इस मदद को दिखाएँ\n"
+" --संस्करण प्रोग्राम संस्करण को दिखाएँ\n"
+" --अनुप्रयोग आईडी आईडी अनुप्रयोग के लिए उपयोग आईडी\n"
+" बाधा जब (वैकल्पिक)\n"
+" --कारण कारण बाधा के लिए कारण (वैकल्पिक)\n"
+" --ARG को बाधित हालात को बाधित, बृहदान्त्र अलग की सूची:\n"
+" लॉगआउट, स्विच उपयोगकर्ता को निलंबित, निष्क्रिय, "
+"स्वारोहित\n"
+" --को बाधित केवल शुरू करने और आदेश नहीं हमेशा के बजाय इंतजार\n"
+"\n"
+"अगर कोई विकल्प को बाधित करने के लिए निर्दिष्ट किया जाता है, निष्क्रिय माना "
+"जाता है.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s कार्यान्वित करने में असफल\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "% s ने एक तर्क की आवश्यकता है\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "सत्र %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"सत्र के नाम के साथ शुरू करने की अनुमति दी जाती है या '.' '/' अक्षर होते हैं"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "सत्र के नाम ‘.’ के साथ शुरू करने की अनुमति नहीं है. "
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "सत्र नाम '/' अक्षर होते हैं की अनुमति नहीं है"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "'%s' नामक सत्र पहले से ही मौजूद है"
+
+# gnome-session/logout.c:274
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "लॉग आउट"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "बंद करें"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "रिबूट करें"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "किसी मौजूदा इनहिबिटर्स को अनदेखा कर रहा है"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "उपयोक्ता संपुष्टि के लिए प्राँप्ट मत करें"
+
+# gnome-session/save-session.c:112
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "सत्र मैनेजर से संपर्क स्थापित नहीं हो पा रहा है"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "विरोधी विकल्प के साथ लाया गया प्रोग्राम"
+
+# gnome-session/startup-programs.c:282 gnome-session/startup-programs.c:289
+#~ msgid "Select Command"
+#~ msgstr "कमांड चुनें"
+
+# gnome-session/startup-programs.c:372
+#~ msgid "Add Startup Program"
+#~ msgstr "प्रारंभिक प्रोग्राम में जोड़ें"
+
+# gnome-session/startup-programs.c:392
+#~ msgid "Edit Startup Program"
+#~ msgstr "प्रारंभिक प्रोग्राम में संशोधन करें"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "प्रारंभिक निर्देश रिक्त नहीं हो सकता"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command is not valid"
+#~ msgstr "प्रारंभिक वैध नहीं है"
+
+#~ msgid "Enabled"
+#~ msgstr "सक्षम"
+
+# gnome-session/logout.c:266
+#~ msgid "Icon"
+#~ msgstr "प्रतीक"
+
+# gnome-session/gsm-client-list.c:111
+#~ msgid "Program"
+#~ msgstr "प्रोग्राम"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "आरंभन अनुप्रयोग वरीयता"
+
+#~ msgid "No name"
+#~ msgstr "कोई नाम नहीं"
+
+#~ msgid "No description"
+#~ msgstr "कोई विवरण नहीं"
+
+#~ msgid "Could not display help document"
+#~ msgstr "मदद दस्तावेज़ नहीं दिखा सका"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "कुछ प्रोग्राम अभी भी चल रहा है:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "आरंभन अनुप्रयोग"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "चुनें कि कौन सा अनुप्रयोग शुरू करना है जब लॉगिन हों"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "फ़ाइल वैध .desktop फ़ाइल नहीं है"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "अपरिचित डेस्कटॉप फ़ाइल संस्करण '%s'"
+
+# gnome-session/gsm-client-row.c:34
+#~ msgid "Starting %s"
+#~ msgstr "%s आरंभ हो रहा है"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "कमांड लाइन पर अनुप्रयोग दस्तावेज़ स्वीकार नहीं करता है"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "अपरिचित लॉन्च विकल्प: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "दस्तावेज़ URI को 'Type=Link' डेस्कटॉप प्रविष्टि में भेज नहीं सकता है"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "चलाने योग्य प्रोग्राम नहीं है"
+
+# gnome-session/save-session.c:112
+#~ msgid "Disable connection to session manager"
+#~ msgstr "सत्र प्रबंधक में कनेक्शन निष्क्रिय करें"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "सहेजा विन्यास समाहित करता फ़ाइल निर्दिष्ट करें"
+
+#~ msgid "FILE"
+#~ msgstr "फ़ाइल"
+
+# gnome-session/main.c:66
+#~ msgid "Specify session management ID"
+#~ msgstr "सत्र प्रबंधन ID निर्दिष्ट करें"
+
+#~ msgid "ID"
+#~ msgstr "आईडी"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Session management options:"
+#~ msgstr "सत्र प्रबंधन विकल्प:"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Show session management options"
+#~ msgstr "सत्र प्रबंधन विकल्प दिखाएँ"
+
+# gnome-session/gsm-client-row.c:43
+#~ msgid "Unknown"
+#~ msgstr "अज्ञात"
+
+#~ msgid "A program is still running:"
+#~ msgstr "एक प्रोग्राम अभी भी चल रहा है:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "समाप्त करने के लिए प्रोग्राम के लिए प्रतीक्षारत. इन प्रोग्राम में व्यवधान आपको काम "
+#~ "खराब करने का कारण बन सकता है. "
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "समाप्त करने के लिए प्रोग्राम के लिए प्रतीक्षारत. इन प्रोग्राम में व्यवधान आपको काम "
+#~ "खराब करने का कारण बन सकता है. "
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "किसी तरह उपयोक्ता बदलें"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "किसी तरह लॉगआउट करें"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "किसी तरह स्थगित करें"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "किसी तरह हाइबरनेट करें"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "किसी तरह बंद करें"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "किसी तरह फिर आरंभ करें"
+
+#~ msgid "Lock Screen"
+#~ msgstr "स्क्रीन पर ताला लगाएँ"
+
+#~ msgid "Cancel"
+#~ msgstr "रद्द करें"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "आप स्वतः %d सेकेंड में लॉग आउट हो जायेंगे."
+#~ msgstr[1] "आप स्वतः %d सेकेंड में लॉग आउट हो जायेंगे."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "तंत्र %d सेकेंड में स्वतः बंद हो जायेगा"
+#~ msgstr[1] "तंत्र %d सेकेंड में स्वतः बंद हो जायेगा"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "तंत्र %d सेकेंड में स्वतः आरंभ हो जायेगा"
+#~ msgstr[1] "तंत्र %d सेकेंडों में स्वतः आरंभ हो जायेगा"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "आप अभी बतौर \"%s\" लॉग इन हैं."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "अब इस तंत्र से लॉग आउट करें?"
+
+#~ msgid "_Switch User"
+#~ msgstr "उपयोक्ता बदलें (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "अब इस तंत्र को बंद करें?"
+
+#~ msgid "S_uspend"
+#~ msgstr "स्थगित करें (_S)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "सुप्तावस्था में ले जायें (_H)"
+
+# gnome-session/session-properties.c:173
+#~ msgid "_Restart"
+#~ msgstr "पुन:आरंभ करें (_R)"
+
+# gnome-session/logout.c:277
+#~ msgid "_Shut Down"
+#~ msgstr "बंद करें (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "अब यह तंत्र फिर आरंभ करें?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' प्रतीक नहीं मिली"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 लोड करने में विफल"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "दुर्भाग्य से गनोम 3 ठीक से आरंभ होने में विफल रहा है और <i>फॉलबैक अवस्था</i> में आरंभ "
+#~ "हुआ.\n"
+#~ "\n"
+#~ "इसका सबसे संभव अर्थ है कि आपका तंत्र (आलेखी हार्डवेयर या ड्राइवर) पूर्ण गनोम 3 अनुभव "
+#~ "को डेलिवर करने में समर्थन नहीं है."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "गनोम के बारे में और जानें 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "लॉगिन सत्र आरंभ करने में असमर्थ (और X सर्वर से कनेक्ट करने में असमर्थ)"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME सेटिंग डेमॉन मददगार"
+
+# gnome-session/splash.c:71
+#~ msgid "File Manager"
+#~ msgstr "फ़ाइल प्रबंधक"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "अगर सक्षम हे तो जीनोम सत्र वंद होने से पहले उपयोगकर्ता को टोकेगा"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "अगर सक्षम हे तो जीनोम सत्र स्वतः संग्रहित होगा, नहीं तो लॉगउट संवाद में सत्र संग्रहित "
+#~ "करने का विकल्प होगा"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "अनुप्रयोग की सूची जो तयशुदा सत्र का हिस्सा है"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "घटकों की सूची जो कि सत्र के हिस्से के रूप में जरूरी है. (Each element names a key "
+#~ "under \"/desktop/gnome/session/required_components\"). स्टार्टअप अनुप्रयोग "
+#~ "वरीयताएँ औजार उपयोक्ता को सामान्यतः अनुमति नहीं देगी सत्र से किसी जरूरी घटकों को "
+#~ "हटाने के लिए, और सत्र प्रबंधक स्वतः जरूरी घटकोंको जोड़ेगा सत्र में लॉगिन समय पर यदि वे "
+#~ "हटाए जाते हैं."
+
+#~ msgid "Logout prompt"
+#~ msgstr "लॉगाउट संदेश"
+
+# gnome-session/splash.c:69
+#~ msgid "Panel"
+#~ msgstr "पटल"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "पसंदीदा विंब जिसे लॉगिन स्प्लैश के लिये प्रयोग करना है"
+
+#~ msgid "Required session components"
+#~ msgstr "जरूरी सत्र घटक"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "Show the splash screen"
+#~ msgstr "स्प्लेश स्क्रीन प्रदर्शित करें"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "सत्र शुरु होने पर स्प्लेश स्क्रीन प्रदर्शित करें"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "यह फाइल प्रबंधक डेस्कटॉप प्रतीक देता है और अपनी सहेजी फाइलों से अंतःक्रिया करने की "
+#~ "स्वीकृति देता है."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "सत्र के निष्क्रिय समझे जाने के पहले निष्क्रियता के मिनट की संख्या."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "यह पटल स्क्रीन के ऊपर या नीचे पट्टी देता है जिसमें मेन्यू, विंडो सूची, स्थिति प्रतीक, घड़ी "
+#~ "आदि समाहित किए है."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "यह विंडो प्रबंधक वह प्रोग्राम है जो विंडो के गिर्द शीर्षक पट्टी और किनारा बनाता है और "
+#~ "आपको विंडो को खिसकाने व फिर आकार देने की छूट देता है."
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "यह $datadir/pixmaps/ निर्देशिका पर आधारित सापेक्षिक पथ है. उपनिर्देशिका औऱ विंब "
+#~ "नाम मान्य मान हैं. इस मान को बदलना अगले सत्र लॉगिन को प्रभावित करेगा."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "सत्र के निष्क्रिय माने जाने के पहले का समय"
+
+# gnome-session/splash.c:71
+#~ msgid "Window Manager"
+#~ msgstr "विन्डो मैनेजर"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>कुछ प्रोग्राम अभी भी चल रहा है:</b>"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "समाप्त करने के लिए प्रोग्राम के लिए प्रतीक्षारत. प्रोग्राम में व्यवधान आपके काम को "
+#~ "खराब कर सकता है."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "इस विन्यास सर्वर के साथ एक समस्या है.\n"
+#~ "(%s स्थिति %d के साथ बाहर निकल गया)"
+
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "तयशुदा सत्र देखने के लिए प्रयुक्त GConf कुंजी"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- गनोम स्प्लैश स्क्रीन"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "गनोम स्प्लैश स्क्रीन"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "शटडाउन संवाद दिखाएँ"
+
+# gnome-session/save-session.c:44
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "त्रुटि के लिए संवाद पेटी का प्रयोग करें"
+
+# gnome-session/session-properties-capplet.c:259
+#~ msgid "Set the current session name"
+#~ msgstr "वर्तमान सत्र सेट करें"
+
+#~ msgid "NAME"
+#~ msgstr "नाम"
+
+# gnome-session/save-session.c:43
+#~ msgid "Kill session"
+#~ msgstr "सत्र को समाप्त करें"
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..a520189
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,434 @@
+# Translation of gnome-session to Croatiann
+# Copyright (C) Croatiann team
+# Translators: Automatski Prijevod <>,Denis Lackovic <delacko@fly.srk.fer.hr>,Robert Sedak <robert.sedak@sk.tel.hr>,
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 0\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-01-13 20:29+0000\n"
+"PO-Revision-Date: 2022-03-29 14:31+0200\n"
+"Last-Translator: gogo <trebelnik2@gmail.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2016-09-22 19:52+0000\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Prilagođen"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ovaj unos vam omogućuje odabir spremljene sesije"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Ova sesija vas prijavljuje u GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME lažno"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME na Waylandu"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME na Xorgu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Spremi sesiju"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ako je omogućeno, gnome-session će spremiti sesiju automatski."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Spremi ovu sesiju"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Kada je omogućeno, gnome-session će automatski spremiti sljedeću sesiju pri "
+"odjavi čak i ako je automatsko spremanje onemogućeno."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Upit pri odjavi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ako je omogućeno, gnome-session će upitati korisnika prije završetka sesije."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Prikaži upozorenje pričuvne prijave"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ako je omogućeno, gnome-session će prikazati dijalog upozorenja nakon "
+"prijave u pričuvnu prijavu."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Prilagođena sesija"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Odaberite prilagođenu sesiju za pokretanje"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova sesija"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Ukloni sesiju"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Preimen_uj sesiju"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Nastavi"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "O, ne! Nešto je pošlo po krivu."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Došlo je do problema od kojeg se sustav ne može oporaviti. Obavijestite "
+"administratora sustava"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Problem se pojavio i sustav se ne može oporaviti. Sva proširenja su "
+"onemogućena iz predostrožnosti."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Došlo je do problema od kojeg se sustav ne može oporaviti.\n"
+"Odjavite se i pokušajte ponovno."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Odjavljivanje"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "Omogući otkrivanje grešaka"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Dopusti odjavu"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Prikaži upozorenje proširenja"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "Ne reagira"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Odjavljivanje"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamćene aplikacije"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ovaj program blokira odjavu."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Odbija se novo povezivanje s klijentom jer se sesija trenutno isključuje.\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nije moguće izraditi ICE priključak: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "Pokrenuto kao systemd usluga"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "Koristi systemd upravitelj sesijama"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Koristi ugrađeni upravitelj sesijama (radije nego systemd temeljeni)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "Nadvladaj standardne direktorije automatskog pokretanja"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "DIR_AUTOPOKRETANJA"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "Sesija za korištenje"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "NAZIV_SESIJE"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "Nemoj učitati aplikacije koje je odredio korisnik"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "Inačica ove aplikacije"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "Prikaži fail whale dijalog za testiranje"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "Onemogući provjeru hardverskog ubrzanja"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — GNOME upravitelj sesijama"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Pokreni gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Pokreni gnome-session-shutdown.target kada se primi EOF ili jedan bajt na "
+"stdinu"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Pokretanje signala je završeno za gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Ponovno pokreni dbus.service ako je pokrenut"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Pokrenite iz ExecStopPost za pokretanje gnome-session-failed.target pri "
+"neuspjehu usluge"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programu je potreban točno jedan parametar"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [MOGUĆNOST...] NAREDBA\n"
+"\n"
+"Pokreni NAREDBU dok su zabranjene neke funkcije sesije.\n"
+"\n"
+" -h, --help Prikaži ovu pomoć\n"
+" --version Prikaži inačicu programa\n"
+" --app-id ID ID aplikacije koja se koristi\n"
+" pri zabranjivanju (neobavezno)\n"
+" --reason RAZLOG Razlog zabranjivanja (neobavezno)\n"
+" --inhibit ARG Stvari za zabraniti, Dvotočkom odvojen popis:\n"
+" odjave, zemjene-korisnika, suspenzije, mirovanja, "
+"automatskog montiranja\n"
+" --inhibit-only Ne pokreći NAREDBU i čekaj zauvijek\n"
+" -l, --list Prikaži postojeće zabrane, i izađi\n"
+"\n"
+"ako nije --inhibit mogućnost zabrane je određena, mirovanje je "
+"pretpostavljeno.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Neuspjelo pokretanje %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s zahtijeva argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Odjavljivanje"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Isključivanje"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Ponovno pokretanje"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Zanemarivanje svih poznatih sprječavatelja"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne traži potvrdu korisnika"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nemoguće povezivanje s upraviteljem sesije"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program pozvan s proturječnim mogućnostima"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesija %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Nazivima sesija nije dopušteno da počinju s \".\" ili sadrže \"/\" znakove"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nazivima sesija nije dopušteno da počinju s \".\""
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nazivima sesija nije dopušteno da sadrže \"/\" znakove"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Sesija naziva \"%s\" već postoji"
+
+#~ msgid "Select Command"
+#~ msgstr "Odaberi naredbu"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Dodaj pokretanje programa"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Uredi pokretanje programa"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Naredba pokretanja ne može biti prazna"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Naredba pokretanja nije ispravna"
+
+#~ msgid "Enabled"
+#~ msgstr "Omogućeno"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Osobitosti pokretanja programa"
+
+#~ msgid "No name"
+#~ msgstr "Bez naziva"
+
+#~ msgid "No description"
+#~ msgstr "Bez opisa"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Nemoguće prikazivanje dokumenta pomoći"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Pokrenute aplikacije"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Odaberite aplikacije koje želite pokrenuti prilikom prijave."
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Dodatni pokrenuti _programi prilikom prijave u sesiju:"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "_Automatski zapamti pokrenute aplikacije pri odjavljivanju iz sustava"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Zapamti trenutno pokrenute aplikacije"
+
+#~ msgid "Browse…"
+#~ msgstr "Potraži..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Komen_tar:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Na_redba:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Naziv:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Ova sesija prijavljuje vas u GNOME, upotrebom Waylanda"
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..cd2f747
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,377 @@
+# Hungarian translation for gnome-session.
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2018, 2019, 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Szabolcs Ban <shooby at gnome dot hu>, 1998, 1999, 2000, 2001, 2002.
+# Emese Kovacs <emese at gnome dot hu>, 2000, 2001, 2002.
+# Andras Timar <timar at gnome dot hu>, 2001, 2002, 2003.
+# Laszlo Dvornik <dvornik at gnome dot hu>, 2004.
+# Gabor Kelemen <kelemeng at gnome dot hu>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2018.
+# Mate ORY <orymate at gmail d0t com>, 2006, 2008.
+# Balázs Úr <ur.balazs at fsf dot hu>, 2014, 2019, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-03-11 01:33+0100\n"
+"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
+"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 19.12.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Egyéni"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ez a bejegyzés lehetővé teszi mentett munkamenet kiválasztását"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Bejelentkezés a GNOME környezetbe"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME példa"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME Waylanden"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorgon"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Munkamenetek mentése"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+"Ha engedélyezett, akkor a gnome-session automatikusan menti a munkamenetet."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Aktuális környezet mentése"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Ha engedélyezett, akkor a gnome-session automatikusan elmenti a következő "
+"munkamenetet kijelentkezéskor, akkor is ha az automatikus mentés tiltott."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Kérdés kijelentkezéskor"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ha engedélyezett, akkor a gnome-session megkérdezi a felhasználót a "
+"munkamenet befejezése előtt."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Tartalék figyelmeztetés megjelenítése"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ha engedélyezett, akkor a gnome-session egy figyelmeztetési párbeszédablakot "
+"jelenít meg, ha a munkamenet visszaállt a tartalékra."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Egyéni környezet"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Válasszon egyéni futtatandó környezetet"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Új _környezet"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Környezet _eltávolítása"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Környezet át_nevezése"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Folytatás"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Jaj! Valami elromlott."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Hiba történt, és a rendszer nem képes helyreállni. Lépjen kapcsolatba a "
+"rendszergazdával."
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Hiba történt, és a rendszer nem képes helyreállni. Elővigyázatosságból "
+"minden kiterjesztés letiltásra került."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Hiba történt, és a rendszer nem képes helyreállni.\n"
+"Jelentkezzen ki, és próbálja újra."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Kijelentkezés"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Hibakeresési kód engedélyezése"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Kijelentkezés engedélyezése"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Kiterjesztés figyelmeztetésének megjelenítése"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Nem válaszol"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Kijelentkezés"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Megjegyzett alkalmazás"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ez a program blokkolja a kijelentkezést."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Új ügyfélkapcsolatok visszautasítása, mivel a rendszer éppen leáll\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nem hozható létre az ICE-figyelő foglalat: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Futtatás systemd szolgáltatásként"
+
+# gnome-terminal/gnome-terminal.c:2562
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Systemd munkamenet-kezelés használata"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Beépített munkamenet-kezelés használata (a systemd alapú helyett)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Szabványos automatikus indítási könyvtárak felülbírálása"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTO_INDÍTÁS_KVT"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Használandó munkamenet"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "MUNKAMENET_NEVE"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ne töltsön be felhasználó által megadott alkalmazásokat"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Ezen alkalmazás verziója"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "A hibaképernyő megjelenítése teszteléshez"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "A hardveres gyorsítás ellenőrzésének kikapcsolása"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " – A GNOME munkamenet-kezelője"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "A gnome-session-shutdown.target indítása"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"A gnome-session-shutdown.target indítása, ha EOF vagy egyedülálló bájt "
+"érkezik a szabványos bemeneten"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "A szignál előkészítése kész a gnome-session munkamenethez"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "A dbus.service újraindítása, ha fut"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Futtatás az ExecStopPost beállításból a gnome-session-failed.target "
+"indításához szolgáltatáshiba esetén"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "A programnak pontosan egy paraméterre van szüksége"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [KAPCSOLÓ…] PARANCS\n"
+"\n"
+"A PARANCS végrehajtása egyes munkamenet-funkciók tiltásával.\n"
+"\n"
+" -h, --help Ezen súgó megjelenítése\n"
+" --version Programverzió megjelenítése\n"
+" --app-id AZONOSÍTÓ Használandó alkalmazásazonosító\n"
+" a letiltáskor (elhagyható)\n"
+" --reason REASON A letiltás oka (elhagyható)\n"
+" --inhibit ARG Letiltandó funkciók vesszőkkel elválasztva:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Ne indítsa a PARANCSOT, csak várjon a végtelenségig\n"
+" -l, --list A meglévő letiltások felsorolása, majd kilépés\n"
+"\n"
+"Ha nincs megadva az --inhibit kapcsoló, akkor az idle az alapértelmezett.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s végrehajtása sikertelen\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s egy paramétert igényel\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Kijelentkezés"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Kikapcsolás"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Újraindítás"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "A meglévő korlátozók mellőzése"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne kérjen felhasználói megerősítést"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Sikertelen kapcsolatfelvétel a munkamenet-kezelővel"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "A program kapcsolói ütköznek"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "%d. környezet"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"A környezetnevek nem kezdődhetnek „.”-tal, és nem tartalmazhatnak „/” "
+"karaktert"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "A környezetnevek nem kezdődhetnek „.”-tal"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "A környezetnevek nem tartalmazhatnak „/” karaktert"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Már létezik „%s” nevű környezet"
diff --git a/po/hy.po b/po/hy.po
new file mode 100644
index 0000000..e254ba1
--- /dev/null
+++ b/po/hy.po
@@ -0,0 +1,492 @@
+# translation of gnome-session.HEAD.hy.po to armenian
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD.hy\n"
+"Report-Msgid-Bugs-To: norik@freenet.am\n"
+"POT-Creation-Date: 2005-07-19 06:26+0000\n"
+"PO-Revision-Date: 2005-08-25 13:59+0500\n"
+"Last-Translator: Norayr Chilingaryan\n"
+"Language-Team: <norik@freenet.am>\n"
+"Language: hy\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"
+
+#: ../gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Թույլատրել TCP միացումները"
+
+#: ../gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Անվտանգության ապահովումից ելնելով, սարքահամալիրների վրա, որոնք ունեն _IcqTCPTransNoListen() (XFree86 "
+"համակարգեր), գնոմ–ենթահամակարգը չի կատարում TCP պորտերի միացումները։ Այս տարբերակը թույլ է տալիս միացումների իրականացում (իրավասու) հեռավոր հանգույցներից։ Գնոմ ենթահամակարգը պետք է վերագործարկել այս արդյունքը ստանալու համար։"
+
+#: ../gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Միացնելու դեպքում գնոմ–ենթահամակարգը գործարկողին հուշում է սեանսի ավարտի մասին"
+
+#: ../gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr "Միացնելու դեպքում գնոմ ենթահամակարգը սեանսը ավտոմատ կերպով պահում է, հակառակ դեպքում համակարգից դուրս գալու դիալոգը ներկայացնում է սեանսը պահելու տարբերակ"
+
+#: ../gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Համակարգից դուրս գալու հուշում"
+
+#: ../gnome-session/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "Նախընտրելի տարբերակ, որպես համակարգ մտնելու առկայծող էկրան օգտագործելու համար"
+
+#: ../gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Պահպանել սեանսները"
+
+#: ../gnome-session/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "Համակարգից դուրս գալու դիալոգի Ընտրված տարբերակ"
+
+#: ../gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "Ցույց տալ առկայծող էկրանը"
+
+#: ../gnome-session/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "Ցույց տալ առկայծող էկրանը, երբ սեանսը սկսվում է"
+
+#: ../gnome-session/gnome-session.schemas.in.h:11
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr "Սա հարաբերական ուղու արժեք է՝ հիմնված $datadir/pixmaps/, տվյալների կատալոգից դուրս։ Ենթա–կատալոգները և պատկերների անունները համապատասխան արժեքներ են։ Այս արժեքները փոփոխելը կներգործի հաջորդ սեանսի համար համակարգ մտնելիս։"
+
+#: ../gnome-session/gnome-session.schemas.in.h:12
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Սա այն տարբերակն է, որը պետք է ընտրել համակարգից դուրս գալու դիալոգում, համապատասխան արժեքներն են \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" , համակարգը վերագործարկելու համար։"
+
+#: ../gnome-session/gsm-client-editor.c:97
+#: ../gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_կարգ"
+
+#: ../gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Կարգը, որով կիրառական ծրագրերը գործարկվում են սեանսում"
+
+#: ../gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Ինչ է պատահում կիրառական ծրագրերին, երբ հեռանում են։"
+
+#: ../gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Տեսքի ատրիբուտ"
+
+#: ../gnome-session/gsm-client-list.c:150
+#: ../gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Կարգ"
+
+#: ../gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Տեսքի ատրիբուտ"
+
+#: ../gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Կարգավիճակ"
+
+#: ../gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Ծրագիր"
+
+#: ../gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Ոչ ակտիվ"
+
+#: ../gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Սպասում է գործարկմանը կամ արդեն ավարտել է"
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Գործարկում"
+
+#: ../gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Գործարկվել է, սակայն կարգավիճակը չի ֆիքսել"
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Գործարկում"
+
+#: ../gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Սեանսի նորմալ անդամ"
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Պահում"
+
+#: ../gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Պահել սեանսի մանրամասները"
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Անհայտ"
+
+#: ../gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Կարգավիճակ, որը ժամանակը սպառվելու ընթացքում չի ֆիքսվել"
+
+#: ../gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Նորմալ"
+
+#: ../gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Համակարգից դուրս գալիս չի վնասվե, սակայն կարող է ոչնչանալ"
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Վերագործարկում"
+
+#: ../gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Երբեք չի թույլատրվի ոչնչանալ"
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Թափոն"
+
+#: ../gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Համակարգից դուրս գալուց հրաժարում և կարող է ոչնչանալ"
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Կարգադրվածքներ"
+
+#: ../gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Միշտ գործարկվում է յուրաքանչյուր անգամ համակարգ մտնելիս"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"GNOME Settings Daemon–ի գործարկման ժամանակ սխալ է կատարվել.\n"
+"\n"
+"Այնպիսի բաներ, ինչպիսիք են թեմաները, ձայները կամ հետին պլանի կարգադրվածքները կարող են ճիշտ չաշխատել։"
+
+#: ../gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Վերջին սխալ հաղորդագրությունը:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Գնոմը միշտ կփորձի վերագործարկել Settings Daemon –ը, երբ հաջորդ անգամ դուք համակարգ մտնեք։"
+
+#: ../gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Կատարվել է ակտիվացման անհայտ սխալ"
+
+#: ../gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Settings Daemon–ը վերագործարկվեց բավականին շատ անգամներ"
+
+#: ../gnome-session/logout.c:408
+msgid "Are you sure you want to log out?"
+msgstr "Համոզվա՞ծ եք, որ ցանկանում եք դուրս գալ համակարգից։"
+
+#: ../gnome-session/logout.c:425
+msgid "_Save current setup"
+msgstr "_Պահպանել ընթացիկ պարամետրերը"
+
+#: ../gnome-session/logout.c:448
+msgid "Action"
+msgstr "Գործողություն"
+
+#: ../gnome-session/logout.c:465
+msgid "_Log out"
+msgstr "_Համակարգից դուրս գալ"
+
+#: ../gnome-session/logout.c:472
+msgid "Sh_ut down"
+msgstr "_Անջատել"
+
+#: ../gnome-session/logout.c:480
+msgid "_Restart the computer"
+msgstr "_Համակարգիչը վերագործարկել"
+
+#: ../gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Նշել սեանսի անունը բեռնելու համար"
+
+#: ../gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Միայն կարդալ պահպանված սեանսները դեֆոլտ ենթահամակարգի ֆայլից"
+
+#: ../gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Միլիվայրկյանների ժամանակահատված, որն անցել է հաճախորդների գրանցման ժամանակ (0=հավերժ)"
+
+#: ../gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Միլիվայրկյանների ժամանակահատված, որն անցել է հաճախորդների արձագանքին սպասելով (0=հավերժ)"
+
+#: ../gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Միլիվայրկյանների ժամանակահատված, որն անցել է հաճախորդների ոչնչացմանը սպասելով (0=հավերժ)"
+
+#: ../gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Անկարող է փնտրել ինտերնետային հասցեն %s.\n"
+"Դա կարող է Գնոմին հետ պահել ճիշտ շահագործումից \n"
+"Հնարավոր է, որ սխալը ուղղվի ավելացնելով \n"
+"%s ֆայլին /և այլն /գլխավոր հանգույցին"
+
+#: ../gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Միանալ համակարգին ցանկացած կերպ"
+
+#: ../gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Կրին փորձել"
+
+#: ../gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Ձեր սեանսը պահպանվել է"
+
+#: ../gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Սպասումը դադարեցված է կոնֆլիկտի առկայության պատճառով։"
+
+#: ../gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Պատասխան չկա %s հրահանգին"
+
+#: ../gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Ծրագիրը կարող է դանդաղ, կասեցված կամ կոտրված լինել"
+
+#: ../gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Դուք կարող եք սպասել, որ այն արձագանքի, կամ հեռացնել այն։"
+
+#: ../gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Վերագործարկումը դադարեցվում է սխալների պատճառով։"
+
+#: ../gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Սեանսի անջատումը ընթացքի մեջ է"
+
+#: ../gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Սկսել ընթացիկ սեանսը"
+
+#: ../gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Սեանսը ոչնչացնել"
+
+#: ../gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Օգտագործել դիալոգի արկղերը"
+
+#: ../gnome-session/save-session.c:146 ../gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Անկարող է միանալ սեանսի մենեջերին"
+
+#: ../gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Սեանսի անունը դատարկ լինել չի կարող"
+
+#: ../gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Սեանսի անունը արդեն գոյություն ունի"
+
+#: ../gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Ավելացնել նոր սեանս"
+
+#: ../gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Խմբագրել սեանսի անունը"
+
+#: ../gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Խմբագրել"
+
+#: ../gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Որոշ փոփոխություններ չեն պահվել \n"
+"Համաձա՞յն եք հեռանալ։"
+
+#: ../gnome-session/session-properties-capplet.c:240
+#: ../gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Սեանսներ կամ ենթահամակարգեր"
+
+#: ../gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Համակարգ մտնելից ցույց տալ առկայծող էկրանը"
+
+#: ../gnome-session/session-properties-capplet.c:284
+msgid "As_k on logout"
+msgstr "Սեանսի ավարտի հաստատում"
+
+#: ../gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Ավտոմատ կերպով կատարել սեանսի փոփոխությունների պահում"
+
+#: ../gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Սեանսներ կամ ենթահամակարգեր"
+
+#: ../gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Սեանսի անուն"
+
+#: ../gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Սեանսի տարբերակներ"
+
+#: ../gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Ընթացիկ սեանսներ"
+
+#: ../gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "Լրացուցիչ գործարկման -ծրագրեր"
+
+#: ../gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Հրահանգ"
+
+#: ../gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Գործարկման ծրագրեր"
+
+#: ../gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Ընթացիկ ընտրված հաճախորդին սեանսից հեռացնել"
+
+#: ../gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Կիրառել ընթացիկ սեանսի փոփոխությունները"
+
+#: ../gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Սեանսի ծրագրերի ցանկը"
+
+#: ../gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Ընթացիկ գործարկվող _ծրագրեր"
+
+#: ../gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Գործարկել սեանսի կարգադրվածքները"
+
+#: ../gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Ձեր սեանսի կոնֆիգուրացիաները կարգավորել"
+
+#: ../gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Sawfish պատուհանի մենեջեր"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Մետասիթի պատուհանի մենեջեր"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Պատուհանի մենեջեր"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Վահանակը"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Սեանսի մենեջերի տվյալները"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Նաուտիլուս"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Աշխատանքային էկրանի կարգադրվածքներ"
+
+#: ../gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "_Գործարկման հրահանգ"
+
+#: ../gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Գործարկման հրահանգ"
+
+#: ../gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Գործարկման հրահանգը չի կարող դատարկ լինել"
+
+#: ../gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Ավելացնել գործարկման ծրագիր"
+
+#: ../gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Խմբագրել գործարկման ծրագիրը"
+
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..aa906c4
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,374 @@
+# Indonesia translation of gnome-session.
+# Copyright (C) 2005 THE gnome-session'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+#
+# Mohammad DAMT <mdamt@bisnisweb.com>, 2005.
+# Dirgita <dirgitadevina@yahoo.co.id>, 2010, 2011, 2012, 2014.
+# Andika Triwidada <andika@gmail.com>, 2010, 2011, 2013, 2014.
+# Bonaventura Aditya Perdana <bonaditya@about.me>, 2012.
+# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017-2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-13 22:02+0700\n"
+"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
+"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Gubahan"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Entri ini memungkinkan Anda memilih suatu sesi yang tersimpan"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Sesi ini melogkan Anda ke dalam GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME pada Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME pada Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Simpan sesi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Jika diaktifkan, gnome-session akan menyimpan sesi secara otomatis."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Simpan sesi ini"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Saat diaktifkan, gnome-session akan secara otomatis menyimpan sesi "
+"berikutnya saat log keluar bahkan jika penyimpanan otomatis dinonaktifkan."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Tanyakan log keluar"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Jika diaktifkan, gnome-session akan menanyakan pengguna sebelum mengakhiri "
+"sesi."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Tampilkan peringatan penggantian"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Jika diaktifkan, gnome-session akan menampilkan dialog peringatan setelah "
+"log masuk jika sesi secara otomatis mundur kembali."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sesi Gubahan"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Silakan pilih suatu sesi gubahan yang akan dijalankan"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Sesi _Baru"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Hapus Sesi"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Ubah Na_ma Sesi"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Lanjutkan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh, tidak! Sesuatu yang tidak diinginkan telah terjadi."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Terjadi masalah dan sistem tidak dapat dipulihkan. Silakan kontak "
+"administrator sistem"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Terjadi masalah dan sistem tidak dapat dipulihkan. Semua ekstensi dibuat "
+"nonaktif sebagai tindak pencegahan."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Terjadi masalah dan sistem tidak dapat dipulihkan.\n"
+"Silakan log keluar dan coba lagi."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Ke_luar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Mengaktifkan kode debug"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Izinkan log keluar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Tunjukkan peringatan ekstensi"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Tak merespon"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Log keluar"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplikasi Yang Diingat"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Program ini menghalangi log keluar."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Menolak sambungan dari klien baru, karena sesi sedang dalam proses "
+"dimatikan\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Tak dapat membuat soket pendengar ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Jalankan sebagai layanan systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Gunakan manajemen sesi systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Gunakan manajemen sesi tertanam (bukan yang berbasis systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Menimpa direktori standar autostart"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "DIR_MULAI_OTOMATIS"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sesi yang dipakai"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NAMA_SESI"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Tak memuat aplikasi yang ditentukan oleh pengguna"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versi aplikasi ini"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Tampilkan dialog paus gagal untul pengujian"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Nonaktifkan pemeriksaan akselerasi perangkat keras"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — manajer sesi GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Mulai gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Mulai gnome-session-shutdown.target saat menerima EOF atau satu byte pada "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inisialisasi sinyal dilakukan untuk gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Mulai ulang dbus.service jika sedang berjalan"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Jalankan dari ExecStopPost untuk memulai gnome-session-failed.target pada "
+"kegagalan layanan"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program membutuhkan satu parameter yang tepat"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPSI…] PERINTAH\n"
+"\n"
+"Mengeksekusi PERINTAH sambil mencegah beberapa fungsionalitas sesi.\n"
+"\n"
+" -h, --help Tampilkan bantuan ini\n"
+" --version Tampilkan versi program\n"
+" --app-id ID ID aplikasi untuk dipakai\n"
+" ketika mencegah (opsional)\n"
+" --reason REASON Alasan mencegah (opsional)\n"
+" --inhibit ARG Hal yang dicegah, daftar yang dipisah titik dua dari:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Jangan meluncurkan PERINTAH dan tunggu selamanya\n"
+" sebagai gantinya\n"
+" -l, --list Daftar hambatan yang ada, dan keluar\n"
+"\n"
+"Bila tak ada opsi --inhibit yang dinyatakan, diasumsikan idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Gagal mengeksekusi %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s memerlukan argumen\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Keluar"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Matikan"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Nyalakan Ulang"
+
+# Keterangan untuk opsi force-logout.
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Mengabaikan sembarang pencegah"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Jangan tanyakan konfirmasi pengguna"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Tak dapat terhubung dengan manajer sesi"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program dipanggil dengan opsi yang bertentangan"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesi %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Nama sesi tak boleh diawali dengan “.” atau memuat karakter “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nama sesi tak boleh diawali dengan “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nama sesi tak boleh memuat karakter “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Nama sesi “%s” telah ada"
diff --git a/po/ig.po b/po/ig.po
new file mode 100644
index 0000000..72792d9
--- /dev/null
+++ b/po/ig.po
@@ -0,0 +1,801 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&component=general\n"
+"POT-Creation-Date: 2009-01-17 11:27+0000\n"
+"PO-Revision-Date: 2006-07-07 10:48+0100\n"
+"Last-Translator: Onye, Sylvester <sylvester@wazobialinux.com>\n"
+"Language-Team: Igbo\n"
+"Language: ig\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"
+
+#: ../capplet/gsm-app-dialog.c:126
+#, fuzzy
+msgid "Select Command"
+msgstr "Mbido Iwu"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Tinye mbido program"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Dezie mbido program"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:952
+#, fuzzy
+msgid "The name of the startup program cannot be empty"
+msgstr "Mbido iwu ahụ agaghị eghenwu oghe"
+
+#: ../capplet/gsm-properties-dialog.c:956
+msgid "The startup command cannot be empty"
+msgstr "Mbido iwu ahụ agaghị eghenwu oghe"
+
+#: ../capplet/gsm-properties-dialog.c:962
+#, fuzzy
+msgid "The startup command is not valid"
+msgstr "Mbido iwu ahụ agaghị eghenwu oghe"
+
+#: ../capplet/gsm-properties-dialog.c:1279
+msgid "Enabled"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:1292
+#, fuzzy
+msgid "Icon"
+msgstr "Mmem"
+
+#: ../capplet/gsm-properties-dialog.c:1303
+msgid "Program"
+msgstr "Program"
+
+#: ../capplet/gsm-properties-dialog.c:1453
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:1
+#, fuzzy
+msgid "Default session"
+msgstr "Gbuo oge mmem"
+
+#: ../data/gnome-session.schemas.in.h:2
+#, fuzzy
+msgid "File Manager"
+msgstr "Onyenlekọta Windo "
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ọ bụrụ na a hapụrụ ya, gnome-session ga-agwa ojieme mgbe ọ ga-anabata ozi "
+"tupuu a na-akwụsị oge mmem."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Ọ bụrụ na a hụpụrụ ya, gnome menu ga-echekwa oge mmem ahụ na nkeonwe ya, "
+"dayalọọgụ mpụta ahụ ga-enwe nhọrọ ịchekwa oge mmem ahụ."
+
+#: ../data/gnome-session.schemas.in.h:5
+#, fuzzy
+msgid "List of applications that are part of the default session."
+msgstr "Usoro ahụ nke ndị ebidorola n'oge mmem usoroiheomume. "
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Ọ̀gwá mgbe ọ̀pụ̀pụ́"
+
+#: ../data/gnome-session.schemas.in.h:8
+#, fuzzy
+msgid "Panel"
+msgstr "Paneelụ ahụ"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Inyogo nke a kara chọọ a ga-eji maka mbanye inyogo ngosi ndubanye "
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Chekwaa oge mmem"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Gosi inyogo ngosi ndubanye"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Gosi inyogo ngosi ndubanye mgbe oge mmem na-ebido"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Nke a bụ nyiri ụzọ valiu kwụpụrụ n'ihenlereanya nke $datadir/pixmaps/. "
+"Ihenlereanya-keobere na aha inyogo bụ valiu nkeisi. Ịgbanwe valui a ga-"
+"emetụta mbata oge mmem n'esonụ̄."
+
+#: ../data/gnome-session.schemas.in.h:20
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:21
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:22 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Onyenlekọta Windo "
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Hazie ogemmem gị"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Ogemmem"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Mgbakwunye mbido _programs:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr ""
+
+#: ../data/session-properties.glade.h:3
+#, fuzzy
+msgid "Co_mmand:"
+msgstr "Iwu"
+
+#: ../data/session-properties.glade.h:4
+#, fuzzy
+msgid "Comm_ent:"
+msgstr "Iwu"
+
+#: ../data/session-properties.glade.h:5
+#, fuzzy
+msgid "Options"
+msgstr "Ihenhọrọ ogemmem"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Mbido Programs"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr ""
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:958
+#, fuzzy, c-format
+msgid "Starting %s"
+msgstr "Ịbido"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1392
+#, c-format
+msgid "Not a launchable item"
+msgstr ""
+
+#: ../egg/eggsmclient.c:185
+#, fuzzy
+msgid "Disable connection to session manager"
+msgstr "Enweghị ike isụnye n'onyenlekọta oge mmem"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr ""
+
+#: ../egg/eggsmclient.c:191
+#, fuzzy
+msgid "Specify session management ID"
+msgstr "Zipụta aha oge mmem ka ebubata"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr ""
+
+#: ../egg/eggsmclient.c:245
+#, fuzzy
+msgid "Session Management Options"
+msgstr "Ihenhọrọ ogemmem"
+
+#: ../egg/eggsmclient.c:246
+#, fuzzy
+msgid "Show Session Management options"
+msgstr "Proxy Onyenlekọta ogemmem"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Amaghị"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+#, fuzzy
+msgid "Logout Anyway"
+msgstr "Ńgwānụ́ banye"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+#, fuzzy
+msgid "Hibernate Anyway"
+msgstr "Ńgwānụ́ banye"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+#, fuzzy
+msgid "Shutdown Anyway"
+msgstr "Ńgwānụ́ banye"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+#, fuzzy
+msgid "Reboot Anyway"
+msgstr "Ńgwānụ́ banye"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+#, fuzzy
+msgid "_Log Out"
+msgstr "_Mmpụta"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+#, fuzzy
+msgid "_Restart"
+msgstr "Bidogharịa"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+#, fuzzy
+msgid "_Shut Down"
+msgstr "Gb_anyụọ"
+
+#: ../gnome-session/gsm-manager.c:943 ../gnome-session/gsm-manager.c:1571
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:528
+#, fuzzy
+msgid " - the GNOME session manager"
+msgstr "Enweghị ike isụnye n'onyenlekọta oge mmem"
+
+#: ../splash/gnome-session-splash.c:315
+#, fuzzy
+msgid "- GNOME Splash Screen"
+msgstr "Gosi inyogo ngosi ndubanye"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:65
+#, fuzzy
+msgid "Set the current session name"
+msgstr "Kpokọọ oge mmem nọ mgbe ahụ"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:66
+#, fuzzy
+msgid "Log out"
+msgstr "_Mmpụta"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Gbuo oge mmem"
+
+#: ../tools/gnome-session-save.c:71
+#, fuzzy
+msgid "Use dialog boxes for errors"
+msgstr "Jiri igbe dayalọọgụ"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Enweghị ike isụnye n'onyenlekọta oge mmem"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME ga-achọkwa ibidogharị Nhazi Deimọọnụ mgbe ọzọ ị̀bànyé."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Ozi ndehie nke ikpeazụ bụ:\n"
+#~ "\n"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "onye òtù oge mmem."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Ḿgbányụ́ oge mmem nọ n'ọrụ."
+
+#~ msgid "Add a new session"
+#~ msgstr "Tinye oge mmem ọfụụ"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Hapụ njikọ TCp"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Mgbe ọbụla á na-ebidokarị na mbata nke ọbụla."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Tinye mgbanwe n'ogemmem ahụ no mgbe ahụ"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Ọ bụ eziokwu na ị chọrọ ịpụta?"
+
+#~ msgid "As_k on logout"
+#~ msgstr "Jụ_ọ ná mpụta"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Echekwara mgbanwe ahụ n'ogemmem n'ụdị nkeonwe"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Agaghị achọnwu ngosi ebe ịntaneetị maka %s.\n"
+#~ "Nke a ga-egbochi GNOME ịrụ ọfụma.\n"
+#~ "O nwere ike inwe isi n'imezi nsogbu ahụ site n'itinye\n"
+#~ "%s na hostụ faịlụ /dgz/."
+
+#~ msgid "Current Session"
+#~ msgstr "Ogemmem nọ mgbe ahụ"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Program ndị _n'arụ ọrụ mgbe ahụ:"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Nhazi Desktọọpụ"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Wepụ n'ọ̀pụ̀pụ̀ ma nwekwaa ike ịnwụ anwụ."
+
+#~ msgid "Edit session name"
+#~ msgstr "Dezie aha oge mmem"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Maka ihi nchekwa, na platfọm nke nwere _IceTcpTransNoListen() (XFree86 "
+#~ "systems), gnome-session anaghị ege maka njikọ n'ọdụnkwụsị TCP. Ihenhọrọ a "
+#~ "ga-enyere njikọ aka site na (ikike) hostu rimootu. a ga-ebidogharịrị "
+#~ "gnome-session ka nke a bido ọrụ."
+
+#~ msgid "Inactive"
+#~ msgstr "Adịghịaruọrụ"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Inishialaịzịa nhazi ogemmem "
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Onyenlekọta Windo Metacity"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Oge Milisekọndụ egburu n'iche ojeozi ka ọ nwụọ (0=forever)"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr "Oge Milisekọndụ egburu n'ịche ojeozi ka odebata ozi (0=forever)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Oge Milisekọndụ egburu n'iche ojeozi ka oweghachikwa ozi (0=forever)"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Agaghị è kwé nwụọ."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Onweghị nzaghachi n'iwu %s. "
+
+#~ msgid "Normal"
+#~ msgstr "Kénēmébú ēmé"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Sọsọ nwepụtaozi oge mmem echekwara site na difọọltụ.faịlụ oge mmem"
+
+#~ msgid "Order"
+#~ msgstr "Usoro"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Wepu ojieme ahọrọla nọ mgbe ahụ n'ime ogemmem."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "A hapụrụ mbidogharị maka ọdịda."
+
+#~ msgid "Running"
+#~ msgstr "ibido"
+
+#~ msgid "Saving"
+#~ msgstr "Ịchekwa"
+
+#~ msgid "Saving session details."
+#~ msgstr "Ịchekwa ndesịta ozi nke oge mmem."
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Onyenlekọta Windo Sawfish"
+
+#~ msgid "Session Name"
+#~ msgstr "Aha ogemmem"
+
+#~ msgid "Settings"
+#~ msgstr "Nhazi"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Gosi inyogo splaashị na _mbanye"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Echekwaghị mgbanwe ndị ụfọdụ.\n"
+#~ "Ọ dị mma ịpụ apụ?"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Ebidogo mana ezibeghị ozi ka ọnọdụ dị."
+
+#~ msgid "State"
+#~ msgstr "Ọnọdụ"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Ọnọdu apụtabeghị na mgbe oge gwụrụ."
+
+#~ msgid "Style"
+#~ msgstr "Ụdị"
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Nhazi Deịmọọnụ Bidogharịrị ọtụtụ oge."
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Ndesịta prograụ niile ahụ n'ime ogemmem."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Programụ ahụ nwere ike ị dị nwayọọ, nkwụsị mọọbụ nkụwa."
+
+#~ msgid "The session name already exists"
+#~ msgstr "Aha oge mmem nọbu anọ"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Aha oge mmem agaghị eghenwu oghe"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "E nwere ndehie mgbe a na-ebido Deimọọnụ nhazi GNOME.\n"
+#~ "\n"
+#~ "Ụfọdụ ihe, dịka isiokwu, Ụda, mọọbụ nhazi ntọala nwere ike ọgaghị arụ ọrụ "
+#~ "ọfụma."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Enwere ndehie mbido ọrụ a na-amaghị."
+
+#~ msgid "Trash"
+#~ msgstr "Ebemkpofuozi"
+
+#~ msgid "Try Again"
+#~ msgstr "Nwàá ọ̀zọ̀"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Nke ọ̀pụ̀pụ́ nā-émétụ̀tàghị̀ mana o nwere ike inwụ anwụ."
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Chere a hapurụ maka nsogbu."
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Na-eche mbido mọọbụ na-émēcháláàrị́ị̀."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Gịnị na-eme usoroiheomume mgbe ọdị."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Inwere ike ichere ya ka ọ zaghachị mọọbụ wepụ ya."
+
+#~ msgid "Your session has been saved"
+#~ msgstr "Echekwaala oge mmem gị"
+
+#~ msgid "_Edit"
+#~ msgstr "_Dezie"
+
+#~ msgid "_Order:"
+#~ msgstr "_Usoro:"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Bidogharịa kọmputa"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Chekwaa mkpokọta nọ mgbe ahụ"
+
+#~ msgid "_Sessions:"
+#~ msgstr "_Ogemmem:"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Mbido Iwu:"
+
+#~ msgid "_Style:"
+#~ msgstr "_Ụdị:"
diff --git a/po/is.po b/po/is.po
new file mode 100644
index 0000000..31abb34
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,707 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Samúel Jón Gunnarsson <sammi@techattack.nu>, 2003.
+# Richard Allen <ra@ra.is>, 2003.
+# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017, 2019, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 22:51+0000\n"
+"PO-Revision-Date: 2021-12-13 09:15+0000\n"
+"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
+"Language-Team: Icelandic <translation-team-is@lists.sourceforge.org>\n"
+"Language: is\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: Lokalize 19.12.3\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Sérsniðið"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Þessi færsla gerir þér kleift að velja vistaða setu"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Þessi seta skráir þig inn í GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME sýnishorn"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME á Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME á Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Vista setur"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ef virkt mun gnome-session vista setuna sjálkrafa."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Vista þessa setu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Ef virkt mun gnome-session vista næstu setu sjálkrafa við útskráningu jafnvel "
+"þótt sjálfvirk vistun á setu sé óvirk."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Staðfesta útskráningu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ef virkt mun gnome-session spyrja um staðfestingu áður en setu er lokið."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Birta varaaðvörun"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ef virkt mun gnome-session birta aðvörun eftir innskráningu ef sjálfkrafa var "
+"notuð varaseta."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sérsniðin seta"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Veldu sérsniðna setu til að keyra"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Ný seta"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Fja_rlægja setu"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Endur_nefna setu"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Áfram"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Úbbs! Eitthvað hefur farið úrskeiðis núna."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Vandamál kom upp og kerfið nær ekki að vinna sig út úr því. Hafðu samband "
+"við kerfisstjóra"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Vandamál kom upp og kerfið nær ekki að vinna sig út úr því. Allar viðbætur "
+"hafa verið gerðar óvirkar í varúðarskyni."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Vandamál kom upp og kerfið nær ekki að vinna sig út úr því.\n"
+"Skráðu þig út og reyndu aftur."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Útskrá"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Virkja aflúsunarham"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Leyfa að skrá sig út"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Birta aðvörun vegna skráaendinga"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Svarar ekki"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "S_krá út"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Munað forrit"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Þetta forrit hindrar útskráningu."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Leyfi biðlara ekki að tengjast vegna þess að það er verið að slökkva á "
+"þessari setu\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Gat ekki búið til ICE hlustunar tengi: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Keyra sem systemd-þjónustu"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Nota systemd-setustýringu"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Nota innbyggða setustýringu (fremur en þessa úr systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Ekki nota sjálfgefna möppu fyrir sjálfvirka ræsingu"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Setan sem á að nota"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ekki hlaða inn forritum völdum að notanda"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Útgáfa þessa forrits"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Birta 'bilaða bilunargluggann' til prófunar"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Gera prófun á vélbúnaðarhröðun óvirka"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME setustýringin"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Ræsa gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Ræsa gnome-session-shutdown.target þegar EOF eða stakt bæti berast á stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Frumstilling merkis lokið til gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Endurræsa dbus.service ef það er í gangi"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Keyra úr ExecStopPost til að ræsa gnome-session-failed.target þegar þjónusta"
+" bregst"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Forritið þarfnast nákvælega eins viðfangs"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [VALKOSTUR…] SKIPUN\n"
+"\n"
+"Keyrir SKIPUN en kemur í veg fyrir einhverja eiginleika setu.\n"
+"\n"
+" -h, --help Birtir þessa hjálp\n"
+" --version Birtir útgáfuupplýsingar\n"
+" --app-id ID Auðkenni forritsins sem á að nota\n"
+" við hindrun - inhibit (valkvætt)\n"
+" --reason REASON Ástæða fyrir hindrunum (valkvætt)\n"
+" --inhibit ARG Hvað á að hindra, listi með kommuaðgreinum:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Ekki keyra SKIPUN og þess í stað bíða til eilífðar\n"
+" -l, --list Telur upp fyrirliggjandi hindranir og hættir\n"
+"\n"
+"Ef engin --inhibit kostur er tilgreindur, ganga út frá 'idle' sem vísu.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Mistókst að keyra %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s krefst færibreytu\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Skrá út"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Slökkva á"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Endurræsa"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Hunsa allt sem gæti truflað"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ekki spyrja notanda um staðfestingu"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Ekki tókst að tengjast setustjóra"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Kallað á forrit með röngum stillingum"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seta %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Heiti setu má ekki byrja á '.' eða innihalda '/' stafi"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Heiti setu má ekki byrja á '.'"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Heiti setu má ekki innihalda '/' stafi"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Seta með heitinu '%s' er þegar til"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Þessi seta skráir þig inn í GNOME með Wayland undirkerfinu"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Önnur ræsiforrit:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Ræsiforrit"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Muna eftir keyrandi forritum þegar ég skrái mig út"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Muna eftir forritum í gangi"
+
+#~| msgid "Session Options"
+#~ msgid "Options"
+#~ msgstr "Valkostir"
+
+#~ msgid "Browse…"
+#~ msgstr "Velja..."
+
+#~| msgid "Command"
+#~ msgid "Comm_ent:"
+#~ msgstr "At_hugasemd:"
+
+#~| msgid "Command"
+#~ msgid "Co_mmand:"
+#~ msgstr "Ski_pun:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Heiti:"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Leyfa TCP tengingar"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Vegna örryggisráðstafana á kerfum sem innihalda _IceTcpTransNoListen() "
+#~ "(XFree86 kerfi), mun gnome-setan ekki hlusta eftir tengingum á TCP porti. "
+#~ "Þessi valmöguleiki mun leyfa tengingar frá (viðurkenndum) fjarbundnum "
+#~ "tölvum. Endurræsa verður gnome-setuna til þess að stillingar taki gildi."
+
+#~ msgid ""
+#~ "Preferred Image to use for the splash screen when logging in to the GNOME "
+#~ "Desktop"
+#~ msgstr ""
+#~ "Forvalin mynd til notkunar sem slembiskjá þegar skráð er inn á Gnome "
+#~ "skjáborð"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Sýna slembiskjá"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Sýna slembiskjá við ræsingu á setu"
+
+#~ msgid "Splash Screen Image"
+#~ msgstr "Slembiskjámynd"
+
+#~ msgid "_Order:"
+#~ msgstr "_Uppröðun:"
+
+#~ msgid "The order in which applications are started in the session."
+#~ msgstr "Hvernig raða eigi upp forritum sem sem eru ræst af setu."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Hvað gerist þegar forrit þegar það hættir."
+
+#~ msgid "_Style:"
+#~ msgstr "_Stíll:"
+
+#~ msgid "Order"
+#~ msgstr "Uppröðun"
+
+#~ msgid "Style"
+#~ msgstr "Stíll"
+
+#~ msgid "State"
+#~ msgstr "Staða"
+
+#~ msgid "Program"
+#~ msgstr "Forrit"
+
+#~ msgid "Inactive"
+#~ msgstr "Óvirkur"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Bíð eftir að ræsa eða hef nú þegar klárað."
+
+#~ msgid "Starting"
+#~ msgstr "Ræsi"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Ræst en hefur ekki ennþá tilkynnt stöðu."
+
+#~ msgid "Running"
+#~ msgstr "Keyrir"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Venjulegur meðlimur setu."
+
+#~ msgid "Saving"
+#~ msgstr "Vista"
+
+#~ msgid "Unknown"
+#~ msgstr "Óþekkt"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Staða var ekki tilkynnt innin tímamarka."
+
+#~ msgid "Normal"
+#~ msgstr "Venjulegt"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Er óháð útskráningum en getur dáið."
+
+#~ msgid "Restart"
+#~ msgstr "Endurræsa"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Er aldrei leyfilegt að deyja."
+
+#~ msgid "Trash"
+#~ msgstr "Rusl"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Hundsað við útskráningu en getur dáið."
+
+#~ msgid "Settings"
+#~ msgstr "Stillingar"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Ræsa ávallt við hverja innskráningu."
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Villa átti sér stað við ræsingu á GNOME stillingarforritinu.\n"
+#~ "\n"
+#~ "Hugsanlegt er að ýmsir hlutir eins og þema, hljóð eða bakgrunnur muni "
+#~ "ekki virka rétt."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Síðasta villuskilaoð var:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME mun halda áfram að endurræsa stillingarforritið næsta skipti sem þú "
+#~ "skráir þig inn."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Það kom upp óþekkt virkjunarvilla."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Stillingarforritð hefur verið endurræst of oft."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Ertu viss um að þú viljir skrá þig út?"
+
+#~ msgid "_Save current setup"
+#~ msgstr "Vi_sta núverandi uppsetningu"
+
+#~ msgid "Action"
+#~ msgstr "Aðgerð"
+
+#~ msgid "Sh_ut down"
+#~ msgstr "Sl_ökkva"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "Endu_rræsa tölvuna"
+
+#~ msgid "Specify a session name to load"
+#~ msgstr "Tilgreindu heiti setu sem á að hlaða"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Lesa einungis vistaðar setur frá default.session skrám"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Fjöldi millisekúndna sem biðlari býður eftir skráningu (0=að eilífu)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Fjöldi millisekúndna sem biðlari býður eftir svari (0=að eilífu)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Fjöldi millisekúndna sem biðlari býður eftir því að deyja (0=að eilífu)"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Ekki tókst að flétta upp veffangi fyrir %s.\n"
+#~ "Þetta mun hindra GNOME frá því að virka rétt.\n"
+#~ "það er mögulegt að lagfæra vandamálið með því að\n"
+#~ "bæta %s við í skránna /etc/hosts."
+
+#~ msgid "Log in Anyway"
+#~ msgstr "Innskrá hvort sem er"
+
+#~ msgid "Try Again"
+#~ msgstr "Reyna á ný"
+
+#~ msgid "Your session has been saved"
+#~ msgstr "Setan þín hefur nú verið vistuð"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Endurræsa yfirgefnum vegna árekstra."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Ekkert svar fékkst frá %s skipuninni."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Forritið getur verið hæggengt, brotið eða stoppað."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Þú getur beðið eftir svari frá því eða fjarlægt það."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Endurræsa yfirgefnum vegna mistaka."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Lokun setu er nú í vinnslu."
+
+#~ msgid "Set the current session"
+#~ msgstr "Virkja núverandi setu"
+
+#~ msgid "Kill session"
+#~ msgstr "Aflífa setu"
+
+#~ msgid "Use dialog boxes"
+#~ msgstr "Nota smáglugga"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Heiti setu getur ekki verið autt"
+
+#~ msgid "Add a new session"
+#~ msgstr "Bæta við nýrri setu"
+
+#~ msgid "Edit session name"
+#~ msgstr "Breyta heiti setu"
+
+#~ msgid "_Edit"
+#~ msgstr "_Sýsla"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Sumar breytingar hafa ekki verið vistaðar.\n"
+#~ "er í lagi að hætta?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Sýna s_lembiskjá við inskráningu"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Vista sjálfkrafa breytin_gar á setu"
+
+#~ msgid "Session Name"
+#~ msgstr "Heiti setu"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Fjarlægja valinn biðlara úr setunni."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Virkja breytingar fyrir núverandi setu"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Listi yfir forrit í setu"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Forrit í _keyrslu:"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Virkja setustillingar"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Stilla setur"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Sawfish gluggastjórinn"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Metacity gluggastjórinn"
+
+#~ msgid "Window Manager"
+#~ msgstr "Gluggastjóri"
+
+#~ msgid "The Panel"
+#~ msgstr "Spjaldið"
+
+#~ msgid "Session Manager Proxy"
+#~ msgstr "Sel (proxy) setustjóra"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Skjáborðsstillingar"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "Ræ_siskipun:"
+
+#~ msgid "Startup Command"
+#~ msgstr "Ræsiskipun"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Ræsiskipunin getur ekki verið auð"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Bæta við ræsiforriti"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Breyta ræsiforriti"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Vista núverandi stöðu skjáborðs"
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..bdb8496
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,378 @@
+# Italian translation for gnome-session
+# This file is distributed under the same license as gnome-session package
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021 Free Software Foundation, Inc.
+# Christopher R. Gabriel <cgabriel@pluto.linux.it>, 1997, 1998, 1999, 2000, 2001, 2002.
+# Milo Casagrande <milo@milo.name>, 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
+# Luca Ferretti <lferrett@gnome.org>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-11-09 09:43+0100\n"
+"Last-Translator: Milo Casagrande <milo@milo.name>\n"
+"Language-Team: Italiano <tp@lists.linux.it>\n"
+"Language: it\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: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizzata"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Consente di selezionare una sessione salvata"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Questa sessione esegue l'accesso in GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME su Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME su Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Salva sessioni"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se abilitato, gnome-session salva la sessione automaticamente."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Salva questa sessione"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Quando abilitato, gnome-session salva automaticamente la sessione anche se "
+"il salvataggio automatico è disabilitato."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Avviso di termine sessione"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Se abilitato, gnome-session avvisa l'utente prima di terminare una sessione."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostra gli avvisi di ripiego"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Sa abilitato, gnome-session mostra un avvisto dopo l'accesso se viene "
+"caricata automaticamente una sessione di ripiego."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sessione personalizzata"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Selezionare una sessione personalizzata da lanciare"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nuova sessione"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Rimuovi sessione"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Rino_mina sessione"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continua"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh no! Qualcosa è andato storto."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Si è verificato un problema impossibile da recuperare. Contattare "
+"l'amministratore di sistema."
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Si è verificato un problema impossibile da recuperare. Per precauzione, "
+"tutte le estensioni sono state disabilitate."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Si è verificato un problema impossibile da recuperare.\n"
+"Terminare la sessione e provare di nuovo."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Termina sessione"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Abilita codice di debug"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Consente di terminare la sessione"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostra gli avvisi delle estensioni"
+
+# non so se la forma è corretta, non ho provato
+# a inibire il termine sessione
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Non risponde"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Termina la sessione"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Applicazioni memorizzate"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Questo programma sta bloccando la terminazione della sessione."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Rifiutate nuove connessioni client perché la sessione è in via di arresto\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Impossibile creare il socket di ascolto ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "In esecuzione come servizio systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Usa la gestione della sessione di systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Usa la gestione della sessione di sistema (al posto di quella di systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Non tiene conto delle directory standard di avvio automatico"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "DIR_AUTOSTART"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sessione da usare"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOME_SESSIONE"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Non carica le applicazioni specificate dall'utente"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versione di questa applicazione"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostra il dialogo «fail whale» per test"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Disabilita il controllo sull'accelerazione hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — Il gestore di sessioni di GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Avvia gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Avvia gnome-session-shutdown.target quando si riceve EOF o un singolo byte "
+"sullo stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inizializzazione segnale eseguita su gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Riavvia dbus.service se è in esecuzione"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Esegue da ExecStopPost per avviare gnome-session-failed.target quando un "
+"servizio non funziona"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Il programma necessita esattamente di un parametro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPZIONE…] COMANDO\n"
+"\n"
+"Esegue COMANDO durante il blocco di alcune funzionalità di sessione.\n"
+"\n"
+" -h, --help Mostra questo aiuto\n"
+" --version Mostra la versione del programma\n"
+" --app-id ID L'id dell'applicazione da usare\n"
+" durante il blocco (opzionale)\n"
+" --reason MOTIVO Il motivo del blocco (opzionale)\n"
+" --inhibit ARG Elenco separato da virgola di elementi da bloccare:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Non esegue COMANDO e attende per sempre\n"
+" -l, --list Elenca i blocchi esistenti ed esce\n"
+"\n"
+"\n"
+"Se non è specificata alcuna opzione per --inhibit, viene usato idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Esecuzione di %s non riuscita\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s richiede un parametro\n"
+
+# commento opzioni riga comando
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Termina la sessione"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Spegni"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Riavvia"
+
+# commento opzioni riga comando
+# (ingorando non avrebbe senso in italiano - NdT)
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignora ogni inibitore esistente"
+
+# commento opzioni riga comando
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Non richiede conferma all'utente"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Impossibile connettersi al gestore di sessione"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programma chiamato con opzioni in conflitto"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessione %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"I nomi delle sessioni non possono iniziare con «.» o contenere caratteri «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "I nomi delle sessioni non possono iniziare con «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "I nomi delle sessioni non possono contenere caratteri «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Un sessione chiamata «%s» esiste già"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..5f0ae36
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,397 @@
+# gnome-session ja.po.
+# Copyright (C) 1998-2015, 2019-2020 Free Software Foundation, Inc.
+# Yukihiro Nakai <Nakai@abricot.co.jp>, 1998.
+# Yasuyuki Furukawa <yasu@on.cs.keio.ac.jp>, 1999.
+# Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1999.
+# Yuusuke Tahara <tahara@gnome.gr.jp>, 2000.
+# Shingo Akagaki <dora@kondara.org>, 2000.
+# Akira TAGOH <tagoh@gnome.gr.jp>, 2001.
+# Ryoichi INAGAKI <ryo1@bc.wakwak.com>, 2002.
+# Satoru SATOH <ss@gnome.gr.jp>, 2006.
+# Takeshi AIHANA <takeshi.aihana@gmail.com>, 2003-2009.
+# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 1999-2002, 2009-2012.
+# Yasumichi Akahoshi <yasumichi@vinelinux.org>, 2010.
+# Jiro Matsuzawa <jmatsuzawa@gnome.org>, 2011, 2012, 2013, 2015.
+# Hideki Yamane <henrich@debian.org>, 2011, 2012.
+# Noriko Mizumoto <noriko@fedoraproject.org>, 2012.
+# Hajime Taira <htaira@redhat.com>, 2015.
+# sicklylife <translation@sicklylife.jp>, 2019-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-07-31 14:02+0000\n"
+"PO-Revision-Date: 2020-08-18 18:00+0900\n"
+"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
+"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "カスタム"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "このエントリーから保存したセッションを選択できます"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "このセッションで GNOME にログインします"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME ダミー"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME on Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "セッションを保存する"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "有効にすると、gnome-session はセッションを自動的に保存します。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "このセッションを保存する"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"有効な場合、セッションの自動保存が無効でも、gnome-session はログアウト時に"
+"セッションを自動的に保存します。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "ログアウト時に確認する"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "有効にすると、gnome-session はセッション終了時にユーザーに確認します。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "カスタムセッション"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "起動するカスタムセッションを選択してください"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "新規セッション(_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "セッションを削除(_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "セッション名を変更(_M)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "続行(_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "あれっ! 何かおかしいです。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"問題が発生して、システムの復帰ができません。システム管理者に連絡してください"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"問題が発生して、システムの復帰ができません。念のため、すべての拡張を無効にし"
+"ました。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"問題が発生して、システムの復帰ができません。\n"
+"ログアウトして再度試してください。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "ログアウト(_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "デバッグモードにする"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "ログアウトを許可する"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "拡張機能に関する警告を表示する"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "応答なし"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "ログアウト(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "実行していたアプリケーション"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "このプログラムがログアウトできないようにしています。"
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"セッションがシャットダウンを実行しているため、新しいクライアントとの接続を拒"
+"否しました。\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE の監視ソケットを生成できませんでした: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "systemd のサービスとして実行する"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr ""
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "標準の自動起動フォルダーをオーバーライドする"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "使用するセッション"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "ユーザーが指定したアプリケーションを起動しない"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "このアプリケーションのバージョンを表示する"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "テスト用にエラー画面を表示する"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "ハードウェアアクセラレーションのチェックを無効化する"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME セッションマネージャー"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target を実行する"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"stdin でシングルバイトまたは EOF を受け取ったら gnome-session-shutdown."
+"target を実行する"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service を再起動する (実行中の場合)"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "引数を一つだけ指定してください"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"COMMAND を起動し、その間セッションのいくつかの機能を抑止します。\n"
+"\n"
+" -h, --help このヘルプを表示する\n"
+" --version プログラムのバージョンを表示する\n"
+" --app-id ID 抑止時に使用するアプリケーション ID (オプション)\n"
+" --reason REASON 抑止する理由を指定する (オプション)\n"
+" --inhibit ARG 抑止する機能をコロン区切りで以下から指定する:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only COMMAND を起動せずに待機する\n"
+" -l, --list 抑止しているものを一覧表示して終了する\n"
+"\n"
+"--inhibit オプションが無指定の場合 idle を指定したものと扱います。\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s を起動できませんでした。\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s には引数が1つ必要です。\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "ログアウトする"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "電源オフ"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "再起動"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "阻害するプロセスを無視する"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "ユーザーに確認しない"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "セッションマネージャーに接続できませんでした"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "同時には適用できないオプションを指定しました"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "セッション %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "セッション名は“.”から始めたり、“/”を含めることはできません"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "“.”はセッション名の先頭には使用できません"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "“/”はセッション名に含めることができません"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "セッション“%s”はすでに存在します"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "自動的に起動するプログラムの追加(_P):"
+
+#~ msgid "Startup Programs"
+#~ msgstr "自動起動するプログラム"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "ログアウト時に実行中のアプリケーションを自動的に記憶しておく(_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "現在実行中のアプリケーションを記憶しておく(_R)"
+
+#~ msgid "Options"
+#~ msgstr "オプション"
+
+#~ msgid "Browse…"
+#~ msgstr "参照…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "説明(_E):"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "コマンド(_M):"
+
+#~ msgid "_Name:"
+#~ msgstr "名前(_N):"
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..0296b6b
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,366 @@
+# 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: \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-06-25 12:49+0000\n"
+"PO-Revision-Date: 2022-07-31 11:16+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: \n"
+"Language: ka\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: Poedit 3.1.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "ხელით"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "აქ შეგიძლიათ აირჩიოთ ჩაწერილი სესია"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "აქედან შეხვალთ GNOME-ში"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME ცარიელზე"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME Wayland-ზე"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg-ზე"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "სესიების შენახვა"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "თუ ჩართულია, gnome-session სესიას ავტომატურად შეინახავს."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "ამ სესიის შენახვა"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"თუ ჩართულია, gnome-session გამოსვლისას შეინახავს სესიას იმის მიუხედავად, "
+"გამორთულია თუ არა ავტომატური შენახვა."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "გასვლის ფანჯარა"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "თუ ჩართულია, gnome-session სთხოვს მომხმარებელს სესიის დასრულებამდე."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "თუ არჩეული არ მუშაობს, უკან გადართვისას გაფრთხილების ჩვენება"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"თუ ჩართულია, სესიის გაშვების შეცდომის შემთხვევაში gnome-session მომხმარებელს "
+"გააფრთხილებს ძირითად პარამეტრებზე დაბრუნების შესახებ."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "მომხმარებლის მორგებული სესია"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "აირჩიეთ მომხმარებლის მიერ მორგებული სესია"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_ახალი სესია"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_სესიის წაშლა"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "სე_სიის სახელის გადარქმევა"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_გაგრძელება"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "რაღაც გაფუჭდა."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"მოუგვარებელი პროგრამის გამო სისტემა ვერ აღდგება. დაუკავშირდით თქვენს "
+"სისტემურ ადმინისტრატორს"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"მოუგვარებელი პროგრამის გამო სისტემა ვერ აღდგება. სიფრთხილის გამო ყველა "
+"გაფართოება გაითიშა."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"მოუგვარებელი პროგრამის გამო სისტემა ვერ აღდგება.\n"
+"გადით და სცადეთ თავიდან."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_გასვლა"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "გამართვის კოდის ჩართვა"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "გასვლის ნების დართვა"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "გაფართოების გაფრთხილების ჩვენება"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "არ პასუხობს"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_გასვლა"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "დამახსოვრებული აპლიკაციები"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "ეს პროგრამა ბლოკავს გასვლას."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"მიმდინარეობს სესიის გათიშვა. დაელოდეთ დასრულებას და მხოლოდ შემდეგ სცადეთ "
+"თავიდან დაუკავშირდეთ\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE მოსასმენი სოკეტის გახსნის შეცდომა: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "გაშვებულია, როგორც systemd-ის სერვისი"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "Systemd-ის სესიების მმართველის გამოყენება"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "სესიების ჩაშენებული მმართველის გამოყენება(systemd-ის მაგიერ)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "ავტოსტარტის ნაგულისხმევი საქაღალდეების თავის არიდება"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "სესია"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "არ ჩატვირთო მომხმარებლის მიერ გაშვებული პროგრამები"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "ამ აპლიკაციის ვერსია"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "გამართვის სრული ფანჯრის ჩვენება"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "აპარატურული აჩქარების შემოწმების გათიშვა"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — GNOME-ის სესიების მმართველი"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "'gnome-session-shutdown.target\"-ის გაშვება"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"სტანდარტულ შემომავალზე EOF ბაიტის მოსვლისას gnome-session-shutdown.target-ის "
+"გაშვება"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "\"gnome-session\"-ის ინიციალიზაციის სიგნალი გაშვებულია"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "\"dbus.service\"-ის გაშვება, თუ არაა გაშვებული"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"სერვისის სიკვტილისას gnome-session-failed.target-ის ExecStopPost-ის გაშვება"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "პროგრამას ზუსტად ერთი პარამეტრი სჭირდება"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [პარამეტრი…] ბრძანება\n"
+"\n"
+"ბრძანების შესრულება სესიის რაღაც პარამეტრების გათიშვით.\n"
+"\n"
+" -h, --help ამ დახმარების ჩვენება\n"
+" --version პროგრამის ვერსიის ჩვენება\n"
+" --app-id ID გათიშვისას გამოყენებული\n"
+" აპლიკაციის ID (არასავალდებული)\n"
+" --reason მიზესი გათიშვის მიზეზი(არასავალდებულო)\n"
+" --inhibit არგ გასათიში საგნები. სია შეიძლება შეიცავდეს:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only არ გაუშვა ბრძანება, უბრალოდ გათიშე, სამუდამოდ\n"
+" -l, --list არსებული გათიშვების სიის ჩვენება და გასვლა\n"
+"\n"
+"თუ --inhibit პარამეტრი მითითებული არაა, ნაგულისხმებად მიჩნეულია idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s-ის გაშვების შეცდომა\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s-ს სჭირდება არგუმენტები\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "გასვლა"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "გამორთვა"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "გადატვირთვა"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "ყველა გზაზე დამდგომის იგნორი"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "არაფერი ჰკითხო მომხმარებელს"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "არ დაუკავშირდე სესიების მმართველს"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "პროგრამის პარამეტრები ერთმანეთს ეწინააღდმეგებიან"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "სესია %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"არ შეიძლება, რომ სესიის სახელი იწყებოდეს წერტილით ან შეიცავდეს \"/\" სიმბოლოს"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "არ შეიძლება, რომ სესიის სახელი იწყებოდეს წერტილით"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "არ შეიძლება, რომ სესიის სახელი შეიცავდეს \"/\" სიმბოლოს"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "სესია სახელად \"%s\" უკვე არსებობს"
diff --git a/po/kab.po b/po/kab.po
new file mode 100644
index 0000000..e693c88
--- /dev/null
+++ b/po/kab.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.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2018-11-17 17:43+0000\n"
+"PO-Revision-Date: 2018-12-16 21:01+0100\n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"X-Generator: Poedit 2.2\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Yugen"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "S wefran-agi ad tferneḍ tɣimit ittuskelsen"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Tiɣimit-agi ad k-teqqen ɣer GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr ""
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME ɣef Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Sekles tiɣimiyin"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ma yermed, gnome-session ad isekles s wudem awurman tiɣimiyin."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Sekles tiɣimit-agi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Ma yermed, gnome-session ad isekles s wudem awurman tiɣimit tuḍfirt mi ara "
+"tsensdreḍ ma yexsi usekles awurman."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Tiɣimit yugnen"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Ttxil-k fren tiɣimit yugnen ara tsekkereḍ"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Tiɣimit ta_maynut"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Kke_s tiɣimit"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Beddel isem n tɣimit"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Kemmel"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Ayaa ! Yella wacu ur neddi ara."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Yeḍra-d wugur yerna anagraw ulamek ara d-yuɣal. Ttxil-k nermes anedbal n "
+"unagraw"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Yeḍra-d wugur yerna anagraw ulamek ara d-yuɣal. Akk isiɣzifen ttusexsin i "
+"lmend n leḥdar."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Yeḍra-d wugur yerna anagraw ulamek ara d-yuɣal.\n"
+"Ttxil-k senser sakin eɛreḍ tikkelt-nniḍen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Mdel tiɣimit"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Sermed tangalt n weseɣti"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Sureg asenser"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Beqqeḍ asmigel n isiɣzifen"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "Ulac tiririt"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "_Senser"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Isnasen yettumektan"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ahil-agi yeseḥbes asenser."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Ahil yugi tuqqna n umsaɣ amaynut acku tiɣimit ala tetteddu ad temdel\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "D awezɣi asnulfu n umaqqan n usefled ICE : %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Ad yesemselsi ikaramen autostart imesluganen"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr ""
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "Tiɣimit ara yettwasqedcen"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "ISEM_TIƔIMIT"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Ur ttɛebbi ara isnasen ara d-yesuter useqdac"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Lqem n wesnas-agi"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Beqqeḍ adiwenni n unezri i wesekyed"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "Sens aselken n wesɣiwel angaw"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " — Amsefrak n tɣimiyin n GNOME"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "D awezɣi aselkem n %s\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s yesra tiɣiret\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Senser"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Sexsi"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Alles asekker"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr ""
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ur ssutur ara asentem n useqdac"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "D awezɣi tuqqna ɣer usefrak n tɣimiyin"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Ahil nessawel-as s textiṛiyin yemgarraden"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Tiɣimit %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Ismawen n tɣimit ur zmiren ara ad bdun s “.” neɣ ad sɛun isekkilen “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Ismawen n tɣimit ur zmiren ara ad bdun s “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Ismawen n tɣimit ur zmiren ara ad sɛun isekkilen “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr ""
diff --git a/po/kk.po b/po/kk.po
new file mode 100644
index 0000000..0ce8ba0
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,493 @@
+# Kazakh translation for gnome-session.
+# Copyright (C) 2013 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2013-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-03-12 22:36+0500\n"
+"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
+"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
+"Language: kk\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: Poedit 3.0.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Таңдауыңызша"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Бұл элемент сізге сақталып тұрған сессияны таңдауға рұқсат етеді"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Бұл сессия арқылы GNOME-ға кіресіз"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME жалған сессиясы"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "Wayland негізіндегі GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Xorg негізіндегі GNOME"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Сессияларды сақтау"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+"Іске қосылған болса, gnome-session сессияны автоматты түрде сақтайтын болады."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Бұл сессияны сақтау"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Іске қосылған болса, gnome-session келесі сессияны шыққан кезде "
+"автосақтайды, автоматты түрде сақтау сөндірілген болса да."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Жүйеден шығу сұрауы"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Іске қосылған болса, gnome-session сессияны аяқтаудың алдында пайдаланушыдан "
+"растауды сұрайтын болады."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Бастапқы сессияға оралу ескертуін көрсету"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Іске қосылған болса, жүйеге кірген кезде сессия автоматты түрде бастапқы "
+"түріне орнатылған болса, gnome-session ескерту хабарламасын көрсететін "
+"болады."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Таңдауыңызша сесия"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Жөнелту үшін таңдауыңызша сессияны таңдаңыз"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Ж_аңа сессия"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Сессияны ө_шіру"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Сессия атауын өз_герту"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "Жалға_стыру"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Қап! Бір нәрсе қате кетті."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Мәселе орын алды және жүйе өз қалпына келе алмады. Жүйелік әкімшіңізге "
+"хабарласыңыз"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Мәселе орын алды және жүйе өз қалпына келе алмады. Барлық кеңейтулер сақтық "
+"мақсатында сөндірілген."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Мәселе орын алды және жүйе өз қалпына келе алмады.\n"
+"Жүйеден шығып, қайталап көріңіз."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "Жүйеден ш_ығу"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Жөндеу кодын іске қосу"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Жүйеден шығуды рұқсат ету"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Кеңейту ескертуін көрсету"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Жауап бермейді"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "Жүйеден _шығу"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Есте сақталған қолданбалар"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Бұл бағдарлама жүйеден шығуды болдырмай тұр."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Жаңа клиенттік байланысын тайдыру, өйткені жүйе қазір сөндірілуде\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE тындаушы сокетін жасау мүмкін емес: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "systemd қызметі ретінде орындалуда"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "systemd сессия басқаруын қолдану"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Құрамындағы сессияларды басқаруды қолдану (systemd-негізіндегі орнына)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Стандартты іске қосылу бумалардың орнына басқаларды қолдану"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "АВТОІСКЕҚОСЫЛУ_БУМАСЫ"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Қолдану үшін сессия"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "СЕССИЯ_АТЫ"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Пайдаланушыға тән қолданбаларды жөнелтпеу"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Осы қолданбаның нұсқасы"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Сынау үшін \"fail whale\" сұхбатын көрсету"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Құрылғылық үдетуді тексеруді сөндіру"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME сессиялар басқарушысы"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target іске қосу"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Стандарты кіріске (stdin) EOF немесе бір байт алынған кезде, gnome-session-"
+"shutdown.target іске қосу"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "gnome-session үшін сигнал инициализациясы дайын"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service қызметі орындалып тұрса, оны қайта іске қосу"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Қызмет ақаулығы кезінде gnome-session-failed.target іске қосу үшін, "
+"ExecStopPost ішінен жөнелту"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Бағдарлама тек бір параметрді талап етеді"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ОПЦИЯ…] КОМАНДА\n"
+"\n"
+"Сессияның кейбір мүмкіндіктерін шектеп, КОМАНДАНЫ орындау.\n"
+"\n"
+" -h, --help Бұл көмекті көрсету\n"
+" --version Бағдарлама нұсқасын көрсету\n"
+" --app-id ID Сессияны ұстау кезінде қолданылатын\n"
+" қолданба id-і (қосымша түрде)\n"
+" --reason REASON Шектеу (қосымша түрде)\n"
+" --inhibit ARG Шектелетін нәрсе, келесіден тұратын үтірлермен "
+"ажыратыған тізім:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only КОМАНДАны орындамау, орнына тек мәңгі күту\n"
+" -l, --list Бар болып тұрған шектеулерді көрсету және шығу\n"
+"\n"
+"Егер --inhibit опциясы көрсетілмесе, бос етіп есептеледі.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s жөнелту сәтсіз\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s аргументті талап етеді\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Жүйеден шығу"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Сөндіру"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Қайта қосу"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Кез-келген бар болып тұрған ингибиторларды елемеу"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Пайдаланушы растауын сұрамау"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Сессиялар басқарушысына байланысты орнату мүмкін емес"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Бағдарлама өазара ерегісетін опциялармен шақырылды"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сессия %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Сессия атауы \".\" таңбасынан басталмауы және құрамында \"/\" таңбасы "
+"болмауы тиіс"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Сессия атауы \".\" таңбасынан басталмауы тиіс"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Сессия атауында \"/\" таңбасы болмауы тиіс"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "\"%s\" атауы бар сессия бар болып тұр"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Қосымша іске қосылатын бағ_дарламалар:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Іске қосылатын бағдарламалар"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Жүйеден шыққан кезде орындалып жатқан қолданбаларды е_сте сақтау"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Ағымдағы орындалып жатқан қолданбаларды ес_те сақтау"
+
+#~ msgid "Options"
+#~ msgstr "Опциялар"
+
+#~ msgid "Browse…"
+#~ msgstr "Шолу…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Түсі_ндірме:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ко_манда:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Аты:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Бұл сессия арқылы Wayland негізіндегі GNOME ішіне кіресіз"
+
+#~ msgid "Select Command"
+#~ msgstr "Команданы таңдаңыз"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Іске қосылатын бағдарламаны қосу"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Іске қосылатын бағдарламаны түзету"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Іске қосылатын команда бос болмауы тиіс"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Іске қосылатын команда дұрыс емес"
+
+#~ msgid "Enabled"
+#~ msgstr "Іске қосулы"
+
+#~ msgid "Icon"
+#~ msgstr "Таңбаша"
+
+#~ msgid "Program"
+#~ msgstr "Бағдарлама"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Іске қосылатын қолданба баптаулары"
+
+#~ msgid "No name"
+#~ msgstr "Аты жоқ"
+
+#~ msgid "No description"
+#~ msgstr "Анықтамасы жоқ"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Көмек құжатын көрсету мүмкін емес"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Іске қосылатын қолданбалар"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr ""
+#~ "Сіз жүйеге кіргенде қандай қолданбалар автоматты түрде іске қосылатынын "
+#~ "таңдаңыз"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Файл дұрыс .desktop файлы емес"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Белгісіз desktop файлдың нұсқасы '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Іске қосу %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Қолданба команда жолында құжаттарды қабылдамайды"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Белгісіз жөнелту опциясы: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Құжат URI-ін 'Type=Link' desktop элементіне беру мүмкін емес"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Жөнелтілетін элемент емес"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Сессиялар басқарушысына байланыстарды сөндіру"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Сақталған баптаулары бар файлды көрсету"
+
+#~ msgid "FILE"
+#~ msgstr "ФАЙЛ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Сессияны басқару опциялары:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Сессия басқарушысы опцияларын көрсету"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Кейбір бағдарламалар әлі де орындалып жатыр:"
+
+#~ msgid "Unknown"
+#~ msgstr "Белгісіз"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Бағдарлама әлі орындалып жатыр:"
diff --git a/po/km.po b/po/km.po
new file mode 100644
index 0000000..891fa82
--- /dev/null
+++ b/po/km.po
@@ -0,0 +1,530 @@
+# Khmer translation for gnome-session
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the gnome-session package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+# sutha <sutha@khmeros.info>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-04-02 09:36+0000\n"
+"PO-Revision-Date: 2012-09-28 14:46+0700\n"
+"Last-Translator: sutha <sutha@khmeros.info>\n"
+"Language-Team: Khmer <support@khmeros>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: WordForge 0.8 RC1\n"
+"X-Language: km-KH\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "ផ្ទាល់​ខ្លួន"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "ធាតុ​នេះ​អនុញ្ញាត​ឲ្យ​អ្នក​ជ្រើស​សម័យ​ដែល​បាន​រក្សាទុក"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "សម័យ​នេះ​ជា​កំណត់​ហេតុ​ដែល​អ្នក​ទៅ​កាន់ GNOME"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+#| msgid "GNOME"
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+#| msgid "GNOME fallback"
+msgid "GNOME on Wayland"
+msgstr "GNOME នៅ Wayland"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "សម័យ​នេះ​ចុះ​កំណត់ហេតុ​អ្នក​ក្នុង GNOME ដោយ​ប្រើ Wayland"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "សម័យ​ផ្ទាល់​ខ្លួន"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "សូម​ជ្រើសសម័យ​ផ្ទាល់ខ្លួន ដើម្បីដំណើរការ"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "សម័យ​ថ្មី"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "លុប​សម័យ​ចេញ"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "ប្ដូរ​ឈ្មោះ​សម័យ"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "បន្ត"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "កម្មវិធី​ចាប់ផ្ដើម​បន្ថែម ៖"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "ចាប់ផ្ដើម​កម្មវិធី"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "ចងចាំ​កម្មវិធី​ដែល​កំពុង​ដំណើរការ​ដោយ​ស្វ័យ​ប្រវត្តិ នៅ​ពេល​ចេញ"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "ចងចាំ​ការ​ដំណើរការ​កម្មវិធី​បច្ចុប្បន្ន"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "ជម្រើស"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "រក​មើល..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "មតិយោបល់ ៖"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "ពាក្យ​បញ្ជា ៖"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "ឈ្មោះ ៖"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "អូ ! មាន​អ្វី​មួយ​មិន​ត្រឹមត្រូវ​ហើយ ។"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr "មាន​បញ្ហា ​ប្រព័ន្ធ​មិន​អាច​សង្គ្រោះ​បាន​ទេ ។ សូម​ទាក់ទង​អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​របស់​អ្នក"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr "មាន​បញ្ហា ប្រព័ន្ធ​មិន​អាច​សង្គ្រោះ​បាន​ទេ ។ ផ្នែក​បន្ថែម​ទាំងអស់​ត្រូវ​បាន​បិទ ។"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"មាន​បញ្ហា​ ​ប្រព័ន្ធ​មិន​អាច​សង្គ្រោះ​បាន​ទេ ។\n"
+"សូម​ចេញ ហើយ​ព្យាយាម​​ម្ដង​ទៀត ។"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "ចេញ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "បើក​កូដ​បំបាត់​កំហុស"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "អនុញ្ញាត​ឲ្យ​ចេញ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "បង្ហាញ​ការ​ព្រមាន​ផ្នែក​បន្ថែម"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "មិន​ឆ្លើយ​តប"
+
+#: ../gnome-session/gsm-util.c:409
+#| msgid "Log out"
+msgid "_Log out"
+msgstr "ចេញ"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "កម្មវិធី​ដែល​ចងចាំ"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "កម្មវិធី​នេះ​ត្រូវ​បាន​ទប់ស្កាត់​មិន​ឲ្យ​ចេញ ។"
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "បដិសេធ​ការ​តភ្ជាប់​ម៉ាស៊ីន​ភ្ញៀវ ពីព្រោះ​សម័យ​បច្ចុប្បន្ន​កំពុង​ត្រូវ​បានបិទ\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "មិន​អាច​បង្កើត​រន្ធ​ស្ដាប់ ICE បាន​ទេ ៖ %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "បដិសេធ​ថត​ចាប់ផ្ដើម​ដោយ​ស្វ័យ​ប្រវត្តិ​ស្តង់ដារ"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "សម័យ​ត្រូវ​ប្រើ"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "កុំ​ផ្ទុក​កម្មវិធី​ដែល​បាន​បញ្ជាក់​ដោយ​អ្នក​ប្រើ"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "កំណែ​កម្មវិធី​នេះ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "បង្ហាញ​ប្រអប់ fail whale សម្រាប់​សាកល្បង"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr " - កម្មវិធី​គ្រប់គ្រង​សម័យ GNOME"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n\nExecute COMMAND while inhibiting some session "
+"functionality.\n\n -h, --help Show this help\n --version "
+"Show program version\n --app-id ID The application id to use\n "
+" when inhibiting (optional)\n --reason REASON The "
+"reason for inhibiting (optional)\n --inhibit ARG Things to inhibit, "
+"colon-separated list of:\n logout, switch-user, suspend, "
+"idle, automount\n --inhibit-only Do not launch COMMAND and wait forever "
+"instead\n\nIf no --inhibit option is specified, idle is assumed.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​អនុវត្ត %s\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ទាមទារ​អាគុយម៉ង់\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+#| msgid "Session to use"
+msgid "Session %d"
+msgstr "សម័យ %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"ឈ្មោះសម័យ​មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ចាប់ផ្ដើម​ដោយ ‘.’ ឬ​មាន​តួអក្សរ ‘/’"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "ឈ្មោះ​សម័យ​មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ចាប់ផ្ដើម​ដោយ ‘.’"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "ឈ្មោះ​សម័យ​មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​មានតួអក្សរ ‘/’"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "មាន​ឈ្មោះ​សម័យ​ដែលមាន​ឈ្មោះ ‘%s’ រួច​ហើយ"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "ចេញ"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "បិទ"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "ចាប់ផ្ដើម​ឡើង​វិញ"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "មិន​អើពើ​កម្មវិធី​ហាមឃាត់​ដែល​មាន​ស្រាប់"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "កុំ​សួរ​រក​ការ​បញ្ជាក់​របស់​អ្នក​ប្រើ"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "មិន​អាច​តភ្ជាប់​ទៅ​កម្មវិធី​គ្រប់គ្រង​សម័យ​បាន​ទេ"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "កម្មវិធី​បានហៅ​ដោយ​ប្រើ​ជម្រើសប៉ះទង្គិច"
+
+#~ msgid "Select Command"
+#~ msgstr "ជ្រើសរើសពាក្យបញ្ជា"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "បន្ថែម​​កម្មវិធី​នៅ​ពេល​ចាប់ផ្ដើម"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "កែសម្រួល​កម្មវិធី​នៅ​ពេល​ចាប់ផ្ដើម"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ពាក្យ​បញ្ជា​ចាប់ផ្ដើម​មិន​អាច​ទទេ​ឡើយ"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "ពាក្យ​បញ្ជា​ចាប់ផ្ដើម​មិន​ត្រឹមត្រូវ​ទេ"
+
+#~ msgid "Enabled"
+#~ msgstr "បាន​បើក"
+
+#~ msgid "Icon"
+#~ msgstr "រូបតំណាង"
+
+#~ msgid "Program"
+#~ msgstr "កម្មវិធី"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ចំណូល​ចិត្ត​កម្មវិធី​ចាប់ផ្ដើម"
+
+#~ msgid "No name"
+#~ msgstr "គ្មាន​ឈ្មោះ"
+
+#~ msgid "No description"
+#~ msgstr "គ្មាន​សេចក្ដី​ពិពណ៌នា"
+
+#~ msgid "Could not display help document"
+#~ msgstr "មិន​អាច​បង្ហាញ​ឯកសារ​ជំនួយ​បាន​ទេ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "កម្មវិធី​មួយ​ចំនួន​នៅ​តែ​កំពុង​ដំណើរ​ការ ៖"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+#~ msgstr "រង់ចាំ​ឲ្យ​កម្មវិធី​ចប់ ។ ការ​ផ្អាក​កម្មវិធី​អាច​បណ្ដាល​ឲ្យ​បាត់បង់កិច្ចការ ។"
+
+#~ msgid "Startup Applications"
+#~ msgstr "កម្មវិធី​នៅ​ពេល​ចាប់ផ្ដើម"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "ជ្រើស​កម្មវិធី​ត្រូវ​ចាប់ផ្ដើម​នៅ​ពេល​ចូល"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ឯកសារ​មិន​មែន​ជា​ឯកសារ .desktop ត្រឹមត្រូវ"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "មិន​ស្គាល់​ឯកសារ​ផ្ទៃតុ​កំណែ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "ចាប់ផ្ដើម %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "កម្មវិធី​មិន​ទទួល​យក​ឯកសារ​នៅ​លើ​បន្ទាត់​ពាក្យ​បញ្ជា​ឡើយ"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "ជម្រើស​បើក​ដំណើរការ​ដែល​មិន​ស្គាល់ ៖ %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "មិន​អាច​ចម្លង URIs របស់​ឯកសារ​ទៅ​ធាតុ​ផ្ទៃតុ 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "មិនមែន​ជា​ធាតុ​ដែល​អាច​ចាប់ផ្ដើម​បាន​ទេ"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "បិទ​ការ​តភ្ជាប់​ទៅ​កម្មវិធី​គ្រប់គ្រង​សម័យ"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "បញ្ជាក់​ឯកសារ​ថា​មាន​ការ​កំណត់​រចនាសម្ព័ន្ធ​ដែល​បាន​រក្សាទុក"
+
+#~ msgid "FILE"
+#~ msgstr "ឯកសារ"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "បញ្ជាក់​លេខ​សម្គាល់​គ្រប់គ្រង​សម័យ"
+
+#~ msgid "ID"
+#~ msgstr "លេខ​សម្គាល់"
+
+#~ msgid "Session management options:"
+#~ msgstr "ជម្រើស​គ្រប់គ្រង​សម័យ ៖"
+
+#~ msgid "Show session management options"
+#~ msgstr "បង្ហាញ​ជម្រើស​គ្រប់គ្រង​សម័យ"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "រក​មិន​ឃើញ​រូបតំណាង '%s'"
+
+#~ msgid "Unknown"
+#~ msgstr "មិនស្គាល់"
+
+#~ msgid "A program is still running:"
+#~ msgstr "កម្មវិធី​នៅ​តែ​កំពុង​ដំណើរការ ៖"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause "
+#~ "you to lose work."
+#~ msgstr "រង់ចាំ​ឲ្យ​កម្មវិធី​ចប់ ។ ការ​ផ្អាក​កម្មវិធី​ទាំង​នេះ​អាច​បណ្ដាល​ឲ្យ​បាត់បង់​កិច្ចកា​រ​របស់​អ្នក ។"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "អញ្ចឹង​ប្ដូរ​អ្នក​ប្រើ"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "អញ្ចឹង​ចេញ"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "អញ្ចឹង​ផ្អាក"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "អញ្ចឹង​សង្ខំ"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "អញ្ចឹង បិទ"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "អញ្ចឹង ចាប់ផ្ដើម​ឡើងវិញ"
+
+#~ msgid "Lock Screen"
+#~ msgstr "ចាក់សោ​អេក្រង់"
+
+#~ msgid "Cancel"
+#~ msgstr "បោះបង់"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "អ្នក​នឹង​ត្រូវ​ចេញ​​ក្នុង​រយៈពេល %d វិនាទី ។"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ប្រព័ន្ធ​នេះ​នឹង​បិទ​ដោយ​ស្វ័យ​ប្រវត្តិ​ក្នុង​រយៈ​ពេល %d វិនាទី ។"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ប្រព័ន្ធ​នេះ​នឹង​ត្រូវ​បាន​ចាប់ផ្ដើម​ឡើង​វិញ​ដោយ​ស្វ័យប្រវត្តិ​នៅ​ %d វិនាទី ។"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "បច្ចុប្បន្ន​បាន​ចូល​ជា \"%s\" ។"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "ចេញ​ពី​ប្រព័ន្ធ​នេះ​ឥឡូវ ?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ប្ដូរ​អ្នក​ប្រើ"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "បិទ​ប្រព័ន្ធ​នេះ​ឥឡូវ ?"
+
+#~ msgid "S_uspend"
+#~ msgstr "ផ្អាក"
+
+#~ msgid "_Hibernate"
+#~ msgstr "សម្ងំ"
+
+#~ msgid "_Restart"
+#~ msgstr "ចាប់ផ្ដើម​ឡើង​វិញ"
+
+#~ msgid "_Shut Down"
+#~ msgstr "បិទ"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ចាប់ផ្ដើម​ប្រព័ន្ធ​នេះ​ឥឡូវ​នេះ​ឬ ?"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 បាន​ប​រាជ័យ​ក្នុង​ការ​ផ្ទុក"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "ជា​អកុសល GNOME 3 មិន​អាច​ចាប់ផ្ដើម​ត្រឹមត្រូវ ហើយ​បាន​ចាប់ផ្ដើម​ក្នុង <i>របៀប fallback</"
+#~ "i> ។\n"
+#~ "\n"
+#~ "នេះ​ប្រហែលជា​ប្រព័ន្ធ​របស់​អ្នក (ផ្នែក​រឹង​ក្រាហ្វិក ឬ​កម្មវិធី​បញ្ជា) មិន​អាច​ផ្ដល់​បទពិសោធន៍ GNOME 3 "
+#~ "ពេញលេញ ។"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "សិក្សា​បន្ថែម​អំពី GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "មិន​អាច​ចាប់ផ្ដើម​សម័យ​ចូល​បាន​ទេ (និង​មិន​អាច​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​បម្រើ X បាន​ទេ)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>កម្មវិធី​មួយ​ចំនួន​នៅ​តែ​កំពុង​ដំណើរការ ៖</b>"
+
+#~ msgid "Ubuntu"
+#~ msgstr "អ៊ូប៊ុនទូ"
+
+#~ msgid "This session logs you into Ubuntu"
+#~ msgstr "សកម្ម​នេះ​ចុះ​កំណត់​ហេតុ​អ្នក​ក្នុង​អ៊ូប៊ុនទូ"
+
+#~ msgid "_Remember Currently Running Application"
+#~ msgstr "ចងចាំ​កម្មវិធី​ដែល​កំពុង​ដំណើរការ​ថ្មីៗ"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "បាន​បញ្ឈប់​ដោយ​សញ្ញា %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "បាន​បញ្ចប់​ដោយ​សញ្ញា %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "បញ្ហា​បានកើត​ឡើង ហើយ​ប្រព័ន្ធ​មិន​អាច​សង្គ្រោះ​បាន​ទេ ។ ផ្នែក​បន្ថែម​មួយ​ចំនួន​ដូច​ខាង​ក្រោម​អាច​បណ្ដាល​ឲ្យ​"
+#~ "មាន​បញ្ហា​នេះ ។ សូម​ព្យាយាម​បិទ​ពួកវា ហើយ​បន្ទាប់​ចេញ និង​ព្យាយាម​ម្ដង​ទៀត ។"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "បាន​ចាកចេញ​ដោយ​មាន​កូដ %d"
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 0000000..2780ac2
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,494 @@
+# translation of gnome-session.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 <svenkate@redhat.com>, 2008, 2009, 2010, 2012, 2013, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master.kn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-09-02 07:30+0000\n"
+"PO-Revision-Date: 2014-09-18 16:48+0530\n"
+"Last-Translator: Shankar Prasad <svenkate AT redhat Dot com>\n"
+"Language-Team: Kannada <kde-i18n-doc@kde.org>\n"
+"Language: kn\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: Lokalize 1.5\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "ಅಗತ್ಯಾನುಗುಣ"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr ""
+"ಈ ನಮೂದು ನಿಮಗೆ ಒಂದು ಉಳಿಸಲಾದ ಅಧಿವೇಶನವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "ಈ ಅಧಿವೇಶನವು ನಿಮ್ಮನ್ನು GNOME ಗೆ ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡುತ್ತದೆ"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME ಡಮ್ಮಿ"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "Wayland ನಲ್ಲಿ GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "ಈ ಅಧಿವೇಶನವು Wayland ಬಳಸಿಕೊಂಡು GNOME ಗೆ ಪ್ರವೇಶಿಸುತ್ತದೆ"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "ಅಗತ್ಯಾನುಗುಣ ಅಧಿವೇಶನ"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "ಚಲಾಯಿಸಲು ಒಂದು ಅಗತ್ಯಾನುಗುಣ ಅಧಿವೇಶನವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ."
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "ಹೊಸ ಅಧಿವೇಶನ(_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "ಅಧಿವೇಶನವನ್ನು ತೆಗೆದು ಹಾಕು(_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "ಅಧಿವೇಶನವನ್ನು ಮರು ಹೆಸರಿಸು (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "ಮುಂದುವರೆ(_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "ಹೆಚ್ಚುವರಿ ಆರಂಭಿಕ ಕ್ರಮವಿಧಿಗಳು (_p):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "ಆರಂಭಿಕ ಪ್ರೋಗ್ರಾಂಗಳು"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "ನಿರ್ಗಮಿಸುವಾಗ ಚಾಲನೆಯಲ್ಲಿರುವ ಅನ್ವಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನೆನಪಿಟ್ಟುಕೊ (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "ಪ್ರಸಕ್ತ ಚಾಲನೆಯಲ್ಲಿರುವ ಅನ್ವಯವನ್ನು ನೆನಪಿಟ್ಟುಕೊ (_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "ಆಯ್ಕೆಗಳು"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "ವೀಕ್ಷಿಸು..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "ಟಿಪ್ಪಣಿ (_e):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "ಆಜ್ಞೆ (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "ಹೆಸರು (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "ಓಹ್ ಛೇ! ಎಲ್ಲೋ ಏನೋ ತಪ್ಪಾಗಿದೆ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"ಒಂದು ತೊಂದರೆ ಉಂಟಾಗಿದೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಶ್ಚೇತನಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. "
+"ದಯವಿಟ್ಟು ನಿಮ್ಮ "
+"ಗಣಕ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಸಂಪರ್ಕಸಿ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"ಒಂದು ತೊಂದರೆ ಉಂಟಾಗಿದೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಶ್ಚೇತನಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. "
+"ಸುರಕ್ಷತೆಯ "
+"ದೃಷ್ಟಿಯಿಂದ ಎಲ್ಲಾ ವಿಸ್ತರಣೆಯಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"ಒಂದು ತೊಂದರೆ ಉಂಟಾಗಿದೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಶ್ಚೇತನಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n"
+"ದಯವಿಟ್ಟು ನಿರ್ಗಮಿಸಿ ಮತ್ತು ಇನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "ನಿರ್ಗಮಿಸು (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "ದೋಷನಿವಾರಣ ಕೋಡ್ ಅನ್ನು ಶಕ್ತಗೊಳಿಸು"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "ನಿರ್ಗಮನಕ್ಕೆ ಅನುಮತಿಸು"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "ವಿಸ್ತರಣೆಯ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸು"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "ನಿರ್ಗಮಿಸು (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲಾದ ಅನ್ವಯ"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "ಈ ಕ್ರಮವಿಧಿಯು ನಿರ್ಗಮನವನ್ನು ತಡೆಯುತ್ತಿದೆ."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"ಹೊಸ ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತಿದೆ ಏಕೆಂದರೆ ಅಧೀವೇಶವನವು ಈಗ "
+"ಮುಚ್ಚಲ್ಪಡುತ್ತಿದೆ\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE ಆಲಿಸುವ ಸಾಕೆಟ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "ರೂಢಿಗತ ಸ್ವಯಂಚಾಲನಾ ಕೋಶಗಳನ್ನು ಅತಿಕ್ರಮಿಸು"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "ಬಳಸಬೇಕಿರುವ ಅಧಿವೇಶನ"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "ಬಳಕೆದಾರ-ಸೂಚಿತ ಅನ್ವಯಗಳನ್ನು ಲೋಡ್ ಮಾಡಬೇಡ"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "ಈ ಅನ್ವಯದ ಆವೃತ್ತಿ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "ಪರೀಕ್ಷೆಗಾಗಿ ಫೈಲ್ ವೇಲ್ ಸಂವಾದವನ್ನು ತೋರಿಸು"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr "- GNOME ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕ"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"ಕೆಲವು ಅಧಿವೇಶನ ಕಾರ್ಯಶೀಲತೆಯನ್ನು ತಡೆಯುವ ಮೂಲಕ COMMAND ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ.\n"
+"\n"
+" -h, --help ಈ ನೆರವನ್ನು ತೋರಿಸು\n"
+" --version ಕಾರ್ಯಕ್ರಮದ ಆವೃತ್ತಿಯನ್ನು ತೋರಿಸು\n"
+" --app-id ID ತಡೆಹಿಡಿಯುವಾಗ ಬಳಸಬೇಕಿರುವ \n"
+" ಅನ್ವಯದ id (ಐಚ್ಛಿಕ)\n"
+" --reason REASON ತಡೆಹಿಡಿಯಲು ಕಾರಣ (ಐಚ್ಛಿಕ)\n"
+" --inhibit ARG ತಡೆಹಿಡಿಯಬೇಕಿರುವ ವಿಷಯಗಳು, ವಿರಾಮಚಿಹ್ನೆಯಿಂದ ಬೇರ್ಪಡಿಸಲಾದ "
+"ಇವುಗಳ "
+"ಪಟ್ಟಿ:\n"
+" ನಿರ್ಗಮನ, ಬಳಕೆದಾರನನ್ನು-ಬದಲಿಸು, ಸ್ಥಗಿತಗೊಳಿಸು, ಜಡ, "
+"ಸ್ವಯಂಏರಿಸುವಿಕೆ\n"
+" --inhibit-only COMMAND ಅನ್ನು ಆರಂಭಿಸಬೇಡ ಮತ್ತು ಬದಲಿಗೆ ಯಾವಾಗಲೂ ಕಾಯುತ್ತಿರು\n"
+"\n"
+"ಯಾವುದೆ --inhibit ಆಯ್ಕೆಯನ್ನು ಸೂಚಿಸದೆ ಇದ್ದಲ್ಲಿ, ಜಡ (idle) ಎಂದು ಊಹಿಸಲಾಗುತ್ತದೆ.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s ಕಾರ್ಯಗತಗೊಳಿಸಲು ವಿಫಲಗೊಂಡಿದೆ\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ಒಂದು ಆರ್ಗ್ಯುಮೆಂಟಿನ ಅಗತ್ಯವಿರುತ್ತದೆ\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "ಅಧಿವೇಶನ %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "ಅಧಿವೇಶನದ ಹೆಸರುಗಳು ’.’ ಅಥವಾ ’/’ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುವಂತಿಲ್ಲ"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "ಅಧಿವೇಶನದ ಹೆಸರುಗಳು ಒಂದು ’.’ ಅಕ್ಷರದಿಂದ ಆರಂಭಿಸುವಂತಿಲ್ಲ"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "ಅಧಿವೇಶನದ ಹೆಸರುಗಳು ’/’ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುವಂತಿಲ್ಲ"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "’%s’ ಎಂಬ ಹೆಸರಿನ ಅಧಿವೇಶನವೊಂದು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "ನಿರ್ಗಮಿಸು"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "ಸ್ಥಗಿತಗೊಳಿಸು"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "ಮರಳಿ ಬೂಟ್ ಮಾಡು"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "ಯಾವುದೆ ಪ್ರತಿರೋಧಗಳಿದ್ದರೂ ಅವನ್ನು ಕಡೆಗಣಿಸು"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "ಬಳಕೆದಾರರಿಂದ ಖಚಿತಪಡಿಸುವಂತೆ ಕೇಳಬೇಡ"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕನೊಂದಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "ಅಸಮಂಜಸ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಕ್ರಮವಿಧಿಯನ್ನು ಕರೆಯಲಾಗಿದೆ"
+
+#~ msgid "Select Command"
+#~ msgstr "ಆದೇಶವನ್ನು ಆರಿಸು"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "ಆರಂಭಿಕ ಕ್ರಮವಿಧಿಯನ್ನು ಸೇರಿಸು"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "ಆರಂಭಿಕ ಕ್ರಮವಿಧಿಯನ್ನು ಸಂಪಾದಿಸು"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ಆರಂಭಿಕ ಆದೇಶವು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "ಆರಂಭಿಕ ಆದೇಶವು ಮಾನ್ಯವಾದುದಲ್ಲ"
+
+#~ msgid "Enabled"
+#~ msgstr "ಶಕ್ತಗೊಂಡ"
+
+#~ msgid "Icon"
+#~ msgstr "ಚಿಹ್ನೆ"
+
+#~ msgid "Program"
+#~ msgstr "ಕ್ರಮವಿಧಿ"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ಆರಂಭಿಕ ಅನ್ವಯಗಳ ಆದ್ಯತೆಗಳು"
+
+#~ msgid "No name"
+#~ msgstr "ಯಾವುದೆ ಹೆಸರಿಲ್ಲ"
+
+#~ msgid "No description"
+#~ msgstr "ಯಾವುದೆ ವಿವರಣೆ ಇಲ್ಲ"
+
+#~ msgid "Could not display help document"
+#~ msgstr "ನೆರವಿನ ದಸ್ತಾವೇಜನ್ನು ತೋರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ಕೆಲವು ಕ್ರಮವಿಧಿಗಳು ಇನ್ನೂ ಚಾಲನೆಯಲ್ಲಿವೆ:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "ಆರಂಭಿಕ ಅನ್ವಯಗಳು"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "ನೀವು ಪ್ರವೇಶಿಸಿದಾಗ ಯಾವ ಅನ್ವಯವನ್ನು ಆರಂಭಿಸಬೇಕು ಎನ್ನುವುದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ಕಡತವು ಮಾನ್ಯವಾದ .desktop ಕಡತವಾಗಿಲ್ಲ"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ಗುರುತಿಸಲಾಗದ ಗಣಕತೆರೆ ಕಡತದ ಆವೃತ್ತಿ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s ಅನ್ನು ಆರಂಭಿಸಲಾಗುತ್ತಿದೆ"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "ಅನ್ವಯವು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ದಸ್ತಾವೇಜುಗಳನ್ನು ಅಂಗೀಕರಿಸುವುದಿಲ್ಲ"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "ಗುರುತಿಸಲಾಗದ ಆರಂಭಿಕ ಆಯ್ಕೆ: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "ಒಂದು 'Type=Link' ಗಣಕತೆರೆ ನಮೂದು ದಸ್ತಾವೇಜು URIಗಳನ್ನು ರವಾನಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ಆರಂಭಿಸಬಹುದಾದ ಅಂಶವಾಗಿಲ್ಲ"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕದೊಂದಿಗಿನ ಸಂಪರ್ಕವನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "ಉಳಿಸಲಾದ ಸಂರಚನೆಯನ್ನು ಹೊಂದಿರುವ ಕಡತವನ್ನು ಸೂಚಿಸಿ"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕ ID ಯನ್ನು ಸೂಚಿಸಿ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕ ಆಯ್ಕೆಗಳು:"
+
+#~ msgid "Show session management options"
+#~ msgstr "ಅಧಿವೇಶನದ ವ್ಯವಸ್ಥಾಪಕ ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸು"
+
+#~ msgid "Unknown"
+#~ msgstr "ತಿಳಿಯದ"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ಒಂದು ಕ್ರಮವಿಧಿಗಳು ಇನ್ನೂ ಚಾಲನೆಯಲ್ಲಿವೆ:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ಕ್ರಮವಿಧಿಗಳು ಅಂತ್ಯಗೊಳ್ಳುವವರೆಗೆ ಕಾಯಲಾಗುತ್ತಿದೆ. ಈ ಕ್ರಮವಿಧಿಗಳನ್ನು ಮಧ್ಯದಲ್ಲಿ "
+#~ "ತಡೆಯುವುದರಿಂದ ನಿಮ್ಮ ಕೆಲಸವು ನಾಶಗೊಳ್ಳಬಹುದು."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ಕ್ರಮವಿಧಿಗಳು ಅಂತ್ಯಗೊಳ್ಳುವವರೆಗೆ ಕಾಯಲಾಗುತ್ತಿದೆ. ಈ ಕ್ರಮವಿಧಿಗಳನ್ನುನ್ನು ಮಧ್ಯದಲ್ಲಿ "
+#~ "ತಡೆಯುವುದರಿಂದ ನಿಮ್ಮ ಕೆಲಸವು ನಾಶಗೊಳ್ಳಬಹುದು."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ಬಳಕೆದಾರನನ್ನು ಬದಲಾಯಿಸು"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ನಿರ್ಗಮಿಸು"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ತಾತ್ಕಾಲಿಕ ಸ್ಥಗಿತಗೊಳಿಸು"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ಹೈಬರ್ನೇಟ್ ಮಾಡು"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ಮುಚ್ಚು"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "ಪರವಾಗಿಲ್ಲ ಮರಳಿ ಬೂಟ್ ಮಾಡು"
+
+#~ msgid "Lock Screen"
+#~ msgstr "ತೆರೆಯನ್ನು ಲಾಕ್ ಮಾಡು"
+
+#~ msgid "Cancel"
+#~ msgstr "ರದ್ದುಗೊಳಿಸು"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡಿನಲ್ಲಿ ನಿರ್ಗಮಿಸಲಿದ್ದೀರಿ."
+#~ msgstr[1] "ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡುಗಳಲ್ಲಿ ನಿರ್ಗಮಿಸಲಿದ್ದೀರಿ."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ಗಣಕವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡಿನಲ್ಲಿ ಮುಚ್ಚಲ್ಪಡುತ್ತದೆ."
+#~ msgstr[1] "ಗಣಕವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮುಚ್ಚಲ್ಪಡುತ್ತದೆ."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ಗಣಕವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡಿನಲ್ಲಿ ಮರಳಿ ಆರಂಭಗೊಳ್ಳುತ್ತದೆ."
+#~ msgstr[1] "ಗಣಕವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ %d ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮರಳಿ ಆರಂಭಗೊಳ್ಳುತ್ತದೆ."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "ನೀವು ಪ್ರಸಕ್ತ \"%s\" ಆಗಿ ಪ್ರವೇಶಿಸಿದ್ದೀರಿ."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "ಈ ಗಣಕದಿಂದ ಈಗಲೆ ನಿರ್ಗಮಿಸಬೇಕೆ?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ಬಳಕೆದಾರರನ್ನು ಬದಲಾಯಿಸು (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "ಈ ಗಣಕವನ್ನು ಈಗಲೆ ಮುಚ್ಚಬೇಕೆ?"
+
+#~ msgid "S_uspend"
+#~ msgstr "ತಾತ್ಕಾಲಿಕ ಸ್ಥಗಿತಗೊಳಿಸು (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "ಹೈಬರ್ನೇಟ್ (_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "ಮತ್ತೆ ಆರಂಭಿಸು (_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "ಮುಚ್ಚು (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ಈ ಗಣಕವನ್ನು ಈಗಲೆ ಮರಳಿ ಆರಂಭಿಸಬೇಕೆ?"
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..b92035e
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,367 @@
+# gnome-session Korean message translation
+# This file is distributed under the same license as the gnome-session package.
+#
+# Updated by Sung-Hyun Nam <namsh@kldp.org>, 2000
+# Updated by Young-Ho Cha <ganadist@chollian.net>, 2000,2001,2006,2007
+# Changwoo Ryu <cwryu@debian.org>, 1998, 2002-2013, 2015-2020, 2022.
+#
+#
+# 용어:
+#
+# - Wayland - 웨일랜드
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-03-02 23:56+0900\n"
+"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
+"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "사용자 지정"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "이 항목으로 저장한 세션을 지정합니다"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "그놈"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "이 세션을 사용하면 그놈에 로그인합니다"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "그놈 더미"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "그놈 (웨일랜드)"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "그놈 (Xorg)"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "세션 저장"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "참이면, gnome-session에서 자동으로 세션을 저장합니다."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "이 세션 저장"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"참이면, gnome-session에서 자동 저장을 껐더라도 로그아웃할 때 다음 세션을 자동"
+"으로 저장합니다."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "로그아웃 확인"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "참이면, 세션을 끝낼 때 사용자에게 물어봅니다."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "대체 모드 경고 표시"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"참이면, gnome-session에서 대체 모드로 자동 진입하는 경우 로그인한 다음 경고 "
+"대화 상자를 표시합니다."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "사용자 지정 세션"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "실행할 세션을 직접 지정하십시오"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "새 세션(_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "세션 제거(_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "세션 이름 바꾸기(_M)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "계속(_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "아, 뭔가 문제가 생겼습니다."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "문제가 발생했지만 복구하지 못했습니다. 시스템 관리자에게 문의하십시오"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"문제가 발생했지만 복구하지 못했습니다. 안전을 위해 모든 확장 기능을 사용하지 "
+"않도록 만듭니다."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"문제가 발생했지만 복구하지 못했습니다.\n"
+"로그아웃하고 다시 시도하십시오."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "로그아웃(_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "디버깅 코드를 사용합니다"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "로그아웃 허용"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "확장 경고 표시"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "응답 없음"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "로그아웃(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "기억한 프로그램"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "이 프로그램이 로그아웃을 막고 있습니다."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "지금 세션을 끝내는 중이므로 새 클라이언트 연결을 거부합니다.\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE 리스닝 소켓을 만들 수 없습니다: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "systemd 서비스로 실행"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "systemd 세션 관리 사용"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "내장 세션 관리 기능 사용 (systemd 기반 세션 아님)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "기본 자동 시작 디렉토리 대신 사용합니다"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "<자동시작_폴더>"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "사용할 세션"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "<세션_이름>"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "사용자가 지정한 프로그램을 읽어들이지 않습니다"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "이 프로그램의 버전"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "테스트 용도로 고래 대화창을 표시합니다"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "하드웨어 가속 기능을 검사 하지 않습니다"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — 그놈 세션 관리자"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target 시작"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"표준 입력에서 EOF 또는 한 바이트를 받으면 gnome-session-shutdown.target을 시"
+"작합니다"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "gnome-session에 시그널 초기화 완료"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "dbus.service가 실행 중이면 다시 시작"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"ExecStopPost에서 실행, 서비스 실패할 때 gnome-session-failed.target을 시작합"
+"니다"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "프로그램에 정확히 하나의 인수가 필요합니다"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [옵션...] <명령>\n"
+"\n"
+"일부 그놈 세션 기능을 금지하면서 <명령>을 실행합니다.\n"
+"\n"
+" -h, --help 이 도움말 표시\n"
+" --version 프로그램 버전 표시\n"
+" --app-id <ID> 금지할 때 사용하려는 프로그램 아이디(옵션)\n"
+" --reason <이유> 금지하는 이유(옵션)\n"
+" --inhibit <항목> 금지할 항목의 쉼표로 구분한 목록:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only <명령>을 실행하지 않고 계속 대기\n"
+" -l, --list 현재 금지 목록을 표시하고, 끝납니다\n"
+"\n"
+"--inhibit 옵션을 지정하지 않았다면, idle이라고 가정합니다.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s 실행 실패\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requires an argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "로그아웃"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "전원 끄기"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "다시 시작"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "금지하는 프로그램이 있어도 무시"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "사용자 확인 질문을 하지 않기"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "세션 관리자에 연결할 수 없습니다"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "함께 사용할 수 없는 옵션을 같이 사용했습니다"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "세션 %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "“.”으로 시작하거나 “/”가 들어간 세션 이름은 허용하지 않습니다"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "“.”으로 시작하는 세션 이름은 허용하지 않습니다"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "“/”가 들어간 세션 이름은 허용하지 않습니다"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "이름이 “%s”인 세션이 이미 있습니다"
diff --git a/po/ku.po b/po/ku.po
new file mode 100644
index 0000000..6e7b4b0
--- /dev/null
+++ b/po/ku.po
@@ -0,0 +1,879 @@
+# translation of gnome-session.HEAD.po to Kurdish
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER.
+# Erdal Ronahi <erdal.ronahi@gmail.com, pckurd@hotmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-11-12 02:40+0100\n"
+"PO-Revision-Date: 2008-11-12 02:45+0100\n"
+"Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n"
+"Language-Team: Kurdish <gnu-ku-wergerandin@lists.sourceforge.net>\n"
+"Language: ku\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Fermanê Hilbijêre"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Bernameya destpêkê zêde bike"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Bernameya destpêkê biguherîne"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:977
+msgid "The name of the startup program cannot be empty"
+msgstr "Navê bernameya destpêke vala nabe"
+
+#: ../capplet/gsm-properties-dialog.c:981
+msgid "The startup command cannot be empty"
+msgstr "Fermana destpêke vala nabe"
+
+#: ../capplet/gsm-properties-dialog.c:987
+msgid "The startup command is not valid"
+msgstr "Fermana destpêke nederbasdar e"
+
+#: ../capplet/gsm-properties-dialog.c:1291
+msgid "Enabled"
+msgstr "Çalak"
+
+#: ../capplet/gsm-properties-dialog.c:1304
+msgid "Icon"
+msgstr "Îkon"
+
+#: ../capplet/gsm-properties-dialog.c:1315
+msgid "Program"
+msgstr "Bername"
+
+#: ../capplet/gsm-properties-dialog.c:1465
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-keyring-daemon-wrapper.desktop.in.in.in.h:1
+msgid "GNOME Keyring Daemon Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+#, fuzzy
+msgid "GNOME"
+msgstr "NAV"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:1
+#, fuzzy
+msgid "Default session"
+msgstr "Danişînê bikûje"
+
+#: ../data/gnome-session.schemas.in.h:2
+#, fuzzy
+msgid "File Manager"
+msgstr "Menajerê Paceyan"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Heke hatibe hilbijartin, berî girtina danişînê gnome-session daxwaza "
+"bikarhêner dipirse."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Heke hilbijartî be, gnome-session danişînê bi xweber digire. Heke ne "
+"hilbijartî be, di qutiya peywendiyê de vebijêrka tomarkirinê heye."
+
+#: ../data/gnome-session.schemas.in.h:5
+#, fuzzy
+msgid "List of applications that are part of the default session."
+msgstr "Dema sepandinên di danişînê de destpêkir."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Daxwaza derketinê"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Panel"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Wêneyê jji bo dîmendera destpêkê hatiye hilbijartin"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Danişînan tomar bike"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Vebijêrka hilbijartî ya paceya derketinê"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Dîmendera vebûnê nîşan bide"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Di vekirina danişînê de dîmendera vebûnê nîşan bide"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Ev li gor peldanka $datadir/pixmaps/ riyek e. Bin peldank û navên wêneyan "
+"nirxên derbasdar in. Guhertina van nirxan dê danişîna têketinê ya pêş de jî "
+"binbandor bike."
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Ev, bijarteka ku di paceya derketinê de hatiye hilbijartin e, derketina ji "
+"nirxên derbasdar \"logout\", girtina pergalê \"shutdown\" û nûdestpêkirina "
+"pergalê jî \"restart\" e."
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Menajerê Paceyan"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Danişînên xwe veava bike."
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Danişîn"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "_Bernameyên pêvek ên destpêkê:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Gerîn..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "_Ferman:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "Şî_rove:"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Vebijêrk"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Bernameyên destpêkê"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Nav:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:962
+#, c-format
+msgid "Starting %s"
+msgstr "Dest bi %s dike"
+
+#: ../egg/eggdesktopfile.c:1096
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1164
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1372
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Not a launchable item"
+msgstr ""
+
+#: ../egg/eggsmclient-libgnomeui.c:102
+#, fuzzy
+msgid "Session management"
+msgstr "Navê Danişînê"
+
+#: ../egg/eggsmclient-libgnomeui.c:136
+msgid "GNOME GUI Library + EggSMClient"
+msgstr ""
+
+#: ../egg/eggsmclient.c:185
+#, fuzzy
+msgid "Disable connection to session manager"
+msgstr "Pêwendî bi rêveberê danişînê re pêk nehat"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "PEL"
+
+#: ../egg/eggsmclient.c:191
+#, fuzzy
+msgid "Specify session management ID"
+msgstr "Navê danişîna ku tê barkirin eşkere bike"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr ""
+
+#: ../egg/eggsmclient.c:241
+#, fuzzy
+msgid "Session Management Options"
+msgstr "Vebijêrkên Danişînê"
+
+#: ../egg/eggsmclient.c:242
+#, fuzzy
+msgid "Show Session Management options"
+msgstr "Vebijêrkên Danişînê"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:580
+msgid "Unknown"
+msgstr "Nenas"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:631
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:635
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:864
+#, fuzzy
+msgid "Switch User Anyway"
+msgstr "_Bikarhêner biguherîne"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:867
+#, fuzzy
+msgid "Logout Anyway"
+msgstr "Bilî vî Têkeve"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:870
+#, fuzzy
+msgid "Suspend Anyway"
+msgstr "_Xew (suspend)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:873
+#, fuzzy
+msgid "Hibernate Anyway"
+msgstr "Xewa _kûr (hibernate)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:876
+#, fuzzy
+msgid "Shutdown Anyway"
+msgstr "Bilî vî Têkeve"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:879
+#, fuzzy
+msgid "Reboot Anyway"
+msgstr "Bilî vî Têkeve"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:887
+#, fuzzy
+msgid "Lock Screen"
+msgstr "Ekranê _qifil bike"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:890
+msgid "Cancel"
+msgstr "Betalkirin"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr "_Bikarhêner biguherîne"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "_Log Out"
+msgstr "_Derkeve"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+#, fuzzy
+msgid "S_uspend"
+msgstr "_Xew (suspend)"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr "Xewa _kûr (hibernate)"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "_Restart"
+msgstr "_Nûdestpêkirin"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+msgid "_Shut Down"
+msgstr "Bi _tevahî bigire"
+
+#: ../gnome-session/gsm-manager.c:924 ../gnome-session/gsm-manager.c:1541
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:988
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:139
+#, c-format
+msgid "Unable to start login session (and unable connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:528
+#, fuzzy
+msgid " - the GNOME session manager"
+msgstr "- Danişîna GNOME bi rêve bibe"
+
+#: ../splash/gnome-session-splash.c:291
+#, fuzzy
+msgid "- GNOME Splash Screen"
+msgstr "Dîmendera vebûnê nîşan bide"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Navê danişîna heyî bixebitîne"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "NAV"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Derketin"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Danişînê bikûje"
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Qutiyên têkiliyê ji bo çewtiyan bi kar bîne"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Ne hewceyî misogerkirinê ye"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Pêwendî bi rêveberê danişînê re pêk nehat"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Destûrê bide peywendiyên TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Bi hinceta ewlekariyê gnome-session, li platformên _IceTcpTransNoListen"
+#~ "() (Pergalên XFree86) portên TCP ên guhdar nake. Ev vebijêrk destûrê "
+#~ "dide peywendiyên dûr (yên nehatine bi tenêkirin). Ji bo çalak bibe divê "
+#~ "gnome-session ji nû ve were destpêkirin."
+
+#~ msgid "_Order:"
+#~ msgstr "_Rêz:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Di derketinê de çi bi sepanê hat."
+
+#~ msgid "_Style:"
+#~ msgstr "_Teşe:"
+
+#~ msgid "Order"
+#~ msgstr "Rêz"
+
+#~ msgid "Style"
+#~ msgstr "Teşe"
+
+#~ msgid "State"
+#~ msgstr "Rewş"
+
+#~ msgid "Inactive"
+#~ msgstr "Neçalak"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Li hêviya destpêkirinê ye an jî qediyaye."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Destpêkiriye lê hê rapora rewşê nedaye"
+
+#~ msgid "Running"
+#~ msgstr "Dixebite"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Endameke ji rêzê"
+
+#~ msgid "Saving"
+#~ msgstr "Tê tomarkirin"
+
+#~ msgid "Saving session details."
+#~ msgstr "Hûragahiyên danişînê tên tomarkirin."
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Rewş, di dema xwe de nehate raporkirin."
+
+#~ msgid "Normal"
+#~ msgstr "Asayî"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Bandora derketinê lê nabe lê dibe ku were kuştin"
+
+#~ msgid "Restart"
+#~ msgstr "Nûdestpêkirin"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Teqez namire."
+
+#~ msgid "Trash"
+#~ msgstr "Çop"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Di derketinê de dibe ku were avêtin an kuştin"
+
+#~ msgid "Settings"
+#~ msgstr "Mîheng"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Her dem di her têketinê de tê destpêkirin."
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Hin tişt, mînak dirb, deng an jî mîhengên rûerdê dibe ku rast nexebitin."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Peyama çewtiyê ya dawî ev bû:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Dîsa jî GNOME di têketina piştre dê hewl bide ku Servîsa Mîhengan ji nû "
+#~ "ve veke."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Servîsa Mîhengan gelek zêde ji nû ve hate vekirin."
+
+#~ msgid "PROGRAM..."
+#~ msgstr "BERNAME..."
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Çewtî: pêwendî bi rêveberê danişînê re pêk nehat\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Di danişînê de bernameya %s nehat dîtin\n"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Tu bi rastî dixwazî derkevî?"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Mîhengên heyî tomar bike"
+
+#~ msgid "Sh_ut down"
+#~ msgstr "Bi tevahî bi_gire"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "Komputerê ji nû ve bide _dest pê kirin"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Ji dosiya default.session bi tenê danişînên tomarkirî bixwîne"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Ji bo tomarbûna daxwazkeran maweya rawestînê ji cureyê mîlîçirkan "
+#~ "(0=bêdawî)"
+
+#~ msgid "DELAY"
+#~ msgstr "DERENG"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Ji bo bersivdana daxwazkeran maweya rawestînê ji cureyê mîlîçirkan "
+#~ "(0=bêdawî)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Ji bo mirina daxwazkeran maweya rawestînê ji cureyê mîlîçirkan (0=bêdawî)"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Navnîşana înternetê ya %s nehate dîtin.\n"
+#~ "Ev ew ê bibe astengî ji xebitandina GNOME re.\n"
+#~ "Heke tu navnîşana %s li dosyaya /etc/hosts zêde bike\n"
+#~ "belkî tu karibe pirsgirêkê çareser bike."
+
+#~ msgid "Try Again"
+#~ msgstr "Carekî din biceribîne"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Ji ber lihevaliqînekê rawestandin serbest hate berdan."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "%s bersiv ji fermanê re nîne."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Sepan hêdî ye, hatiye rawestandin an şikandin."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Dibe tu li hêviyê bimînî ta ku bersivê bide an jêbibe."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Ji ber çewtiyan vekirina ji nû ve hate betalkirin."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Girtina danişînê didome."
+
+#~ msgid "- Save the current session"
+#~ msgstr "- Danişîna heyî tomar bike"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Guhertinan di danişînê de tomar bike û bigire?"
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Bigire lê Tomar neke"
+
+#~ msgid "Current Session"
+#~ msgstr "Rûniştina aniha"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Bixweber guhertinan di danişînê de tomar bike"
+
+#~ msgid "Save the current session"
+#~ msgstr "Danişîna heyî tomar bike"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "Danişîna te hat tomarkirin."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "pêwendî bi rêveberê danişînê re pêk nehat\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Nepejrînên hilbijartî ji danişîna min rake."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Guhertinan li gor danişîna min pêkbîne."
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Lîsteya programên di danişînê de."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Bernameyên ku niha di_meşin:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Gerinendeyê paceyan Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Gerinendeyê paceyan Metacity"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Mîhengên sermasê"
+
+#~ msgid "New Startup Program"
+#~ msgstr "Bernameya Destpêkê ya Nû"
+
+#~ msgid "Exit"
+#~ msgstr "Derkeve"
+
+#~ msgid "Close your session and return to the login screen."
+#~ msgstr "Danişînê bigire û vegere dîmendera têketinê."
+
+#~ msgid ""
+#~ "Leave your session open and password protected, but let other users log "
+#~ "in as well."
+#~ msgstr ""
+#~ "Danişînê vekirî û bi parastina nasnavê bihêle, lê destûrê bide ku "
+#~ "bikarhênerên din jî bikaribin danişînê vekin."
+
+#~ msgid "Launch the screensaver and password protect your session."
+#~ msgstr "Dîmenderparêzê bixebitîne û danişînê bi nasnavê biparêze."
+
+#~ msgid "Restart the computer."
+#~ msgstr "Nûdestpêka komputerê çêke."
+
+#~ msgid ""
+#~ "Power saving mode. Depending on your computer, you can wake the computer "
+#~ "up by pressing a key, the power button, or opening the laptop lid."
+#~ msgstr ""
+#~ "Mod a parastina hêzê. Bi pêwendîdarî komputerê, bi pêlêkirina bişkojkekê, "
+#~ "bi bişkojka hêzê an jî vekirina berga komputera destan tu dikarî hişyar "
+#~ "bikî."
+
+#~ msgid ""
+#~ "While hibernating, your computer won't need any power. When started "
+#~ "again, all open applications will be restored."
+#~ msgstr ""
+#~ "Di mod a razanê de dê pêdiviya hêzê bi komputera te çênebe. Dema ji nû ve "
+#~ "hate destpêkirin, dê hemû sepanên vekirî paşde bên barkirin."
+
+#~ msgid "Completely turn off the computer."
+#~ msgstr "Komputerê bi tevahî bigire."
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Navê danişînê nabe ku vala were hiştin"
+
+#~ msgid "The session name already exists"
+#~ msgstr "Ev navê danişînê jixwe heye"
+
+#~ msgid "Add a new session"
+#~ msgstr "Danişîneke nû lê zêde bike"
+
+#~ msgid "Edit session name"
+#~ msgstr "Navê danişînê biguherîne"
+
+#~ msgid "Disable"
+#~ msgstr "Neçalak bike"
+
+#~ msgid "_Edit"
+#~ msgstr "_Biguherîne"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Hin guhartin nehatine tomarkirin.\n"
+#~ "Dîsa jî tu dixwazî derkevî?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Di têketinê de dîmena_vebûnê nîşan bide"
+
+#~ msgid "As_k on logout"
+#~ msgstr "Di derketinê de bi_pirse"
+
+#~ msgid "_Sessions:"
+#~ msgstr "_Danişîn:"
+
+#~ msgid "Update Notifier"
+#~ msgstr "Agahdarkerê rojanekirinê"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Fermana destpêkê:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Çewtiyeke çalakirinê ya nenas pêk hat."
+
+#~ msgid "Set the current session"
+#~ msgstr "Danişîna derbasdar bimîhengîne"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Dest bi mîhenga danişînê bike."
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..51073ec
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,480 @@
+# translation of gnome-session.HEAD.po to Lithuanian
+# Lithuanian translation of gnome-session
+# Copyright (C) 2000-2006, 2007, 2008 Free Software Foundation, Inc.
+# Gediminas Paulauskas <menesis@delfi.lt>, 2000-2003.
+# Žygimantas Beručka <zygis@gnome.org>, 2003-2007, 2010.
+# Justina Klingaitė <justina.klingaite@gmail.com>, 2005.
+# Gintautas Miliauskas <gintas@akl.lt>, 2006, 2007, 2008.
+# Aurimas Černius <aurisc4@gmail.com>, 2013-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-17 15:13+0300\n"
+"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
+"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
+"Language: lt\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"
+"%100<10 || n%100>=20) ? 1 : 2)\n"
+"X-Generator: Gtranslator 40.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Pasirinktinis"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Šis įvesties laukas leidžia pasirinkti įrašytą seansą"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Šis seansas prijungia jus prie GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME netikra"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME Wayland aplinkoje"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg aplinkoje"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Įrašyti seansus"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Jei įjungta, gnome-session automatiškai įrašys seansą."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Įrašyti šį seansą"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Kai įjungta, gnome-session automatiškai įrašys kitą seansą atsijungiant net "
+"jei automatinis įrašymas yra išjungtas."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Atsijungimo klausimas"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Jei įjungta, gnome-session klaus naudotojo prie užbaigiant seansą."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Rodyti atsarginės veiksenos įspėjimą"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Jei įjungta, gnome-session prisijungus parodys įspėjimo dialogą, jei "
+"automatiškai naudojama atsarginė veiksena."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Pasirinktinis seansas"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Pasirinkite pasirinktinį seansą paleidimui"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Naujas seansas"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Pašalinti seansą"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Per_vadinti seansą"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Tęsti"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "O ne! Nutiko kažkas negera."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Iškilo problema ir sistema negali atsistatyti. Susisiekite su sistemos "
+"administratoriumi"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Iškilo problema ir sistema negali atsistatyti. Kaip atsargos priemonė visi "
+"plėtiniai buvo išjungti."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Iškilo problema ir sistema negali atsistatyti.\n"
+"Atsijunkite ir prisijunkite iš naujo."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Atsijungti"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Įjungti derinimo kodą"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Leisti atsijungimą"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Rodyti plėtinio įspėjimą"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Neatsako"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Atsijungti"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Atsiminti programą"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ši programa neleidžia atsijungti."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Atsisakoma naujo kliento ryšio, kadangi seansas dabar išjungiamas\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nepavyko sukurti ICE klausymo lizdo: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Vykdoma kaip systemd tarnyba"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Naudoti systemd seanso valdymą"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Naudoti integruotą seanso valdymą (vietoje systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Nepaisyti standartinių automatinės paleisties aplankų"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Naudoti sesiją"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Neįkelti naudotojo nurodytų programų"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Programos versija"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Rodyti visiškos nesėkmės dialogą bandymui"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Išjungti aparatinio spartinimo tikrinimą"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " – GNOME seanso tvarkytuvė"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Paleisti gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Paleisti gnome-session-shutdown.target gavus EOF arba vieno baito įvestį"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Pranešti gnome-session apie inicializacijos pabaigą"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Perleisti dbus.service, jei jau veikia"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Vykdyti iš ExecStopPost, kad tarnybai nepavykus būtų paleistas gnome-session-"
+"failed.target"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programai reikia vienintelio parametro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [PARAMETRAS…] KOMANDA\n"
+"\n"
+"Vykdyti KOMANDĄ, tuo tarpu kliudant daliai seanso funkcionalumo.\n"
+"\n"
+" -h, --help Rodyti šį žinyną\n"
+" --version Rodyti programos versiją\n"
+" --app-id ID Naudotinas programos id\n"
+" kliudant (neprivaloma)\n"
+" --reason REASON Kliudimo priežastis (neprivaloma)\n"
+" --inhibit ARG Kliudomi dalykai, dvitaškiai skiriamas sąrašas iš šių:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Nepaleisti KOMANDOS ir vietoj to neribotai laukti\n"
+" -l, --list Išvardinti esamus kliudymus ir išeiti\n"
+"\n"
+"Jei nėra parametro --inhibit, naudojama idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Nepavyko paleisti %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s reikalauja argumento\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Atsijungti"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Išjungti"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Įkelti iš naujo"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignoruojami trukdžiai"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Nereikalauti naudotojo patvirtinimo"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nepavyko prisijungti prie seansų tvarkytuvės"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programa iškviesta, naudojant konfliktuojančius parametrus"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seansas %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Seansų pavadinimai negali prasidėti „.“ ar turėti simbolių „/“"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Seansų pavadinimai negali prasidėti „.“"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Seansų pavadinimai negali turėti simbolių „/“"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Jau yra seansas pavadinimu „%s“"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Papildomos paleidžiamos _programos:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Pradžioje paleidžiamos programos"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Atsijungiant, automatiškai atsiminti paleistas programas"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Atsiminti dabar veikiančias programas"
+
+#~ msgid "Options"
+#~ msgstr "Parametrai"
+
+#~ msgid "Browse…"
+#~ msgstr "Naršyti…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Ko_mentaras:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Komanda:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Pavadinimas:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Šis seansas prijungia jus prie GNOME naudojant Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Pasirinkite komandą"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Pridėti paleidimo programą"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Redaguoti paleidžiamą programą"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Paleidimo komanda negali būti tuščia"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Paleidimo komanda netinkama"
+
+#~ msgid "Enabled"
+#~ msgstr "Įjungta"
+
+#~ msgid "Icon"
+#~ msgstr "Piktograma"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Paleidžiamų programų nustatymai"
+
+#~ msgid "No name"
+#~ msgstr "Be pavadinimo"
+
+#~ msgid "No description"
+#~ msgstr "Nėra aprašymo"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Nepavyko parodyti žinyno dokumento"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Paleidžiamos programos"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Pasirinkite, kokias programas paleisti jums prisijungiant"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Failas nėra taisyklingas .desktop failas"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Neatpažinta darbastalio failo versija „%s“"
+
+#~ msgid "Starting %s"
+#~ msgstr "Paleidžiama %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Programa nepriima dokumentų komandinėje eilutėje"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Neatpažintas paleidimo parametras: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Negalima perduoti dokumentų URI „Type=Link“ darbastalio elementui"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nepaleidžiamas elementas"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Išjungti prisijungimą prie seansų valdyklės"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Nurodyti failą, kuriame įrašyta konfigūracija"
+
+#~ msgid "FILE"
+#~ msgstr "FAILAS"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Seanso valdymo parinktys:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Rodyti seanso valdymo parinktis"
diff --git a/po/lv.po b/po/lv.po
new file mode 100644
index 0000000..72454dd
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,399 @@
+# translation of lv.po to Latvian
+# Latvian translation for Gnome Session.
+# Copyright © 2006 Gnome i18n Project for Latvian.
+#
+#
+# P�eris Krij�is <peterisk@apollo.lv>, 2000.
+# Artis Trops <hornet@navigators.lv>, 2000.
+# Raivis Dejus <orvils@gmail.com>, 2006, 2009.
+# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
+# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
+# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2010, 2011, 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: lv\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-25 20:20+0300\n"
+"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
+"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
+"Language: lv\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 != 0 ? 1 :"
+" 2);\n"
+"X-Generator: Lokalize 21.08.1\n"
+"X-Launchpad-Export-Date: 2009-02-19 16:24+0000\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Pielāgota"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Šis ieraksts ļauj izvēlēties saglabātu sesiju"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Šī sesija ieraksta jūs GNOME vidē"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME makets"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME ar Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME ar Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Saglabāt sesijas"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ja ieslēgts, gnome-session automātiski saglabās sesiju."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Saglabāt šo sesiju"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Kad ieslēgts, gnome-session izrakstoties automātiski saglabās nākamo sesiju, "
+"pat ja automātiskā saglabāšana ir izslēgta."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Izrakstīšanās uzvedne"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Ja ieslēgts, gnome-session vaicās lietotājam pirms sesijas beigšanas."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Rādīt atkāpšanās brīdinājumu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ja ieslēgts, gnome-session pēc ierakstīšanās rādīs brīdinājumu, ja sesija ir "
+"automātiski atkāpusies."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Pielāgota sesija"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Lūdzu, izvēlieties pielāgotu sesiju, ko palaist"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Jau_na sesija"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Izņemt sesiju"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Pārsaukt sesiju"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Turpināt"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Ak nē! Kaut kas nogāja greizi."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Gadījās problēma, un sistēma no tās nevar atgūties. Lūdzu, sazinieties ar "
+"sistēmas administratoru."
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Gadījās problēma, un sistēma no tās nevar atgūties. Kā piesardzības "
+"pasākums, visi paplašinājumi ir deaktivēti."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Gadījās problēma, un sistēma no tās nevar atgūties.\n"
+"Lūdzu, izrakstieties un mēģiniet vēlreiz."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Izrakstīties"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Aktivēt atkļūdošanas kodu"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Atļaut izrakstīšanos"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Rādīt paplašinājumu brīdinājumus"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Neatbild"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Izrakstīties"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Iegaumētā lietotne"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Programma bloķē izrakstīšanos."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Atsaka jauniem klientu savienojumiem, jo sesija tiek izslēgta\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nevar izveidot ICE klausīšanās ligzdu — %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Darbina kā systemd pakalpojumu"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Izmantot systemd sesiju pārvaldību"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Izmantot iebūvēto sesiju pārvaldību (nevis systemd pārbaldību)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Aizstāt standarta automātiskā starta direktorijas"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTARTA_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sesija, ko izmantot"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESIJAS_NOSAUKUMS"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Neielādēt lietotāja norādītās lietotnes"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Lietotnes versija"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Rādīt neveiksmju vali testēšanai"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Izslēgt aparatūras paātrinājuma pārbaudi"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME sesiju pārvaldnieks"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Palaist gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Palaist gnome-session-shutdown.target, kad saņem EOF vai vienu baitu no stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signāla inicializācija tika veikta gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Pārstartēt dbus.service, ja tas ir palaists"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Palaidiet no ExecStopPost, lai startētu gnome-session-failed.target, kad ir "
+"servisa kļūme"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programmai vajag tieši vienu parametru"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIJA…] KOMANDA\n"
+"\n"
+"Izpilda KOMANDU kamēr aiztur dažas sesijas funkcijas.\n"
+"\n"
+" -h, --help Rādīt šo palīdzību\n"
+" --version Rādīt programmas versiju\n"
+" --app-id ID Lietotnes id, ko izmantot\n"
+" viecot aizturēšanu (neobligāti)\n"
+" --reason IEMESLS Aizturēšanas iemesls (neobligāti)\n"
+" --inhibit PARAM Lietas, ko aizturēt, ar kolu atdalīts saraksts:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Nepalaist KOMANDU un tā vietā gaidīt bezgalīgi\n"
+" -l, --list Uzskaitīt esošās aiztures un iziet\n"
+"\n"
+"Ja nav norādīta opcija --inhibit, tiek pieņemts idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Neizdevās izpildīt %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s pieprasa parametru\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Izrakstīties"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Izslēgt"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Pārstartēt"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorējot jebkādus šķēršļus"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Neprasīt lietotāja apstiprinājumu"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nevar savienoties ar sesiju pārvaldnieku"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programma izsaukta ar konfliktējošām opcijām"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesija %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Sesijas nosaukums nedrīkst sākties ar rakstzīmi “.” vai saturēt “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sesijas nosaukums nedrīkst sākties ar rakstzīmi “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sesijas nosaukums nedrīkst vai saturēt rakstzīmi “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Sesija ar nosaukumu “%s” jau eksistē"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Papildu starta _programmas:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Starta programmas"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Automātiski atcerēties palaistās lietotnes izrakstoties"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Atce_rēties šobrīd palaistās lietotnes"
+
+#~ msgid "Options"
+#~ msgstr "Opcijas"
+
+#~ msgid "Browse…"
+#~ msgstr "Pārlūkot…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Kom_entārs:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Ko_manda:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nosaukums:"
diff --git a/po/mai.po b/po/mai.po
new file mode 100644
index 0000000..76428b6
--- /dev/null
+++ b/po/mai.po
@@ -0,0 +1,511 @@
+# translation of gnome-session.master.po to Maithili
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sangeeta Kumari <sangeeta09@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-session&component=general\n"
+"POT-Creation-Date: 2009-09-11 10:00+0000\n"
+"PO-Revision-Date: 2009-09-11 20:39+0530\n"
+"Last-Translator: Sangeeta Kumari <sangeeta09@gmail.com>\n"
+"Language-Team: Maithili <maithili.sf.net>\n"
+"Language: mai\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\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "कमांड चुनू"
+
+#: ../capplet/gsm-app-dialog.c:194
+msgid "Add Startup Program"
+msgstr "प्रारंभिक प्रोग्राम जोड़ू"
+
+#: ../capplet/gsm-app-dialog.c:198
+msgid "Edit Startup Program"
+msgstr "प्रारंभिक प्रोग्राम संपादित करू"
+
+#: ../capplet/gsm-app-dialog.c:486
+msgid "The startup command cannot be empty"
+msgstr "प्रारंभिक कमांड रिक्त नहि भ' सकत"
+
+#: ../capplet/gsm-app-dialog.c:492
+msgid "The startup command is not valid"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:555
+msgid "Enabled"
+msgstr "सक्षम"
+
+#: ../capplet/gsm-properties-dialog.c:567
+msgid "Icon"
+msgstr "चिह्न"
+
+#: ../capplet/gsm-properties-dialog.c:579
+msgid "Program"
+msgstr "प्रोग्राम"
+
+#: ../capplet/gsm-properties-dialog.c:792
+msgid "Startup Applications Preferences"
+msgstr ""
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "कोनो नाम नहि"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:437
+msgid "Version of this application"
+msgstr "एहि अनुप्रयोग क' संस्करण"
+
+#: ../capplet/main.c:63
+msgid "Could not display help document"
+msgstr "मद्दति दस्ताबेज़ नहि देखाए सकल"
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "गनोम"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "ई सत्र अहाँक गनोममे लागिन दैछ"
+
+#: ../data/gnome-session.schemas.in.in.h:1
+msgid "Default session"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:2
+msgid "File Manager"
+msgstr "फाइल प्रबंधक"
+
+#: ../data/gnome-session.schemas.in.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "जँ सक्रिय अछि तँ गनोम सत्र बन्न हए सँ पहिले प्रयोक्ताकेँ प्रांप्ट करताह"
+
+#: ../data/gnome-session.schemas.in.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr "जँ सक्षम अछि तँ गनोम सत्र स्वतः सहेजल जएताह, नहि तँ लॉगआउट संवाद सत्र सहेजबाक एकटा विकल्प रखताह."
+
+#: ../data/gnome-session.schemas.in.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required_components\"). The "
+"Startup Applications preferences tool will not normally allow users to "
+"remove a required component from the session, and the session manager will "
+"automatically add the required components back to the session at login time "
+"if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:7
+msgid "Logout prompt"
+msgstr "लागआउट प्रांप्ट"
+
+#: ../data/gnome-session.schemas.in.in.h:8
+msgid "Panel"
+msgstr "पटल"
+
+#: ../data/gnome-session.schemas.in.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "पसंदीदा बिंब जकरा लोगिन स्प्लैश क'लेल प्रयोग कएनाइ अछि"
+
+#: ../data/gnome-session.schemas.in.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:11
+msgid "Save sessions"
+msgstr "सत्र सहेजू"
+
+#: ../data/gnome-session.schemas.in.in.h:12
+msgid "Show the splash screen"
+msgstr "स्प्लैश स्क्रीन देखाबू"
+
+#: ../data/gnome-session.schemas.in.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr "सत्र शुरू हए पर स्प्लेश स्क्रीन देखाबू"
+
+#: ../data/gnome-session.schemas.in.in.h:14
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:15
+msgid "The number of minutes of inactivity before the session is considered idle."
+msgstr "सत्र क' निष्क्रिय समझल जएबाक पहिने निष्क्रियता क' मिनट क' सँख्या."
+
+#: ../data/gnome-session.schemas.in.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"ई $datadir/pixmaps/ निर्देशिका पर आधारित सापेक्षिक पथ अछि उपनिर्देशिका आओर बिंब नाम "
+"मानल मान अछि. एहि मानकेँ बदलनाइ अगिला सत्र लॉगिनकेँ प्रभावित करताह."
+
+#: ../data/gnome-session.schemas.in.in.h:19
+msgid "Time before session is considered idle"
+msgstr "सत्रक निष्क्रिय मानल जाएबाक' पहिने क' समय"
+
+#: ../data/gnome-session.schemas.in.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "विन्डो मैनेजर"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:667
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr ""
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "प्रारंभिक प्रोग्राममे जोड़ू (_p)"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse..."
+msgstr "ब्राउज करू..."
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "कमांड (_m):"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "टिप्पणी (_e):"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "विकल्प"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "प्रारंभिक प्रोग्राम"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "नाम (_N):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "%s शुरू भ' रहल अछि"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr "चलाबैबला मद नहि अछि "
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr "सत्र प्रबंधकसँ संपर्क रद करू"
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "फाइल"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr "सत्र प्रबंधन आईडी निर्दिष्ट करू"
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr ""
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "सत्र प्रबंधन विकल्प देखाबू"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:255
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "'%s' प्रतीक नहि भेटल"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:615
+msgid "Unknown"
+msgstr "अज्ञात"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:666
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:670
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:671
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Logout Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:907
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:910
+msgid "Hibernate Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:913
+msgid "Shutdown Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:916
+msgid "Reboot Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:924
+msgid "Lock Screen"
+msgstr "स्क्रीन पर ताला लगाबू"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:927
+msgid "Cancel"
+msgstr "रद करू"
+
+#: ../gnome-session/gsm-logout-dialog.c:274
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "अहाँ स्वतः %d सकेंडमे लॉग आउट भ' जाएब."
+msgstr[1] "अहाँ स्वतः %d सकेंडमे लॉग आउट भ' जाएब."
+
+#: ../gnome-session/gsm-logout-dialog.c:282
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "सिस्टम %d सकेंडमे स्वतः बन्न भ' जएताह."
+msgstr[1] "सिस्टम %d सकेंडमे स्वतः बन्न भ' जएताह."
+
+#: ../gnome-session/gsm-logout-dialog.c:314
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:380
+msgid "Log out of this system now?"
+msgstr "आब एहि सिस्टम सँ लॉग आउट करू?"
+
+#: ../gnome-session/gsm-logout-dialog.c:386
+msgid "_Switch User"
+msgstr "प्रयोक्ता बदलू (_S)"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "_Log Out"
+msgstr "लाग-आउट (_L)"
+
+#: ../gnome-session/gsm-logout-dialog.c:401
+msgid "Shut down this system now?"
+msgstr "आब एहि सिस्टमकेँ बन्न करू?"
+
+#: ../gnome-session/gsm-logout-dialog.c:407
+msgid "S_uspend"
+msgstr "स्थगित करू (_S)"
+
+#: ../gnome-session/gsm-logout-dialog.c:413
+msgid "_Hibernate"
+msgstr "सुप्तावस्थामे लए जाउ (_H)"
+
+#: ../gnome-session/gsm-logout-dialog.c:419
+msgid "_Restart"
+msgstr "पुन:आरंभ करू (_R)"
+
+#: ../gnome-session/gsm-logout-dialog.c:429
+msgid "_Shut Down"
+msgstr "बन्न करू (_S)"
+
+#: ../gnome-session/gsm-manager.c:1158 ../gnome-session/gsm-manager.c:1850
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:1206
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:354
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:433
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:434
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:435
+msgid "Enable debugging code"
+msgstr "डिबगिंग कोड सक्रिय करू"
+
+#: ../gnome-session/main.c:436
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:457
+msgid " - the GNOME session manager"
+msgstr ""
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr ""
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:65
+msgid "Log out"
+msgstr "लॉग आउट"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:67
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Use dialog boxes for errors"
+msgstr "त्रुटि क' लेल संवाद पेटी क' प्रयोग करू"
+
+#. deprecated options
+#: ../tools/gnome-session-save.c:71
+msgid "Set the current session name"
+msgstr "वर्तमान सत्र सेट करू"
+
+#: ../tools/gnome-session-save.c:71
+msgid "NAME"
+msgstr "नाम"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Kill session"
+msgstr "सत्र समाप्त करू"
+
+#: ../tools/gnome-session-save.c:73
+msgid "Do not require confirmation"
+msgstr "संपुष्टि क' जरूरत नहि"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "सत्र प्रबंधकसँ संपर्क स्थापित नहि भ' सकि रहल अछि"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..77bf1ff
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext(session_api_name, preset: 'glib')
diff --git a/po/mg.po b/po/mg.po
new file mode 100644
index 0000000..3268179
--- /dev/null
+++ b/po/mg.po
@@ -0,0 +1,488 @@
+# MALAGASY TRANSLATION OF GNOME-SESSION.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Thierry Randrianiriana <randrianiriana@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: GNOME-SESSION 2.16\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-07-28 09:58+0200\n"
+"PO-Revision-Date: 2006-08-04 22:16+0300\n"
+"Last-Translator: Fano Rajaonarisoa <rajfanhar@yahoo.fr>\n"
+"Language-Team: MALAGASY <i18n-malagasy-gnome@gna.org>\n"
+"Language: mg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Ekeo ny fifandraisana TCP"
+
+#: ../gnome-session/gnome-session.schemas.in.h:2
+msgid "For security reasons, on platforms which have _IceTcpTransNoListen() (XFree86 systems), gnome-session does not listen for connections on TCP ports. This option will allow connections from (authorized) remote hosts. gnome-session must be restarted for this to take effect."
+msgstr "Noho ny antony ara-piarovana, dia tsy mihaino fifandraisana amin'ny irika TCP ny gnome-session amin'ny plateforme misy _IceTcpTransNoListen() (XFree86 systems). Io safidy io dia ahafahana mifandray amin'ny mpampiantrano lavi-toerana (ekena). Tsy maintsy averina alefa ny gnome-session izay vao mihatra izany."
+
+#: ../gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Raha toa ka alefa, dia hanontany ny mpampiasa ny gnome-session alohan'ny hamaranana session iray."
+
+#: ../gnome-session/gnome-session.schemas.in.h:4
+msgid "If enabled, gnome-session will save the session automatically. Otherwise, the logout dialog will have an option to save the session."
+msgstr "Raha toa ka alefa, dia horaiketin'ny gnome-session hoazy ilay session. Raha tsy izany, dia hisy safidy handraiketana ilay session eo amin'ny takila fivoahana."
+
+#: ../gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Fanontaniana momba ny fivoahana"
+
+#: ../gnome-session/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "Sary tiana ampiasaina amin'ny takila fanokafan'ny fidirana"
+
+#: ../gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Raiketo ny session"
+
+#: ../gnome-session/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "Safidy voafaritra tanatin'ny takilan'ny fivoahana"
+
+#: ../gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "Asehoy ny takila fanokafana"
+
+#: ../gnome-session/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "Maneho ny takila fanokafana rehefa miantomboka ny session "
+
+#: ../gnome-session/gnome-session.schemas.in.h:11
+msgid "This is a relative path value based off the $datadir/pixmaps/ directory. Sub-directories and image names are valid values. Changing this value will effect the next session login."
+msgstr "Sanda anankina mitoetra lavitra ny lahatahiry $datadir/pixmaps/ io sanda io. Sanda mitombina ny zana-dahatahiry sy ny anaran-tsary. Hihatra amin'ny fidirana amin'ny session manaraka ny fanovana io sanda io."
+
+#: ../gnome-session/gnome-session.schemas.in.h:12
+msgid "This is the option that will be selected in the logout dialog, valid values are \"logout\" for logging out, \"shutdown\" for halting the system and \"restart\" for restarting the system."
+msgstr "Io ilay safidy hofaritana ao anatin'ny takilan'ny fivoahana. Ireto avy ireo sanda ekena: \"logout\" raha hivoaka, \"shutdown\" raha hanajanona ny rafitra, ary \"restart\" raha hiverina handefa ny rafitra."
+
+#: ../gnome-session/gsm-client-editor.c:97
+msgid "_Order:"
+msgstr "_Filaharana:"
+
+#: ../gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Ny filaharan'ny fandefasana ireo rindranasa anatin'ilay session."
+
+#: ../gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Ny mitranga amin'ilay rindranasa rehefa mijanona ilay izy."
+
+#: ../gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Endrika:"
+
+#: ../gnome-session/gsm-client-list.c:150
+msgid "Order"
+msgstr "Filaharana"
+
+#: ../gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Endrika"
+
+#: ../gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Toetra"
+
+#: ../gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Rindranasa"
+
+#: ../gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Tsy miasa"
+
+#: ../gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Miandry fanombohana na efa vita."
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Miantomboka"
+
+#: ../gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Voatomboka fa tsy mbola nitatitra ny toetra."
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Mandeha"
+
+#: ../gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Mpikambana ara-dalàna anatin'ilay session."
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Mandraikitra"
+
+#: ../gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Mandraikitra ny antsipirian'ilay session."
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Tsy fantatra"
+
+#: ../gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Tsy voatatitra tanatin'ny fe-potoana ny toetra."
+
+#: ../gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Ara-dalàna"
+
+#: ../gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Tsy voakitiky ny fivoahana saingy mety maty."
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Avereno alefa"
+
+#: ../gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Tsy mahazo maty."
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Daba"
+
+#: ../gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Ariana rehefa mivoaka ka mety ho faty."
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Fandrindrana"
+
+#: ../gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Alefa foana isaka ny miditra."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:45
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work correctly."
+msgstr ""
+"Nisy olana teo am-pandefasana ny Daemon'ny fandrindran'ny GNOME.\n"
+"\n"
+"Misy zavatra toy ny fandrindran'endrika, feo na afara tsy mandeha araka ny tokony ho izy any ho any."
+
+#: ../gnome-session/gsm-gsd.c:57
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Ny filazana tsy fetezana farany:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:62
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Hanandrana ny handefa ny Daemon'ny fandrindrana ihany ny GNOME rehefa miditra amin'ny manaraka ianao."
+
+#: ../gnome-session/gsm-gsd.c:145
+msgid "The Settings Daemon restarted too many times."
+msgstr "Naverina nalefa imbetsaka loatra ny Daemon'ny fandrindrana."
+
+#: ../gnome-session/logout.c:404
+msgid "Are you sure you want to log out?"
+msgstr "Te hivoaka marina ve ianao?"
+
+#: ../gnome-session/logout.c:421
+msgid "_Save current setup"
+msgstr "_Raiketo ny kirakira izao"
+
+#: ../gnome-session/logout.c:444
+msgid "Action"
+msgstr "Asa"
+
+#: ../gnome-session/logout.c:461
+msgid "_Log out"
+msgstr "_Hivoaka"
+
+#: ../gnome-session/logout.c:468
+msgid "Sh_ut down"
+msgstr "_Ajanony"
+
+#: ../gnome-session/logout.c:476
+msgid "_Restart the computer"
+msgstr "_Avereno alefa ny solosaina"
+
+#: ../gnome-session/main.c:82
+msgid "Specify a session name to load"
+msgstr "Mamarita anarana session alaina"
+
+#: ../gnome-session/main.c:82
+#: ../gnome-session/save-session.c:46
+msgid "NAME"
+msgstr "ANARANA"
+
+#: ../gnome-session/main.c:83
+msgid "Only read saved sessions from the default.session file"
+msgstr "Vakio ao anatin'ny rakitra default.session fotsiny izay session voaraikitra"
+
+#: ../gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Fotoana (milisegaondra) lany niandrasana ireo mpivatsy hanao fanambarana (0=tsy manam-petra)"
+
+#: ../gnome-session/main.c:84
+#: ../gnome-session/main.c:85
+#: ../gnome-session/main.c:86
+msgid "DELAY"
+msgstr "FOTOANA IANDRASANA"
+
+#: ../gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Fotoana (milisegaondra) lany niandrasana ny mpivatsy hamaly (0=tsy manam-petra)"
+
+#: ../gnome-session/main.c:86
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Fotoana (milisegaondra) lany niandrasana ny mpivatsy ho faty (0=tsy manam-petra)"
+
+#: ../gnome-session/main.c:261
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Tsy nahita adiresy Internet ho an'ny %s.\n"
+"Hahatonga ny GNOME tsy handeha ara-dalàna izany.\n"
+"Azo vahana amin'ny alalan'ny fanampiana ny %s\n"
+"anatin'ny rakitra /etc/hosts izany olana izany."
+
+#: ../gnome-session/main.c:268
+msgid "Log in Anyway"
+msgstr "Hiditra ihany na dia izany aza"
+
+#: ../gnome-session/main.c:269
+msgid "Try Again"
+msgstr "Andramo indray"
+
+#: ../gnome-session/main.c:402
+msgid "- Manage the GNOME session"
+msgstr "- Mandrindra ny session'ny GNOME"
+
+#: ../gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Voaraikitra ny sessionao"
+
+#: ../gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Nadaboka ny fiandrasana noho ny fisian'ny fifanipahana."
+
+#: ../gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Tsy misy valin-teny ho an'ny baiko %s."
+
+#: ../gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Mety votsa, najanona na simba angamba ilay rindranasa."
+
+#: ../gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Azonao atao ny miandry azy hamaly na koa manala azy."
+
+#: ../gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Nadaboka ny famerenana ny famelomana noho ny tsy fetezana maro."
+
+#: ../gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Misy fanajanona session mitranga."
+
+#: ../gnome-session/save-session.c:46
+msgid "Set the current session name"
+msgstr "Hamaritra ny anaran'ity session ity"
+
+#: ../gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Vonoy io session io"
+
+#: ../gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Mampiasà takila filazana"
+
+#: ../gnome-session/save-session.c:146
+#: ../gnome-session/save-session.c:183
+msgid "Could not connect to the session manager"
+msgstr "Tsy afaka nifandray tamin'ilay mpandrindra session"
+
+#: ../gnome-session/save-session.c:169
+msgid "- Save the current session"
+msgstr "- Mandraikitra ity session ity"
+
+#: ../gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Tsy azo atao foana ny anaran'ilay session"
+
+#: ../gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Efa misy io anarana session io"
+
+#: ../gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Hampiditra session iray vaovao"
+
+#: ../gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Hanova ilay anarana session"
+
+#: ../gnome-session/session-properties-capplet.c:119
+msgid "Enable"
+msgstr "Alefaso"
+
+#: ../gnome-session/session-properties-capplet.c:125
+#: ../gnome-session/session-properties-capplet.c:467
+msgid "Disable"
+msgstr "Atsaharo"
+
+#: ../gnome-session/session-properties-capplet.c:148
+msgid "_Edit"
+msgstr "_Ovay"
+
+#: ../gnome-session/session-properties-capplet.c:216
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Misy fanovana tsy voaraikitra.\n"
+"Mety ihany ve raha miala izao?"
+
+#: ../gnome-session/session-properties-capplet.c:266
+#: ../gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Session"
+
+#: ../gnome-session/session-properties-capplet.c:299
+msgid "Show splash screen on _login"
+msgstr "Asehoy eny am-_pidirana ny takila fanokafana"
+
+#: ../gnome-session/session-properties-capplet.c:310
+msgid "As_k on logout"
+msgstr "_Anontanio rehefa mivoaka"
+
+#: ../gnome-session/session-properties-capplet.c:321
+msgid "Automatically save chan_ges to session"
+msgstr "Avy dia raiketo ireo _fanovana natao tamin'ilay session"
+
+#: ../gnome-session/session-properties-capplet.c:332
+msgid "_Sessions:"
+msgstr "_Session:"
+
+#: ../gnome-session/session-properties-capplet.c:350
+msgid "Session Name"
+msgstr "Anaran'ilay session"
+
+#: ../gnome-session/session-properties-capplet.c:401
+msgid "Session Options"
+msgstr "Safidin'ilay session"
+
+#: ../gnome-session/session-properties-capplet.c:410
+msgid "Current Session"
+msgstr "Ny session izao"
+
+#: ../gnome-session/session-properties-capplet.c:419
+msgid "Additional startup _programs:"
+msgstr "_Rindranasam-piantombohana fanampiny:"
+
+#: ../gnome-session/session-properties-capplet.c:438
+msgid "Command"
+msgstr "Baiko"
+
+#: ../gnome-session/session-properties-capplet.c:478
+msgid "Startup Programs"
+msgstr "Rindranasam-piatombohana"
+
+#: ../gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Esory tanatin'ny session io mpivatsy voafaritra io."
+
+#: ../gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Ampiharo amin'ity session ity ireo fanovana ireo"
+
+#: ../gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Ny lisitr'ireo rindranasa anatin'ilay session."
+
+#: ../gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Ny _rindranasa mandeha izao:"
+
+#: ../gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Mikirakira ny sessionao"
+
+#: ../gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Mpandrindra fikandrana Sawfish"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Mpandrindra fikandran'ny Metacity"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Mpandrindra fikandrana"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Ilay tontonana"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Desktop Settings"
+msgstr "Fandrindran'ny sehatrasa"
+
+#: ../gnome-session/startup-programs.c:403
+msgid "_Startup Command:"
+msgstr "_Baikom-piantombohana:"
+
+#: ../gnome-session/startup-programs.c:409
+msgid "Startup Command"
+msgstr "Baikom-piantombohana"
+
+#: ../gnome-session/startup-programs.c:441
+msgid "The startup command cannot be empty"
+msgstr "Tsy azo atao foana ny baikom-piantombohana"
+
+#: ../gnome-session/startup-programs.c:480
+msgid "Add Startup Program"
+msgstr "Hampiditra rindranasam-piantombohana"
+
+#: ../gnome-session/startup-programs.c:524
+msgid "Edit Startup Program"
+msgstr "Hanova rindranasam-piantombohana"
diff --git a/po/mi.po b/po/mi.po
new file mode 100644
index 0000000..ab8aa1e
--- /dev/null
+++ b/po/mi.po
@@ -0,0 +1,459 @@
+# Māori translation of gnome-session.
+# Copyright (C) 2004 Free Software Foundation
+# This file is distributed under the same license as the gnome-session package.
+# John C Barstow <jbowtie@amathaine.com>, 2004.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.6\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2004-04-09 23:53+1200\n"
+"Last-Translator: John C Barstow <jbowtie@amathaine.com>\n"
+"Language-Team: Māori <maori@nzlinux.org.nz>\n"
+"Language: mi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Te Para"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr ""
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr ""
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr ""
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr ""
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr ""
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_Whakarere"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "_Whakaweto"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr ""
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr ""
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr ""
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr ""
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr ""
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr ""
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr ""
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr ""
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr ""
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr ""
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr ""
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr ""
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr ""
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr ""
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr ""
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr ""
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr ""
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr ""
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr ""
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Ngā Wāhanga"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:284
+msgid "As_k on logout"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "Ngā·Wā_hanga:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr ""
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr ""
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr ""
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr ""
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr ""
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr ""
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr ""
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr ""
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr ""
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr ""
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Paua"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr ""
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr ""
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr ""
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr ""
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr ""
diff --git a/po/mjw.po b/po/mjw.po
new file mode 100644
index 0000000..58a09a5
--- /dev/null
+++ b/po/mjw.po
@@ -0,0 +1,303 @@
+# Karbi translation for gnome-session.
+# Copyright (C) 2019 gnome-session's Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Jor Teron <jor.teron@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2019-08-06 10:55+0000\n"
+"PO-Revision-Date: 2019-08-06 20:18+0530\n"
+"Last-Translator: Jor Teron <jor.teron@gmail.com>\n"
+"Language-Team: Karbi <karbi.translation@gmail.com>\n"
+"Language: mjw\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: gedit 3.28.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Custom"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr ""
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Laso session nangli phan GNOME long pon po"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr ""
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME on Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Session kerai tang"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Laso session rai noi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr ""
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr ""
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Kimi Session"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Remove Session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Session a_men kelar"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Angthun"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh mai! Kopine chokche dokok."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Kesung-Chokche dokok lasi system dam un eh det lo.Choningri pen log out si "
+"klem thu ik tha."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Log Out"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:396
+msgid "Enable debugging code"
+msgstr ""
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Logout long"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr ""
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1967
+msgid "Not responding"
+msgstr "Not responding"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "_Log out"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Chekimo-tang Application"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Laso program logout khangthip."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#: gnome-session/main.c:390
+msgid "Running as systemd service"
+msgstr ""
+
+#: gnome-session/main.c:391
+msgid "Use systemd session management"
+msgstr "systemd session management le en-noi"
+
+#: gnome-session/main.c:393
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+
+#: gnome-session/main.c:394
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: gnome-session/main.c:394
+msgid "AUTOSTART_DIR"
+msgstr "PANGCHENG_DIM"
+
+#: gnome-session/main.c:395
+msgid "Session to use"
+msgstr "Engpuji a session"
+
+#: gnome-session/main.c:395
+msgid "SESSION_NAME"
+msgstr "SESSION_AMEN"
+
+#: gnome-session/main.c:397
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: gnome-session/main.c:398
+msgid "Version of this application"
+msgstr "Laso application version"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:400
+msgid "Show the fail whale dialog for testing"
+msgstr ""
+
+#: gnome-session/main.c:401
+msgid "Disable hardware acceleration check"
+msgstr ""
+
+#: gnome-session/main.c:433
+msgid " — the GNOME session manager"
+msgstr " — the GNOME session manager"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Failed to execute %s\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requires an argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr ""
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr ""
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr ""
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr ""
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr ""
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Session manager pen chepho un-eh det"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr ""
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session amen %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Session amen long “.” pen pangcheng longle lapen “/” bi longle"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Session amen “.” pen pangcheng longle"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Session amen along “/” asin tok longle"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Session amen “%s” dotang do"
diff --git a/po/mk.po b/po/mk.po
new file mode 100644
index 0000000..ddc1713
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,590 @@
+# translation of gnome-session.HEAD.mk.po to Macedonian
+# Copyright (C) 2002, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# Ivan Stojmirov<stojmir@linux.net.mk>, 2002.
+# Arangel Angov <ufo@linux.net.mk>, 2006, 2008.
+# Jovan Naumovski <jovan@lugola.net>, 2006, 2007, 2008.
+# Arangel Angov <arangel@linux.net.mk>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD.mk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-03 23:20+0000\n"
+"PO-Revision-Date: 2008-09-25 18:28+0200\n"
+"Last-Translator: Jovan Naumovski <jovan@lugola.net>\n"
+"Language-Team: Macedonian <mkde-l10n@lists.sourceforge.net>\n"
+"Language: mk\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 || n%10==1 ? 0 : 1\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Изнерете команда"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Додај програма за подигнување"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Уреди програма за подигнување"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr "Нема опис"
+
+#: ../capplet/gsm-properties-dialog.c:977
+msgid "The name of the startup program cannot be empty"
+msgstr "Името на startup командата не смее да биде празно"
+
+#: ../capplet/gsm-properties-dialog.c:981
+msgid "The startup command cannot be empty"
+msgstr "Startup командата не смее да биде празна"
+
+#: ../capplet/gsm-properties-dialog.c:987
+msgid "The startup command is not valid"
+msgstr "Startup командата не е валидна"
+
+#: ../capplet/gsm-properties-dialog.c:1291
+msgid "Enabled"
+msgstr "Овозможено"
+
+#: ../capplet/gsm-properties-dialog.c:1304
+msgid "Icon"
+msgstr "Икона"
+
+#: ../capplet/gsm-properties-dialog.c:1315
+msgid "Program"
+msgstr "Програма"
+
+#: ../capplet/gsm-properties-dialog.c:1464
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "Преференци за сесијата"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:501
+msgid "Version of this application"
+msgstr "Верзија на апликацијата"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"Беше побарана поддршка за помошни технологии за оваа сесија, но регистарот "
+"за пристапност не беше пронајден. Ве молам, осигурајте се дека AT_SPI "
+"пакетот е инсталиран. Вашата сесија се стартуваше без поддршка за помошни "
+"технологии."
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr "AT SPI обвиткувач на регистри"
+
+#: ../compat/gnome-keyring-daemon-wrapper.desktop.in.in.in.h:1
+msgid "GNOME Keyring Daemon Wrapper"
+msgstr "Обвивка на демонот за приврзоци на GNOME "
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr "Помагач за демонот за поставување на GNOME"
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Оваа сесија Ве најавува во GNOME"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "Стандардна сесија"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "Менаџер за датотеки"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Доколку е вклучено, gnome-session ќе го извести корисникот пред да ја "
+"прекине сесијата."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Доколку е вклучено, gnome-session ќе ја зачува сесијата автоматски. Инаку, "
+"дијалогот за одјавување ќе има опција за зачувување на сесијата."
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr "Листа на апликации кои што се дел од стандардната сесија."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+"Листа на компоненти кои што се потребни како дел од сесијата. (Секој елемент "
+"именува клуч под „desktop/gnome/session/required-components“.) Преференците "
+"за сесиите обично не им дозволуваат на корисниците да отстрануваат потребни "
+"компоненти од сесијата и менаџерот за сесии автоматски ги додава "
+"компонентите назад во сесијата ако истите бидат отстранети."
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Дијалог за одјавување"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Панел"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+"Преферирана слика која ќе се користи за поздравниот екран при најава во "
+"работната околина GNOME"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "Потребни компоненти за сесијата"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Зачувај сесии"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Одбрана опција во дијалогот за одјава"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Прикажи го поздравниот екран"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Прикажи го поздравниот екран при стартување на сесијата"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+"Менаџерот за датотеки нуди икони за работната површина и ви дозволува да "
+"работите со Вашите зачувани датотеки."
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+"Панелот нуди лента на врвот и дното на екранот која што содржи менија, листа "
+"со прозорци, икони за статус, часовник итн."
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+"Менаџерот за прозорци е програма која што ја исцртува лентата со насловот и "
+"границите околу прозорците, и дозволува да го поместувата и да им ја "
+"менувате големината на прозорците."
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Ова е релативна вредност за патека базирана на директориумот $datadir/"
+"pixmaps/. Под-директориумите и имињата на сликите не се валидни вредности. "
+"Доколку ја промените оваа вредност, промените ќе се одразат при наредното "
+"најавување."
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Ова е опцијата која што ќе биде избрана во дијалогот за одјава, валидни "
+"вредностисе „одјава“ за одјава, „исклучи“ за исклучување на системот и "
+"„рестартирај“ за рестартирање на системот."
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Менаџер за прозорци"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Некои програми сè уште работат:</b>"
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:628
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+"Чекам да се затвори програмата. Прекинувањето може да предизвика загуба на "
+"податоци."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Конфигурирај ги твоите сесии"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Сесии"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Додатни програми за _подигнување:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Разгледај..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "Ко_манда:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "Ко_ментар:"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Опции"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Програми за подигнување"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr "_Автоматски запамти ги тековните апликации при одјава"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Име:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "_Запамти ги апликациите кои што работат"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Датотеката не е валидна .desktop датотека"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Непозната верзија на датотека за работната површина %s"
+
+#: ../egg/eggdesktopfile.c:962
+#, c-format
+msgid "Starting %s"
+msgstr "Подигнувам %s"
+
+#: ../egg/eggdesktopfile.c:1096
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "Апликацијата не прифаќа документи на командната линија"
+
+#: ../egg/eggdesktopfile.c:1164
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Непозната опција за извршување: %d"
+
+#: ../egg/eggdesktopfile.c:1372
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+"Не можам да ја префрлам адресата за документот во запис на работната "
+"површина со Тип=Врска"
+
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Not a launchable item"
+msgstr "Предметот не може да се изврши"
+
+#: ../egg/eggsmclient-libgnomeui.c:102
+msgid "Session management"
+msgstr "Менаџмент на сесии"
+
+#: ../egg/eggsmclient-libgnomeui.c:136
+msgid "GNOME GUI Library + EggSMClient"
+msgstr "GNOME GUI библиотека + EggSMClient"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr "Исклучи ги врските до менаџерот за сесии"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "Одредете датотека што ја содржи зачуваната конфигурација"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "FILE"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "Одредете го бројот за ид. за менаџмент на сесијата"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "Ид"
+
+#: ../egg/eggsmclient.c:241
+msgid "Session Management Options"
+msgstr "Опции на менаџментот за сесии"
+
+#: ../egg/eggsmclient.c:242
+msgid "Show Session Management options"
+msgstr "Покажи опции за менаџмент сесии"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+"Се појави проблем со серверот за конфигурација.\n"
+"(%s се исклучи со статус %d)"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Иконата %s не е најдена"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:579
+msgid "Unknown"
+msgstr "Непознато"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:627
+msgid "A program is still running:"
+msgstr "Програма сè уште работи:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:631
+msgid "Some programs are still running:"
+msgstr "Некои програми сè уште работат:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Чекам да завршат програми. Прекинувањето на овие програми може да "
+"предизвика загуба на податоци."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:860
+msgid "Switch User Anyway"
+msgstr "Сепак смени корисник"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:863
+msgid "Logout Anyway"
+msgstr "Сепак одјави ме"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:866
+msgid "Suspend Anyway"
+msgstr "Сепак суспендирај"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:869
+msgid "Hibernate Anyway"
+msgstr "Сепак хибернирај"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:872
+msgid "Shutdown Anyway"
+msgstr "Сепак исклучи"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:875
+msgid "Reboot Anyway"
+msgstr "Сепак рестартирај"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:883
+msgid "Lock Screen"
+msgstr "Заклучи екран"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:886
+msgid "Cancel"
+msgstr "Откажи"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+"Моментално сте најавени како \"%s\".\n"
+"Ќе бидете автоматски одјавени за %d секунда."
+msgstr[1] ""
+"Моментално сте најавени како \"%s\".\n"
+"Ќе бидете автоматски одјавени за %d секунда."
+msgstr[2] ""
+"Моментално сте најавени како \"%s\".\n"
+"Ќе бидете автоматски одјавени за %d секунди."
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+"Моментално сте најавени како \"%s\".\n"
+"Овој систем автоматски ќе се исклучи за %d секунда."
+msgstr[1] ""
+"Моментално сте најавени како \"%s\".\n"
+"Овој систем автоматски ќе се исклучи за %d секунди."
+msgstr[2] ""
+"Моментално сте најавени како \"%s\".\n"
+"Овој систем автоматски ќе се исклучи за %d секунди."
+
+#: ../gnome-session/gsm-logout-dialog.c:371
+msgid "Log out of this system now?"
+msgstr "Да се одјавам од системот веднаш?"
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "_Switch User"
+msgstr "_Смени корисник"
+
+#: ../gnome-session/gsm-logout-dialog.c:386
+msgid "_Log Out"
+msgstr "_Одјава"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "Shut down this system now?"
+msgstr "Да го исклучам системот веднаш?"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "S_uspend"
+msgstr "С_успендирај"
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "_Hibernate"
+msgstr "_Хибернирај"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Restart"
+msgstr "_Рестартирај"
+
+#: ../gnome-session/gsm-logout-dialog.c:420
+msgid "_Shut Down"
+msgstr "_Исклучи"
+
+#: ../gnome-session/gsm-manager.c:923 ../gnome-session/gsm-manager.c:1539
+msgid "Not responding"
+msgstr "Не реагира"
+
+#: ../gnome-session/gsm-xsmp-client.c:975
+msgid "This program is blocking log out."
+msgstr "Оваа програма ја блокира одјавата."
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Одбивам нови врски од клиенти бидејќи сесијата се гаси\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Не можам да креирак socket за ICE: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:139
+#, c-format
+msgid "Unable to start login session (and unable connect to the X server)"
+msgstr ""
+"Не успеав да ја започнам сесијата за најава (и не успеав да се поврзам за X "
+"серверот)"
+
+#: ../gnome-session/main.c:497
+msgid "Override standard autostart directories"
+msgstr "Запиши врз стандардните директориуми за автоматско стартување"
+
+#: ../gnome-session/main.c:498
+msgid "GConf key used to lookup default session"
+msgstr "GConf клучот кој се користи за барање на стандардна сесија"
+
+#: ../gnome-session/main.c:499
+msgid "Enable debugging code"
+msgstr "Вклучи код за дебагирање"
+
+#: ../gnome-session/main.c:500
+msgid "Do not load user-specified applications"
+msgstr "Не вчитувај апликации одредени од корисникот"
+
+#: ../gnome-session/main.c:521
+msgid " - the GNOME session manager"
+msgstr "- Менаџер за сесии за GNOME"
+
+#: ../splash/gnome-session-splash.c:291
+msgid "- GNOME Splash Screen"
+msgstr "- Поздравен екран за GNOME"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "Поздравен екран за GNOME"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Постави го името на тековната сесија"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "NAME"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Одјава"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "Одјави се со игнорирање на сите постоечки инхибитори"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr "Покажи дијалог за одјавување"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr "Покажи дијалог за исклучување"
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Отстрани сесија"
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Користи дијалог полиња за грешки"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Не барај потврда"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Не може да се приклучи на менаџерот за сесии."
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr "Програмата се повика со конфлитни опции"
+
diff --git a/po/ml.po b/po/ml.po
new file mode 100644
index 0000000..a560c6e
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,565 @@
+# translation of gnome-session.master.ml.po to
+# This file is distributed under the same license as the gnome-session package.
+# Copyright (C) 2003-2008 gnome-session'S COPYRIGHT HOLDER.
+# FSF-India <locale@gnu.org.in>, 2003.
+# Ani Peter <apeter@redhat.com>, 2006, 2012, 2013.
+# Hari Vishnu <harivishnu@gmail.com>, 2008.
+# Praveen Arimbrathodiyil <pravi.a@gmail.com>, 2008.
+# Anish A <aneesh.nl@gmail.com>, 2013.
+# Akhilan <akhilkrishnans@gmail.com>, 2013
+# Anish Sheela <aneesh.nl@gmail.com>, 2013, 2017.
+# Ranjith Siji <ranjith.sajeev@gmail.com>, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master.ml\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2018-10-16 21:11+0000\n"
+"PO-Revision-Date: 2018-10-26 13:13+0530\n"
+"Last-Translator: Ranjith Siji <ranjith.sajeev@gmail.com>\n"
+"Language-Team: Swatantra Malayalam Computing <discuss@lists.smc.org.in>\n"
+"Language: ml\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.2\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "യഥേഷ്ടം"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "സൂക്ഷിച്ച ഒരു പ്രവര്‍ത്തനവേള തെരഞ്ഞെടുക്കാന്‍ ഇതനുവദിക്കുന്നു"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "ഗ്നോം"
+
+#: data/gnome.desktop.in.in:4 data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "ഈ പ്രവര്‍ത്തനവേള നിങ്ങളെ ഗ്നോമിലേക്ക് കയറ്റുന്നു"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "ഗ്നോം ഡമ്മി"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "ഗ്നോം Xorg ല്‍"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "പ്രവര്‍ത്തനവേള സൂക്ഷിക്കുക"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "പ്രവര്‍ത്തന സജ്ജമാണെങ്കില്‍, gnome-session സ്വയമേ ഈ പ്രവര്‍ത്തനവേള സൂക്ഷിക്കുന്നതാണ്."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "ഈ സെഷന്‍ സൂക്ഷിക്കുക"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"പ്രവര്‍ത്തന സജ്ജമാണെങ്കില്‍, സ്വയമേ സൂക്ഷിക്കുക എന്നത് പ്രവര്‍ത്തനരഹിതമാണെങ്കില്‍പോലും ലോഗൗട്ട് "
+"ചെയ്യുമ്പോള്‍ gnome-session സ്വയമേ അടുത്ത പ്രവര്‍ത്തനവേള സൂക്ഷിക്കുന്നതാണു്."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "ലോഗൗട്ട് പ്രോംപ്റ്റ്"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"പ്രവര്‍ത്തന സജ്ജമാണെങ്കില്‍, പ്രവര്‍ത്തനവേള അവസാനിക്കുന്നതിനു് മുമ്പു് gnome-session ഉപയോക്താവിനെ "
+"അറിയിക്കുന്നതാണു്."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "ഫാള്‍ബാക്ക് മുന്നറിയിപ്പ് കാണിക്കുക"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"പ്രവര്‍ത്തന സജ്ജമാണെങ്കി, സെഷന്‍ ഓട്ടോമാറ്റിക്കായി ഫാള്‍ബാക്കായാല്‍, gnome-session ഒരു "
+"മുന്നറിയിപ്പ് ഡയലോഗ് പ്രദര്‍ശിപ്പിക്കും."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "പ്രവര്‍ത്തനവേള ചിട്ടപ്പെടുത്തുക"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "പ്രവർത്തിപ്പിക്കാനായി ഇഷ്ടമുള്ള ഒരു പ്രവർത്തനവേള തിരഞ്ഞെടുക്കുക"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "പുതിയ പ്രവര്‍ത്തനവേള (_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "പ്രവര്‍ത്തനവേള നീക്കം ചെയ്യുക (_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "പ്രവര്‍ത്തനവേളയുടെ പേര് മാറ്റുക (_m)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "തുടരുക (_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "അയ്യോ! എന്തോ പിശക് സംഭവിച്ചിരിയ്ക്കുന്നു."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"എന്തോ പ്രശ്നം കാരണം സിസ്റ്റം വീണ്ടെടുക്കുവാന്‍ സാധ്യമല്ല. ദയവായി ഒരു സിസ്റ്റം "
+"കാര്യനിർവ്വാഹകനുമായി ബന്ധപ്പെടുക"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"എന്തോ പ്രശ്നം കാരണം സിസ്റ്റം വീണ്ടെടുക്കുവാന്‍ സാധ്യമല്ല. മുന്‍കരുതലിനായി എല്ലാ ചേർപ്പുകളും പ്രവര്‍"
+"ത്തന രഹിതമാക്കിയിരിയ്ക്കുന്നു."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"എന്തോ പ്രശ്നം കാരണം സിസ്റ്റം വീണ്ടെടുക്കുവാന്‍ സാധ്യമല്ല.\n"
+"ദയവായി പുറത്തു് കടന്നു് വീണ്ടും ശ്രമിയ്ക്കുക."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "പുറത്തിറങ്ങുക (_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "പിഴവു് തിരുത്താന്‍ സഹായിയ്ക്കുന്ന കോഡ് പ്രാവര്‍ത്തികമാക്കുക"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "പുറത്തിറങ്ങാന്‍ അനുവദിയ്ക്കുക"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "എക്സ്റ്റെന്‍ഷന്‍ മുന്നറിയിപ്പ് കാണിക്കുക"
+
+#: gnome-session/gsm-manager.c:1266 gnome-session/gsm-manager.c:1919
+msgid "Not responding"
+msgstr "പ്രതികരിയ്ക്കുന്നില്ല"
+
+#: gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "പുറത്തിറങ്ങുക (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "ഓര്‍ത്തു് വച്ച പ്രയോഗങ്ങള്‍"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "ഈ പ്രയോഗം പുറത്തിറങ്ങുന്നതു് തടയുന്നു."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "പുതിയ ക്ലയന്റ് ബന്ധം നിരസിക്കുന്നു കാരണം പ്രവര്‍ത്തനവേള ഇപ്പോള്‍ അടച്ചു പൂട്ടൂകയാണു്\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "'ഐസ് '(ICE) കേള്‍ക്കാനുള്ള സോക്കറ്റ് ഉണ്ടാക്കാന്‍ കഴിഞ്ഞില്ല: %s"
+
+#: gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "സാധാരണയുള്ള സ്വയം തുടങ്ങാനുള്ള തട്ടുകള്‍ മറികടക്കുക"
+
+#: gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:278
+msgid "Session to use"
+msgstr "ഉപയോഗിയ്ക്കുവാനുള്ള സെഷന്‍"
+
+#: gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "ഉപയോക്താവ് വ്യക്തമാക്കിയ പ്രയോഗങ്ങള്‍ ലോഡ് ചെയ്യേണ്ട"
+
+#: gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "ഈ പ്രയോഗത്തിന്റെ പതിപ്പു്"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "പരീക്ഷണത്തിനായി പരാജയ ഡയലോഗ് കാണിയ്ക്കുക"
+
+#: gnome-session/main.c:284
+msgid "Disable hardware acceleration check"
+msgstr "ഹാര്‍ഡ്‍വെയര്‍ ആക്സിലറേഷന്‍ പരിശോധന ഒഴിവാക്കുക"
+
+#: gnome-session/main.c:316
+msgid " — the GNOME session manager"
+msgstr " — GNOME പ്രവര്‍ത്തനവേള നടത്തിപ്പുകാരന്‍"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"ചില സെഷന്‍ പ്രവര്‍ത്തനങ്ങളെ തടസ്സപ്പെടുത്തികൊണ്ട് COMMAND നടപ്പിലാക്കുക.\n"
+"\n"
+" -h, --help ഈ സഹായം കാണിക്കുക\n"
+" --version പ്രോഗ്രാം പതിപ്പ് കാണിക്കുക\n"
+" --app-id ID തടസ്സപ്പെടുത്തുമ്പോള്‍ ഉപയോഗിക്കേണ്ട\n"
+" ആപ്ലിക്കേഷന്‍ ഐഡി (വേണമെങ്കില്‍)\n"
+" --reason REASON തടസ്സപ്പെടുത്താനുള്ള കാരണം (വേണമെങ്കില്‍)\n"
+" --inhibit ARG എന്തൊക്കെ തടസ്സപ്പെടുത്തണം, കോളന്‍ കൊണ്ടു തിരിച്ച പട്ടിക:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only COMMAND തുടങ്ങിയിട്ട് എന്നേക്കുമായി കാത്തിരിക്കേണ്ട\n"
+"\n"
+"--inhibit ഐച്ഛികങ്ങളൊന്നും തെരഞ്ഞെടുത്തിലെങ്കില്‍, ചുമ്മായിരിക്കുന്നതായി കരുതുന്നു.\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s നടപ്പിലാക്കുന്നതില്‍ പരാജയപ്പെട്ടു\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ന് ഒരു ആര്‍ഗ്യുമെന്റ് ആവശ്യ‌മുണ്ട്\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "പുറത്തിറങ്ങുക"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "പവര്‍ ഓഫ് ചെയ്യുക"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "വീണ്ടും തുടങ്ങുക"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "തടസ്സമുണ്ടാക്കുന്നവരെ വക വയ്ക്കുന്നില്ല"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "ഉറപ്പു വരുത്തുന്നതിനായി ഇനി ചോദിക്കേണ്ട"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "പ്രവര്‍ത്തനവേള നടത്തിപ്പുകാരനുമായി ബന്ധപ്പെടാന്‍ കഴിയുന്നില്ല"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "പരസ്പരവിരുദ്ധമായ ഐച്ഛികങ്ങളോടെയാണു് പ്രോഗ്രാമിനെ വിളിച്ചിരിയ്ക്കുന്നതു്"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "പ്രവർത്തനവേള %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "പ്രവർത്തനവേളയുടെ പേര് “.” വെച്ച് തുടങ്ങാനോ “/” കാണാനോ പാടില്ല"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "“.” വെച്ച് പ്രവർത്തനവേളയുടെ പേര് തുടങ്ങാന്‍ പാടില്ല"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "പ്രവർത്തനവേളയുടെ പേരില്‍ “/” കാണാന്‍ പാടില്ല"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "“%s” എന്ന പേരില്‍ ഒരു പ്രവർത്തനവേള നിലവിലുണ്ടു്"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "ഈ പ്രവര്‍ത്തനവേള നിങ്ങളെ ഗ്നോമിലേക്ക് കയറ്റുന്നു, വേലാന്റ് ഉപയോഗിച്ച്"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "കൂടുതല്‍ പ്രാരംഭ _പ്രയോഗങ്ങള്‍:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "പ്രാരംഭ പ്രയോഗങ്ങൾ"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "പുറത്തിറങ്ങുമ്പോള്‍ പ്രവര്‍ത്തിയ്ക്കുന്ന പ്രയോഗങ്ങള്‍ ഓര്‍ത്തിരിയ്ക്കുക."
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "ഇപ്പോള്‍ പ്രവര്‍ത്തിക്കുന്ന പ്രയോഗങ്ങള്‍ _ഓര്‍ക്കുക"
+
+#~ msgid "Options"
+#~ msgstr "ഐച്ഛികങ്ങള്‍"
+
+#~ msgid "Browse…"
+#~ msgstr "പരതുക..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "അഭിപ്രായം:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_ആജ്ഞ:"
+
+#~ msgid "_Name:"
+#~ msgstr "_പേരു്:"
+
+#~ msgid "Select Command"
+#~ msgstr "കമാന്‍ഡ് തെരഞ്ഞെടുക്കുക"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "ആരംഭ നിര്‍ദ്ദേശം ചേര്‍ക്കുക"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "ആരംഭ നിര്‍ദ്ദേശം ചിട്ടപ്പെടുത്തുക"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ആരംഭ നിര്‍ദ്ദേശം ശൂന്യമായിരിക്കുവാന്‍ പാടില്ല"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "ആരംഭ ആജ്ഞ ശരിയല്ല"
+
+#~ msgid "Enabled"
+#~ msgstr "പ്രവര്‍ത്തന സജ്ജമാക്കുക"
+
+#~ msgid "Icon"
+#~ msgstr "ചിഹ്നം "
+
+#~ msgid "Program"
+#~ msgstr "പ്രോഗ്രാം"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "പ്രാരംഭ പ്രയോഗങ്ങള്‍ക്കുള്ള മുന്‍ഗണനകള്‍"
+
+#~ msgid "No name"
+#~ msgstr "പേരില്ല"
+
+#~ msgid "No description"
+#~ msgstr "വിവരണം ഒന്നുമില്ല"
+
+#~ msgid "Could not display help document"
+#~ msgstr "സഹായത്തിനുള്ള വിവരണം ലഭ്യമാക്കുവാന്‍ സാധ്യമല്ല"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ചില പ്രയോഗങ്ങള്‍ ഇപ്പോഴും പ്രവര്‍ത്തിച്ചു് കൊണ്ടിരിയ്ക്കുന്നു:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "പ്രാരംഭ പ്രയോഗങ്ങള്‍"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "നിങ്ങള്‍ ലോഗിന്‍ ചെയ്യുമ്പോള്‍ ആരംഭിക്കേണ്ട പ്രയോഗങ്ങള്‍ തെരഞ്ഞെടുക്കുക"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ഇതൊരു ശരിയായ .പണിയിടം (.desktop ) ഫയലല്ല"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ആറിയാത്ത പണിയിടം ഫയലിന്റെ പതിപ്പ് '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s തുടങ്ങുന്നു"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "പ്രയോഗം രചനകള്‍ ആജ്ഞ സ്ഥാനത്തു് സ്വീകരിക്കുന്നില്ല"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "മനസിലാക്കാന്‍ കഴിയാത്ത തുടങ്ങാനുള്ള ഐച്ഛികം: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "രചനാ യു.അര്‍.എലുകള്‍ ഒരു 'Type=Link'('തരം=ബന്ധം') പണിയിട കുറിപ്പിലേക്ക് ചേര്‍ക്കാന്‍ "
+#~ "കഴിയില്ല"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "തുടങ്ങാവുന്ന വസ്തുവല്ല"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "പ്രവര്‍ത്തനവേള നടത്തിപ്പുകാരനുമായി ബന്ധം അപ്രാവര്‍ത്തികമാക്കുക"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "സൂക്ഷിച്ചിരിക്കുന്ന ക്രമീകരണങ്ങള്‍ ഉള്ള ഫയല്‍ വ്യക്തമാക്കുക"
+
+#~ msgid "FILE"
+#~ msgstr "FILE(ഫയല്‍ )"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "പ്രവര്‍ത്തനവേള കൈകാര്യം ചെയ്യാനുള്ള തിരിച്ചറിയല്‍ വ്യക്തമാക്കുക"
+
+#~ msgid "ID"
+#~ msgstr "ID (തിരിച്ചറിയല്‍)"
+
+#~ msgid "Session management options:"
+#~ msgstr "സെഷന്‍ മാനേജ്മെന്റ ഉപാധികള്‍:"
+
+#~ msgid "Show session management options"
+#~ msgstr "സെഷന്‍ മാനേജ്മെന്റ ഉപാധികള്‍ കാണിക്കുക"
+
+#~ msgid "Unknown"
+#~ msgstr "അപരിചിതമായ"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ഒരു പ്രയോഗം ഇപ്പോഴും പ്രവര്‍ത്തിച്ചു് കൊണ്ടിരിയ്ക്കുന്നു:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "പ്രയോഗം തീരുന്നതു് വരെ കാത്തിരിയ്ക്കുന്നു. ഈ പ്രയോഗം തടസ്സപ്പെടുത്തുന്നതു് നിങ്ങള്‍ "
+#~ "ചെയ്തുകൊണ്ടിരിയ്ക്കുന്ന പണി നഷ്ടപ്പെടുവാന്‍ കാരണമായേയ്ക്കാം."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "പ്രയോഗങ്ങള്‍ തീരുന്നതു് വരെ കാത്തിരിയ്ക്കുന്നു. ഈ പ്രയോഗങ്ങളെ തടസ്സപ്പെടുത്തുന്നതു് നിങ്ങള്‍ "
+#~ "ചെയ്തുകൊണ്ടിരിയ്ക്കുന്ന പണി നഷ്ടപ്പെടുവാന്‍ കാരണമായേയ്ക്കാം."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "എന്തായാലും ഉപയോക്താവിനെ മാറ്റുക"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "എന്തായാലും പുറത്തിറങ്ങുക"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "എന്തായാലും മയങ്ങുക"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "എന്തായാലും ശിശിരനിദ്രയിലാഴുക"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "എന്തായാലും നിര്‍ത്തി വയ്ക്കുക"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "എന്തായാലും വീണ്ടും തുടങ്ങുക"
+
+#~ msgid "Lock Screen"
+#~ msgstr "സ്ക്രീന്‍ പൂട്ടുക"
+
+#~ msgid "Cancel"
+#~ msgstr "റദ്ദാക്കുക"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "നിങ്ങള്‍ താനെ %d സെക്കന്റില്‍ പുറത്തിറങ്ങുന്നതായിരിയ്ക്കും."
+#~ msgstr[1] "നിങ്ങള്‍ താനെ %d സെക്കന്റില്‍ പുറത്തിറങ്ങുന്നതായിരിയ്ക്കും."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ഈ സിസ്റ്റം തനിയെ %d സെകന്റില്‍ അടച്ചു പൂട്ടും"
+#~ msgstr[1] "ഈ സിസ്റ്റം തനിയെ %d സെകന്റില്‍ അടച്ചു പൂട്ടും"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ഈ സിസ്റ്റം തനിയെ %d സെക്കന്റില്‍ അടച്ചു പൂട്ടും."
+#~ msgstr[1] "ഈ സിസ്റ്റം തനിയെ %d സെക്കന്റുകളില്‍ അടച്ചു പൂട്ടും."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "നിങ്ങള്‍ നിലവില്‍ \"%s\" ആയി ലോഗിന്‍ ചെയ്തിരിക്കുന്നു."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "ഈ സിസ്റ്റത്തില്‍ നിന്ന് ഇപ്പോള്‍ പുറത്തിറങ്ങണോ?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ഉപയോക്താവിനെ മാറ്റുക"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "ഈ സിസ്റ്റം ഇപ്പോള്‍ അടച്ചുപൂട്ടണോ ?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_മയങ്ങിക്കോട്ടെ"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_ശിശിരനിദ്ര"
+
+#~ msgid "_Restart"
+#~ msgstr "വീണ്ടും തുടങ്ങുക"
+
+#~ msgid "_Shut Down"
+#~ msgstr "കമ്പ്യൂട്ടര്‍ അടച്ചുപൂട്ടുക"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ഈ സിസ്റ്റം ഇപ്പോള്‍ വീണ്ടും ആരംഭിയ്ക്കണമോ?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' ചിഹ്നം കണ്ടില്ല"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "ഗ്നോം 3 ലഭ്യമാക്കുന്നതില്‍ പരാജയപ്പെട്ടു"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "ഗ്നോം 3 ശരിയായി ആരംഭിയ്ക്കുന്നതില്‍ പരാജയപ്പെട്ടു, അതിനാല്‍ <i>ഫോള്‍ബാക്ക് മോഡില്‍</i> "
+#~ "ആരംഭിച്ചിരിയ്ക്കുന്നു.\n"
+#~ "\n"
+#~ "ഇതിനര്‍ത്ഥം ഒരു പക്ഷേ നിങ്ങളുടെ സിസ്റ്റം (ഗ്രാഫിക്സ് ഹാര്‍ഡ്‌വെയര്‍ അല്ലെങ്കില്‍ ഡ്രൈവര്‍) പൂര്‍"
+#~ "ണ്ണമായി ഗ്നോം 3 ആസ്വദിയ്ക്കുന്നതിനു് അനുവദിയ്ക്കുന്നില്ല."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "ഗ്നോം 3-യെപ്പറ്റി കൂടുതല്‍ അറിയുക"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "അകത്തുകയറുമ്പോഴുള്ള പ്രവര്‍ത്തനവേള തുടങ്ങാന്‍ കഴിഞ്ഞില്ല (എക്സ്-സെര്‍വറിലേക്ക് ബന്ധപ്പെടാനും "
+#~ "സാധിച്ചില്ല)"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "ഗ്നോം സജ്ജീകരണങ്ങള്‍ക്കുള്ള നിരന്തരപ്രവൃത്തിയ്ക്കായുള്ള വേലക്കാരന്‍"
+
+#~ msgid "File Manager"
+#~ msgstr "ഫയല്‍ നടത്തിപ്പുകാരന്‍"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "സഹജമായ പ്രവര്‍ത്തനവേളയുടെ ഭാഗമായ പ്രയോഗങ്ങളുടെ പട്ടിക."
diff --git a/po/mn.po b/po/mn.po
new file mode 100644
index 0000000..34d728a
--- /dev/null
+++ b/po/mn.po
@@ -0,0 +1,496 @@
+# translation of gnome-session.gnome-2-4.po to Mongolian
+# translation of gnome-session.HEAD.po to Mongolian
+# translation of mn.po to Mongolian
+# translation of gnome-session.HEAD.mn.po to Mongolian
+# This file is distributed under the same license as the PACKAGE package.
+# SukhOchir <sukhochir@csms.edu.mn>,
+# Bayarsaihan <bijinhenemongol@yahoo.com>
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Sanlig Badral <badral@chinggis.com>, 2003.
+# Sanlig Badral <Badral@openmn.org>, 2003.
+# Sanlig Badral <badral@openmn.org>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.gnome-2-4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2003-12-26 22:00+0100\n"
+"Last-Translator: Sanlig Badral <badral@openmn.org>\n"
+"Language-Team: Mongolian <openmn-core@lists.sf.net>\n"
+"Language: mn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "TCP холболтыг зөвшөөрөх"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Найдвартай байдлын үүднээс , _IceTcpTransNoListen() -тай платтформ(XFree86 "
+"systems), gnome-session TCP холболтын портыг сонсохгүй. Энэ сонголт "
+"(authorized) алсын хостын холболтыг зөвшөөрөх ба gnome-session эргэж шинээр "
+"эхлүүлсний дараа нөлөөлнө."
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Хэрвээ нээлттэй бол gnome-session хэрэглэгчийг гарахын өмнө сонордуулна."
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Хэрвээ нээлттэй бол gnome-session хэрэглэгчийг гарахын өмнө суултыг нь "
+"автоматаар хадгалана. Эсвэл гарахынх нь өмнө диалог харуулна."
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Горимоос гарах"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr "ГНОМЕ дэлгэцэнд орох үед сонгосон зургийг дэлгэцэнд тавина"
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Суултыг хадгалах"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Дэлгэцийн өнгийг харуулах"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "Суулт эхлэхэд дэлгэцэнд харуулах өнгө"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr "Дэлгэцэнд тавих зураг"
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "Цуваа"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Суултанд эхэлсэн програмын цуваа"
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Програмаас гарах үед юу болов"
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "Загвар"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Цуваа"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Загвар"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Хэсэг"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Програм"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Идэвхигүй"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Бүүр дуусгах эсвэл эхлүүлэхийг хүлээж байна"
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Эхэлж байна"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Эхлэнэ, гэхдээ төлвийг дамжуулахгүй"
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Ажиллуулж байна"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Суултын энгийн гишүүн "
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Хадгалж байна"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Суултыг нарийвчлан хадгалж байна"
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Тодорхойлогдоогүй"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Тасарсан учир тодорхойлогдсонгүй"
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Хэвийн"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Гаралтаар хандалтгүй болох боловч устана"
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Дахин эхлэх"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Устахыг хэзээ ч зөвшөөрөхгүй"
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Хогийн сав"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Гаралтаар ажиллагаа зогсож,устана"
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Тохиргоо"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Горим руу орох бүрд эхлэх"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"ГНОМЕ демоны тохиргоог эхлүүлэхэд алдаа гарлаа.\n"
+"\n"
+"Яригч, дэвсгэр зэрэг зарим зүйлсийн тохиргоо зөв ажиллагаагүй байна."
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Сүүлийн алдааны мэдээлэл нь:\n"
+"\n"
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Таныг эргэж нэвтрэхэд ГНОМЕ тохируулгын программыг дахин эхлүүлэхийг "
+"оролдоно."
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Алдаа тодорхойгүй байна"
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Тохируулгын програм хэтэрхий олон удаа ачаалагдсан байна"
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Та үнэхээр гарахыг хүсэж байна уу?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "_Идэвхитэй бүтцийг хадгалах"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Үйлдэл"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_Гарах"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "_Унтраах"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "Компьютерийг дахин асаах"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Ачаалах суултын нэрийг өгнө үү"
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Хадгалагдсан суултууд зөвхөн default.session файлаас уншигдана"
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Клиентүүдийг бүртгэхэд хэдэн хором хүлээх вэ. (0=тасралтгүй)"
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Клиентүүдийг хариу өгтөл хэдэн хором хүлээх вэ(0=тасралтгүй)"
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Клиентүүдийг усттал хэдэн хором хүлээх вэ (0=тасралтгүй)"
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"%s интернет хаягийг тогтоож чадсангүй.\n"
+"Энэ шалтгаанаар ГНОМЕ зөв ажиллахгүй байж болно.\n"
+"Та %s /etc/hosts файлд нэмснээр асуудал шийдэгдэх боломжтой."
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Ямарч гэсэн нэвтрэх"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Дахин оролдоно уу"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Таны суулт хадгалагдсан"
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Зөрчилийн улмаас хүлээлт тасарлаа."
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "%s команд дээр хариу ирэхгүй байна."
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Програм магад удаан эсвэл зогссон эсвэл эвдрэлтэй."
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Та үүнийг хариу өгөхийг нь хүлээ эсвэл устга"
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Шинэ эхлүүлэлт алдааны улмаас тасарлаа."
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Суултыг шууд унтраах"
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Идэвхитэй суулт тодорхойлох"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Суултыг хүчээр таслах"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Харилцах цонхнууд ашиглах"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Суулт менежерт холбогдож чадсангүй"
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Та ямар нэг суултын нэр өгөх ёстой"
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Суултын нэр хэдийнэ үүссэн байна"
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Шинэ суулт нэмэх"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Суултын нэрийг засах"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Засварлах"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Зарим өөрчлөлтүүд хадгалагдсангүй.\n"
+"Тэгсэн ч гэсэн гарах уу?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Суултууд"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "_Нэвтрэхэд мэндчилгээ цонх харуулах"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "Гарахад нягтлан _асуух"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Суултын өөрчлөлтүүдийг автоматаар хадгалах"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Суултууд:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Суултын нэр"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Суултын тохиргоо"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Идэвхитэй суулт"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "Нэмэлт эхлэл _програмууд"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Комманд"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Эхлэл програмууд"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Яг одоо сонгогдсон клиентийг суултаас устгах"
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Өөрчлөлтүүдийг идэвхитэй байгаа энэ суултанд хэрэглэх"
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Суулт дэх програмын жагсаалт."
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Одоогоор ажиллаж буй програмууд"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Суултын тохируулгыг эхлүүлэх"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Суултаа тохируулах"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "\"Савфиш\" цонхны менежер"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "\"Метасити\" цонхны менежер"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Цонхны менежер"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Самбар"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Суулт менежер - Итгэмжилэгч"
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Наутилус"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Дэлгэцийн тохируулга"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "_Эхлэл комманд:"
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Эхлэл комманд:"
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Эхлэл комманд хоосон байх ёсгүй"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Эхлэл програм нэмэх"
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Эхлэл програм засварлах"
+
+#~ msgid "Save Current Session"
+#~ msgstr "Ажиллаж буй суултыг хадгалах"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Дэлгэцийн идэвхитэй төлвийг хадгалах"
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 0000000..312ddb6
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,655 @@
+# translation of mr.po to Marathi
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# FIRST AUTHOR: Swapnil Hajare <dreamil1000a@yahoo.com>
+# SECOND AUTHOR: Pradeep Deshpande
+# THIRD AUTHOR: Rahul Bhalerao <b.rahul.pm@gmail.com>, 2006.
+# FOURTH AUTHOR: Sandeep Shedmake <sshedmak@redhat.com>, 2008, 2009.
+# Sandeep Shedmake <sshedmak@redhat.com>, 2009, 2010, 2012, 2013, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: mr\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-09-11 19:24+0000\n"
+"PO-Revision-Date: 2014-09-12 09:43+0530\n"
+"Last-Translator: Sandeep Shedmake <sshedmak@redhat.com>\n"
+"Language-Team: Marathi <fedora-trans-mr@redhat.com>\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "पसंतीचे"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "हि नोंदणी तुम्हाला साठवलेले सत्र पसंत करायला देते"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "GNOME मध्ये दाखल करण्याजोगी सत्र लॉग"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME डम्मी"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+#| msgid "GNOME fallback"
+msgid "GNOME on Wayland"
+msgstr "वेलँडवरील GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "हे सत्र तुम्हाला GNOME मध्ये दाखल करते, वेलँडचा वापर करत आहे"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "पसंतीचे सत्र"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "कृपया चालवण्याजोगी पसंतीचे सत्र पसंत करा"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "नवीन सत्र (_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "सत्र काढून टाका (_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "सत्राला पुनःनाव द्या (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "सुरू ठेवा (_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "अगाऊ प्रारंभिक कार्यक्रम (_p):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "आरंभिक कार्यक्रम"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "बाहेर पडतेवेळी आपोआप अनुप्रयोग कार्यरत करणे स्मर्णात ठेवा (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "सध्या सुरू असलेले ॲप्लिकेशन्स् लक्षात ठेवा (_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "पर्याय"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "तपासा..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "टिपण्णी (_e):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "आदेश (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "नाव (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "अरे! काहितरी चुकले."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"अडचण आढळली व प्रणालीची पुनःप्राप्ति अशक्य. कृपया प्रणाली प्रशासकाशी संपर्क करा"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"अडचण आढळली व प्रणालीची पुनःप्राप्ति अशक्य. सर्व एक्सटेंशन्स्ला सावधगिरी "
+"म्हणून बंद केले आहे."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"अडचण आढळली व प्रणालीची पुनःप्राप्ति अशक्य. \n"
+"कृपया बाहेर पडा व पुनः प्रयत्न करा."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "बाहेर पडा (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "डीबगींग कोड कार्यान्वीत करा"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "बाहेर पडा स्वीकारा"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "एक्सटेंशन सावधानता दाखवा"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "प्रतिसाद देत नाह"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "बाहेर पडा (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "लक्षात ठेवलेले ॲप्लिकेशन्स्"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "हा प्रोग्राम बाहेर पडण्यापासून रोखत आहे."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"नविन क्लाऐंट जुळवणी नकारत आहे कारण सत्र वर्तमानक्षणी बंद केले जात आहे\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE सक्रीय सॉकेट बनवू शकला नाही: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "मानक स्वप्रारंभ संचयीकावर खोडून पुन्हा लिहा"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "वापरण्याजोगी सत्र"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "वापरकर्ता-निर्देशीत अनुप्रयोग दाखल करू शकले नाही"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "या अनुप्रयोगाची आवृत्ती"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "चाचणीवेळी अपयशी संवाद दाखवा"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr " - GNOME सत्र व्यवस्थापक"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"काही ठराविक सत्र कामगिरी थांबवतेवेळी COMMAND चालवा.\n"
+"\n"
+" -h, --help ही मदत दाखवा\n"
+" --version प्रोग्राम आवृत्ती दाखवा\n"
+" --app-id ID रोखतेवेळी वापरण्याजोगी ॲप्लिकेशन id\n"
+" (वैकल्पिक)\n"
+" --reason REASON रोखण्यासाठीचे कारण (वैकल्पिक)\n"
+" --inhibit ARG रोखण्याजोगी बाबी, स्वल्पविराम-विभाजीत सूची\n"
+" लॉगआउट, स्वीच-युजर, सस्पेंड, आयडल, ऑटोमाउंट\n"
+" --inhibit-only COMMAND सुरू करू नका व त्याऐवजी नेहमीसाठी थांबा\n"
+"\n"
+"--inhibit पर्याय निर्देशीत न केल्यास, आयडल गृहीत घेतले जाते.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s चालवण्यास अपयशी\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ला आर्ग्युमेंट आवश्यक आहे\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "सत्र %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"सत्र नाव ‘.’ पासून सुरू होत नाही किंवा त्यामध्ये ‘/’ अक्षरे समाविष्टीत नाही"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "सत्र नाव ‘.’ पासून सुरू होत नाही"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "सत्र नावात ‘/’ अक्षरे समाविष्टीत नसावे"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "‘%s’ नावाचे सत्र आधिपासूनच अस्तित्वात आहे"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "बाहेर पडा"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "बंद करा"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "पुनःबूट करा"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "अस्तित्वाती इंहिबिटर्सकडे दुर्लक्ष करत आहे"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "वापरकर्ता खात्रीकरीता विनंती करू नका"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "सत्र संचालकाशी संपर्क झाला नाही"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "मतभेदीय पर्यायसह कार्यक्रमाला कॉल केले"
+
+#~ msgid "Select Command"
+#~ msgstr "आदेश नीवडा"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "सुरूवातीचा कार्यक्रम समाविष्ट करा"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "सुरु होणारे कार्यक्रम संपादन करा"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "सुरुवातीची आज्ञा रिकामी असू शकत नाही"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "प्रारंभ आदेश वैध नाही"
+
+#~ msgid "Enabled"
+#~ msgstr "कार्यान्वीत"
+
+#~ msgid "Icon"
+#~ msgstr "चिन्ह"
+
+#~ msgid "Program"
+#~ msgstr "कार्यक्रम"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "प्रारंभिक अनुप्रयोग आवड निवड"
+
+#~ msgid "No name"
+#~ msgstr "नाव आढळले नाही"
+
+#~ msgid "No description"
+#~ msgstr "वर्णन आढळले नाही"
+
+#~ msgid "Could not display help document"
+#~ msgstr "मदत दस्तऐवज दाखवण्यास अशक्य"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "काहिक कार्यक्रम अजूनही कार्यरत आहे:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "आरंभिक अनुप्रयोग"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "प्रवेश केल्यावर कुठले अनुप्रयोग सुरू करायचे ते नीवडा"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "फाइल वैध .desktop फाइल नाही"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "अपरिचीत डेस्कटॉप फाइल आवृत्ती '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s सुरू करत आहे"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "अनुप्रयोग आदेश ओळ पासून दस्तऐवज स्वीकारत नाही"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "अपरिचीत प्रक्षेपन पर्याय: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "'Type=Link' डेस्कटॉप नोंदणी करीता दस्तऐवजातील URIs पाठवू शकत नाही"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "प्रक्षेपण घटक नाही"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "सत्र संचालकाशी जुळवणी मोडा"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "संचयीत संयोजना समाविष्ठीत फाइल निर्देशीत करा"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "सत्र व्यवस्थापन ID निर्देशीत करा"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "सत्र व्यवस्थपान पर्याय:"
+
+#~ msgid "Show session management options"
+#~ msgstr "सत्र व्यवस्थपान पर्याय दाखवा"
+
+#~ msgid "Unknown"
+#~ msgstr "अज्ञात"
+
+#~ msgid "A program is still running:"
+#~ msgstr "कार्यक्रम अजूनही कार्यरत आहे:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "प्रोग्राम समाप्त होण्याची वाट पहात आहे. प्रोग्राममध्ये व्यत्य आणल्यास केलेले कार्य गमवाल."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "कार्यक्रमाच्या समाप्तीकरीता प्रतिक्षेत आहे. अशा कार्यक्रमास अडथळा आणल्यास तुमचे कार्य "
+#~ "गमवाल."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "वापरकर्त्यास कसेहीकरून बदलवा"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "कसेही बाहेर पडा"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "कसेहीकरून रद्द वगळा"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "कसेही करून हायबरनेट करा"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "कसेही बंद करा करा"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "कसेही पुन्हा सुरू करा"
+
+#~ msgid "Lock Screen"
+#~ msgstr "पडदा कुलूपबंद करा"
+
+#~ msgid "Cancel"
+#~ msgstr "रद्द करा"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "तुम्ही आपोआप %d सेकंदात बाहेर पडाल."
+#~ msgstr[1] "तुम्ही आपोआप %d सेकंदात बाहेर पडाल."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "प्रणाली आपोआप %d सेकंदात पूर्णपणे बंद होईल."
+#~ msgstr[1] "प्रणाली आपोआप %d सेकंदात पूर्णपणे बंद होईल."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "हि प्रणाली आपोआप %d सेकंदात पुनः सुरू केले जाईल."
+#~ msgstr[1] "हि प्रणाली आपोआप %d सेकंदात पुनः सुरू केले जाईल."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "तुम्ही वर्तमानक्षणी \"%s\" नुरूप प्रवेश केला आहे."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "या प्रणालीतून आता बाहेर पडा?"
+
+#~ msgid "_Switch User"
+#~ msgstr "वापरकर्ता बदलवा (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "या प्रणालीस आता बंद करा?"
+
+#~ msgid "S_uspend"
+#~ msgstr "सस्पेंड (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "हायबरनेट (_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "पुन्हा सुरू करा (_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "बंद करा (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ह्या प्रणालीला आता पुनः सुरू करायचे?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "चिन्ह '%s' आढळले नाही"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 लोड होण्यास अपयशी"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "GNOME 3 अनपेक्षीतरित्या सुरू होण्यास अपयशी झाली व <i>फॉलबॅक मोड</i>मध्ये सुरू झाले.\n"
+#~ "\n"
+#~ "याचा अर्थ प्रणाली (ग्राफिक्स हार्डवेअर किंवा ड्राइव्हर) संपूर्ण GNOME 3 अनुभव प्रदान "
+#~ "करण्यास सक्षम नाही."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "GNOME 3 विषयी आणखी शिका"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "प्रवेश सत्र सुरू करण्यास अपयशी (व X सर्वरशी जुळवणी स्थपीत करणे शक्य नाही)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>काहिक कार्यक्रम आताही कार्यरत आहे:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "कोड %d सह बाहेर पडले"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "सिग्नल %d तर्फे नष्ट झाले"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "सिग्नल %d तर्फे थांबवले"
+
+#~ msgid "File Manager"
+#~ msgstr "फाइल व्यवस्थापक"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "समर्थीत असल्यास, gnome-session वापरकर्त्याला सत्र संपण्यापूर्वी सूचना देईल."
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "समर्थीत असल्यास, gnome-session सत्राला स्वयंपणे साठवेल."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "पूर्वनिर्धारीत सत्राचे भाग असलेले अनुप्रयोगांची यादी."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "सत्राचे भाग म्हणून आवश्यक घटकांची यादी. (प्रत्येक घटकाचे नाव \"/desktop/gnome/"
+#~ "session/required_components\" अंतर्गत कि यासह निगडीत आहे.) सत्र प्राधान्यक्रम "
+#~ "साधारणतया वापरकर्त्यांना सत्रा पासून आवश्यक घटक काढण्यास परवानगी देत नाही, व सत्र "
+#~ "व्यवस्थापक आपोआप आवश्क घटक सत्र मध्ये घटक न काढल्यास समाविष्ट करतो."
+
+#~ msgid "Logout prompt"
+#~ msgstr "बाहेर जाण्यासाठीचे चिन्ह"
+
+#~ msgid "Panel"
+#~ msgstr "तावदान"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "झटकन दिसाऱ्या पडदा करीता निर्धारीत प्रतिमा"
+
+#~ msgid "Required session components"
+#~ msgstr "आवश्यक सत्र घटक"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "झटकन येणारा पडदा दाखवा"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "सत्र सुरू झाल्यानंतर झटकन येणारा पडदा दाखवा"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "फाइल व्यवस्थापक डेस्कटॉप चिन्ह पुरवितो व तुम्हाला संचयीत फाइलशी संपर्क साधण्यास सहमती "
+#~ "देतो."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "सत्र रिकमे होण्यापूर्वी मिनीटं अंतर्गत निष्क्रीयता कालावधी."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "पटल पडद्याच्या वरील किंवा तळ बाजूस समाविष्ठीत मेन्यू, चौकट यादी, स्थिती चिन्ह, "
+#~ "घड्याळ, इत्यादी करीता पट्टी पुरवितो."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "चौकट व्यवस्थपाक या कार्यक्रम चौकट भोवती शिर्षक पट्टी व किनार काढतो, व "
+#~ "वापरकर्त्यास चौकट हलविण्यास व पुन्ह आकार देण्यास मदत करतो."
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will affect the next session login."
+#~ msgstr ""
+#~ "हे रिलेटिव्ह मार्गाचे मूल्य $datadir/pixmaps/ डिरेक्ट्रीवर आधारीत नाही. उप-डिरेक्ट्रीज् "
+#~ "व प्रतिमांचे नावे वैध मूल्ये आहेत. हे मूल्य बदल्यास पुढील सत्र प्रवेशावर फरक पडू शकतो."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "सत्र रिकामे असण्यापूर्वीचा वेळ"
+
+#~ msgid "Window Manager"
+#~ msgstr "खिडकी व्यवस्थापक"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "कार्यक्रमाच्या समाप्ती करीता प्रतिक्षेत आहे. कार्यक्रमास व्यत्य आणल्यास कार्यरत कार्य "
+#~ "अकार्यक्षम होण्याची भिती राहेल."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "संयोजना सर्वरसह त्रुटी आढळली.\n"
+#~ "(%s स्थिती %d सह बाहेर पडले)"
+
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "पूर्वनिर्धारीत सत्र करीता GConf कि"
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME स्पलॅश पडदा"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME स्पलॅश पडदा"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "बंद करा संवाद दाखवा"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "त्रुटी करीता संवाद पट वापरा"
+
+#~ msgid "Set the current session name"
+#~ msgstr "सध्याच्ये सत्र नाव निश्चित करा"
+
+#~ msgid "NAME"
+#~ msgstr "नाव"
+
+#~ msgid "Kill session"
+#~ msgstr "सत्र संपवा"
diff --git a/po/ms.po b/po/ms.po
new file mode 100644
index 0000000..bda787d
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,725 @@
+# gnome-session Bahasa Melayu (ms)
+# Melihat Sistem kehakiman masa kini, Saya tak hairan
+# kalau saya disabitkan dengan kesalahan mendera isteri
+# ketika saya masih BUJANG
+#
+# Hasbullah Bin Pit (sebol) <sebol@ikhlas.com>, 2001-2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-01-20 22:13+0000\n"
+"PO-Revision-Date: 2020-01-26 09:22+0800\n"
+"Last-Translator: abuyop <abuyop@gmail.com>\n"
+"Language-Team: Pasukan Terjemahan GNOME Malaysia\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Suai"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Masukan ini membolehkan anda pilih sesi tersimpan"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Sesi ini akan mendaftar masuk ke GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "semu GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+#| msgid "GNOME on Wayland"
+msgid "GNOME on Xorg"
+msgstr "GNOME di Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+#| msgid "Saving session details."
+msgid "Save sessions"
+msgstr "Simpan sesi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+#| msgid ""
+#| "If enabled, gnome-session will prompt the user before ending a session."
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Jika dibenarkan, gnome-session akan menyimpan sesi secara automatik."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+#| msgid "Set the current session"
+msgid "Save this session"
+msgstr "Simpan sesi ini"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+#| msgid ""
+#| "If enabled, gnome-session will save the session automatically. Otherwise, "
+#| "the logout dialog will have an option to save the session."
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Jika dibenarkan, gnome-session akan menyimpan sesi secara automatik ketika "
+"daftar keluar walaupun auto-simpan dilumpuhkan."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Bisikan daftar keluar"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Jika dibenarkan, gnome-session akan membisik pengguna sebelum mengakhirkan "
+"satu sesi."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+#| msgid "Show extension warning"
+msgid "Show the fallback warning"
+msgstr "Tunjuk amaran jatuh-balik"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Jika dibenarkan, gnome-session akan paparkan satu dialog amaran selepas "
+"daftar masuk jika sesi dijatuh-balikkan secara automatik."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sesi Suai"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Sila pilih satu sesi suai untuk dijalankan"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Sesi Baharu"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Buang Sesi"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Nam_a Semula Sesi"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Teruskan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Alamak! Ada masalah telah berlaku."
+
+#: gnome-session/gsm-fail-whale-dialog.c:320
+#| msgid ""
+#| "A problem has occurred and the system can't recover. Please contact a "
+#| "system administrator"
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Satu masalah telah berlaku dan menyebabkan sistem tidak dapat dipulihkan. "
+"Sila hubungi pentadbir sistem"
+
+#: gnome-session/gsm-fail-whale-dialog.c:322
+#| msgid ""
+#| "A problem has occurred and the system can't recover. All extensions have "
+#| "been disabled as a precaution."
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Satu masalah telah berlaku dan menyebabkan sistem tidak dapat dipulihkan. "
+"Semua sambungan telah dilumpuhkan sebagai langkah berjaga-jaga."
+
+#: gnome-session/gsm-fail-whale-dialog.c:324
+#| msgid ""
+#| "A problem has occurred and the system can't recover.\n"
+#| "Please log out and try again."
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Satu masalah telah berlaku dan menyebabkan sistem tidak dapat dipulihkan. \n"
+"Sila daftar keluar dan cuba sekali lagi."
+
+#: gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Daftar Keluar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:361 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Benarkan kod penyahpepijatan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Benarkan daftar keluar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Tunjuk amaran sambungan"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Tiada respons"
+
+#: gnome-session/gsm-util.c:414
+msgid "_Log out"
+msgstr "_Daftar keluar"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplikasi Diingati"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Program ini telah menyekat daftar keluar."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Enggan menerima sambungan klien baharu kerana sesi ini sedang dimatikan\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Tidak dapat mencipta soket mendengar ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Berjalan sebagai perkhidmatan systemd"
+
+#: gnome-session/main.c:399
+#| msgid " - the GNOME session manager"
+msgid "Use systemd session management"
+msgstr "Guna pengurusan sesi systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Guna pengurusan sesi terbina-dalam (berbanding yang berasaskan systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Batal direktori auto-mula piawai"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "DIR_AUTOMULA"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sesi yang digunakan"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NAMA_SESI"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Jangan memuatkan aplikasi khusus-pengguna"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versi aplikasi ini"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Tunjukkan dialog kegagalan untuk pengujian"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Lumpuhkan semakan pemecutan perkakasan"
+
+#: gnome-session/main.c:441
+#| msgid " - the GNOME session manager"
+msgid " — the GNOME session manager"
+msgstr " — pengurus sesi GNOME"
+
+#: tools/gnome-session-ctl.c:244
+msgid "Start gnome-session-shutdown.target"
+msgstr "Mulakan gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:245
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Mulakan gnome-session-shutdown.target ketika menerima EOF atau satu bait "
+"pada stdin"
+
+#: tools/gnome-session-ctl.c:246
+msgid "Signal initialization done to gnome-session"
+msgstr "Pengawalan isyarat dilakukan pada gnome-session"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Restart dbus.service if it is running"
+msgstr "Mula semula dbus.service jika ia dijalankan"
+
+#: tools/gnome-session-ctl.c:275
+msgid "Program needs exactly one parameter"
+msgstr "Program perlu satu parameter sahaja"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+#| msgid ""
+#| "%s [OPTION...] COMMAND\n"
+#| "\n"
+#| "Execute COMMAND while inhibiting some session functionality.\n"
+#| "\n"
+#| " -h, --help Show this help\n"
+#| " --version Show program version\n"
+#| " --app-id ID The application id to use\n"
+#| " when inhibiting (optional)\n"
+#| " --reason REASON The reason for inhibiting (optional)\n"
+#| " --inhibit ARG Things to inhibit, colon-separated list of:\n"
+#| " logout, switch-user, suspend, idle, automount\n"
+#| " --inhibit-only Do not launch COMMAND and wait forever instead\n"
+#| "\n"
+#| "If no --inhibit option is specified, idle is assumed.\n"
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Lakukan COMMAND ketika merencat beberapa kefungsian sesi.\n"
+"\n"
+" -h, --help Tunjuk bantuan ini\n"
+" --version Tunjuk versi program\n"
+" --app-id ID Id aplikasi yang digunakan\n"
+" ketika merencat (pilihan)\n"
+" --reason REASON Sebab melakukan perencatan (pilihan)\n"
+" --inhibit ARG Perkara yang direncatkan, senarai dipisah-tanda-titik-"
+"bertindih:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Jangan lancarkan COMMAND dan tunggu selamanya\n"
+"\n"
+"Jika tiada pilihan --inhibit dinyatakan, melahu dikuatkuasakan.\n"
+
+#: tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Gagal melakukan %s\n"
+
+#: tools/gnome-session-inhibit.c:206 tools/gnome-session-inhibit.c:216
+#: tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s memerlukan satu argumen\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Daftar keluar"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Padam"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "But Semula"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Mengabaikan mana-mana perencat yang ada"
+
+#: tools/gnome-session-quit.c:54
+#| msgid "Don't prompt for user confirmation"
+msgid "Don’t prompt for user confirmation"
+msgstr "Jangan bisikan pengesahan pengguna"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Tidak dapat bersambung dengan pengurus sesi"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program dipanggil dengan pilihan bercanggah"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesi %d"
+
+#: tools/gnome-session-selector.c:107
+#| msgid ""
+#| "Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Nama sesi tidak boleh bermula dengan \".\" atau mengandungi aksara \"/\""
+
+#: tools/gnome-session-selector.c:111
+#| msgid "Session names are not allowed to start with ‘.’"
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nama sesi tidak boleh bermula dengan \".\""
+
+#: tools/gnome-session-selector.c:115
+#| msgid "Session names are not allowed to contain ‘/’ characters"
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nama sesi tidak boleh mengandungi aksara \"/\""
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+#| msgid "A session named ‘%s’ already exists"
+msgid "A session named “%s” already exists"
+msgstr "Satu sesi bernama \"%s\" telah wujud"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Sesi ini log masukkan anda ke GNOME menggunakan Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Program permulaan _tambahan:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Program Permulaan"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Automatik mengingat aplikasi berjalan apabila log keluar"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Ingat Aplikasi Sedang Be_rjalan"
+
+#~ msgid "Options"
+#~ msgstr "Opsyen"
+
+#~ msgid "Browse…"
+#~ msgstr "Selongkar..."
+
+# help-browser/toc-man.c:19
+# help-browser/toc2-man.c:21
+#~ msgid "Comm_ent:"
+#~ msgstr "Kom_en:"
+
+# help-browser/toc-man.c:19
+# help-browser/toc2-man.c:21
+#~ msgid "Co_mmand:"
+#~ msgstr "Ar_ahan:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nama:"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Izinkan Sambungan TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Atas sebab keselamatan, pada platform yang mempunyai "
+#~ "_IceTcpTransNoListen() (Sistem XFree86), gnome-session tidak akan "
+#~ "mendengar sambungan pada liang TCP. Opsyen ini akan membolehkan sambungan "
+#~ "(sah) drpd hos jauh. gnome-session mesti diulanghidupkan supaya ia "
+#~ "bertindakbalas."
+
+#~ msgid ""
+#~ "Preferred Image to use for the splash screen when logging in to the GNOME "
+#~ "Desktop"
+#~ msgstr ""
+#~ "Imej digemari untuk digunakan bagi skrin splash bila menglogmasuk ke "
+#~ "Desktop GNOME"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Papar skrin splash"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Papar skrin splash bila sesi bermula"
+
+#~ msgid "Splash Screen Image"
+#~ msgstr "Imej Skrin Splash"
+
+#~ msgid "_Order:"
+#~ msgstr "_Turutan:"
+
+#~ msgid "The order in which applications are started in the session."
+#~ msgstr "Turutan aplikasi yang mana dimulakan pada sesi."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Apa terjadi pada aplikasi bila ia keluar."
+
+#~ msgid "_Style:"
+#~ msgstr "_Gaya:"
+
+#~ msgid "Order"
+#~ msgstr "Turutan:"
+
+#~ msgid "Style"
+#~ msgstr "Gaya:"
+
+#~ msgid "State"
+#~ msgstr "Keadaan:"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Inactive"
+#~ msgstr "Tidak aktif"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Menunggu untuk bermula atau sudah tamat."
+
+#~ msgid "Starting"
+#~ msgstr "Memulakan"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Bermula tetapi tidak dilaporkan keadaannya"
+
+#~ msgid "Running"
+#~ msgstr "Terlaksana"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Ahli normal bagi sesi"
+
+#~ msgid "Saving"
+#~ msgstr "Menyimpan"
+
+#~ msgid "Unknown"
+#~ msgstr "Entah"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Keadaan tidak dilaporkan dalam hadmasa."
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Kebal oleh logkeluar tetapi boleh mati"
+
+#~ msgid "Restart"
+#~ msgstr "Ulanghidup"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Tidak diizinkan untuk mati."
+
+#~ msgid "Trash"
+#~ msgstr "Sampah"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Abaikan ketika log keluar dan boleh mati"
+
+#~ msgid "Settings"
+#~ msgstr "Penetapan"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Sentiasa dimulakan pada setiap logmasuk."
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Terdapat ralat memulakan Daemon Tetapan GNOME.\n"
+#~ "\n"
+#~ "Terdapat perkara seperti tetapan tema, bunyi atau latang belakang mungkin "
+#~ "tidak berkerja dengan betul."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Mesej ralat terakhir adalah:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME akan cuba mengulanghidupkan Daemon Tetapan bila anda log masuk "
+#~ "kelak."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Terdapat ralat pengaktifan yang tidak diketahui."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Daemon Tetapan diulanghidup terlalu banyak kali."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Adakah anda pasti untuk log keluar?"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Simpan tetapan semasa"
+
+#~ msgid "Action"
+#~ msgstr "Aksi"
+
+#~ msgid "Sh_ut down"
+#~ msgstr "T_utup komputer"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Ulanghidup komputer"
+
+#~ msgid "Specify a session name to load"
+#~ msgstr "Nyatakan nama sesi untuk dimuatkan"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Hanya membaca sesi tersimpan daripada fail default.session"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Tempoh dalam milisaat diluangkan untuk menunggu klien mendaftar "
+#~ "(0=selamanya)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Tempoh dalam milisaat diluangkan untuk menunggu klien menjawap "
+#~ "(0=selamanya)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Tempoh dalam milisaat diluangkan untuk menunggu klien mati (0=selamanya)"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Tak boleh mencari alamat internet untuk %s.\n"
+#~ "Ianya akan mengelakkan GNOME daripada bekerja dengan betul.\n"
+#~ "Anda boleh membetulkan maslaah ini dengan menambah\n"
+#~ " %s di fail /etc/hosts"
+
+#~ msgid "Log in Anyway"
+#~ msgstr "Log Masuk Juga"
+
+#~ msgid "Try Again"
+#~ msgstr "Cuba Lagi"
+
+#~ msgid "Your session has been saved"
+#~ msgstr "Sesi anda telah pun disimpan"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Penantian diabaikan kerana konflik"
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Tiada jawapan untuk arahan %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Program mungkin perlahan, terhenti atau berderai."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Anda boleh menunggunya dijawap atau dibuang."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Ulanghidup diabaikan kerana kegagalan."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Sesi penutupan dalam progres."
+
+#~ msgid "Kill session"
+#~ msgstr "Bunuh sesi"
+
+#~ msgid "Use dialog boxes"
+#~ msgstr "Guna kekotak dialog"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Nama sesi tak boleh kosong"
+
+#~ msgid "Add a new session"
+#~ msgstr "Tambah sesi baru"
+
+#~ msgid "Edit session name"
+#~ msgstr "Edit nama sesi"
+
+#~ msgid "_Edit"
+#~ msgstr "_Edit"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Terdapat perubahan tidak disimpan\n"
+#~ "Masih OK untuk keluar?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Papar skrin splash pada _logmasuk"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Automatik simpan per_ubahan pada sesi"
+
+#~ msgid "Session Name"
+#~ msgstr "Nama Sessi"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Buang klien semasa dipilih dari sesi."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Terapkan perubahan perubahan pada sesi"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Senarai program pada sesi."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Program sedang terlaksana:"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Initialisasi Tetapan sesi"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Konfigurasi sesi anda"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Pengurus Tetingkap Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Pengurus Tetingkap Metacity"
+
+#~ msgid "Window Manager"
+#~ msgstr "Pengurus Tetingkap"
+
+#~ msgid "The Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Session Manager Proxy"
+#~ msgstr "Pengurus Proksi Sesi"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Tetapan Desktop"
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..27a1885
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,356 @@
+# Norwegian bokmål translation of gnome-session.
+# Copyright (C) 1998-2004 Free Software Foundation, Inc.
+# Kjartan Maraas <kmaraas@gnome.org>, 1998-2021.
+# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 3.40.x\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-11-30 13:10+0000\n"
+"PO-Revision-Date: 2021-03-13 17:40+0100\n"
+"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
+"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Egendefinert"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Denne oppføringen lar deg velge en lagret økt"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Denne økten logger inn i GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME på Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Lagre økter"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Hvis aktivert vil gnome-session lagre økten automatisk."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Lagre denne økten"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Vis advarsel for reserveløsning"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Egendefinert økt"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Velg en egendefinert økt som skal kjøres"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Ny økt"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Fje_rn økt"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "E_ndre navn på økt"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Fortsett"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Å nei! Noe har gått galt."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Et problem har oppstått og systemet kan ikke gjenopprettes. Vennligst "
+"kontakt en systemadmininstrator"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Et problem har oppstått og systemet kan ikke gjenopprettes. Alle utvidelser "
+"er slått av som følge av dette."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Et problem har oppstått og systemet kan ikke gjenopprettes.\n"
+"Vennligst logg ut og prøv igjen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Logg ut"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Aktiver feilsøkingskode"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Tillat utlogging"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Vis advarsel om utvidelser"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Svarer ikke"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "_Logg ut"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Husket program"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Dette programmet hindrer utlogging."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Nekter ny klient tilgang fordi økten er i ferd med å avsluttes\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Kunne ikke opprette plugg for ICE-lytting: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Kjører som systemd tjeneste"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Bruk systemd økthåndterer"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Bruk innebygget økthåndterer (i stedet for systemd sin)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Overstyr forvalgte kataloger for autostart"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Økt som skal brukes"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ikke last brukerdefinerte programmer"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versjon av dette programmet"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Vis feildialog for testing"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Slå av sjekk for maskinvareaksellerasjon"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr "– GNOME økthåndterer"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Start gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Start gnome-session-shutdown.target når EOF eller en enkelt byte mottas på "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signaliser initiering ferdig til gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Start dbus.service på nytt hvis den kjører"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Kjør fra ExecStopPost for å starte gnome-session-failed.target ved feil på "
+"tjenesten"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programmet trenger kun eksakt en parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [FLAGG …] KOMMANDO\n"
+"\n"
+"Kjør KOMMANDO mens noe av øktens funksjonalitet holdes tilbake.\n"
+"\n"
+" -h, --help Vis denne hjelpen\n"
+" --version Vis versjon for programmet\n"
+" --app-id ID Applikasjons-ID som skal brukes\n"
+" ved hindring (valgfri)\n"
+" --reason ÅRSAK Årsak for hindring\n"
+" --inhibit ARG Ting som skal hindres. Kolonseparert liste med:\n"
+" logout, switch-user, suspend, idle og automount\n"
+" --inhibit-only Ikke start KOMMANDO og vent for alltid i stedet\n"
+" -l, --list Vis eksisterende hindringer og avslutt\n"
+" \n"
+"Hvis ingen flagg gis til --inhibit vil idle brukes.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Klarte ikke å kjøre %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s krever et argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Logg ut"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Slå av"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Start på nytt"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Overser eventuelle hindringer"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ikke spør etter bekreftelse fra bruker"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Kunne ikke koble til økthåndterer"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programmet ble kalt med motstridende alternativer"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Økt %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Øktnavn kan ikke starte med «.» eller inneholde tegnet «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Øktnavn kan ikke starte med «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Øktnavn kan ikke inneholde «/»-tegn"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "En økt med navn «%s» eksisterer allerede"
diff --git a/po/nds.po b/po/nds.po
new file mode 100644
index 0000000..c8e84ff
--- /dev/null
+++ b/po/nds.po
@@ -0,0 +1,509 @@
+# Low German translation for gnome-session.
+# Copyright (C) 2009 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# Nils-Christoph Fiedler <fiedler@medienkompanie.de>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&component=general\n"
+"POT-Creation-Date: 2009-11-14 07:03+0000\n"
+"PO-Revision-Date: 2009-11-14 01:12+0100\n"
+"Last-Translator: Nils-Christoph Fiedler <fiedler@medienkompanie.de>\n"
+"Language-Team: Low German <nds-lowgerman@lists.sourceforge.net>\n"
+"Language: nds\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"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Order utwählen"
+
+#: ../capplet/gsm-app-dialog.c:194
+msgid "Add Startup Program"
+msgstr "Systemstartprogramm hentofögen"
+
+#: ../capplet/gsm-app-dialog.c:198
+msgid "Edit Startup Program"
+msgstr "Systemstartprogramm bewarken"
+
+#: ../capplet/gsm-app-dialog.c:486
+msgid "The startup command cannot be empty"
+msgstr "De Systemstartprogrammorder künn nich leer ween"
+
+#: ../capplet/gsm-app-dialog.c:492
+msgid "The startup command is not valid"
+msgstr "De Systemstartprogrammorder is nich valide"
+
+#: ../capplet/gsm-properties-dialog.c:555
+msgid "Enabled"
+msgstr "Aktivert"
+
+#: ../capplet/gsm-properties-dialog.c:567
+msgid "Icon"
+msgstr "Symbol"
+
+#: ../capplet/gsm-properties-dialog.c:579
+msgid "Program"
+msgstr "Programm"
+
+#: ../capplet/gsm-properties-dialog.c:792
+msgid "Startup Applications Preferences"
+msgstr ""
+
+#: ../capplet/gsp-app.c:269
+msgid "No name"
+msgstr "Keen Naam"
+
+#: ../capplet/gsp-app.c:275
+msgid "No description"
+msgstr "Keen Beschrievens"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:437
+msgid "Version of this application"
+msgstr "Verschoon vun düssem Programm"
+
+#: ../capplet/main.c:63
+msgid "Could not display help document"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Düsser Törn mellt dik bi GNOME an"
+
+#: ../data/gnome-session.schemas.in.in.h:1
+msgid "Default session"
+msgstr "Standardtörn"
+
+#: ../data/gnome-session.schemas.in.in.h:2
+msgid "File Manager"
+msgstr "Dateioppasser"
+
+#: ../data/gnome-session.schemas.in.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required_components\"). The "
+"Startup Applications preferences tool will not normally allow users to "
+"remove a required component from the session, and the session manager will "
+"automatically add the required components back to the session at login time "
+"if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:7
+msgid "Logout prompt"
+msgstr "Avmellensdialog"
+
+#: ../data/gnome-session.schemas.in.in.h:8
+msgid "Panel"
+msgstr "Balken"
+
+#: ../data/gnome-session.schemas.in.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:11
+msgid "Save sessions"
+msgstr "Törns spiekern"
+
+#: ../data/gnome-session.schemas.in.in.h:12
+msgid "Show the splash screen"
+msgstr "Splashbillschirm opwiesen"
+
+#: ../data/gnome-session.schemas.in.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:14
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:15
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:19
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Finsteroppasser"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Een paar Programme lööpen noh:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:667
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "Systemstartprogramme"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Tosettliche Systemstart_programme"
+
+#: ../data/session-properties.ui.h:2
+msgid "Browse..."
+msgstr "Ankieken..."
+
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "Or_der:"
+
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "Komm_entar:"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Optschoonen"
+
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "Systemstartprogramme"
+
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "_Naam:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "Starte %s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1394
+#, c-format
+msgid "Not a launchable item"
+msgstr "Düsses Element is nich startbar"
+
+#: ../egg/eggsmclient.c:225
+msgid "Disable connection to session manager"
+msgstr ""
+
+#: ../egg/eggsmclient.c:228
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:228
+msgid "FILE"
+msgstr "FILE"
+
+#: ../egg/eggsmclient.c:231
+msgid "Specify session management ID"
+msgstr ""
+
+#: ../egg/eggsmclient.c:231
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:252
+msgid "Session management options:"
+msgstr "Törnoppassensoptschoonen:"
+
+#: ../egg/eggsmclient.c:253
+msgid "Show session management options"
+msgstr "Törnoppassensoptschoonen opwiesen"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:255
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Symbol '%s' nich funnen"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:615
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:666
+msgid "A program is still running:"
+msgstr "Een Programm lööpt noh:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:670
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:671
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:901
+msgid "Switch User Anyway"
+msgstr "Bruker liekers wesseln"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:904
+msgid "Logout Anyway"
+msgstr "Liekers avmellen"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:907
+msgid "Suspend Anyway"
+msgstr "Liekers slopen gahn"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:910
+msgid "Hibernate Anyway"
+msgstr "Liekers överwintern"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:913
+msgid "Shutdown Anyway"
+msgstr "Liekers daalfahren"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:916
+msgid "Reboot Anyway"
+msgstr "Liekers nej starten"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:924
+msgid "Lock Screen"
+msgstr "Avslutbillschirm"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:927
+msgid "Cancel"
+msgstr "Avbreken"
+
+#: ../gnome-session/gsm-logout-dialog.c:274
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "Ji warrt vun alleen avmellt in %d Sekunn."
+msgstr[1] "Ji warrt vun alleen avmellt in %d Sekunnen."
+
+#: ../gnome-session/gsm-logout-dialog.c:282
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "Düsses System warrt vun alleen daalfahrt in %d Sekunn."
+msgstr[1] "Düsses System warrt vun alleen daalfahrt in %d Sekunnen."
+
+#: ../gnome-session/gsm-logout-dialog.c:314
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:380
+msgid "Log out of this system now?"
+msgstr "Nu Avmellen?"
+
+#: ../gnome-session/gsm-logout-dialog.c:386
+msgid "_Switch User"
+msgstr "Bruker we_sseln"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "_Log Out"
+msgstr "_Avmellen"
+
+#: ../gnome-session/gsm-logout-dialog.c:401
+msgid "Shut down this system now?"
+msgstr "System nu daalfahren?"
+
+#: ../gnome-session/gsm-logout-dialog.c:407
+msgid "S_uspend"
+msgstr "S_lopengahn"
+
+#: ../gnome-session/gsm-logout-dialog.c:413
+msgid "_Hibernate"
+msgstr "_Överwintern"
+
+#: ../gnome-session/gsm-logout-dialog.c:419
+msgid "_Restart"
+msgstr "_Nejstart"
+
+#: ../gnome-session/gsm-logout-dialog.c:429
+msgid "_Shut Down"
+msgstr "_Daalfahrt"
+
+#: ../gnome-session/gsm-manager.c:1220 ../gnome-session/gsm-manager.c:1912
+msgid "Not responding"
+msgstr "Antert nich"
+
+#: ../gnome-session/gsm-xsmp-client.c:1206
+msgid "This program is blocking log out."
+msgstr "Düsses Programm lett nich to, dat je dik avmellen künnst."
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:354
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:433
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:434
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:435
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:436
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:457
+msgid " - the GNOME session manager"
+msgstr "GNOME Törnoppasser"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- GNOME Splash-Billschirm"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "GNOME Splash-Billschirm"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Log out"
+msgstr "Avmellen"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out, ignoring any existing inhibitors"
+msgstr "Avmellen, egal wat kümmt"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Show logout dialog"
+msgstr "Avmellensdialog opwiesen"
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show shutdown dialog"
+msgstr "Daalfahrdialog opwiesen"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Use dialog boxes for errors"
+msgstr ""
+
+#. deprecated options
+#: ../tools/gnome-session-save.c:71
+msgid "Set the current session name"
+msgstr "Aktuellen Törnnaam setten"
+
+#: ../tools/gnome-session-save.c:71
+msgid "NAME"
+msgstr "NAME"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Kill session"
+msgstr "Törn avbreken"
+
+#: ../tools/gnome-session-save.c:73
+msgid "Do not require confirmation"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 0000000..e448133
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,785 @@
+# translation of gnome-session.HEAD.ne.po to Nepali
+# Nepali translation of gnome-session
+# This file is distributed under the same license as the gnome-session package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Pawan Chitrakar <pawan@nplinux.org>, 2004.
+# Shiva Prasad Pokharel <pokharelshiva@hotmail.com>, 2005.
+# Nabin Gautam <nabin@mpp.org.np>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: Gnome Nepali Translation Project\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-07-31 09:17+0000\n"
+"PO-Revision-Date: 2022-09-08 02:55+0545\n"
+"Last-Translator: Pawan Chitrakar <chautari@gmail.com>\n"
+"Language-Team: Nepali Translation Team <chautari@gmail.com>\n"
+"Language: ne\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: Poedit 3.0.1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "अनुकूलन"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "यो प्रविष्टिले तपाईँलाई बचत गरिएको सत्र चयन गर्न अनुमति दिन्छ ।"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "जिनोम"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "यो सत्र जिनोम लगईन हुन्छ"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "जिनोम डम्मि"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "वेल्याण्डमा जिनोम"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Xorg मा जिनोम"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "सत्र बचत गर्नुहोस्"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "यदि सक्षम पारिएमा, जिनोम सत्रले सत्र स्वचालित रूपमा बचत गर्नेछ ।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "यो सत्र बचत गर्नुहोस्"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log out even if "
+"auto saving is disabled."
+msgstr ""
+"जब सक्षम पारिन्छ, जिनोम-सत्रले स्वत: बचत अक्षम पारिएको भएता पनि लगआउटमा पछिल्लो सत्र स्वचालित रूपमा "
+"बचत गर्नेछ ।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "तत्काल लगआउट"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "सक्षम भएमा, जिनोम सत्रले सत्र अन्त्य हुनुभन्दा पहिला प्रयोगकर्तालाई प्रोत्साहन दिन्छ ।."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "फलब्याक चेतावनी देखाउनुहोस्"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the session was "
+"automatically fallen back."
+msgstr ""
+"यदि सक्षम पारिएमा, यदि सत्र स्वचालित रूपमा पछाडि खस्यो भने जिनोम सत्रले लगइन पछि चेतावनी संवाद "
+"प्रदर्शन गर्नेछ ।"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "अनुकूलन सत्र"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "कृपया चलाउनका लागि अनुकूल सत्र चयन गर्नुहोस् ।"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "नया सत्र"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "सत्र हटाउनुहोस्"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "सत्रको नाम फेर्ने"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "जारी राख्नुहोस्"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "ओहो होइन! केही गडबड भएको छ ।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system administrator"
+msgstr ""
+"एउटा समस्या उत्पन्न भयो र प्रणाली पुन: प्राप्त गर्न सकिँदैन । कृपया प्रणाली प्रशासकलाई सम्पर्क गर्नुहोस्"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have been disabled as "
+"a precaution."
+msgstr ""
+"एउटा समस्या उत्पन्न भयो र प्रणाली पुन: प्राप्त गर्न सकिँदैन । सावधानीको लागि सबै विस्तारहरू अक्षम भएका "
+"छन्।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"एउटा समस्या उत्पन्न भयो र प्रणाली पुन: प्राप्त गर्न सकिँदैन ।\n"
+"कृपया लगआउट गर्नुहोस् र फेरि प्रयास गर्नुहोस् ।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "लगआउट"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "डिबगिङ सक्षम पार्नुहोस्"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "लगआउट अनुमति दिनुहोस्"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "चेतावनी देखाउनुहोस्"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "जवाफ दिन बन्द गरेको छ"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "लगआउट"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "सम्झिएको अनुप्रयोग"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "यो कार्यक्रमले लगआउट गर्न दिएन."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid "Refusing new client connection because the session is currently being shut down\n"
+msgstr "नयाँ क्लाइन्ट जडान अस्वीकार गर्दैछ किनभने सत्र हाल बन्द छ\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE सुन्ने सकेट सिर्जना गर्न सकेन: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "प्रणाली सेवाको रूपमा चलिरहेको छ"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "प्रणाली प्रयोग गरि सत्र व्यवस्थापन गर्नुहोस्"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "अवस्थित सत्र व्यवस्थापन प्रयोग गर्नुहोस् (systemd आधारित भन्दा)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "मानक स्वत: सुरुआत डाइरेक्टरी अधिरोहण गर्नुहोस्"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "प्रयोग गर्न सत्र"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "प्रयोगकर्ता निर्दिष्ट गरिएको अनुप्रयोग हरू लोड नगर्नुहोस्"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "यो अनुप्रयोगको स‌सकरण"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "परीक्षणका लागि असफल ह्वेल संवाद देखाउनुहोस्"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "हार्डवेयर गतिवर्धन जाँच अक्षम पार्नुहोस्"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — जिनोम सेसन प्रबन्धक"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target शुरु गर्नुहोस्"
+
+#: tools/gnome-session-ctl.c:246
+msgid "Start gnome-session-shutdown.target when receiving EOF or a single byte on stdin"
+msgstr "Stdin मा EOF वा एकल बाइट प्राप्त गर्दा gnome-session-shutdown.target सुरु गर्नुहोस्"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "जिनोम सत्रमा सङ्केत थालनी गरियो"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "यदि यो चलिरहेको छ भने dbus.service फेरि सुरु गर्नुहोस्"
+
+#: tools/gnome-session-ctl.c:249
+msgid "Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "gnome-session-failed.target सेवा असफल भयो, सुरु गर्न ExecStopPost बाट चलाउनुहोस्"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "कार्यक्रमलाई ठीक एउटा परिमिति चाहिन्छ"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [विकल्प...] आदेश\n"
+"\n"
+"केही सत्र कार्यात्मकता निषेध गर्दा आदेश कार्यान्वयन गर्नुहोस् ।\n"
+"\n"
+"-h, --मद्दत यो मद्दत देखाउनुहोस्\n"
+" --version कार्यक्रम संस्करण देखाउनुहोस्\n"
+" --app-id आईडी प्रयोग गर्नका लागि अनुप्रयोग आईडी\n"
+" जब निषेध गरिएको हुन्छ (optional)\n"
+" --resason कारण (वैकल्पिक) अवरोधको कारण\n"
+" --inhibit ARG कुराहरू, colon-separated सूची:\n"
+" लगआउट, स्विच प्रयोगकर्ता, निलम्बन, निस्क्रिय, स्वचालित माउन्ट\n"
+" --inhibit-only आदेश सुरु नगर्नुहोस् र सट्टामा सदाका लागि प्रतिक्षा गर्नुहोस्\n"
+" -l, --list सूचीकृत गरिएको हालको निषेधहरू सूचीबद्ध गर्नुहोस्, र निस्कनुहोस्\n"
+"\n"
+"यदि कुनै --inhibit विकल्प निर्दिष्ट गरिएन भने, निस्क्रिय मानिएको छ ।\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s कार्यान्वयन गर्न असफल: \n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%sलाई एउटा तर्क आवश्यक छ\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "लगआउट"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "पावर बन्द"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "फेरि सुरु गर्ने"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "कुनै पनि अवस्थित इन्हिबिटर उपेक्षा गर्दैछ"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "प्रयोगकर्ता यकीनका लागि प्रोम्ट नगर्नुहोस्"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "सत्र प्रबन्धकमा जडान गर्न सकेन"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "हाल विवादित विकल्प निम्न हुन्: --%s र --%s"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "%d सत्र"
+
+#: tools/gnome-session-selector.c:107
+msgid "Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "सत्र नामहरू \".\" वा समाविष्ट \"/\" वर्णसँग सुरु गर्न अनुमति दिइएको छैन"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "सत्र नामहरू \".\" बाट सुरु गर्न अनुमति दिएको छैन ।"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "सत्र नामहरूलाई \"/\" वर्ण समावेश गर्न अनुमति दिइएको छैन"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "'%s' नाम गरेको सेसन पहिले नै अवस्थित छ ।."
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "यो सत्र व्यल्यान्ड प्रोयोग गरि जिनोम लगईन हुन्छ"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "अतिरिक्त सुरुआत कार्यक्रम:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "सुरुआत कार्यक्रम"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "लगआउट हुदा चलिरहेका अनुप्रयोग स्वत: याद गर्नुहोस्"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "हाल चलिरहेका अनुप्रयोग याद गर्नुहोस्"
+
+#~ msgid "Options"
+#~ msgstr "विकल्प"
+
+#~ msgid "Browse…"
+#~ msgstr "ब्राउज गर्नुहोस्"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "टिप्पणी"
+
+#~ msgid "Co_mmand:"
+#~ msgstr " आदेश:"
+
+#~ msgid "_Name:"
+#~ msgstr "नाम:"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "टीसीपी (TCP) जडानलाई अनुमति दिनुहोस्"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() (XFree86 "
+#~ "systems), gnome-session does not listen for connections on TCP ports. This option will "
+#~ "allow connections from (authorized) remote hosts. gnome-session must be restarted for "
+#~ "this to take effect."
+#~ msgstr ""
+#~ "सूरक्षाका कारणले, _IceTcpTransNoListen() (XFree86 प्रणाली) भएको प्लेटफर्ममा, टीसीपी(TCP) "
+#~ "पोर्टको जडानका जिनोम सत्रले ध्यान दिदैन । यस विकल्पले (आधिकारीक) टाढाको होस्टबाट जडानलाई अनुमति "
+#~ "दिन्छ ।यसको प्रभाव देखिनका लागि जिनोम-सत्र फेरि सुरु गर्नुपर्दछ ।"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "स्प्लास पर्दामा लगइन गर्नका लागि प्रयोग गरिने रूचाइएको छवि"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "लगआउट संवादमा चयन गरिएका विकल्प"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "स्प्लास पर्दा देखाउनुहोस्"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "सत्र सुरु हुदा स्प्लास पर्दा देखाउनुहोस्"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+#~ "directories and image names are valid values. Changing this value will effect the next "
+#~ "session login."
+#~ msgstr ""
+#~ "यो $datadir/pixmaps/ डाइरेक्टरी आधार नभएको सम्बन्धित मार्ग मान हो । उप-डाइरेक्टरी र छवि नाम "
+#~ "वैध मान हुन् । यस मानको परिवर्तनले पछिल्लो सत्रको लगइनलाई प्रभाव पार्नेछ ।"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid values are "
+#~ "\"logout\" for logging out, \"shutdown\" for halting the system and \"restart\" for "
+#~ "restarting the system."
+#~ msgstr ""
+#~ "यो लगआउट संवादमा चयन गरिने विकल्प हो, वैध मान लगिङआउटका लागि \"लगआउट\" , प्रणाली रोक्न \"बन्द "
+#~ "गर्नुहोस्\" र प्रणाली सुरु गर्न\"फेरि सुरु गर्नुहोस्\" हुन् ।"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "तपाईँको सत्र कन्फिगर गर्नुहोस्"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI package is "
+#~ "installed. Your session has been started without assistive technology support."
+#~ msgstr ""
+#~ "यस सत्रका लागि मद्दत प्रविधि समर्थन अनुरोध गरिएको छ, तर मद्दत पहुँच दर्ता फेला परेन । कृपया AT-SPI "
+#~ "प्याकेज स्थापना भएको निश्चित गर्नुहोस् । तपाईँको सत्र मद्दत प्रविधि समर्थन बिना सुरु भएको छ ।"
+
+#~ msgid "_Order:"
+#~ msgstr "आदेश:"
+
+#~ msgid "The order in which applications are started in the session."
+#~ msgstr "सत्रमा अनुप्रयोग सुरुआत गर्ने आदेश ।"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "यो अवस्थित हुदा अनुप्रयोगमा के देखापर्दछ ।"
+
+#~ msgid "_Style:"
+#~ msgstr "शैली:"
+
+#~ msgid "Inactive"
+#~ msgstr "निस्क्रिय"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "सुरुआतका लागि प्रतिक्षा गर्दैछ वा पहिले नै पूरा भएको छ ।"
+
+#~ msgid "Starting"
+#~ msgstr "सुरुआत"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "सुरुआत भएको छ तर स्थिति हालसम्म प्रतिवेदन गरिएको छैन ।"
+
+#~ msgid "Running"
+#~ msgstr "चलिरहेको"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "सत्रको साधारण सदस्य ।"
+
+#~ msgid "Saving"
+#~ msgstr "बचत"
+
+#~ msgid "Unknown"
+#~ msgstr "अज्ञात"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "म्याद समाप्तीमा स्थिति प्रतिवेदन गरिएको छैन ।"
+
+#~ msgid "Normal"
+#~ msgstr "साधारण"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "लगआउटद्वारा प्रभावित भएन तर अन्त्य हुनसक्छ ।"
+
+#~ msgid "Restart"
+#~ msgstr "फेरि सुरु गर्नुहोस्"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "अन्त्य गर्न कहिले पनि अनुमति नदिनुहोस् ।"
+
+#~ msgid "Trash"
+#~ msgstr "रद्दीटोकरी"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "लगआउट अस्वीकार गरियो र अन्त्य हुनसक्छ ।"
+
+#~ msgid "Settings"
+#~ msgstr "सेटिङ"
+
+#~ msgid "Always started on every login."
+#~ msgstr "सधैँ प्रत्येक लगइनमा सुरु गरिन्छ ।"
+
+#~ msgid "Order"
+#~ msgstr "आदेश"
+
+#~ msgid "Style"
+#~ msgstr "शैली"
+
+#~ msgid "State"
+#~ msgstr "स्थिति"
+
+#~ msgid "Program"
+#~ msgstr "कार्यक्रम"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work correctly."
+#~ msgstr ""
+#~ "जिनोम सेटिङ डेइमोन सुरुआत गर्दा त्रुटि थियो ।\n"
+#~ "\n"
+#~ "केही विषयहरू, जस्तै; ध्वनि, वा पृष्टभूमि सेटिङले ठीक रूपमा कार्य नगर्न सक्छन् ।"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "अन्तिम त्रुटि सन्देश यसरूपमा थियो:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "तपाईँले फेरि पछि लगइन गर्दा जिनोमले सेटिङ डेइमोन फेरि सुरु गर्ने प्रयास गर्नेछ ।"
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "सेटिङ डेइमोन फेरि धेरै पटक सुरु हुनेछ ।"
+
+#~ msgid "No Name"
+#~ msgstr "नाम छैन"
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "दर्ता गरिएका क्लाइन्ट सूचीबद्ध गर्नुहोस्, त्यसपछि बाहिरिनुहोस्"
+
+#~ msgid "PROGRAM..."
+#~ msgstr "कार्यक्रम..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the programs with --"
+#~ "list.\n"
+#~ msgstr ""
+#~ "तपाईँले हटाउनका लागि कम्तिमा पनि एउटा कार्यक्रम निर्दिष्ट गर्नुपर्दछ । तपाईँले --सूचीसँग कार्यक्रम "
+#~ "सूचीवद्ध गर्न सक्नुहुन्छ ।\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "त्रुटि: सत्र प्रबन्धकमा जडान गर्न सकेन\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "हालै दर्ता गरिएका क्लाइन्ट:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "सत्रमा कार्यक्रम %s फेला पार्न सकेन\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a GNOME bug. "
+#~ "Please include this ICE failure message in the bug report: '%s'. Meanwhile you could "
+#~ "try logging in using the failsafe session."
+#~ msgstr ""
+#~ "जिनोम सत्र प्रबन्धक राम्रोसँग सुरु गर्न सकिँदैन । कृपया यसलाई जिनोम बगका रूपमा प्रतिवेदन गर्नुहोस् । "
+#~ "कृपया यस आईसीई(ICE) असफलता सन्देशलाई बग प्रतिवेदनमा समाविष्ट गर्नुहोस्: '%s'. यही समयमा तपाईँले "
+#~ "फेलसेफ सत्र प्रयोग गरेर लगइन गर्न सक्नुहुन्छ ।"
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please report this as a "
+#~ "GNOME bug. Sometimes this error may occur if the file's directory is unwritable, you "
+#~ "could try logging in via the failsafe session and ensuring that it is."
+#~ msgstr ""
+#~ "जिनोम सत्र प्रबन्धक फाइल '%s' ताल्चा लगाउन असफल भयो । कृपया यसलाई जिनोम बगका रूपमा प्रतिवेदन "
+#~ "गर्नुहोस् । फाइलको डाइरेक्टरी लेख्न नसकिने भएमा यस प्रकारको त्रुटि कहिलेकाही उत्पन्न हुनसक्छ, तपाईँले "
+#~ "फेलसेफ सत्रबाट लगइन गर्न र यो भएको निश्चित गर्न सक्नुहुन्छ ।"
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this file exists it "
+#~ "must be readable by you for GNOME to work properly. Try logging in with the failsafe "
+#~ "session and removing this file."
+#~ msgstr ""
+#~ "जिनोम सत्र प्रबन्धक फाइल पढ्न असमर्थ थियो: '%s'. यो फाइल अवस्थित भएमाजिनोमका लागि ठीक "
+#~ "तरिकाले कार्य गर्न तपाईँले पढ्नयोग्य हुनुपर्दछ । फलसेफ सत्रसँग लगइन गर्ने प्रयास गर्नुहोस् र यस फाइललाई "
+#~ "हटाउनुहोस् ।"
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for GNOME to "
+#~ "function properly. Try logging in with the failsafe session and removing this file. "
+#~ "Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "फाइल '%s'मा लेख्न सकेन । जिनोमले राम्रोसँग कार्य गर्न यो फाइल लेख्नयोग्य हुनुपर्दछ । फलसेफ सत्रसँग "
+#~ "लगइन गर्ने प्रयास गर्नुहोस र यस फाइललाई हटाउनुहोस् । फाइलको डाइरेक्टरी लेख्नयोग्य भएको पनि निश्चित "
+#~ "गर्नुहोस् ।"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "तपाईँ लगआउट गर्न निश्चित हुनुहुन्छ ?"
+
+#~ msgid "Action"
+#~ msgstr "कार्य"
+
+#~ msgid "Sh_ut down"
+#~ msgstr "बन्द गर्नुहोस्"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "कम्प्युटर फेरि सुरु गर्नुहोस्"
+
+#~ msgid "Specify a session name to load"
+#~ msgstr "लोड गर्नका लागि सत्र नाम निर्दिष्ट गर्नुहोस्"
+
+#~ msgid "NAME"
+#~ msgstr "नाम"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "पुर्वनिर्धारित सत्र फाइलबाट मात्र बचत गरिएका सत्र पढ्नुहोस्"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr "क्लाइन्टलाई रजिस्टर गर्नका लागि प्रतिक्षा गरेको समय मिलिसेकेन्डमा (०=सधैँ)"
+
+#~ msgid "DELAY"
+#~ msgstr "विलम्ब"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "क्लाइन्टलाई प्रतिक्रिया दिनका लागि प्रतिक्षा गरेको समय मिलिसेकेन्डमा (०=सधैँ)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "क्लाइन्टलाई नष्ट गर्नका लागि प्रतिक्षा गरेको समय मिलिसेकेन्डमा (०=सधैँ)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "यो सत्र प्राथमिकता दिएको प्रयोगकर्ताका रूपमा चलिरहेको छ"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security reasons. If "
+#~ "possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "सूरक्षाका कारणले विशेषाधिकार दिइएको प्रयोगकर्ताको रूपमा चलिरहेको सत्रलाई परित्याग गरिएको हुनुपर्दछ "
+#~ "। सम्भव भएमा, तपाईँले सामान्य प्रयोगकर्ताका रूपमा लगइन गर्नुपर्दछ ।"
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly configured. "
+#~ "Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "कम्प्युटर घडी ठीक रूपमा कन्फिगर गरिएको नभएमा सत्रले विभिन्न समस्या सामना गर्न सक्छ । कृपया यसलाई "
+#~ "समायोजन गर्दा ध्यान दिनुहोस् ।\n"
+#~ "\n"
+#~ "हालको मिति <b>%s</b> हो ।"
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "समय कन्फिगरेसन उपकरण सुरुआत गर्न असफल: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "कम्प्युटर घडी गलत हुने देखिन्छ"
+
+#~ msgid "_Ignore"
+#~ msgstr "उपेक्षा गर्नुहोस्"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "घडी समायोजन गर्नुहोस्"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "%s का लागि इन्टरनेट ठगाना हेर्न सकेन ।\n"
+#~ "यसले जिनोमलाई ठीकसँग सञ्चालन हुनबाट बञ्चित गर्नेछ ।\n"
+#~ "file /etc/hosts\n"
+#~ "मा %s थपेर समस्या समाधान गर्न सम्भव हुनसक्छ ।"
+
+#~ msgid "Log in Anyway"
+#~ msgstr "जसरी पनि लगइन गर्नुहोस्"
+
+#~ msgid "Try Again"
+#~ msgstr "फेरि प्रयास गर्नुहोस्"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "विवादका कारणले प्रतिक्षा परित्याग गरियो ।"
+
+#~ msgid "No response to the %s command."
+#~ msgstr "आदेश %s लाई कुनै प्रतिक्रिया छैन ।"
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "कार्यक्रम ढीलो, रोकिएको वा विच्छेद गरिएको हुनसक्छ ।"
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "यसलाई प्रतिक्रिया दिन वा हटाउन तपाईँले प्रतिक्षा गर्नुपर्न सक्छ ।"
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "असफलताको कारणले फेरि सरुआत गर्न परित्याग गरियो ।"
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "बन्द गर्ने सत्र प्रगतिमा छ ।"
+
+#~ msgid "Set the current session name"
+#~ msgstr "हालको सत्रनाम सेट गर्नुहोस्"
+
+#~ msgid "Kill session"
+#~ msgstr "सत्र अन्त्य गर्नुहोस्"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "त्रुटिका लागि संवाद बाकस प्रयोग गर्नुहोस्"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "हालको सत्र बन्द गर्नुभन्दा पहिला यसका परिवर्तन बचत गर्नुहुन्छ ?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "तपाईँले बचत नगरेमा, परिवर्तन परित्याग गरिन्छन् ।"
+
+#~ msgid "_Close without Saving"
+#~ msgstr "बचत नगरी बन्द गर्नुहोस्"
+
+#~ msgid "Enabled"
+#~ msgstr "सक्षम"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "तपाईँको सत्र बचत गरिएको छ ।"
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "सत्र प्रबन्धकमा जडान गर्न सकेन\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "सत्र प्रबन्धकले जिनोम विस्तार समर्थन गर्दैन\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "सत्रबाट हाल चयन गरिएको क्लाइन्ट हटाउनुहोस् ।"
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "हालको सत्रमा परिवर्तन लागू गर्नुहोस्"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "सत्रका कार्यक्रमको सूची ।"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "हाल चलिरहेका कार्यक्रम:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "सफिस सञ्झ्याल प्रबन्धक"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "मेटासिटी सञ्झ्याल प्रबन्धक"
+
+#~ msgid "Window Manager"
+#~ msgstr "सञ्झ्याल प्रबन्धक"
+
+#~ msgid "The Panel"
+#~ msgstr "प्यानल"
+
+#~ msgid "Nautilus"
+#~ msgstr "नटिलस"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "डेस्कटप सेटिङ"
+
+#~ msgid "No description"
+#~ msgstr "वर्णन छैन"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "सुरुआत कार्यक्रमको नामलाई खाली गर्न सकिँदैन"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "सुरुआत आदेशलाई खाली गर्न सकिदैँन"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "सुरुआत आदेश वैध छैन"
+
+#~ msgid "New Startup Program"
+#~ msgstr "नयाँ सुरुआत कार्यक्रम"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "सुरुआत कार्यक्रम सम्पादन गर्नुहोस्"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..bbda9e9
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,479 @@
+# Dutch translation for gnome-session
+#
+# This file is distributed under the same license as the gnome-session package.
+#
+# Copyright (C) 1998 Free Software Foundation, Inc.
+#
+#
+# Fail whale - misvis (hahaha, een hele flauwe grap van Wouter)
+# Fail whale - misschien Zwarte dialoogvenster? Minder grappig. (Hannie)
+#
+# Dirk-Jan C. Binnema <djcb@dds.nl>, 1998, 1999.
+# Dennis Smit <synap@area101.penguin.nl>, 2000.
+# Almer S. Tigelaar <almer1@dds.nl>, 2000.
+# Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>, 2001.
+# Huib Kleinhout <huib@stack.nl>, 2002.
+# Ronald Hummelink <ronald@hummelink.xs4all.nl>, 2002.
+# Jeroen van der Vegt <A.J.vanderVegt@its.tudelft.nl>, 2002.
+# Reinout van Schouwen <reinouts@gnome.org>, 2003, 2013. (na 10 jaar!).
+# Tino Meinen <a.t.meinen@chello.nl> 2005, 2006, 2008.
+# Wouter Bolsterlee <wbolster@gnome.org>, 2007–2013.
+# Nathan Follens <nfollens@gnome.org>, 2015-2017, 2019-2020, 2022.
+# Hannie Dumoleyn <hannie@ubuntu-nl.org>, 2015, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-03-25 12:10+0100\n"
+"Last-Translator: Nathan Follens <nfollens@gnome.org>\n"
+"Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Aangepast"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Hiermee kunt u een opgeslagen sessie selecteren"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "Gnome"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Deze sessie laat u in Gnome inloggen"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Gnome dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "Gnome op Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Gnome op Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Sessies opslaan"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Indien ingeschakeld, zal gnome-session de sessie automatisch opslaan."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Deze sessie opslaan"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Indien ingeschakeld, zal gnome-session de volgende sessie automatisch "
+"opslaan bij het afmelden, zelfs wanneer automatisch opslaan is uitgeschakeld."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Afmeldprompt"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Indien ingeschakeld, zal gnome-session de gebruiker vragen om een sessie te "
+"beëindigen."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Fallback-waarschuwing tonen"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Indien ingeschakeld, zal gnome-session een waarschuwingsdialoog tonen na het "
+"aanmelden als de sessie automatisch is teruggevallen."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Aangepaste sessie"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Selecteer de te starten aangepaste sessie"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nieuwe sessie"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Sessie _verwijderen"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Sessie _hernoemen"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Doorgaan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oeps! Er is iets misgegaan."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Er is een probleem opgetreden dat niet door het systeem kan worden hersteld. "
+"Neem contact op met een systeembeheerder"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Er is een probleem opgetreden dat niet door het systeem kan worden hersteld. "
+"Alle uitbreidingen zijn uit voorzorg uitgeschakeld."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Er is een probleem opgetreden dat niet door het systeem kan worden "
+"hersteld.\n"
+"Probeer af te melden en opnieuw aan te melden."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Afmelden"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Debugging-code inschakelen"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Afmelden toestaan"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Waarschuwingen van uitbreidingen tonen"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Reageert niet"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Afmelden"
+
+# Actieve toepassingen _onthouden
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Onthouden toepassingen"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Deze toepassing verhindert het afmelden."
+
+# client-verbinding/verbinding/
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Nieuwe verbinding wordt geweigerd omdat de sessie momenteel wordt "
+"afgesloten\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Kon geen luister-socket voor ICE aanmaken: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Draait als systemd-dienst"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Systemd-sessiebeheer gebruiken"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Ingebouwd sessiebeheer gebruiken (in plaats van dat gebaseerd op systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Map voor automatisch te starten toepassingen"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_MAP"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Te gebruiken sessie"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NAAM_VAN_SESSIE"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Toepassingen die door de gebruiker opgegeven zijn niet laden"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versie van deze toepassing"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Het misvis-venster tonen voor testen"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Hardwareversnellingscontrole uitschakelen"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — het Gnome-sessiebeheer"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Start gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Start gnome-session-shutdown.target wanneer EOF of een enkele byte ontvangen "
+"wordt op stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Voltooiing van initialisering doorgeven aan gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Herstart dbus.service indien het draait"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Uitvoeren van ExecStopPost om gnome-session-failed.target te starten bij "
+"dienstfout"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programma vereist precies één parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTIE…] OPDRACHT\n"
+"\n"
+"Functionaliteit van de sessie uitschakelen tijdens het uitvoeren\n"
+"van de opgegeven OPDRACHT.\n"
+"\n"
+" -h, --help Deze uitleg tonen\n"
+" --version Programmaversie tonen\n"
+" --app-id ID Te gebruiken toepassings-id (optioneel)\n"
+" --reason REDEN Reden voor voor uitschakelen sessiefuncties (optioneel)\n"
+" --inhibit ARG Uit te schakelen functionaliteit; dit is een met "
+"dubbele\n"
+" punten gescheiden opsomming van:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only OPDRACHT niet uitvoeren, maar alleen wachten\n"
+" -l, --list Lijst de bestaande inhibities op, en sluit af\n"
+"\n"
+"Als ‘--inhibit’ niet opgegeven wordt, wordt alleen ‘idle’ gebruikt.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Fout bij uitvoeren van %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s heeft een argumentwaarde nodig\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Afmelden"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Computer uitzetten"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Opnieuw opstarten"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Actieve verhindering door toepassingen negeren"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Geen bevestiging van gebruiker vragen"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Kan geen verbinding maken met het sessiebeheer"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Toepassing aangeroepen met conflicterende opties"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessie %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Sessienamen mogen niet met een ‘.’ beginnen of ‘/’ bevatten"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sessienamen mogen niet met een ‘.’ beginnen"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sessienamen mogen geen ‘/’ bevatten"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Er bestaat reeds een sessie genaamd ‘%s’"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Extra te starten _programma's:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programma's starten"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Automatisch actieve toepassing onthouden bij afmelden"
+
+# Actieve toepassingen _onthouden
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Momenteel actieve toepassingen _onthouden"
+
+#~ msgid "Options"
+#~ msgstr "Opties"
+
+#~ msgid "Browse…"
+#~ msgstr "Bladeren…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Co_mmentaar:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Opdra_cht:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Naam:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Deze sessie laat u in Gnome inloggen, met gebruik van Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Opdracht selecteren"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Te starten programma toevoegen"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Te starten programma bewerken"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "De opstartopdracht mag niet leeg zijn"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "De opstartopdracht is ongeldig"
+
+#~ msgid "Enabled"
+#~ msgstr "Ingeschakeld"
+
+#~ msgid "Icon"
+#~ msgstr "Pictogram"
+
+#~ msgid "Program"
+#~ msgstr "Programma"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Voorkeuren opstarttoepassingen"
+
+#~ msgid "No name"
+#~ msgstr "Naamloos"
+
+#~ msgid "No description"
+#~ msgstr "Geen beschrijving"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Kon hulpdocument niet weergeven"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Opstarttoepassingen"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Toepassingen kiezen die bij aanmelden opgestart worden"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Bestand is geen geldig ‘.desktop’ bestand"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Niet herkende versie desktopbestand ‘%s’"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s starten"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Toepassing accepteert geen documenten op de opdrachtregel"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Niet herkende uitvoeringsoptie: %d"
diff --git a/po/nn.po b/po/nn.po
new file mode 100644
index 0000000..f5c46d4
--- /dev/null
+++ b/po/nn.po
@@ -0,0 +1,1137 @@
+# translation of nn.po to Norwegian Nynorsk
+# Norwegian (nynorsk) translation of gnome-core.
+# Copyright (C) 1998-2000, 2003, 2006, 2008 Free Software Foundation, Inc.
+#
+# Christian Fredrik Kalager Schaller <Uraeus@linuxrising.org>, 2000-2001.
+# Kjartan Maraas <kmaraas@gnome.org>, 2001.
+# Roy-Magne Mo <rmo@sunnmore.net>, 2001-2002.
+# Monica Gausen <monica@gausen.net>, 2001.
+# Åsmund Skjæveland <aasmunds@fys.uio.no>, 2003, 2006.
+# Eskild Hustvedt <eskildh@gnome.org>, 2008.
+# Torstein Adolf Winterseth <kvikende@yahoo.no>, 2010.
+# Andreas N. <gedemiti@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-10-19 13:06+0000\n"
+"PO-Revision-Date: 2011-12-19 16:48+0100\n"
+"Last-Translator: Andreas N. <gedemiti@gmail.com>\n"
+"Language-Team: Norsk (nynorsk) <i18n-nn@lister.ping.uio.no>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bits\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "Vel kommando"
+
+# gsm/startup-programs.c:373
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "Legg til oppstartsprogram"
+
+# gsm/startup-programs.c:391
+#
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "Rediger oppstartsprogram"
+
+# gsm/startup-programs.c:333
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr "Oppstartskommandoen kan ikkje vera tom"
+
+#
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr "Oppstartskommandoen er ikkje gyldig"
+
+#
+#: ../capplet/gsm-properties-dialog.c:518
+msgid "Enabled"
+msgstr "Aktivert"
+
+# gsm/logout.c:239
+#: ../capplet/gsm-properties-dialog.c:530
+msgid "Icon"
+msgstr "Ikon"
+
+# gsm/gsm-client-list.c:122
+#: ../capplet/gsm-properties-dialog.c:542
+msgid "Program"
+msgstr "Program"
+
+#: ../capplet/gsm-properties-dialog.c:746
+msgid "Startup Applications Preferences"
+msgstr "Innstillingar for oppstartsprogram"
+
+#: ../capplet/gsp-app.c:274
+msgid "No name"
+msgstr "Utan namn"
+
+#
+#: ../capplet/gsp-app.c:280
+msgid "No description"
+msgstr "Inga skildring"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:281
+msgid "Version of this application"
+msgstr "Versjon av dette programmet"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "Klarte ikkje visa hjelpedokumentet"
+
+#: ../data/gnome-fallback.session.desktop.in.in.h:1
+msgid "GNOME fallback"
+msgstr "GNOME reserveløysing"
+
+#
+#: ../data/gnome.session.desktop.in.in.h:1 ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Denne økta loggar inn i GNOME"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Nokre program køyrer enno:</b>"
+
+#: ../data/gsm-inhibit-dialog.ui.h:2 ../gnome-session/gsm-inhibit-dialog.c:640
+#| msgid ""
+#| "Waiting for programs to finish. Interrupting these programs may cause "
+#| "you to lose work."
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you "
+"to lose work."
+msgstr ""
+"Ventar på at programmet skal avslutta. Om du avbryt programmet kan data gå "
+"tapt."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr "Vel kva for program du vil starta når du loggar inn"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "Oppstartsprogram"
+
+# gsm/startup-programs.c:373
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Fleire oppstarts_program:"
+
+#: ../data/session-properties.ui.h:2
+#| msgid "Browse..."
+msgid "Browse…"
+msgstr "Bla gjennom …"
+
+#
+#: ../data/session-properties.ui.h:3
+msgid "Co_mmand:"
+msgstr "Ko_mmando:"
+
+#
+#: ../data/session-properties.ui.h:4
+msgid "Comm_ent:"
+msgstr "Komm_entar:"
+
+# gsm/session-properties-capplet.c:262
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Innstillingar"
+
+# gsm/session-properties-capplet.c:330
+#: ../data/session-properties.ui.h:6
+msgid "Startup Programs"
+msgstr "Oppstartsprogram"
+
+#
+#: ../data/session-properties.ui.h:7
+msgid "_Automatically remember running applications when logging out"
+msgstr "Hugs køyrande program _automatisk ved utlogging"
+
+#
+#: ../data/session-properties.ui.h:8
+msgid "_Name:"
+msgstr "_Namn:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Remember Currently Running Application"
+msgstr "Hugs programmet som køy_rer no"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "Fila er ikkje ei gyldig .desktop-fil"
+
+#. translators: 'Version' is from a desktop file, and
+#. * should not be translated. '%s' would probably be a
+#. * version number.
+#: ../egg/eggdesktopfile.c:191
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Klarte ikkje kjenna att desktop-fil versjon «%s»"
+
+# gsm/gsm-client-row.c:34
+#: ../egg/eggdesktopfile.c:974
+#, c-format
+msgid "Starting %s"
+msgstr "Startar %s"
+
+#: ../egg/eggdesktopfile.c:1116
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "Programmet støttar ikkje dokument via kommandolinja"
+
+#: ../egg/eggdesktopfile.c:1184
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Klarte ikkje kjenna att oppstartsvalet: %d"
+
+#. translators: The 'Type=Link' string is found in a
+#. * desktop file, and should not be translated.
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+"Klarte ikkje senda dokumentadressa til ei «Type=Link» desktop-oppføring"
+
+#: ../egg/eggdesktopfile.c:1412
+#, c-format
+msgid "Not a launchable item"
+msgstr "Ikkje eit køyrbart element"
+
+# gsm/save-session.c:92
+#: ../egg/eggsmclient.c:226
+msgid "Disable connection to session manager"
+msgstr "Slå av tilkopling til økthandsamaren"
+
+#: ../egg/eggsmclient.c:229
+msgid "Specify file containing saved configuration"
+msgstr "Vel fil som inneheld lagra innstillingar"
+
+#: ../egg/eggsmclient.c:229
+msgid "FILE"
+msgstr "FIL"
+
+# gsm/main.c:64
+#: ../egg/eggsmclient.c:232
+msgid "Specify session management ID"
+msgstr "Oppgje ID for økthandsaming"
+
+#: ../egg/eggsmclient.c:232
+msgid "ID"
+msgstr "ID"
+
+# gsm/session-properties-capplet.c:262
+#: ../egg/eggsmclient.c:253
+msgid "Session management options:"
+msgstr "Innstillingar for økthandsaming"
+
+# gsm/session-properties-capplet.c:262
+#: ../egg/eggsmclient.c:254
+msgid "Show session management options"
+msgstr "Vis innstillingar for økthandsaming"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:253
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "Klarte ikkje finna ikonet «%s»"
+
+# gsm/gsm-client-row.c:43
+#: ../gnome-session/gsm-inhibit-dialog.c:588
+msgid "Unknown"
+msgstr "Ukjend"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:639
+msgid "A program is still running:"
+msgstr "Eit program køyrer enno:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:643
+msgid "Some programs are still running:"
+msgstr "Nokre program køyrer enno:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:644
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+"Ventar på at program skal avslutta. Om du avbryt desse programma kan data gå "
+"tapt."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Switch User Anyway"
+msgstr "Byt brukar likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+#| msgid "Logout Anyway"
+msgid "Log Out Anyway"
+msgstr "Logg ut likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Suspend Anyway"
+msgstr "Gå i kvilemodus likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:883
+msgid "Hibernate Anyway"
+msgstr "Gå i dvalemodus likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:886
+#| msgid "Shutdown Anyway"
+msgid "Shut Down Anyway"
+msgstr "Slå av likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:889
+#| msgid "Reboot Anyway"
+msgid "Restart Anyway"
+msgstr "Start på nytt likevel"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:897
+msgid "Lock Screen"
+msgstr "Lås skjerm"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:900
+msgid "Cancel"
+msgstr "Avbryt"
+
+#. This string is shared with gsm-fail-whale-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:275
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "Du vert logga ut automatisk om %d sekund."
+msgstr[1] "Du vert logga ut automatisk om %d sekund."
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "Systemet vert slått av automatisk om %d sekund."
+msgstr[1] "Systemet vert slått av automatisk om %d sekund."
+
+#: ../gnome-session/gsm-logout-dialog.c:315
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "Du er logga inn som «%s»."
+
+#: ../gnome-session/gsm-logout-dialog.c:381
+msgid "Log out of this system now?"
+msgstr "Logg ut av systemet no?"
+
+#: ../gnome-session/gsm-logout-dialog.c:387
+msgid "_Switch User"
+msgstr "_Byt brukar"
+
+# panel/logout.c:74 panel/menu.c:5340
+#: ../gnome-session/gsm-logout-dialog.c:396
+#: ../gnome-session/gsm-fail-whale-dialog.c:422
+#: ../gnome-session/gsm-util.c:389
+msgid "_Log Out"
+msgstr "_Logg ut"
+
+#: ../gnome-session/gsm-logout-dialog.c:402
+msgid "Shut down this system now?"
+msgstr "Slå av systemet no?"
+
+#: ../gnome-session/gsm-logout-dialog.c:408
+msgid "S_uspend"
+msgstr "_Kvilemodus"
+
+#: ../gnome-session/gsm-logout-dialog.c:414
+msgid "_Hibernate"
+msgstr "_Dvalemodus"
+
+# applets/tasklist/tasklist_menu.c:258
+#: ../gnome-session/gsm-logout-dialog.c:420
+msgid "_Restart"
+msgstr "_Start på nytt"
+
+# gsm/logout.c:250
+#: ../gnome-session/gsm-logout-dialog.c:430
+msgid "_Shut Down"
+msgstr "Slå _av"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:377
+msgid "Oh no! Something has gone wrong."
+msgstr "Å nei! Noko har gått gale."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:384
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Eit problem har oppstått og systemet klarer ikkje gjenoppretta. Kontakt ein "
+"systemadministrator."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:386
+msgid ""
+"A problem has occurred and the system can't recover. Some of the extensions "
+"below may have caused this.\n"
+"Please try disabling some of these, and then log out and try again."
+msgstr ""
+"Eit problem har oppstått og systemet klarer ikkje gjenoppretta. Nokre av "
+"utvidingane under kan ha medført dette.\n"
+"Prøv å slå av nokre av desse og logg ut for å prøva på nytt."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:388
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Eit problem har oppstått og systemet klarer ikkje gjenoppretta.\n"
+"Logg ut og prøv på nytt."
+
+#: ../gnome-session/gsm-process-helper.c:123
+#, c-format
+msgid "Exited with code %d"
+msgstr "Avslutta med koden %d"
+
+#: ../gnome-session/gsm-process-helper.c:128
+#, c-format
+msgid "Killed by signal %d"
+msgstr "Avslutta av signalet %d"
+
+#: ../gnome-session/gsm-process-helper.c:133
+#, c-format
+msgid "Stopped by signal %d"
+msgstr "Stoppa av signalet %d"
+
+#: ../gnome-session/gsm-manager.c:1386
+msgid "GNOME 3 Failed to Load"
+msgstr "GNOME 3 klarte ikkje starta"
+
+#: ../gnome-session/gsm-manager.c:1387
+msgid ""
+"Unfortunately GNOME 3 failed to start properly and started in the "
+"<i>fallback mode</i>.\n"
+"\n"
+"This most likely means your system (graphics hardware or driver) is not "
+"capable of delivering the full GNOME 3 experience."
+msgstr ""
+"GNOME 3 klarte ikkje starta skikkeleg, og køyrer <i>reserveløysinga.</i>.\n"
+"\n"
+"Sannsynlegvis klarer ikkje systemet (grafikkortet eller drivaren) å køyre "
+"GNOME 3."
+
+#: ../gnome-session/gsm-manager.c:1389
+msgid "Learn more about GNOME 3"
+msgstr "Lær meir om GNOME 3"
+
+#: ../gnome-session/gsm-manager.c:1486 ../gnome-session/gsm-manager.c:2255
+msgid "Not responding"
+msgstr "Svarer ikkje"
+
+#
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:559
+#| msgid "Remember running applications"
+msgid "Remembered Application"
+msgstr "Hugsa program"
+
+#: ../gnome-session/gsm-xsmp-client.c:1197
+#| msgid "This program is blocking log out."
+msgid "This program is blocking logout."
+msgstr "Dette programmet hindrar utlogging."
+
+#: ../gnome-session/gsm-xsmp-server.c:325
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Avviser ny klienttilkopling fordi økta er i ferd med å avslutta\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:587
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Klarte ikkje oppretta sokkel for ICE-lytting: %s"
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:373
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+"Klarte ikkje starta innloggingsøkt (klarte heller ikkje å kopla til X-"
+"tenaren)"
+
+#: ../gnome-session/main.c:277
+msgid "Override standard autostart directories"
+msgstr "Overstyr standard autostartmapper"
+
+#: ../gnome-session/main.c:277
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+# gsm/session-properties.c:272
+#: ../gnome-session/main.c:278
+#| msgid "Sessions"
+msgid "Session to use"
+msgstr "Økt som skal brukast"
+
+#: ../gnome-session/main.c:278
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:279
+msgid "Enable debugging code"
+msgstr "Aktiver feilsøkingskode"
+
+#: ../gnome-session/main.c:280
+msgid "Do not load user-specified applications"
+msgstr "Ikkje last brukarvalde program"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:283
+msgid "Show the fail whale dialog for testing"
+msgstr "Vis feilvindauget for testing"
+
+#: ../gnome-session/main.c:303
+msgid " - the GNOME session manager"
+msgstr " – GNOME økthandsamar"
+
+# panel/logout.c:74 panel/menu.c:5340
+#: ../tools/gnome-session-quit.c:52
+msgid "Log out"
+msgstr "Logg ut"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Power off"
+msgstr "Slå av"
+
+#: ../tools/gnome-session-quit.c:54
+#| msgid "Log out, ignoring any existing inhibitors"
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorerer eventuelle hindringar"
+
+#
+#: ../tools/gnome-session-quit.c:55
+#| msgid "Do not require confirmation"
+msgid "Don't prompt for user confirmation"
+msgstr "Ikkje spør etter stadfesting"
+
+# gsm/save-session.c:92
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "Klarte ikkje kopla til økthandsamar"
+
+#: ../tools/gnome-session-quit.c:199
+msgid "Program called with conflicting options"
+msgstr "Programmet vart kalla med motstridande alternativ"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Hjelpar til GNOME innstillingsnisse"
+
+# gsm/save-session.c:42
+#~| msgid "Kill session"
+#~ msgid "Default session"
+#~ msgstr "Standardøkt"
+
+# gsm/splash.c:67
+#~| msgid "Window Manager"
+#~ msgid "File Manager"
+#~ msgstr "Filhandsamar"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr ""
+#~ "Viss det er kryssa av her, vil brukaren få ein spørsmålsdialog før økta "
+#~ "vert avslutta."
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Viss det er kryssa av her, vil økta verta lagra automatisk. Elles vil "
+#~ "utloggingsdialogen ha eit val for å lagra økta."
+
+#~| msgid "The order in which applications are started in the session."
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Liste over program som er ein del av standardøkta."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Liste med komponentar som er ein nødvendig del av økta. (Kvart element "
+#~ "namngjev ein nøkkel under «/desktop/gnome/session/required_components»). "
+#~ "Innstillingsverktøyet av oppstartsprogram vil normalt ikkje gje brukarar "
+#~ "tilgjenge til å fjerna nødvendige komponentar frå økta, og økthandsamaren "
+#~ "vil automatisk leggja til dei nødvendige komponentane tilbake til økta "
+#~ "dersom dei vert fjerna."
+
+# gsm/logout.c:247
+#~ msgid "Logout prompt"
+#~ msgstr "Spør ved avlogging"
+
+# gsm/splash.c:65
+#~| msgid "The Panel"
+#~ msgid "Panel"
+#~ msgstr "Panel"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Foretrukke bilete å bruka i velkomstbiletet ved innlogging"
+
+#~ msgid "Required session components"
+#~ msgstr "Obligatoriske komponentar"
+
+# gsm/session-properties.c:272
+#~ msgid "Save sessions"
+#~ msgstr "Lagra økter"
+
+# gsm/session-properties-capplet.c:192
+#~ msgid "Show the splash screen"
+#~ msgstr "Vis oppstartsskjerm ved pålogging"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Vis oppstartsskjermen når økta startar"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Filhandsamaren gjev deg skrivebordsikona og lèt deg handsame dei lagra "
+#~ "filene dine."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "Talet på minutt med inaktivitet før økta vert sett på som inaktiv."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Panelet gjev deg linja på toppen eller botnen av skjermen som inneheld "
+#~ "menyar, lista over vindauge, statusikon, klokka, osv."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Vindaugehandsamaren er programmet som teiknar tittellinja og bordane "
+#~ "rundt vindauge, og som lèt deg flytta og endra storleiken på vindauge."
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Dette er ein relativ stiverdi tufta på mappa «$datadir/pixmaps/». "
+#~ "Undermapper og biletenamn er gyldige verdiar. Å endra denne verdien vil "
+#~ "påverka den neste økta."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Tid før økta vert sett på som inaktiv"
+
+# gsm/splash.c:67
+#~ msgid "Window Manager"
+#~ msgstr "Vindaugehandsamar"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Ventar på at program skal avsluttast. Avbryting av program kan føra til "
+#~ "arbeid."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Det er eit problem med innstillingstenaren.\n"
+#~ "(%s avslutta med status %d)"
+
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "GConf-nøkkel som vert brukt til å slå opp standard økt"
+
+# gsm/session-properties-capplet.c:192
+#~| msgid "Show the splash screen"
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Oppstartskjerm"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME oppstartskjerm"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Vis avloggingsdialog"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Vis avslåingsdialog"
+
+#
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Bruk dialogboksar for feil"
+
+# gsm/session-properties-capplet.c:206
+#~ msgid "Set the current session name"
+#~ msgstr "Vel øktnamn"
+
+#~ msgid "NAME"
+#~ msgstr "NAMN"
+
+# gsm/save-session.c:42
+#~ msgid "Kill session"
+#~ msgstr "Drep økta"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Tillat TCP-tilkoplingar"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Av omsyn til tryggleiken vil ikkje gnome-session lytta etter tilkoplingar "
+#~ "på TCP-portar på system som har _IceTcpTransNoListen() (XFree86-system). "
+#~ "Dette valet vil la autoriserte eksterne vertar kopla til. gnome-session "
+#~ "må startast på nytt før dette valet blir aktivt."
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Vald val i utloggingsdialogen"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Dette er det valet som vil stå klart i logg ut-dialogen. Lovlege verdiar "
+#~ "er «logout» for å logga ut, «shutdown» for å slå av maskinen og «restart» "
+#~ "for å starta maskinen på nytt."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Set opp øktene dine"
+
+#
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Hjelpeteknologi for tilgjenge er forespurd for denne økta, men registeret "
+#~ "for denne funksjonen vart ikkje funne. Vennligst sjekk at AT-SPI er "
+#~ "installert. Sesjonen er starta utan hjelpeteknologi for tilgjenge."
+
+# gsm/gsm-client-editor.c:97
+#~ msgid "_Order:"
+#~ msgstr "_Rekkefølgje: "
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Kva som skjer med applikasjonen når han avsluttar."
+
+# gsm/gsm-client-editor.c:107
+#~ msgid "_Style:"
+#~ msgstr "_Stil: "
+
+# gsm/gsm-client-row.c:31
+#~ msgid "Inactive"
+#~ msgstr "Inaktiv"
+
+# gsm/gsm-client-row.c:32
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Ventar på å få starta eller er allereie starta."
+
+# gsm/gsm-client-row.c:35
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Starta, men har ikkje enno rapportert tilstand."
+
+# gsm/gsm-client-row.c:37
+#~ msgid "Running"
+#~ msgstr "Køyrer"
+
+# gsm/gsm-client-row.c:38
+#~ msgid "A normal member of the session."
+#~ msgstr "Eit vanleg medlem av økta."
+
+# gsm/gsm-client-row.c:40
+#~ msgid "Saving"
+#~ msgstr "Lagrar"
+
+# gsm/gsm-client-row.c:41
+#~ msgid "Saving session details."
+#~ msgstr "Lagrar innstillingar for økta."
+
+# gsm/gsm-client-row.c:44
+#~ msgid "State not reported within timeout."
+#~ msgstr "Tilstand ikkje rapportert innan tidsavbrot."
+
+# gsm/gsm-client-row.c:50 panel/menu.c:4760 panel/panel_config.c:1400
+#~ msgid "Normal"
+#~ msgstr "Vanleg"
+
+# gsm/gsm-client-row.c:51
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Ikkje påvirka av avlogging, men kan døy."
+
+# gsm/gsm-client-row.c:54
+#~ msgid "Never allowed to die."
+#~ msgstr "Aldri la døy."
+
+# gsm/gsm-client-row.c:56
+#~ msgid "Trash"
+#~ msgstr "Papirkorg"
+
+# gsm/gsm-client-row.c:57
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Forkastast ved avlogging og kan døy."
+
+# gnome-terminal/gnome-terminal.c:1596 gsm/gsm-client-row.c:59
+# panel/foobar-widget.c:1070
+#~ msgid "Settings"
+#~ msgstr "Innstillingar"
+
+# gsm/gsm-client-row.c:60
+#~ msgid "Always started on every login."
+#~ msgstr "Startast ved kvar login."
+
+# gsm/gsm-client-list.c:119
+#~ msgid "Order"
+#~ msgstr "Rekkjefølgje"
+
+# gsm/gsm-client-list.c:120
+#~ msgid "Style"
+#~ msgstr "Stil"
+
+# gsm/gsm-client-list.c:121
+#~ msgid "State"
+#~ msgstr "Tilstand"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Ein feil oppstod då programmet som styrer instillingane i GNOME vart "
+#~ "starta.\n"
+#~ "\n"
+#~ "Somme ting, slik som drakt, lydar og bakgrunnsinnstillingar vil kanskje "
+#~ "ikkje virka ordentleg."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Den siste feilmeldinga var:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME vil likevel prøva å starta innstillingsprogrammet neste gong du "
+#~ "loggar inn."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "Innstillingsprogrammet starta på nytt for mange gongar."
+
+#
+#~ msgid "List registered clients, then exit"
+#~ msgstr "Vis registrerte klienter og avslutt"
+
+#
+#~ msgid "PROGRAM..."
+#~ msgstr "PROGRAM ..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "Du må oppgi minst eitt program som skal fjernes. Du kan visa programma "
+#~ "med --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Feil: kunne ikkje kopla til økthandsamar\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Registrerte klienter:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Kunne ikkje finna program %s i økta\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "Sesjonshandsamar for GNOME kan ikkje startast. Vennligst rapportar dette "
+#~ "som ein feil. Ta med denne feilmeldinga frå ICE i rapporten: «%s». I "
+#~ "mellomtida kan du logge inn med feilsikker økt."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "Sesjonshandsamar for GNOME klarte ikkje å låse fila '%s'. Vennligst "
+#~ "rapportar dette som ein feili GNOME. Nokon gong oppstår denne feilen når "
+#~ "filens mappe ikkje er skrivbar, du kan prøve å logge inn via ein "
+#~ "feilsikker økt for å forsikre deg om at den er skrivbar."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "Sesjonshandsamar for GNOME klarte ikkje å lesa fila '%s'. Viss denne fila "
+#~ "eksisterer, så må den vera lesbar av deg, for at GNOME skal fungere "
+#~ "ordentlig. Prøv og logg med ein feilsikker økt og fjern denne fila."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "Kan ikkje skriva til '%s'. Denne fila må vera skrivbar for at GNOME skal "
+#~ "fungere ordentlig. Prøv og logg med ein feilsikker økt og fjern denne "
+#~ "fila. Sjekk òg at filens mappe er skrivbar."
+
+# gmenu/treedel.c:146
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Er du sikker på at du vil logga ut?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "Sta_rt maskinen på nytt"
+
+# gsm/main.c:65
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Berre les lagra økter frå default.session fila"
+
+# gsm/main.c:66
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Antal millisekund ventetid for registrering av klientar (0=uendeleg)"
+
+#~ msgid "DELAY"
+#~ msgstr "SEINKING"
+
+# gsm/main.c:67
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Antal millisekund ventetid for at klientar skal svare (0=uendeleg)"
+
+# gsm/main.c:68
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Antal millisekund ventetid for at klientar skal døy (0=uendeleg)"
+
+#
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "Denne økta køyrast som ein priviligert brukar"
+
+#
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "Du bør unngå å køyra økter med priviligerte brukarar av sikkerhetshensyn. "
+#~ "Logg inn som ein ordinær brukar viss mogleg."
+
+#
+#~ msgid "_Continue"
+#~ msgstr "_Hald fram"
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "Det kan oppstå problemer med økta viss klokka ikkje er rett set opp. Du "
+#~ "bør vurdere å stilla den.\n"
+#~ "\n"
+#~ "Dagens dato er <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "Klarte ikkje å starta verktøy for å stilla klokka: %s"
+
+#
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "Klokka på datamaskinen ser ut til å vera feil"
+
+#
+#~ msgid "_Ignore"
+#~ msgstr "_Ignorar"
+
+#
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Juster klokka"
+
+# gsm/gnome-login-check.c:344
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Kunne ikkje slå opp internett-adressa for %s.\n"
+#~ "Dette vil hindre GNOME i å virka ordentleg.\n"
+#~ "Det er mogleg å retta opp problemet ved å leggja\n"
+#~ "til %s i fila /etc/hosts."
+
+# gsm/gnome-login-check.c:327 gsm/gnome-login-check.c:352
+#~ msgid "Try Again"
+#~ msgstr "Prøv igjen"
+
+# gsm/manager.c:400
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Venting forlatt grunna konflikt."
+
+# gsm/manager.c:834
+#~ msgid "No response to the %s command."
+#~ msgstr "Ikkje noko svar på kommandoen %s."
+
+# gsm/manager.c:835
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Programmet kan være treigt, stoppa eller øydelagt."
+
+# gsm/manager.c:836
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Du kan vente på svar, eller fjerne det."
+
+# gsm/manager.c:1375
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Gjenoppstart program som er forlatt pga feil."
+
+# gsm/manager.c:1541
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Nedstenging av økta er i gang."
+
+# gsm/session-properties-capplet.c:206
+#~ msgid "- Save the current session"
+#~ msgstr "- Lagra denne økta"
+
+#
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Lagra endringar i aktiv økt før programmet lukkast?"
+
+#
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "Viss du ikkje lagrar vil endringane forkastes."
+
+#
+#~ msgid "_Close without Saving"
+#~ msgstr "_Lukk utan å lagra"
+
+#~ msgid "Current Session"
+#~ msgstr "Aktiv økt"
+
+#
+#~ msgid "Your session has been saved."
+#~ msgstr "Din økt er lagra."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "kunne ikkje kopla til økthandsamaren\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "økthandsamaren støttar ikkje GNOME-utvidelser\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Fjern den valde klienten frå økta."
+
+# gsm/session-properties-capplet.c:206
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Bruk endringane i den aktive økta"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Liste over program i økta."
+
+# gsm/session-properties-capplet.c:321
+#~ msgid "Currently running _programs:"
+#~ msgstr "_Program som køyrer no:"
+
+# gsm/splash.c:58 gsm/splash.c:59
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Sawfish vindaugehandsamar"
+
+# gsm/splash.c:67
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Metacity vindaugehandsamar"
+
+# gsm/splash.c:69
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+# applets/desk-guide/deskguide_applet.c:1151
+#~ msgid "Desktop Settings"
+#~ msgstr "Instillingar for skrivebord"
+
+#
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "Oppstartskommandoen kan ikkje vera tom"
+
+# gsm/logout.c:220
+#~ msgid "_Save current setup"
+#~ msgstr "L_agra noverande oppsett"
+
+# gsm/session-names.c:126
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Øktnamnet kan ikkje vere tomt"
+
+# gsm/session-names.c:136
+#~ msgid "The session name already exists"
+#~ msgstr "Øktnamnet eksisterer allereie"
+
+# gsm/session-names.c:170
+#~ msgid "Add a new session"
+#~ msgstr "Legg til ny økt"
+
+# gsm/session-names.c:202
+#~ msgid "Edit session name"
+#~ msgstr "Rediger namnet på økta"
+
+#~ msgid "Disable"
+#~ msgstr "Ikkje bruk"
+
+# gnome-terminal/gnome-terminal.c:1591
+#~ msgid "_Edit"
+#~ msgstr "R_ediger"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Somme endringar er ikkje lagra.\n"
+#~ "Vil du avslutta likevel?"
+
+# gsm/session-properties-capplet.c:192
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Vis oppstartskjerm ved inn_logging"
+
+# gsm/session-properties-capplet.c:199
+#~ msgid "As_k on logout"
+#~ msgstr "S_pør før du loggar ut"
+
+# gsm/session-properties-capplet.c:206
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Lagra endrin_gar i økta automatisk"
+
+# gsm/session-properties.c:272
+#~ msgid "_Sessions:"
+#~ msgstr "_Økter:"
+
+# gsm/startup-programs.c:283 gsm/startup-programs.c:290
+#~ msgid "_Startup Command:"
+#~ msgstr "Opp_startskommando:"
diff --git a/po/nso.po b/po/nso.po
new file mode 100644
index 0000000..aa4c27e
--- /dev/null
+++ b/po/nso.po
@@ -0,0 +1,497 @@
+# Northern Sotho translation of gnome-session.
+# Copyright (C) 2004 Zuza Software Foundation
+# This file is distributed under the same license as the gnome-session package.
+#
+# Zuza Software Foundation <info@translate.org.za>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2004-11-29 17:02+0200\n"
+"Last-Translator: Zuza Software Foundation <info@translate.org.za>\n"
+"Language-Team: Northern Sotho <translate-discuss-nso@lists.sourceforge.net>\n"
+"Language: nso\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Dumelela dikgokagano tša TCP"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Ka mabaka a polokego, maemong ao a nago le _IceTcpTransNoListen() "
+"(ditshepedišo ya XFree86), lenaneo la gnome ga le theetše dikgokagano tša "
+"mafelo a TCP. Karolo ye e tla dumelela dikgokagano tše di tšwago go baswari "
+"(ba ba dumeletšwego) ba ba lego kgole. E le gore se se direge, karolo ya "
+"gnome e swanetše go thongwa ka leswa."
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ge e ba le kgontšhwa, gnome-session e tla akgofiša mošomisi pele a ka fetša "
+"lenaneo."
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Ge e ba le kgontšhwa, gnome-session e tla boloka lenaneo le ka go "
+"itiragalela. Go sego bjalo, poledišano ya go tšwa e tla ba le kgetho ya gore "
+"go bolokwe lenaneo."
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Go akgofiša ga go tšwa"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr ""
+"Seswantšho se se ratwago bakeng sa go se diriša sekirining se se "
+"tlampuletšago ge go dirišwa teseke ya GNOME"
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Boloka mananeo"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Bontšha sekirini sa go tlampuletša"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "Bontšha seširo sa go tlampuletša ge lenaneo le thoma"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr "Seswantšho sa Sekirini sa go Tlampuletša"
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_Tatelano:"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Tatelano yeo ditirišo di thongwago ka yona lenaneong le."
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Go direga'ng tirišong ge e tšwa."
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Setaele:"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Tatelano"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Setaele"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Boemo"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Lenaneo"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Ga e šome"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "E emetše go thoma goba e šetše e feditše."
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "E a thoma"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "E thomile eupja ga se ya hlwa e bega boemo bjo e lego go bjona."
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "E a šoma"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Leloko le tlwaelegilego la lenaneo."
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "E a boloka"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "E boloka dintlha tša lenaneo."
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Ga e tsebje"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Boemo ga se bja begwa nakong ya ge go tlogetšwe go šoma."
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Tlwaelegile"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Ga se ya kgongwa ke go tšwa eupša e ka hwa."
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Thoma ka leswa"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Ga se ya dumelelwa go hwa."
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Ditlakala"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "E lahlilwe go tšweng gomme e ka hwa."
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Dipeakanyo"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Ka mehla e thomile go go tsena go gongwe le go gongwe."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Go bile le phošo ya go thoma Dipeakanyo tša Daemon ya GNOME.\n"
+"\n"
+"Dilo tše dingwe, tše bjalo ka dihlogo, medumo goba dipeakanyo tše bonagalago "
+"ka morago di ka no se šome gabotse."
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Molaetša wa mafelelo wa phošo e be e le:\n"
+"\n"
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"GNOME e sa dutše e tla leka go thoma Daemon ya Dipeakanyo ka leswa nakong e "
+"tlago ge o tsena."
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Go bile le phošo e sa tsebjego ya go diragatša."
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Daemon ya Dipeakanyo e thomile ka leswa gantši kudu."
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Na o kgonthišegile gore o nyaka go tšwa?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "_Boloka peakanyo ya gona bjale"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Mogato"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_E tšwa"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "Ti_ma"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "_Thoma khomphuthara ka leswa"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Laetša leina la lenaneo leo le swanetšego go laišwa"
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr ""
+"Bala feela mananeo a bolokilwego go tšwa faeleng ya lenaneo ya tlhaelelo"
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+"Go feditšwe seripa sa motsotswana go emetšwe badirelwa gore ba ingwadiše "
+"(0=ka mo go sa felego)"
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+"Go feditšwe seripa sa motsotswana go emetšwe badirelwa gore ba arabele (0=ka "
+"mo go sa felego)"
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+"Go feditšwe seripa sa motsotswana go emetšwe badirelwa gore ba hwe (0=ka mo "
+"go sa felego)"
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Ga se ya kgona go lebelela aterese ya Inthanete bakeng sa %s.\n"
+"Se se tla palediša GNOME go šoma ka mo go swanetšego.\n"
+"Go ka kgonega go lokiša bothata ka go oketša\n"
+"%s faeleng/bjalo bjalo/baswari."
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Lega go le bjalo tsena"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Leka Gape"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Lenaneo la gago le bolokilwe"
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Go leta go gannwe ka baka la thulano."
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Ga go na karabo taelong ya %s."
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Lenaneo le ka ba le nanya, le emišitšwe goba le senyegile."
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "O ka e emela gore e arabele goba o e tloše."
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Thoma ka leswa tše gannwego ka baka la go palelwa."
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Lenaneo la go tima le tšwela pele."
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Beakanya lenaneo la gona bjale"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Bolaya lenaneo"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Diriša mapokisi a poledišano"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Ga e kgone go kgokagana le molaodi wa lenaneo"
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Leina la lenaneo ga le kgone go se be le selo"
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Leina la lenaneo le šetše le le gona"
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Oketša lenaneo le leswa"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Lokiša leina la lenaneo"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Lokiša"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Diphetogo tše dingwe ga di a bolokwa.\n"
+"Go sa dutše Go Lokile go tšwa?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Mananeo"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Bontšha sekirini sa go tlampuletša ge _o tsena"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "_Akgofiša go tšwa"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Boloka diphetogo lenan_eong ka mo go itiragalelago"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Mananeo:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Leina la Lenaneo"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Dikgetho tša Lenaneo"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Lenaneo la Gona Bjale"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "Mananeo a oketšegilego _a go thoma:"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Taelo"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Mananeo a go Thongwa"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Tloša modirelwa yo a kgethilwego gona bjale lenaneong."
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Diriša diphetogo lenaneong la gona bjale"
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Lelokelelo la mananeo lenaneong."
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Mananeo ao a šomago gona _bjale:"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Thoma dipeakanyo tša lenaneo"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Fetola sebopego sa mananeo a gago"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Molaodi wa Lefesetere la Sawfish"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Molaodi wa Lefesetere la Metacity"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Molaodi wa Lefesetere"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Panele"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Kemedi ya Molaodi wa Lenaneo"
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Dipeakanyo tša Teseke"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "_Taelo ya go Thoma:"
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Taelo ya go Thoma"
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Taelo ya go thoma ga se ya swanela go se be le selo"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Oketša Lenaneo la go Thoma"
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Lokiša Lenaneo la go Thoma"
diff --git a/po/oc.po b/po/oc.po
new file mode 100644
index 0000000..dfb361a
--- /dev/null
+++ b/po/oc.po
@@ -0,0 +1,614 @@
+# Occitan translation of gnome-session.
+# Copyright (C) 1998-2012 Free Software Foundation, Inc.
+# Yannig Marchegay (Kokoyaya) <yannig@marchegay.org>, 2007.
+# Cédric Valmary (Tot en òc) <cvalmary@yahoo.fr>, 2015.
+# Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>, 2016, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-11-01 19:55+0100\n"
+"Last-Translator: Quentin PAGÈS\n"
+"Language-Team: Tot En Òc\n"
+"Language: oc\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: Poedit 3.0\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizat"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Aquesta causida permet d'accedir a una session enregistrada"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Aquesta session vos connècta dins GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME factici"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME sus Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME sus Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Enregistrar las sessions"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se activat, gnome-session enregistra la session automaticament."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Enregistrar aquesta session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Quand es activat, gnome-session enregistrarà automaticament la session "
+"seguenta a la desconnexion encara que siá desactivat l’enregistrament "
+"automatic."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Demanda de desconnexion"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"S'es activat, gnome-session demandarà una confirmacion a l’utilizaire abans "
+"de terminar una session."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Afichar l'avertiment de solucion de recambi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se activat, gnome-session aficha una bóstia de dialòg d’avertiment aprèp la "
+"connexion se la session de secors a degut èsser activada."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Session personalizada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Causissètz una session personalizada d'aviar"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Session _novèla"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Sup_rimir la session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Reno_menar la session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Contunhar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Ò damne ! Quicòm a trucat."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Un problèma s'es produit e lo sistèma se pòt pas recuperar. Contactatz un "
+"administrator del sistèma"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Un problèma s'es produit e lo sistèma se pòt pas recuperar. Totas las "
+"extensions son estadas desactivadas per mesura de precaucion."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Un problèma s'es produit e lo sistèma se pòt pas recuperar.\n"
+"Desconnectatz-vos e ensajatz tornamai."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Tampar la session"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Activa lo còdi de desbugatge"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Autorizar la desconnexion"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Afichar l'avertiment per las extensions"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Abséncia de responsa"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Se desconnectar"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicacions memorizadas"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Aqueste programa blòca la desconnexion."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Refús de la connexion d'un novèl client perque la session es actualament en "
+"cors de tampadura\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Impossible de crear lo connectador d'escota ICE : %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Execucion coma servici systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Utilizar la gestion de session systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Utilizar la gestion de session integrada (puslèu qu’aquela basada sus "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Remplaça los repertòris autostart estandards"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "REP_AUTOSTART"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session d'utilizar"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOM_SESSION"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Carga pas las aplicacions demandadas per l'utilizaire"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version d'aquesta aplicacion"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Afichar lo dialòg d'error per lo testar"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Desactivar la verificacion de l'acceleracion materiala"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — lo gestionari de sessions de GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Aviar gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Aviar gnome-session-shutdown.target se recepcion de fin de fichièr (EOF) o "
+"d’un octet unic sus stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Senhalar l’inicializacion coma acabada a gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reaviatz dbus.service s’es en execucion"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Aviar a partir d’ExecStopPost per lançar gnome-session-failed.target en cas "
+"de fracàs del servici"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Lo programa demanda exactament un paramètre"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMANDA\n"
+"\n"
+"Executa COMANDA tot en inibent de foncionalitats de la session.\n"
+"\n"
+" -h, --help Afichar aquesta ajuda\n"
+" --version Afichar la version del programa\n"
+" --app-id ID L'identificant d'aplicacion d'utilizar\n"
+" al moment de l'inibicion (opcional)\n"
+" --reason REASON La rason de l'inibicion (opcional)\n"
+" --inhibit ARG Las causas d'inibir, lista separada per de dobles punts "
+"demest :\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Avietz pas COMANDA e esperatz indefinidament a la plaça\n"
+"\n"
+"Se pas cap d'opcion --inhibit es pas precisat, « idle » es supausat.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Impossible d'executar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s necessita un paramètre\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Se desconnècta"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "S'atuda"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reaviar"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorar tot inibitor existent"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Demanda pas de confirmacion"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Impossible de se connectar al gestionari de sessions"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programa apelat amb d'opcions conflictualas"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Los noms de sessions pòdon pas començar per « . » o conténer lo caractèr « / "
+"»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Los noms de sessions pòdon pas començar per « . »"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Los noms de sessions pòdon pas conténer lo caractèr « / »"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Una session nomenada « %s » existís ja"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programas suplementaris a l'aviada :"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programas a l'aviada"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Se remembrar _automaticament de las aplicacions en cors d'execucion al "
+#~ "moment de la desconnexion"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Se remembrar de las aplicacions en cors d'execucion"
+
+#~ msgid "Options"
+#~ msgstr "Opcions"
+
+#~ msgid "Browse…"
+#~ msgstr "Percórrer…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Co_mentari :"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Comanda :"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nom :"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Aquesta session vos connècta dins GNOME, en utilizant Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Sélection d'una commande"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Apondon d'un programa d'aviada"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Modificacion d'un programa d'aviada"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "La comanda d'aviada pòt pas èsser voida"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "La comanda d'aviada es pas valida"
+
+#~ msgid "Enabled"
+#~ msgstr "Activat"
+
+#~ msgid "Icon"
+#~ msgstr "Icòna"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferéncias de las aplicacions a l'aviada"
+
+#~ msgid "No name"
+#~ msgstr "Pas de nom"
+
+#~ msgid "No description"
+#~ msgstr "Pas de descripcion"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Impossible d'afichar lo document d'ajuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicacions a l'aviada"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Causir las aplicacions d'aviar a la connexion"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Lo fichièr es pas un fichièr .desktop valid"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "La version « %s » del fichièr .desktop es pas reconeguda"
+
+#~ msgid "Starting %s"
+#~ msgstr "Aviada de %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "L'aplicacion accèpta pas de documents en linha de commande"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opcion d'aviada non reconeguda : %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Impossible de passar d'URI de document a un fichièr de burèu amb « "
+#~ "Type=Link »"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Aqueste element ne pòt èsser lancé"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desactiva la connexion al gestionari de sessions"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Indica lo fichièr que conten la configuracion enregistrada"
+
+#~ msgid "FILE"
+#~ msgstr "FICHIÈR"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opcions de la gestion de sessions :"
+
+#~ msgid "Show session management options"
+#~ msgstr "Aficha las opcions de la gestion de sessions"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "De programas son totjorn en cors d'execucion :"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconegut"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Un programa es totjorn en cours d'execucion :"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Espèra de la fin del programa. L'interrupcion del programa risquerait de "
+#~ "vous far pèrdre certaines donadas."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Espèra de la fin dels programas. L'interrupcion d'aquestes programas "
+#~ "riscariá de vos far pèrdre certanas donadas."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Cambiar d'utilizaire malgrat tot"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Se desconnectar malgrat tot"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Metre en velha malgrat tot"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Ivernar malgrat tot"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Atudar malgrat tot"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reaviar malgrat tot"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Verrolhar l'ecran"
+
+#~ msgid "Cancel"
+#~ msgstr "Annuler"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Seretz automaticament desconnectat dins %d segonda."
+#~ msgstr[1] "Seretz automaticament desconnectat dins %d segondas."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Aqueste ordenador va s'atudar automaticament dins %d segonda."
+#~ msgstr[1] "Aqueste ordenador va s'atudar automaticament dins %d segondas."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Aqueste ordenador va reaviar automaticament dins %d segonda."
+#~ msgstr[1] "Aqueste ordenador va reaviar automaticament dins %d segondas."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Sètz actualament connectat en tant que « %s »."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Se desconnectar del sistèma ara ?"
+
+#~ msgid "_Switch User"
+#~ msgstr "Cambiar d'_utilizaire"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Atudar aqueste ordenador ara ?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Metre en velha"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Ivernar"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reaviar"
+
+#~ msgid "_Shut Down"
+#~ msgstr "Ét_eindre"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Reaviar aqueste ordenador ara ?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Icòna « %s » pas trobada"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Fracàs del cargament de GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "GNOME 3 n'a malurosament pas capitat d'aviar corrèctament e a aviat en "
+#~ "<i>mòde restrent</i>.\n"
+#~ "\n"
+#~ "Aquò significa probablament que vòstre sistèma (la carta grafica o son "
+#~ "pilòt) es pas pro poderós per prene en carga totes los elements del burèu "
+#~ "GNOME 3."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "N'aprene mai sus GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "Impossible d'aviar la session (e de se connectar al servidor X)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Quitat amb lo còdi %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Tuat pel senhal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Interromput pel senhal %d"
diff --git a/po/or.po b/po/or.po
new file mode 100644
index 0000000..0575225
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,670 @@
+# translation of gnome-session.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 <arya_subhransu@yahoo.co.in>, 2006.
+# Manoj Kumar Giri <mgiri@redhat.com>, 2009, 2010, 2011, 2012, 2013, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master.or\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-08-25 07:29+0000\n"
+"PO-Revision-Date: 2014-08-25 17:04+0530\n"
+"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
+"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
+"Language: or\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "ଇଚ୍ଛାରୂପଣ"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "ଏହି ଭରଣଟି ଆପଣଙ୍କୁ ଏକ ସଂରକ୍ଷିତ ଅଧିବେଶନ ବାଛିବାକୁ ଦେଇଥାଏ"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "ନୋମ"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "ଏହି ଅଧିବେଶନ ଆପଣଙ୍କୁ ନୋମ ରେ ଲଗ କରାଇଥାଏ"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME ପ୍ରତିରୂପ"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+#| msgid "GNOME fallback"
+msgid "GNOME on Wayland"
+msgstr "ୱେଲ୍ୟାଣ୍ଡ ଉପରେ GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "ୱେଲ୍ୟାଣ୍ଡ ବ୍ୟବହାର କରି, ଏହି ଅଧିବେଶନ ଆପଣଙ୍କୁ GNOME ରେ ଲଗଇନ୍‌ କରାଇଥାଏ"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "ଇଚ୍ଛାମୁତାବକ ଅଧିବେଶନ"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "ଚଲାଇବା ପାଇଁ ଏକ ଇଚ୍ଛାମୁତାବକ ଅଧିବେଶନ ବାଛନ୍ତୁ"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "ନୂତନ ଅଧିବେଶନ (_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "ଅଧିବେଶନକୁ ବାହାର କରନ୍ତୁ (_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "ଅଧିବେଶନର ନାମ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "ଅଗ୍ରସର ହୁଅନ୍ତୁ (_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "ଅତିରିକ୍ତ ବ୍ଯବସ୍ଥାପକ ପ୍ରୋଗ୍ରାମ (_p):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "ବ୍ଯବସ୍ଥାପକ ପ୍ରୋଗ୍ରାମ"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "ଲଗଆଉଟ ହେବା ସମୟରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ମନେରଖନ୍ତୁ (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "ବର୍ତ୍ତମାନ ଚାଲୁଥିବା ପ୍ରୟୋଗଗୁଡ଼ିକୁ ମନେରଖନ୍ତୁ (_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "ବିକଳ୍ପଗୁଡ଼ିକ"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "ବ୍ରାଉଜ କରନ୍ତୁ..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "ମନ୍ତବ୍ୟ (_e):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "ନିର୍ଦ୍ଦେଶ (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "ନାମ (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "ଆହା! କିଛି ଗୋଟିଏ ଭୁଲ ହୋଇଗଲା।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"ଏକ ସମସ୍ୟା ଘଟିଛି ଏବଂ ତନ୍ତ୍ର ଠିକ ହୋଇପାରୁ ନାହିଁ। ଦୟାକରି ତନ୍ତ୍ର ପ୍ରଶାସକଙ୍କ ସହିତ "
+"ସମ୍ପର୍କ କରନ୍ତୁ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"ଏକ ସମସ୍ୟା ଘଟିଛି ଏବଂ ତନ୍ତ୍ର ଠିକ ହୋଇପାରୁ ନାହିଁ। ସୁରକ୍ଷା ଦୃଷ୍ଟିକୋଣରୁ ସମସ୍ତ "
+"ଅନୁଲଗ୍ନଗୁଡ଼ିକୁ ନିଷ୍କ୍ରିୟ "
+"କରାଯାଇଛି।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"ଏକ ସମସ୍ୟା ଘଟିଛି ଏବଂ ତନ୍ତ୍ର ଠିକ ହୋଇପାରୁ ନାହିଁ। \n"
+"ଦୟାକରି ଲଗଆଉଟ କରି ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "ଲଗଆଉଟ କରନ୍ତୁ (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "ତ୍ରୁଟି ନିବାରଣ ସଂକେତକୁ ସକ୍ରିୟ କରନ୍ତୁ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "ଲଗଆଉଟ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "ଅନୁଲଗ୍ନ ଚେତାବନି ଦର୍ଶାନ୍ତୁ"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "ଉତ୍ତର ଦେଉନାହିଁ"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "ଲଗଆଉଟ (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "ମନେଥିବା ପ୍ରୟୋଗ"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "ଏହି ପ୍ରଗ୍ରାମଟି ଲଗଆଉଟ ହେବାକୁ ଦେଉନାହିଁ।"
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"ନୂତନ କ୍ଲାଏଣ୍ଟ ସଂଯୋଗକୁ ମନାକରୁଅଛି କାରଣ ସେହି ଅଧିବେଶନଟି ବର୍ତ୍ତମାନ ବନ୍ଦ ହୋଇଛି\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE କୁ ମାନୁଥିବା ସକେଟ ନିର୍ମାଣ କରିପାରିଲା ନାହିଁ: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "ମାନକ ସ୍ୱୟଂଚାଳିତ ଡିରେକ୍ଟୋରୀଗୁଡ଼ିକୁ ନବଲିଖନ କରନ୍ତୁ"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "ବ୍ୟବହାର କରିବାକୁ ଥିବା ଅଧିବେଶନ"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "ଚାଳକ ନିର୍ଦ୍ଧାରିତ ପ୍ରୟୋଗଗୁଡ଼ିକୁ ଧାରଣ କରନ୍ତୁ ନାହିଁ"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "ଏହି ପ୍ରୟୋଗର ସଂସ୍କରଣ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "ପରୀକ୍ଷା ପାଇଁ ବିଫଳ ସଂଳାପକୁ ଦର୍ଶାନ୍ତୁ"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr " - GNOME ଅଧିବେଶନ ପରିଚାଳକ"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s କୁ ନିଷ୍ପାଦନ କରିବାରେ ବିଫଳ\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ଏକ ସ୍ୱତନ୍ତ୍ରଚର ଆବଶ୍ୟକ କରିଥାଏ\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "ଅଧିବେଶନ %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"ଅଧିବେଶନ ନାମଗୁଡ଼ିକ ‘.’ ରୁ ଆରମ୍ଭ କରିବା ପାଇଁ ଅନୁମତି ଦେଇନଥାଏ କିମ୍ବା ‘/’ ଅକ୍ଷର "
+"ଧାରଣ କରିନଥାଏ"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "ଅଧିବେଶନ ନାମଗୁଡ଼ିକ ‘.’ ରୁ ଆରମ୍ଭ ହେବା ପାଇଁ ଅନୁମତି ନଥାଏ"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "ଅଧିବେଶନ ନାମଗୁଡ଼ିକ ‘/’ ବର୍ଣ୍ଣ ଧାରଣ କରିବା ପାଇଁ ଅନୁମତି ନାହିଁ"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "‘%s’ ନାମକ ଅଧିବେଶନ ପୂର୍ବରୁ ଅବସ୍ଥିତ ଅଛି"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "ଲଗଆଉଟ୍"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "ବିଦ୍ୟୁତ ପ୍ରବାହ ବନ୍ଦ କରନ୍ତୁ"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "ପୁନର୍ଚାଳନ କରନ୍ତୁ"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "ଯେକୌଣସି ସ୍ଥିତବାନ ବାଧାବିଘ୍ନକୁ ଅମାନ୍ୟ କରୁଅଛି"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "ଚାଳକ ପାଇଁ ନିଶ୍ଚିତକରଣ ଆବଶ୍ୟକ କରିନଥାଏ"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "ଅଧିବେଶନ ପରିଚାଳକଙ୍କ ସହିତ ସମ୍ପର୍କ ସ୍ଥାପିତ କରିପାରିଲା ନାହିଁ"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "ଦ୍ୱନ୍ଦମୟ ବିକଳ୍ପଗୁଡ଼ିକ ସହିତ ଡକାହେଉଥିବା ପ୍ରଗ୍ରାମ"
+
+#~ msgid "Select Command"
+#~ msgstr "ନିର୍ଦ୍ଦେଶ ବାଛନ୍ତୁ"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ପ୍ରୋଗ୍ରାମକୁ ଯୋଗ କରନ୍ତୁ"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ପ୍ରୋଗ୍ରାମକୁ ସଂଶୋଧନ କରନ୍ତୁ"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ପ୍ରୋଗ୍ରାମଟି ଖାଲି ହୋଇ ପାରିବ ନାହିଁ"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ନିର୍ଦ୍ଦେଶଟି ବୈଧ ନୁହଁ"
+
+#~ msgid "Enabled"
+#~ msgstr "ସକ୍ରିୟ"
+
+#~ msgid "Icon"
+#~ msgstr "ଚିତ୍ରସଙ୍କେତ"
+
+#~ msgid "Program"
+#~ msgstr "ପ୍ରୋଗ୍ରାମ"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ପ୍ରୟୋଗ ପସନ୍ଦ"
+
+#~ msgid "No name"
+#~ msgstr "କୌଣସି ନାମ ନାହିଁ"
+
+#~ msgid "No description"
+#~ msgstr "କୌଣସି ବର୍ଣ୍ଣନା ନାହିଁ"
+
+#~ msgid "Could not display help document"
+#~ msgstr "ସାହାଯ୍ଯ ଦଲିଲ ଦେଖାଇହେଲା ନାହିଁ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "କିଛି ପ୍ରଗ୍ରାମ ଏପର୍ଯ୍ୟନ୍ତ ଚାଲିଅଛି:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "ପ୍ରାରମ୍ଭିକ ପ୍ରୟୋଗଗୁଡ଼ିକ"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "ଆପଣ ଲଗଇନ ହେବା ସମୟରେ କେଉଁ ପ୍ରୟୋଗକୁ ଆରମ୍ଭ କରିବା ଉଚିତ ତାହା ବାଛନ୍ତୁ"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ଫାଇଲଟି ଗୋଟିଏ ବୈଧ .desktop ଫାଇଲ ନୁହଁ"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ଅଚିହ୍ନା ଡେସ୍କଟପ ଫାଇଲ ସଂସ୍କରଣ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s କୁ ଆରମ୍ଭ କରୁଅଛି"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "ନିର୍ଦ୍ଦେଶନାମାରେ ପ୍ରୟୋଗଟି ଦଲିଲ ଗ୍ରହଣ କରେନାହିଁ"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "ଅଚିହ୍ନା ଆରମ୍ଭ ବିକଳ୍ପ: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "ଦଲିଲ URI ଗୁଡ଼ିକୁ 'ପ୍ରକାର=ସଂଯୋଗ' ଡେସ୍କଟପ ଭରଣକୁ ପଠାଯାଇପାରିବ ନାହିଁ"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ଗୋଟିଏ ଆରମ୍ଭ କରିବା ବସ୍ତୁ ନୁହଁ"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "ଅଧିବେଶନ ପରିଚାଳକଙ୍କ ପ୍ରତି ସଂଯୋଗ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "ସଂରକ୍ଷିତ ବିନ୍ୟାସ ଧାରଣ କରିଥିବା ଫାଇଲକୁ ଦର୍ଶାନ୍ତୁ"
+
+#~ msgid "FILE"
+#~ msgstr "ଫାଇଲ"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "ଅଧିବେଶନ ପରିଚାଳନ ID ଉଲ୍ଲେଖ କରନ୍ତୁ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "ଅଧିବେଶନ ପରିଚାଳନା ବିକଳ୍ପଗୁଡ଼ିକ:"
+
+#~ msgid "Show session management options"
+#~ msgstr "ଅଧିବେଶନ ପରିଚାଳନା ବିକଳ୍ପଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ"
+
+#~ msgid "Unknown"
+#~ msgstr "ଅଜଣା"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ଗୋଟିଏ ପ୍ରଗ୍ରାମ ଏପର୍ଯ୍ୟନ୍ତ ଚାଲିଅଛି:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ପ୍ରଗ୍ରାମ ସମାପ୍ତ ହେବା ପାଇଁ ଅପେକ୍ଷା କରିଅଛି। ଏହି ପ୍ରଗ୍ରାମଗୁଡ଼ିକୁ ବାଧା ଦେବା ଦ୍ୱାରା କାର୍ଯ୍ୟ "
+#~ "ନଷ୍ଟ ହୋଇପାରେ।"
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ପ୍ରଗ୍ରାମ ସମାପ୍ତ ହେବା ପାଇଁ ଅପେକ୍ଷା କରିଅଛି। ଏହି ପ୍ରଗ୍ରାମଗୁଡ଼ିକୁ ବାଧା ଦେବା ଦ୍ୱାରା କାର୍ଯ୍ୟ "
+#~ "ନଷ୍ଟ ହୋଇପାରେ।"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "ଚାଳକଙ୍କୁ ଯେକୌଣସି ଉପାୟରେ ବଦଳାନ୍ତୁ"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "ଯେକୌଣସି ପ୍ରକାରେ ଲଗଆଉଟ କରନ୍ତୁ"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "ଯେକୌଣସି ଉପାୟରେ ନିଲମ୍ବନ କରନ୍ତୁ"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "ଯେକୌଣସି ପ୍ରକାରେ ସୁପ୍ତ କରନ୍ତୁ"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "ଯେକୌଣସି ପ୍ରକାରେ ବନ୍ଦ କରନ୍ତୁ"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "ଯେକୌଣସି ଉପାୟରେ ପୁନର୍ଚାଳନ କରନ୍ତୁ"
+
+#~ msgid "Lock Screen"
+#~ msgstr "ପରଦାକୁ ତାଲା ଦେଇ ରଖନ୍ତୁ"
+
+#~ msgid "Cancel"
+#~ msgstr "ବାତିଲ କରନ୍ତୁ"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "ଆପଣଙ୍କୁ %d ସେକଣ୍ଡରେ ଆପେଆପେ ଲଗ ଆଉଟ କରାଦିଆଯିବ."
+#~ msgstr[1] "ଆପଣଙ୍କୁ %d ସେକଣ୍ଡରେ ଆପେଆପେ ଲଗ ଆଉଟ କରାଦିଆଯିବ."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ଏହି ତନ୍ତ୍ର %d ସେକଣ୍ଡରେ ଆପେଆପେ ବନ୍ଦ କରାଯିବ."
+#~ msgstr[1] "ଏହି ତନ୍ତ୍ର %d ସେକଣ୍ଡରେ ଆପେଆପେ ବନ୍ଦ କରାଯିବ."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ଏହି ତନ୍ତ୍ର %d ସେକଣ୍ଡରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ପୁନଃଚାଳନ ହେବ।"
+#~ msgstr[1] "ଏହି ତନ୍ତ୍ର %d ସେକଣ୍ଡରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ପୁନଃଚାଳନ ହେବ।"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "ଆପଣ \"%s\" ପରି ଭାବରେ ବର୍ତ୍ତମାନ ଲଗଇନ ହୋଇଛନ୍ତି।"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "ଏହି ତନ୍ତ୍ରରୁ ବର୍ତ୍ତମାନ ଲଗଆଉଟ କରିବେ କି?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ବ୍ଯବହାରକାରୀ ବଦଳାନ୍ତୁ (_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "ଯନ୍ତ୍ରକୁ ବର୍ତ୍ତମାନ ବନ୍ଦ କରିବେ କି?"
+
+#~ msgid "S_uspend"
+#~ msgstr "ନିଲମ୍ବନ କରନ୍ତୁ (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "ସୁପ୍ତ କରନ୍ତୁ (_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "ପୁନଃ ଚାଳନ କରନ୍ତୁ (_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "ବନ୍ଦ କରନ୍ତୁ (_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ଏହି ତନ୍ତ୍ରକୁ ବର୍ତ୍ତମାନ ପୁନଃଚାଳନ କରିବେ କି?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' ଚିତ୍ରସଙ୍କେତ ମିଳିଲା ନାହଁ"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 ଧାରଣ କରିବାରେ ବିଫଳ"
+
+#~| msgid ""
+#~| "Unfortunately GNOME 3 failed to start properly and started in the "
+#~| "<i>fallback mode</i>.\n"
+#~| "\n"
+#~| "This most likely means your graphics hardware is not capable to run the "
+#~| "full GNOME 3 experience"
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "ଦୁର୍ଭାଗ୍ୟ ବଶତଃ GNOME 3 ସଠିକ ଭାବରେ ଆରମ୍ଭ ହେବାରେ ବିଫଳ ହେଲା ଏବଂ<i>ଆବର୍ତ୍ତନ ଧାରାରେ</"
+#~ "i> ଆରମ୍ଭ ହେଲା।\n"
+#~ "\n"
+#~ "ସମ୍ଭବତଃ ଏହା ଅର୍ଥ ଆପଣଙ୍କର ଆଲେଖିକ ହାର୍ଡୱେର ସମ୍ପୂର୍ଣ୍ଣ GNOME 3 ଅଭିଜ୍ଞ୍ୟତାକୁ ଚଲାଇବାରେ ସକ୍ଷମ "
+#~ "ହୋଇନଥାଏ।"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "GNOME 3 ବିଷୟରେ ଅଧିକ ଜ୍ଞାନ ଆହରଣ କରନ୍ତୁ"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "ଲଗଇନ ଅଧିବେଶନ ଆରମ୍ଭ କରିବାରେ ଅସମର୍ଥ (ଏବଂ X ସର୍ଭର ସହିତ ସଂଯୋଗ ହେବାରେ ଅସମର୍ଥ)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>କିଛି ପ୍ରଗ୍ରାମ ଏବେ ମଧ୍ଯ ଚାଲୁଅଛି:</b>"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "ବିନ୍ୟାସ ସର୍ଭରରେ ଗୋଟିଏ ସମସ୍ୟା ଦେଖାଦେଇଅଛି।\n"
+#~ "(%s ପ୍ରସ୍ଥାନ କରିଥାଏ ସ୍ଥିତି %d ସହିତ)"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME ସଂରଚନା ଡେମନ ସହାୟକ"
+
+#~ msgid "File Manager"
+#~ msgstr "ଫାଇଲ ପରିଚାଳକ"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "ଯଦି ସକ୍ରିୟ କରାଯାଇଛି, ତାହାହେଲେ ନୋମ ଅଧିବେଶନଟି ବନ୍ଦ ହେବା ପୂର୍ବରୁ ଚାଳକକୁ ପଚାରିବ। "
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "ଯଦି ସକ୍ରିୟ କରାଯାଇଛି, ତାହାହେଲେ ନୋମ ଅଧିବେଶନଟି ସ୍ବତଃ ସଂରକ୍ଷିତ ହୋଇଯିବ। ଅନ୍ଯଥା, ଲଗଆଉଟ୍ "
+#~ "ସଂଳାପ ସହିତ ସଂରକ୍ଷଣ ପାଇଁ ଗୋଟିଏ ବିକଲ୍ପ ରହିବ।"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "ପ୍ରୟୋଗ ଗୁଡିକର ତାଲିକା ଯାହାକି ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଅଧିବେଶନର ଅଂଶବିଶେଷ।"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "ଅଧିବେଶନର ଅଂଶ ଭାବରେ ଆବଶ୍ୟକ ଉପାଦାନଗୁଡ଼ିକର ତାଲିକା। (ପ୍ରତ୍ୟେକ ଉପାଦାନ \"/desktop/gnome/"
+#~ "session/required_components\" ଅନ୍ତର୍ଗତରେ ଗୋଟିଏ କିର ନାମକରଣ କରିଥାଏ)। ପ୍ରାରମ୍ଭିକ "
+#~ "ପ୍ରୟୋଗର ପସନ୍ଦ ସାଧନ ସାଧାରଣତଃ ଚାଳକମାନଙ୍କୁ ଅଧିବେଶନରୁ ଆବଶ୍ୟକୀୟ ଉପାଦାନ କାଢ଼ିଥାଏ, ଏବଂ "
+#~ "ଅଧିବେଶନ ପରିଚାଳକ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଆବଶ୍ୟକୀୟ ଉପାଦାନଗୁଡ଼ିକୁ ଅଧିବେଶନରେ ଲଗଇନ ସମୟରେ ଯୋଗ "
+#~ "କରିଥାଏ ଯଦି ସେମାନଙ୍କୁ କଢ଼ାଯାଇଥାଏ।"
+
+#~ msgid "Logout prompt"
+#~ msgstr "ଲଗଆଉଟ୍ ସନ୍ଦେଶ"
+
+#~ msgid "Panel"
+#~ msgstr "ଫଳକ"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ଲଗଇନ୍ ପରଦା ପାଇଁ ଅନୁଗ୍ରହିତ ଚିତ୍ରସଙ୍କେତ"
+
+#~ msgid "Required session components"
+#~ msgstr "ଆବଶ୍ୟକୀୟ ଅଧିବେଶନ ଉପାଦାନଗୁଡ଼ିକ"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ପରଦାକୁ ଦେଖାନ୍ତୁ"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "ଅଧିବେଶନ ପ୍ରାରମ୍ଭ ହେବା ସମୟରେ ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ପରଦାକୁ ଦେଖାନ୍ତୁ"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "ଫାଇଲ ପରିଚାଳକ ଡେସ୍କଟପ ଚିତ୍ରସଂକେତଗୁଡ଼ିକୁ ପ୍ରଦାନ କରିଥାଏ ଏବଂ ଆପଣଙ୍କର ସଂରକ୍ଷିତ ଫାଇଲଗୁଡ଼ିକରେ "
+#~ "କାର୍ଯ୍ୟ କିରବା ପାଇଁ ଅନୁମତି ଦେଇଥାଏ।"
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "ଅଧିବେଶନ ନିଷ୍କ୍ରିଯ ବୋଲି ବିଚାର କରାୟିବା ପୂର୍ବରୁ ନିଷ୍କ୍ରିଯ ହେବାର ମିନିଟଗୁଡିକର ସଂଖ୍ଯା"
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "ପଟ୍ଟିକା ତାଲିକା, ୱିଣ୍ଡୋ ତାଲିକା, ସ୍ଥିତି ଚିତ୍ରସଂକେତ, ଘଡ଼ି, ଇତ୍ୟାଦି ଧାରଣ କରିଥିବା ପରଦାର ଉପର "
+#~ "ଅଥବା ତଳ ପଟିରେ ଫଳକ ପ୍ରଦାନ କରିଥାଏ।"
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "ୱିଣ୍ଡୋ ପରିଚାଳକଟି ଗୋଟିଏ ପ୍ରଗ୍ରାମ ଯାହାକି ଶୀର୍ଷକ ପଟି ଏବଂ ୱିଣ୍ଡୋ ଚାରିପଟେ ଧାର ଅଙ୍କନ କରିଥାଏ, "
+#~ "ଏବଂ ୱିଣ୍ଡୋଗୁଡ଼ିକର ଆକାର ପରିବର୍ତ୍ତନ ପାଇଁ ଆପଣଙ୍କୁ ଅନୁମତି ଦେଇଥାଏ।"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "ଏହା $datadir/pixmaps/ ଡିରେକ୍ଟୋରି ଉପରେ ଆଧାରିତ ଆପେକ୍ଷିକ ପଥ। ଉପଡିରେକ୍ଟୋରି ଏବଂ ପ୍ରତିଛବି "
+#~ "ମାନଙ୍କର ନାମ ବୈଧ ଅଟେ। ଏହି ନାମକୁ ପରିବର୍ତନ କଲେ ଏହା ପରବର୍ତ୍ତୀ ଅଧିବେଶନ ଲଗଇନ୍ ରେ ପ୍ରଭାବିତ "
+#~ "ହେବ।"
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "ଅଧିବେଶନ ନିଷ୍କ୍ରିଯ ବୋଲି ବିଚାର କରିବା ପୂର୍ବରୁ ସମଯ"
+
+#~ msgid "Window Manager"
+#~ msgstr "ୱିଣ୍ଡୋ ପରିଚାଳକ"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "ପ୍ରଗ୍ରାମ ସମାପ୍ତ ହେବା ପର୍ଯ୍ୟନ୍ତ ଅପେକ୍ଷା କରିଅଛି। ପ୍ରଗ୍ରାମକୁ ବାଧା ଦେବା ଦ୍ୱାରା ଆପଣଙ୍କୁ "
+#~ "କାର୍ଯ୍ୟ ହରାଇବାକୁ ପଡ଼ିଥାଏ।"
+
+#~ msgid "GConf key used to lookup default session"
+#~ msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଅଧିବେଶନକୁ ଦେଖିବା ପାଇଁ GConf କି"
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ପରଦା"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ପରଦା"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "ବନ୍ଦ କରିବା ସଂଳାପ ଦର୍ଶାନ୍ତୁ"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "ତ୍ରୁଟିଗୁଡ଼ିକ ପାଇଁ ସଂଳାପ ବାକ୍ସକୁ ବ୍ଯବହାର କରନ୍ତୁ"
+
+#~ msgid "Set the current session name"
+#~ msgstr "ବର୍ତ୍ତମାନ ଅଧିବେଶନ ନାମକୁ ସେଟ କରନ୍ତୁ"
+
+#~ msgid "NAME"
+#~ msgstr "ନାମ"
+
+#~ msgid "Kill session"
+#~ msgstr "ଅଧିବେଶନକୁ ସମାପ୍ତ କରନ୍ତୁ"
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 0000000..6e14b55
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,861 @@
+# translation of gnome-session.HEAD.po to Punjabi
+# Copyright (C) 2004 THE gnome-session'S COPYRIGHT HOLDER
+#
+#
+# Amanpreet Singh Alam <amanliunx@netscapet.net>, 2004.
+# Amanpreet Singh Alam <aalam@users.sf.net>, 2005, 2007, 2008.
+# A S Alam <aalam@users.sf.net>, 2009, 2010, 2011, 2012, 2013, 2015, 2018, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-07-31 14:02+0000\n"
+"PO-Revision-Date: 2021-01-31 08:45-0800\n"
+"Last-Translator: A S Alam <aalam@satluj.org>\n"
+"Language-Team: Punjabi <punjabi-translation@googlegroups.com>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 20.08.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "ਕਸਟਮ"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "ਇਹ ਐਂਟਰੀ ਤੁਹਾਨੂੰ ਸੰਭਾਲਿਆ ਸ਼ੈਸ਼ਨ ਚੁਣਨ ਦਿੰਦੀ ਹੈ"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "ਗਨੋਮ"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "ਇਹ ਸ਼ੈਸ਼ਨ ਤੁਹਾਨੂੰ ਗਨੋਮ ਵਿੱਚ ਲਾਗ ਕਰਦਾ ਹੈ"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "ਗਨੋਮ ਡੰਮੀ"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Xorg ਉੱਤੇ ਗਨੋਮ"
+
+# gnome-session/session-properties.c:272
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "ਸ਼ੈਸ਼ਨ ਸੰਭਾਲੋ"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਆਟੋਮੈਟਿਕ ਹੀ ਸ਼ੈਸ਼ਨ ਨੂੰ ਸੰਭਾਲ ਲਵੇਗਾ।"
+
+# gnome-session/session-properties-capplet.c:259
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "ਇਹ ਸ਼ੈਸ਼ਨ ਸੰਭਾਲੋ"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"ਜੇ ਸਮਰੱਥ ਕੀਤਾ ਤਾਂ ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਨੂੰ ਲਾਗ ਆਉਟ ਕਰਨ ਉੱਤੇ ਅਗਲੇ ਸ਼ੈਸ਼ਨ ਲਈ ਸੰਭਾਲਿਆ ਜਾਵੇਗਾ,"
+" ਭਾਵੇਂ ਕਿ ਆਪਣੇ-"
+"ਆਪ ਸੰਭਾਲਣ ਨੂੰ ਅਸਮਰੱਥ ਕੀਤਾ ਹੋਵੇ।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "ਲਾਗਆਉਟ ਪੁਸ਼ਟੀ"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ, ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਸ਼ੈਸ਼ਨ ਖਤਮ ਕਰਨ ਵੇਲੇ ਯੂਜ਼ਰ ਨੂੰ ਪੁੱਛੇ।"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "ਫਾਲਬੈਕ ਚੇਤਾਵਨੀ ਵੇਖਾਓ"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"ਜੇ ਸਮਰੱਥ ਕੀਤਾ ਤਾਂ ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਲਾਗਇਨ ਕਰਨ ਦੇ ਬਾਅਦ ਚੇਤਾਵਨੀ ਡਾਈਲਾਗ ਵਿਖਾਏਗਾ, ਜੇ ਸ਼ੈਸ਼ਨ"
+" ਆਪਣੇ-ਆਪ "
+"ਵਾਪਸ ਨਹੀਂ ਚੱਲਿਆ ਹੋਵੇਗਾ।"
+
+# gnome-session/save-session.c:43
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "ਪਸੰਦੀਦਾ ਸ਼ੈਸ਼ਨ"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "ਚਲਾਉਣ ਲਈ ਕਸਟਮ ਸ਼ੈਸ਼ਨ ਚੁਣੋ ਜੀ"
+
+# gnome-session/session-properties.c:272
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "ਨਵਾਂ ਸ਼ੈਸ਼ਨ(_N)"
+
+# gnome-session/session-properties.c:272
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "ਸ਼ੈਸ਼ਨ ਹਟਾਓ(_R)"
+
+# gnome-session/session-properties.c:272
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "ਸ਼ੈਸ਼ਨ ਨਾਂ ਬਦਲੋ(_m)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "ਜਾਰੀ ਰੱਖੋ(_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "ਓਹ ਹੋ! ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"ਕੋਈ ਸਮੱਸਿਆ ਆਈ ਹੈ ਅਤੇ ਸਿਸਟਮ ਬਹਾਲ ਨਹੀਂ ਹੋ ਸਕਿਆ। ਆਪਣੇ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"ਕੋਈ ਸਮੱਸਿਆ ਆਈ ਹੈ ਅਤੇ ਸਿਸਟਮ ਬਹਾਲ ਨਹੀਂ ਹੋ ਸਕਿਆ। ਬਚਾਅ ਵਜੋਂ ਸਭ ਇਕਸਟੈਸ਼ਨ ਨੂੰ"
+" ਅਸਮਰੱਥ ਕੀਤਾ ਜਾ "
+"ਚੁੱਕਾ ਹੈ।"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"ਕੋਈ ਸਮੱਸਿਆ ਆਈ ਹੈ ਅਤੇ ਸਿਸਟਮ ਬਹਾਲ ਨਹੀਂ ਹੋ ਸਕਿਆ।\n"
+"ਲਾਗ ਆਉਟ ਕਰਕੇ ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
+
+# gnome-session/logout.c:274
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "ਲਾਗ-ਆਉਟ(_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "ਡੀਬੱਗ ਕੋਡ ਯੋਗ"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "ਲਾਗਆਉਟ ਮਨਜ਼ੂਰ"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "ਇਕਸਟੈਨਸ਼ਨ ਚੇਤਾਵਨੀ ਵੇਖਾਓ"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "ਕੋਈ ਜਵਾਬ ਨਹੀਂ"
+
+# gnome-session/logout.c:274
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "ਲਾਗ-ਆਉਟ(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "ਯਾਦ ਰੱਖੇ ਹੋਏ ਐਪਲੀਕੇਸ਼ਨ"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "ਇਹ ਪਰੋਗਰਾਮ ਲਾਗ-ਆਉਟ ਨੂੰ ਰੋਕ ਰਿਹਾ ਹੈ।"
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"ਨਵਾਂ ਕਲਾਇਟ ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ ਸ਼ੈਸ਼ਨ ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE ਲਿਸਨਿੰਗ ਸਾਕਟ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "systemd ਸੇਵਾ ਵਜੋਂ ਚੱਲ ਰਿਹਾ ਹੈ"
+
+# gnome-session/main.c:66
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "systemd ਸ਼ੈਸ਼ਨ ਇੰਤਜ਼ਾਮ ਵਰਤੋਂ"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "ਇਹ ਬਿਲਟ-ਇਨ ਸ਼ੈਸ਼ਨ ਇੰਤਜ਼ਾਮ (systemd ਦੇ ਅਧਾਰਿਤ ਬਿਨਾਂ)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "ਸਟੈਂਡਰਡ ਆਟੋ-ਸਟਾਰਟ ਡਾਇਰੈਕਟਰੀਆਂ ਅਣਡਿੱਠੀਆਂ"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+# gnome-session/session-properties.c:272
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "ਵਰਤਣ ਲਈ ਸ਼ੈਸ਼ਨ"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "ਖਾਸ ਵਰਤੋਂਕਾਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਲੋਡ ਨਾ ਕਰੋ"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਵਰਜ਼ਨ"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "ਟੈਸਟ ਕਰਨ ਲਈ ਵੇਲ੍ਹ ਡਾਈਲਾਗ ਵੇਖਾਓ"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "ਹਾਰਡਵੇਅਰ ਐਕਸਰਲੇਸ਼ਨ ਚੈਕ ਅਸਮਰੱਥ ਕਰੋ"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — ਗਨੋਮ ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target ਸ਼ੁਰੂ ਕਰੋ"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"gnome-session-shutdown.target ਸ਼ੁਰੂ ਕਰੋ, ਜਦੋਂ EOF ਜਾਂ stdin ਉੱਤੇ ਸਿੰਗਲ ਬਾਈਟ"
+" ਮਿਲੇ"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਲਈ ਸਿਗਨਲ ਸ਼ੁਰੂਆਤ ਮੁਕੰਮਲ "
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "ਜੇ ਚੱਲ ਰਿਹਾ ਹੋਵੇ ਤਾਂ dbus.service ਮੁੜ-ਚਾਲੂ ਕਰੋ"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"ਸੇਵਾ ਅਸਫ਼ਲ ਹੋਣ ਉੱਤੇ gnome-session-failed.target ਸ਼ੁਰੂ ਕਰਨ ਲਈ ExecStopPost ਤੋਂ"
+" ਚਲਾਓ"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "ਪਰੋਗਰਾਮ ਨੂੰ ਪੂਰਾ ਠੀਕ ਪੈਰਾਮੀਟਰ ਚਾਹੀਦਾ ਹੈ"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+#| msgid ""
+#| "%s [OPTION…] COMMAND\n"
+#| "\n"
+#| "Execute COMMAND while inhibiting some session functionality.\n"
+#| "\n"
+#| " -h, --help Show this help\n"
+#| " --version Show program version\n"
+#| " --app-id ID The application id to use\n"
+#| " when inhibiting (optional)\n"
+#| " --reason REASON The reason for inhibiting (optional)\n"
+#| " --inhibit ARG Things to inhibit, colon-separated list of:\n"
+#| " logout, switch-user, suspend, idle, automount\n"
+#| " --inhibit-only Do not launch COMMAND and wait forever instead\n"
+#| "\n"
+#| "If no --inhibit option is specified, idle is assumed.\n"
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"ਕੁਝ ਸ਼ੈਸ਼ਨ ਸਹੂਲਤਾਂ ਨੂੰ ਰੋਕਣ ਲਈ COMMAND ਚਲਾਓ।\n"
+"\n"
+" -h, --help ਇਹ ਮਦਦ ਵੇਖੋ\n"
+" --version ਪਰੋਗਰਾਮ ਵਰਜ਼ਨ ਵੇਖੋ\n"
+" --app-id ID ਰੋਕਣ ਦੇ ਦੌਰਾਨ ਵਰਤਣ ਲਈ ਐਪਲੀਕੇਸ਼ਨ\n"
+" id (ਚੋਣਵਾਂ)\n"
+" --reason REASON ਰੋਕਣ ਦਾ ਕਾਰਨ (ਚੋਣਵਾਂ)\n"
+" --inhibit ARG ਰੋਕਣ ਲਈ ਚੀਜ਼ਾਂ, ਕੌਮੇ ਪਾ ਕੇ ਵੱਖ ਕੀਤਾ:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only COMMAND ਨਾ ਚਲਾਓ ਅਤੇ ਹਮੇਸ਼ਾਂ ਲਈ ਉਡੀਕੋ\n"
+" -l, --list ਮੌਜੂਦਾ ਰੋਕਾਂ ਦੀ ਸੂਚੀ ਚਲਾਓ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ਲਈ ਆਰਗੂਮੈਂਟ ਦੀ ਲੋੜ ਹੈ\n"
+
+# gnome-session/logout.c:274
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "ਲਾਗ-ਆਉਟ"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "ਮੁਡ਼-ਚਾਲੂ"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "ਕਿਸੇ ਵੀ ਮੌਜੂਦ ਇੰਹੈਬੇਟਰ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "ਵਰਤੋਂਕਾਰ ਪੁਸ਼ਟੀ ਲਈ ਨਾ ਪੁੱਛੋ"
+
+# gnome-session/save-session.c:112
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਜੁੜਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "ਪਰੋਗਰਾਮ ਨੂੰ ਚੋਣਾਂ ਨਾਲ ਅਪਵਾਦ ਮਿਲਿਆ"
+
+# gnome-session/session-properties.c:272
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "ਸ਼ੈਸ਼ਨ %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "ਸ਼ੈਸ਼ਨ ਨਾਂ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ “. “ ਜਾਂ “/ “ ਅੱਖਰ ਮਨਜ਼ੂਰ ਨਹੀਂ"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "ਸ਼ੈਸ਼ਨ ਨਾਂ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ “. “ ਮਨਜ਼ੂਰ ਨਹੀਂ"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "ਸ਼ੈਸ਼ਨ ਨਾਂ ਵਿੱਚ “/ “ ਅੱਖਰ ਮਨਜ਼ੂਰ ਨਹੀਂ"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "“%s “ ਨਾਂ ਨਾਲ ਸ਼ੈਸ਼ਨ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "ਇਹ ਸ਼ੈਸ਼ਨ ਤੁਹਾਨੂੰ ਗਨੋਮ ਵਿੱਚ ਵੇਲੈਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲਾਗ ਇਨ ਕਰਨ ਦਿੰਦਾ ਹੈ।"
+
+# gnome-session/startup-programs.c:372
+#~ msgid "Additional startup _programs:"
+#~ msgstr "ਹੋਰ ਸਟਾਰਟਅੱਪ ਪਰੋਗਰਾਮ(_P):"
+
+# gnome-session/session-properties-capplet.c:399
+#~ msgid "Startup Programs"
+#~ msgstr "ਸਟਾਰਟਅੱਪ ਪਰੋਗਰਾਮ"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "ਜਦੋਂ ਲਾਗ ਆਉਟ ਹੋਵੋ ਤਾਂ ਚੱਲਦੇ ਐਪਲੀਕੇਸ਼ਨ ਆਟੋਮੈਟਿਕ ਹੀ ਯਾਦ ਰੱਖੋ(_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "ਇਸ ਸਮੇਂ ਚੱਲਦੇ ਐਪਲੀਕੇਸ਼ਨ ਯਾਦ ਰੱਖੋ(_R)"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Options"
+#~ msgstr "ਚੋਣਾਂ"
+
+#~ msgid "Browse…"
+#~ msgstr "ਝਲਕ..."
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Comm_ent:"
+#~ msgstr "ਟਿੱਪਣੀ(_e):"
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Co_mmand:"
+#~ msgstr "ਕਮਾਂਡ(_m):"
+
+#~ msgid "_Name:"
+#~ msgstr "ਨਾਂ(_N):"
+
+# gnome-session/session-properties-capplet.c:362
+#~ msgid "Select Command"
+#~ msgstr "ਕਮਾਂਡ ਚੁਣੋ"
+
+# gnome-session/startup-programs.c:392
+#~ msgid "Add Startup Program"
+#~ msgstr "ਸਟਾਰਟਅੱਪ ਪਰੋਗਰਾਮ ਸ਼ਾਮਲ"
+
+# gnome-session/startup-programs.c:392
+#~ msgid "Edit Startup Program"
+#~ msgstr "ਸਟਾਰਟਅੱਪ ਪਰੋਗਰਾਮ ਸੋਧ"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ਸ਼ੁਰੂਆਤੀ ਕਮਾਂਡ ਖਾਲੀ ਨਹੀ ਹੋ ਸਕਦੀ ਹੈ"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The startup command is not valid"
+#~ msgstr "ਸ਼ੁਰੂਆਤੀ ਕਮਾਂਡ ਠੀਕ ਨਹੀਂ ਹੈ"
+
+#~ msgid "Enabled"
+#~ msgstr "ਯੋਗ"
+
+# gnome-session/logout.c:266
+#~ msgid "Icon"
+#~ msgstr "ਆਈਕਾਨ"
+
+# gnome-session/gsm-client-list.c:111
+#~ msgid "Program"
+#~ msgstr "ਪਰੋਗਰਾਮ"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ਸ਼ੁਰੂਆਤੀ ਐਪਲੀਕੇਸ਼ਨ ਪਸੰਦ"
+
+#~ msgid "No name"
+#~ msgstr "ਕੋਈ ਨਾਂ ਨਹੀਂ"
+
+#~ msgid "No description"
+#~ msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ"
+
+#~ msgid "Could not display help document"
+#~ msgstr "ਮੱਦਦ ਡੌਕੂਮੈਂਟ ਨੂੰ ਵੇਖਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
+
+#~ msgid "Startup Applications"
+#~ msgstr "ਸ਼ੁਰੂਆਤੀ ਐਪਲੀਕੇਸ਼ਨ"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "ਚੁਣੋ ਕਿ ਕਿਹੜੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੁਸੀਂ ਲਾਗਇਨ ਸਮੇਂ ਸ਼ੁਰੂ ਕਰਨੀਆਂ ਚਾਹੁੰਦੇ ਹੋ"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ਫਾਇਲ ਢੁੱਕਵੀਂ .desktop ਫਾਇਲ ਨਹੀਂ ਹੈ"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ਅਣਜਾਣ ਡੈਸਕਟਾਪ ਫਾਇਲ ਵਰਜਨ '%s'"
+
+# gnome-session/gsm-client-row.c:34
+#~ msgid "Starting %s"
+#~ msgstr "%s ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਕਮਾਂਡ ਲਾਈਨ ਉੱਤੇ ਡੌਕੂਮੈਂਟ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦੀ ਹੈ।"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "ਅਣਜਾਣ ਲਾਂਚ ਚੋਣ: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "ਇੱਕ 'Type=Link' ਡੈਸਕਟਾਪ ਐਂਟਰੀ ਲਈ ਡੌਕੂਮੈਂਟ URI ਨਹੀਂ ਦਿੱਤਾ ਜਾ ਸਕਦਾ"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ਚਲਾਉਣਯੋਗ ਆਈਟਮ ਨਹੀਂ ਹੈ"
+
+# gnome-session/save-session.c:112
+#~ msgid "Disable connection to session manager"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਆਯੋਗ"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "ਸੰਭਾਲੀ ਸੰਰਚਨਾ ਰੱਖਣ ਵਾਲੀ ਫਾਇਲ ਦਿਓ"
+
+#~ msgid "FILE"
+#~ msgstr "ਫਾਇਲ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Session management options:"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧਕ ਚੋਣਾਂ:"
+
+# gnome-session/session-properties-capplet.c:332
+#~ msgid "Show session management options"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧਕ ਚੋਣਾਂ ਵੇਖੋ"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ਕੁਝ ਪਰੋਗਰਾਮ ਹਾਲੇ ਵੀ ਚੱਲ ਰਹੇ ਹਨ:"
+
+#~ msgid "Unknown"
+#~ msgstr "ਅਣਜਾਣ"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ਇੱਕ ਪਰੋਗਰਾਮ ਹਾਲੇ ਵੀ ਚੱਲ ਰਿਹਾ ਹੈ:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ਪਰੋਗਰਾਮ ਨੂੰ ਪੂਰਾ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਪਰੋਗਰਾਮ 'ਚ ਦਖਲ ਦੇਣ ਨਾਲ ਤੁਹਾਡਾ ਕੰਮ ਗੁਆਚ "
+#~ "ਸਕਦਾ ਹੈ।"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "ਪਰੋਗਰਾਮਾਂ ਨੂੰ ਪੂਰਾ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਇਹ ਪਰੋਗਰਾਮਾਂ 'ਚ ਦਖਲ ਦੇਣ ਨਾਲ ਤੁਹਾਡਾ ਕੰਮ "
+#~ "ਗੁਆਚ ਸਕਦਾ ਹੈ।"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਯੂਜ਼ਰ ਬਦਲੋ"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਲਾਗ-ਆਉਟ ਕਰੋ"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਸਸਪੈਂਡ"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਹਾਈਬਰਨੇਟ"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਬੰਦ ਕਰੋ"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "ਕਿਵੇਂ ਵੀ ਮੁੜ-ਚਾਲੂ ਕਰੋ"
+
+#~ msgid "Lock Screen"
+#~ msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ"
+
+# gnome-session/splash.c:69
+#~ msgid "Cancel"
+#~ msgstr "ਰੱਦ ਕਰੋ"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "ਤੁਹਾਨੂੰ %d ਸਕਿੰਟ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਲਾਗਆਉਟ ਕੀਤਾ ਜਾਵੇਗਾ।"
+#~ msgstr[1] "ਤੁਹਾਨੂੰ %d ਸਕਿੰਟਾਂ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਲਾਗਆਉਟ ਕੀਤਾ ਜਾਵੇਗਾ।"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ਇਹ ਸਿਸਟਮ %d ਸਕਿੰਟ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਬੰਦ ਕੀਤਾ ਜਾਵੇਗਾ।"
+#~ msgstr[1] "ਇਹ ਸਿਸਟਮ %d ਸਕਿੰਟਾਂ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਬੰਦ ਕੀਤਾ ਜਾਵੇਗਾ।"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ਇਹ ਸਿਸਟਮ %d ਸਕਿੰਟ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।"
+#~ msgstr[1] "ਇਹ ਸਿਸਟਮ %d ਸਕਿੰਟਾਂ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "ਹੁਣ ਤੁਸੀਂ \"%s\" ਵਜੋਂ ਲਾਗਇਨ ਹੋ।"
+
+# msgid "You are currently logged in as \"%s\"."
+# msgstr "ਤੁਸੀਂ ਇਸ ਵੇਲੇ "%s\" ਵਜੋਂ ਲਾਗਇਨ ਹੋ।"
+#~ msgid "Log out of this system now?"
+#~ msgstr "ਇਸ ਸਿਸਟਮ ਲਈ ਹੁਣੇ ਲਾਗ ਆਉਟ ਕਰਨਾ ਹੈ?"
+
+#~ msgid "_Switch User"
+#~ msgstr "ਯੂਜ਼ਰ ਬਦਲੋ(_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "ਕੀ ਸਿਸਟਮ ਹੁਣੇ ਬੰਦ ਕਰਨਾ ਹੈ?"
+
+#~ msgid "S_uspend"
+#~ msgstr "ਸਸਪੈਂਡ(_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "ਹਾਈਬਰਨੇਟ(_H)"
+
+# gnome-session/session-properties.c:173
+#~ msgid "_Restart"
+#~ msgstr "ਰੀ-ਸਟਾਰਟ(_R)"
+
+# gnome-session/logout.c:277
+#~ msgid "_Shut Down"
+#~ msgstr "ਬੰਦ ਕਰੋ(_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "ਕੀ ਸਿਸਟਮ ਹੁਣ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਹੈ?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "ਆਈਕਾਨ '%s' ਨਹੀਂ ਲੱਭਿਆ"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "ਗਨੋਮ ੩ ਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "ਅਫਸੋਸ ਹੈ ਕਿ ਗਨੋਮ ੩ ਠੀਕ ਤਰ੍ਹਾਂ ਚੱਲਣ ਲਈ ਫੇਲ੍ਹ ਹੋਇਆ ਹੈ ਅਤੇ <i>ਫਾਲਬੈਕ ਮੋਡ</i> ਵਿੱਚ ਚੱਲ ਸਕਿਆ "
+#~ "ਹੈ।\n"
+#~ "\n"
+#~ "ਇਹ ਦਾ ਸਭ ਤੋਂ ਆਮ ਕਾਰਨ ਹੈ ਕਿ ਤੁਹਾਡਾ ਸਿਸਟਮ (ਗਰਾਫਿਕਸ ਹਾਰਡਵੇਅਰ ਜਾਂ ਡਰਾਇਵਰ) ਗਨੋਮ ੩ ਨੂੰ "
+#~ "ਠੀਕ ਤਰ੍ਹਾਂ ਚਲਾਉਣ ਲਈ ਸਮਰੱਥ ਨਹੀਂ ਹੈ।"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "ਗਨੋਮ ੩ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਵੋ"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "ਲਾਗਇਨ ਸ਼ੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਅਸਮਰੱਥ (ਅਤੇ X ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਕਰਨ ਲਈ ਵੀ ਅਸਮਰੱਥ)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>ਕੁਝ ਪਰੋਗਰਾਮ ਹਾਲੇ ਵੀ ਚੱਲਦੇ ਹਨ:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "ਕੋਡ %d ਨਾਲ ਬੰਦ ਹੋ ਗਿਆ"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "ਸਿਗਨਲ %d ਰਾਹੀਂ ਕਿੱਲ ਕੀਤਾ"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "ਸਿਗਨਲ %d ਰਾਹੀਂ ਰੁਕਿਆ"
+
+#~| msgid ""
+#~| "A problem has occurred and the system can't recover.\n"
+#~| "Please log out and try again."
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "ਇੱਕ ਸਮੱਸਿਆ ਆਈ ਹੈ ਅਤੇ ਸਿਸਟਮ ਇਸ ਤੋਂ ਉਭਰ ਨਹੀਂ ਸਕਿਆ। ਹੇਠ ਦਿੱਤੀਆਂ ਇਕਸਟੈਨਸ਼ਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਇਸ ਦਾ "
+#~ "ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ।\n"
+#~ "ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਨੂੰ ਬੰਦ ਕਰੋ ਜੀ ਅਤੇ ਲਾਗ ਆਉਟ ਕਰਕੇ ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "ਸੰਰਚਨਾ ਸਰਵਰ ਨਾਲ ਇੱਕ ਸਮੱਸਿਆ ਆਈ ਹੈ।\n"
+#~ "(%s ਹਾਲਤ %d ਨਾਲ ਬੰਦ ਹੋਇਆ)"
+
+# gnome-session/splash.c:71
+#~ msgid "File Manager"
+#~ msgstr "ਫਾਇਲ ਮੈਨੇਜਰ"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਡਿਫਾਲਟ ਸ਼ੈਸ਼ਨ ਦਾ ਭਾਗ ਹਨ।"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "ਭਾਗਾਂ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਗਨੋਮ ਦੇ ਭਾਗ ਵਜੋਂ ਲੋੜੀਦੇ ਹਨ। (ਹਰ ਭਾਗ ਨੂੰ \"/desktop/gnome/"
+#~ "session/required_components\" ਵਿੱਚ ਰੱਖਿਆ ਹੈ)। ਸ਼ੁਰੂਆਤ ਐਪਲੀਕੇਸ਼ਨ ਪਸੰਦ ਟੂਲ ਯੂਜ਼ਰ ਨੂੰ ਆਮ "
+#~ "ਤੌਰ ਉੱਤੇ ਸ਼ੈਸ਼ਨ ਵਿੱਚੋਂ ਲੋੜੀਦੇ ਭਾਗ ਹਟਾਉਣ ਨਹੀਂ ਦੇਵੇਗਾ ਅਤੇ ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਆਟੋਮੈਟਿਕ ਲੋੜੀਦੇ ਭਾਗਾਂ ਨੂੰ ਸ਼ੈਸ਼ਨ "
+#~ "ਵਿੱਚ ਲਾਗਇਨ ਸਮੇਂ ਜੋੜ ਦੇਵੇਗਾ, ਜੇ ਉਹ ਹਟਾਏ ਗਏ ਹੋਣ।"
+
+# gnome-session/splash.c:69
+#~ msgid "Panel"
+#~ msgstr "ਪੈਨਲ"
+
+#~ msgid "Required session components"
+#~ msgstr "ਲੋੜੀਦੇ ਸ਼ੈਸ਼ਨ ਭਾਗ"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "ਫਾਇਲ ਮੈਨੇਜਰ ਡੈਸਕਟਾਪ ਆਈਕਾਨ ਦਿੰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀਆਂ ਸੰਭਾਲੀਆਂ ਫਾਇਲਾਂ ਵਰਤਣ ਲਈ ਸਹਾਇਕ ਹੈ।"
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "ਗ਼ੈਰ-ਸਰਗਰਮੀ ਦੇ ਮਿੰਟਾਂ ਦੀ ਗਿਣਤੀ, ਜਦੋਂ ਕਿ ਸ਼ੈਸ਼ਨ ਨੂੰ ਵੇਹਲਾ ਗਿਣਿਆ ਜਾਵੇ।"
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "ਪੈਨਲ ਸਕਰੀਨ ਦੇ ਉੱਤੇ ਜਾਂ ਥੱਲੇ ਇੱਕ ਪੱਟੀ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਮੇਨੂ, ਵਿੰਡੋ ਲਿਸਟ, ਹਾਲਤ ਆਈਕਾਨ ਅਤੇ "
+#~ "ਘੜੀ ਆਦਿ ਹੁੰਦੇ ਹਨ।"
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "ਵਿੰਡੋ ਮੈਨੇਜਰ ਪਰੋਗਰਾਮ ਹੈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਦੁਆਲੇ ਟਾਈਟਲ-ਪੱਟੀ ਅਤੇ ਬਾਰਡਰ ਬਣਾਉਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਵਿੰਡੋ "
+#~ "ਹਿਲਾਉਣ ਅਤੇਸਾਈਜ਼ ਬਦਲਣ ਦੇ ਕੰਮ ਆਉਦਾ ਹੈ।"
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "ਵੇਹਲਾ ਗਿਣਨ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੈਸ਼ਨ ਦਾ ਸਮਾਂ"
+
+# gnome-session/splash.c:71
+#~ msgid "Window Manager"
+#~ msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ"
+
+#~| msgid "GConf key used to lookup default session"
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "ਜੀਕਾਨਫ਼ ਕੀ ਡਿਫਾਲਟ ਸ਼ੈਸ਼ਨ ਖੋਜ ਲਈ ਵਰਤੀ"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "ਬੰਦ ਕਰੋ ਡਾਈਲਾਗ ਵੇਖੋ"
+
+# gnome-session/save-session.c:44
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "ਗਲਤੀਆਂ ਲਈ ਡਾਈਲਾਗ ਬਕਸੇ ਵਰਤੋਂ"
+
+# gnome-session/session-properties-capplet.c:259
+#~ msgid "Set the current session name"
+#~ msgstr "ਮੌਜੂਦਾ ਸ਼ੈਸ਼ਨ ਨਾਂ ਸੈੱਟ ਕਰੋ"
+
+#~ msgid "NAME"
+#~ msgstr "ਨਾਂ"
+
+# gnome-session/save-session.c:43
+#~ msgid "Kill session"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਖਤਮ ਕਰੋ"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "ਪਰੋਗਰਾਮ ਦੇ ਖਤਮ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਪਰੋਗਰਾਮ 'ਚ ਦਖਣ ਦੇਣ ਨਾਲ ਤੁਹਾਡਾ ਕੰਮ ਖਰਾਬ "
+#~ "ਹੋ ਸਕਦਾ ਹੈ।"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "ਗਨੋਮ ਸੈਟਿੰਗ ਡੈਮਨ ਸਹਾਇਕ"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "ਜੇ ਚਾਲੂ ਹੈ, ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਆਪੇ ਸ਼ੈਸ਼ਨ ਨੂੰ ਸੰਭਾਲੇਗਾ। ਨਹੀ ਤਾਂ, ਲਾਗਆਉਟ ਸਮੇਂ ਸ਼ੈਸ਼ਨ ਸੰਭਾਲਣ ਦੀ ਚੋਣ ਉਪਲਬਧ "
+#~ "ਹੋਵੇਗੀ।"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "ਲਾਗਇਨ ਸਵਾਗਤੀ ਸਕਰੀਨ ਲਈ ਪਸੰਦੀਦਾ ਚਿੱਤਰ"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "Show the splash screen"
+#~ msgstr "ਸਵਾਗਤੀ ਸਕਰੀਨ ਵੇਖੋ"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਨ ਵੇਲੇ ਸਵਾਗਤੀ ਸਕਰੀਨ ਵੇਖੋ"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "ਇਹ $datadir/pixmaps/ directory ਦੇ ਅਧਾਰ ਤੇ ਅਨੁਸਾਰੀ ਮਾਰਗ ਮੁੱਲ ਹੈ। ਸਬ-ਡਾਇਰੈਕਟਰੀਆਂ ਅਤੇ "
+#~ "ਚਿੱਤਰ ਨਾਂ ਠੀਕ ਮੁੱਲ ਹਨ। ਇਹਨਾਂ ਵਿੱਚ ਤਬਦੀਲੀ ਸਿਰਫ਼ ਅਗਲੇ ਸ਼ੈਸ਼ਨ ਤੋਂ ਹੀ ਹੋ ਸਕੇਗੀ।"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- ਗਨੋਮ ਸਕਰੀਨ ਵੇਖੋ"
+
+# gnome-session/session-properties-capplet.c:227
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "ਗਨੋਮ ਸ਼ੁਰੂਆਤੀ ਸਕਰੀਨ"
+
+# gnome-session/startup-programs.c:332
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "ਸ਼ੁਰੂਆਤੀ ਪਰੋਗਰਾਮ ਦਾ ਨਾਂ ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "ਸਹਾਇਕ ਤਕਨਾਲੋਜੀ ਸਹਿਯੋਗ ਸ਼ੈਸ਼ਨ ਲਈ ਮੰਗਿਆ ਗਿਆ ਹੈ, ਪਰ ਸਹਾਇਕ ਰਜਿਸਟਰੀ ਨਹੀਂ ਮਿਲੀ ਹੈ। ਜਾਂਚ "
+#~ "ਕਰੋ ਕਿ AT-SPI ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੈ। ਤੁਹਾਡਾ ਸ਼ੈਸ਼ਨ ਸਹਾਇਕ ਤਕਨਾਲੋਜੀ ਤੋਂ ਬਿਨਾਂ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਵੇਗਾ।"
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPI ਰਜਿਸਟਰ ਰੈਪਰ"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਸੰਦ"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "ਗਨੋਮ ਕੀਰਿੰਗ ਡੈਮਨ ਰੈਪਰ"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "ਲਾਗਆਉਣ ਡਾਈਲਾਗ ਵਿੱਚ ਚੁਣੀ ਚੋਣ"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "ਇਹ ਚੋਣ ਹੈ, ਜੋ ਕਿ ਲਾਗ-ਆਉਣ ਡਾਈਲਾਗ ਵਿੱਚ ਵੇਖਾਈ ਜਾਵੇਗੀ, ਠੀਕ ਮੁੱਲ ਲਾਗ-ਆਉਣ ਲਈ \"ਲਾਗ-ਆਉਟ"
+#~ "\", ਸਿਸਟਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ \"ਬੰਦ ਕਰੋ\", ਅਤੇ ਮੁੜ-ਚਲਾਉਣ ਲਈ \"ਮੁੜ-ਚਲਾਓ\" ਹਨ।"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "ਆਪਣੇ ਸ਼ੈਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਕਰੋ"
+
+#~ msgid "Session management"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧ"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "GNOME GUI ਲਾਇਬਰੇਰੀ + EggSMClient"
+
+# gnome-session/save-session.c:112
+#~ msgid "Could not connect to the session manager\n"
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਜੁੜਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ\n"
+
+#~ msgid "Play logout sound instead of login"
+#~ msgstr "ਲਾਗਇਨ ਦੀ ਬਜਾਏ ਲਾਗਆਉਟ ਸਾਊਡ ਚਲਾਓ"
+
+#~ msgid "- GNOME login/logout sound"
+#~ msgstr "- GNOME ਲਾਗਇਨ/ਲਾਗਆਉਟ ਸਾਊਂਡ"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "TCP ਕੁਨੈਕਸ਼ਨ ਮਨਜ਼ੂਰ"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ , ਪਲੇਟਫਾਰਮ ਜੋ ਕਿ IceTcpTransNoListen() (XFree86 ਸਿਸਟਮ) ਹਨ, "
+#~ "ਗਨੋਮ-ਸ਼ੈਸ਼ਨ TCP ਪੋਰਟ ਤੇ ਸਬੰਧ ਨਹੀ ਸੁਣਦਾ। ਇਸ ਚੋਣ ਰਿਮੋਟ ਮੇਜ਼ਬਾਨ ਤੋ ਸਬੰਧ ਦੀ ਇਜ਼ਾਜਤ "
+#~ "(ਪ੍ਰਮਾਣਿਕ)ਦਿੰਦੀ ਹੈ। ਗਨੋਮ-ਸ਼ੈਸ਼ਨ ਇਸ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੜ ਚਾਲੂ ਹੋ ਰਿਹਾ ਹੈ।"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..a3590e1
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,376 @@
+# Polish translation for gnome-session.
+# Copyright © 1998-2021 the gnome-session authors.
+# This file is distributed under the same license as the gnome-session package.
+# Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 1998-2003.
+# Kuba Winnicki <bw@idc.com.pl>, 1999.
+# Artur Flinta <aflinta@at.kernel.pl>, 2003-2007.
+# Wadim Dziedzic <wdziedzic@aviary.pl>, 2007.
+# Tomasz Dominikowski <dominikowski@gmail.com>, 2007-2009.
+# Piotr Drąg <piotrdrag@gmail.com>, 2010-2021.
+# Aviary.pl <community-poland@mozilla.org>, 2007-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-17 13:20+0200\n"
+"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
+"Language-Team: Polish <community-poland@mozilla.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Niestandardowa sesja"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ten wpis umożliwia wybranie zapisanej sesji"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Ta sesja loguje użytkownika do środowiska GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Pusta sesja GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME (Wayland)"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME (Xorg)"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Zapisywanie sesji"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Czy gnome-session ma automatycznie zapisywać sesję."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Zapisanie tej sesji"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Czy gnome-session ma automatycznie zapisać następną sesję podczas "
+"wylogowania, nawet jeśli automatyczne zapisywanie jest wyłączone."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Potwierdzenie przed wylogowaniem"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Czy gnome-session ma pytać użytkownika o potwierdzenie przed zakończeniem "
+"sesji."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Ostrzeżenie o przywróceniu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Czy gnome-session ma wyświetlać okno z ostrzeżeniem po zalogowaniu, jeśli "
+"sesja została automatycznie przywrócona do poprzedniej."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Niestandardowa sesja"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Proszę wybrać niestandardową sesję do uruchomienia"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nowa sesja"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Usuń sesję"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Z_mień nazwę sesji"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Kontynuuj"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Coś się nie powiodło."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Wystąpił problem i nie można przywrócić komputera. Proszę skontaktować się "
+"z jego administratorem"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Wystąpił problem i nie można przywrócić komputera. Wszystkie rozszerzenia "
+"zostały wyłączone w ramach środków ostrożności."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Wystąpił problem i nie można przywrócić komputera.\n"
+"Proszę się wylogować i spróbować ponownie."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Wyloguj się"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Uruchomienie kodu debugowania"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Zezwolenie na wylogowanie"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Wyświetlanie ostrzeżeń rozszerzeń"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Brak odpowiedzi"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Wyloguj się"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamiętany program"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ten program uniemożliwia wylogowanie."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Odmowa połączenia nowego klienta z powodu trwającego zamykania sesji\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nie można utworzyć gniazda nasłuchującego ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Działanie jako usługa systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Używa zarządzania sesją systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Używa wbudowanego zarządzania sesją (zamiast zarządzania na podstawie "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Obejście standardowych katalogów automatycznego uruchamiania"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "KATALOG_AUTOMATYCZNEGO_URUCHAMIANIA"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Używana sesja"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NAZWA_SESJI"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Bez wczytywania programów określonych przez użytkownika"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Wersja tego programu"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr ""
+"Wyświetla okno niepowodzenia uruchomienia środowiska w celach testowych"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Wyłącza sprawdzanie przyspieszenia sprzętowego"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — menedżer sesji środowiska GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Rozpoczyna gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Rozpoczyna gnome-session-shutdown.target po otrzymaniu EOF lub pojedynczego "
+"bajtu na standardowym wejściu"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Sygnalizuje gnome-session, że inicjacja została ukończona"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Uruchamia usługę dbus.service ponownie, jeśli jest uruchomiona"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Uruchamia z ExecStopPost, aby rozpocząć gnome-session-failed.target po "
+"niepowodzeniu usługi"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program wymaga dokładnie jednego parametru"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCJA…] POLECENIE\n"
+"\n"
+"Wykonuje POLECENIE podczas wstrzymywania części funkcjonalności sesji.\n"
+"\n"
+" -h, --help Wyświetla tę pomoc\n"
+" --version Wyświetla wersję programu\n"
+" --app-id ID Identyfikator programu do użycia\n"
+" podczas wstrzymywania (opcjonalnie)\n"
+" --reason POWÓD Powód wstrzymania (opcjonalnie)\n"
+" --inhibit PARAM Rzeczy do wstrzymania, rozdzielone dwukropkami:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Bez wykonywania POLECENIA i czekanie bez ograniczenia\n"
+" -l, --list Wyświetla listę istniejących wstrzymywań\n"
+" i kończy działanie\n"
+"\n"
+"Jeśli nie podano opcji --inhibit, to przyjmowana jest opcja „idle”.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Wykonanie polecenia „%s” się nie powiodło\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s wymaga parametru\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Wylogowanie"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Wyłączenie"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Ponowne uruchomienie"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorowanie istniejących mechanizmów wstrzymujących"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Bez pytania o potwierdzenie użytkownika"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nie można połączyć się z menedżerem sesji"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Wywołano program ze sprzecznymi opcjami"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesja %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Nazwy sesji nie mogą rozpoczynać się od „.” ani zawierać znaku „/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nazwy sesji nie mogą rozpoczynać się od „.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nazwy sesji nie mogą zawierać znaku „/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Sesja o nazwie „%s” już istnieje"
diff --git a/po/ps.po b/po/ps.po
new file mode 100644
index 0000000..7421ee5
--- /dev/null
+++ b/po/ps.po
@@ -0,0 +1,549 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# Zabeeh Khan <zabeehkhan@gmail.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.head\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&component=general\n"
+"POT-Creation-Date: 2009-03-10 22:16+0000\n"
+"PO-Revision-Date: 2009-03-11 14:40+0500\n"
+"Last-Translator: Zabeeh Khan <zabeehkhan@gmail.com>\n"
+"Language-Team: Pashto <pathanisation@googlegroups.com>\n"
+"Language: ps\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Pashto, Pushto\n"
+"X-Poedit-Country: AFGHANISTAN\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "بولۍ ټاکل"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "پېلنګ کړنلار زياتول"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "پېلنګ کړنلار سمول"
+
+#: ../capplet/gsm-properties-dialog.c:131
+msgid "No description"
+msgstr "هېڅ سپړاوی"
+
+#: ../capplet/gsm-properties-dialog.c:974
+msgid "The name of the startup program cannot be empty"
+msgstr "د پېلنګ کړنلار نوم تشېدی نه شي"
+
+#: ../capplet/gsm-properties-dialog.c:978
+msgid "The startup command cannot be empty"
+msgstr "د پېلنګ بولۍ تشېدی نه شي"
+
+#: ../capplet/gsm-properties-dialog.c:984
+msgid "The startup command is not valid"
+msgstr "پېلنګ بولۍ سمه نه ده"
+
+#: ../capplet/gsm-properties-dialog.c:1303
+msgid "Enabled"
+msgstr "توانول شوی"
+
+#: ../capplet/gsm-properties-dialog.c:1316
+msgid "Icon"
+msgstr "انځورن"
+
+#: ../capplet/gsm-properties-dialog.c:1327
+msgid "Program"
+msgstr "کړنلار"
+
+#: ../capplet/gsm-properties-dialog.c:1477
+msgid "Startup Applications Preferences"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:440
+msgid "Version of this application"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "ګنوم"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "دا ناسته تاسو ګنوم ته ننباسي"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "تلواله ناسته"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "دوتنه سمبالګر"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ".د هغو کاريالونو لړ چې د تلوالې ناستې برخه دي"
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required_components\"). The "
+"Startup Applications preferences tool will not normally allow users to "
+"remove a required component from the session, and the session manager will "
+"automatically add the required components back to the session at login time "
+"if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "وتون پارليکه"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "پاڼه"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "د ننوتون پېلوونکې پردې لپاره د خوښې انځور"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "د ناستې اړين رغتوکي"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "ناستې ساتل"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Show the splash screen"
+msgstr "پېلوونکې پرده ښودل"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen when the session starts up"
+msgstr "د ناستې د پېلېدو پر مهال پېلوونکې پرده ښودل"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "کړکۍ سمبالګر"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Choose what applications to start when you log in"
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Startup Applications"
+msgstr "پېل کاريالونه"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr ":نورې پېلنګ _کړنلارې"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "...لټول"
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr ":بو_لۍ"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr ":څرګن_دون"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "غوراوي"
+
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "د ناستو غوراوي"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "پېلنګ کاريالونه"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr "د وتلو پر مهال ځغلېدونکي کاريالونه په خپلکارې توګه په ياد ساتل_"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr ":نوم_"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "اوس ځغلېدونکی کاريال په ياد ساتل_"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "دوتنه نه ده .desktop دوتنه سمه"
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "'%s' ‎د سرپاڼه دوتنې ناپېژندلې نسخه"
+
+#: ../egg/eggdesktopfile.c:958
+#, c-format
+msgid "Starting %s"
+msgstr "پېلېږي ‎%s"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "کاريال په بولۍ ليکه کې لاسوندونه نه مني"
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "%d ‎:ناپېژندلی پېل غوراوی"
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1392
+#, c-format
+msgid "Not a launchable item"
+msgstr "پېلېدونکی توکی نه دی"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr "د ناسته سمبالګر سره نښلېدنه ناتوانول"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "هغه دوتنه چې ساتل شوې سازونه لري ويې ټاکئ"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "دوتنه"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "د ناستې سمبالونې پېژند وټاکئ"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "پېژند"
+
+#: ../egg/eggsmclient.c:245
+msgid "Session Management Options"
+msgstr "د ناستې سمبالونې غوراوي"
+
+#: ../egg/eggsmclient.c:246
+msgid "Show Session Management options"
+msgstr "د ناستې سمبالونې غوراوي ښودل"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "انځورن ونه موندل شو '%s'"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "ناپېژندلی"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+msgid "Logout Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Hibernate Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Shutdown Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Reboot Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr "پرده کولپول"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr "بندول"
+
+#: ../gnome-session/gsm-logout-dialog.c:284
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:292
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:324
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:389
+msgid "Log out of this system now?"
+msgstr "دې غونډال نه دستي وتل غواړئ؟"
+
+#: ../gnome-session/gsm-logout-dialog.c:395
+msgid "_Switch User"
+msgstr "کارن ونجول_"
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "_Log Out"
+msgstr "وتل_"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "Shut down this system now?"
+msgstr "دا غونډال دستي ګلول غواړئ؟"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "S_uspend"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:422
+msgid "_Hibernate"
+msgstr "پرکالول_"
+
+#: ../gnome-session/gsm-logout-dialog.c:428
+msgid "_Restart"
+msgstr "بياپېلول_"
+
+#: ../gnome-session/gsm-logout-dialog.c:438
+msgid "_Shut Down"
+msgstr "ګلول_"
+
+#: ../gnome-session/gsm-manager.c:948 ../gnome-session/gsm-manager.c:1634
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:1149
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "د نوي پېرن نښلېدنه نه منل کيږي ځکه چې ناسته اوس ګليږي\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:282
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:436
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:437
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:438
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:439
+msgid "Do not load user-specified applications"
+msgstr "کارن-پېژندلي کاريالونه نه پرانيستل"
+
+#: ../gnome-session/main.c:460
+msgid " - the GNOME session manager"
+msgstr "د ګنوم ناستې سمبالګر - "
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "د ګنوم پېلوونکې پرده - "
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "د ګنوم پېلوونکې پرده"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "د اوسنۍ ناستې نوم امستل"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "نوم"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "وتل"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "ناسته وژل"
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "د تېروتنو لپاره کړکۍ کارول"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "باوريينه نه غوښتل"
+
+#: ../tools/gnome-session-save.c:121 ../tools/gnome-session-save.c:131
+msgid "Could not connect to the session manager"
+msgstr "ناسته سمبالګر سره نه شي نښلېدی"
+
+#: ../tools/gnome-session-save.c:274
+msgid "Program called with conflicting options"
+msgstr ""
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "په وتون کړکۍ کې ټاکل شوی غوراوی"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "خپلې ناستې سازول"
+
+#~ msgid "Sessions"
+#~ msgstr "ناستې"
+
+#~ msgid "Session management"
+#~ msgstr "ناسته سمبالونه"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "EggSMClient + کتابتون‎ GUI د جنومي‎"
+
+#~ msgid "Could not connect to the session manager\n"
+#~ msgstr "ناسته سمبالګر سره نه شي نښلېدی\n"
+
+#~ msgid " - Save the current session"
+#~ msgstr "اوسنۍ ناسته ساتل - "
+
+#~ msgid "Play logout sound instead of login"
+#~ msgstr "د ننوتو په ځای د وتو غږ غږول"
+
+#~ msgid "- GNOME login/logout sound"
+#~ msgstr "د جنومي ننوتون/وتون غږ - "
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..0126e18
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,1235 @@
+# gnome-session's Portuguese translation
+# Copyright © 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 gnome-session
+# Distributed under the same licence as the gnome-session package
+# Nuno Ferreira <nmrf@rnl.ist.utl.pt>, 1999
+# Duarte Loreto <happyguy_pt@hotmail.com>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013.
+# António Lima <amrlima@gmail.com>, 2013.
+# Pedro Albuquerque <palbuquerque73@gmail.com>, 2015.
+# Sérgio Cardeira <cardeira dot sergio at gmail dot com>, 2016.
+# Juliano Camargo <julianosc@pm.me>, 2020.
+# José Vieira <jvieira33@sapo.pt>, 2020-2021.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 3.18\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-13 17:16+0100\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Português <https://l10n.gnome.org/teams/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.0\n"
+"X-Project-Style: gnome\n"
+"X-Language: pt_PT\n"
+"X-Source-Language: C\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizado"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Esta entrada permite selecionar uma sessão gravada"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Esta sessão usa o GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME de teste"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME em Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME em Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Guardar sessões"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se ativo, o \"gnome-session\" irá guardar a sessão automaticamente."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Guardar esta sessão"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Se ativado, \"gnome-session\" irá guardar automaticamente a próxima sessão "
+"ao terminar a sessão se o guardar automático estiver desativado."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Perguntar ao sair"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Se ativo, o \"gnome-session\" questionará o utilizador antes de terminar uma "
+"sessão."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostrar aviso do modo de recurso"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se ativado e se a sessão foi recuperada automaticamente, o \"gnome-session\" "
+"irá exibir uma janela de aviso depois de entrar."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sessão Personalizada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Selecione uma sessão personalizada para executar"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova Sessão"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Remover Sessão"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Renomear _Sessão"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Ocorreu algo de errado."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ocorreu um problema e o sistema não consegue recuperar. Contacte um "
+"administrador do sistema"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ocorreu um problema e o sistema não consegue recuperar. Por precaução, foram "
+"desativadas todas as extensões."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ocorreu um problema e o sistema não consegue recuperar.\n"
+"Termine a sessão e tente novamente."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Sair"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Ativar o código de depuração"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permitir a saída"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostrar aviso de extensão"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Não está a responder"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Sair"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicação Memorizada"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Esta aplicação está a impedir a saída."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"A recusar uma nova ligação de cliente porque a sessão está atualmente a ser "
+"terminada\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Não foi possível criar tomada de escuta ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "A executar como serviço do \"systemd\""
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Utilizar a gestão de sessões do \"systemd\""
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Utilizar a gestão de sessões integrada (em vez da baseada no sistema)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Ignorar os diretórios de arranque automático padrão"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sessão a utilizar"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NOME_DA_SESSAO"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Não carregar aplicações especificadas pelo utilizador"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versão desta aplicação"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostrar a janela de falha total para testar"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Desativar a verificação de aceleração de hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — o gestor de sessões do GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Iniciar \"gnome-session-shutdown.target\""
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Iniciar \"gnome-session-shutdown.target\" quando receber EOF ou um único "
+"byte em stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inicialização de sinal efetuada para a \"gnome-session\""
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reiniciar \"dbus.service\" se estiver em execução"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Na falha do serviço, executar a partir de ExecStopPost para iniciar o "
+"\"gnome-session-failed.target\""
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "O programa precisa exatamente de um parâmetro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPÇÃO...] COMANDO\n"
+"\n"
+"Executar 'COMANDO' enquanto inibe alguma funcionalidade da sessão.\n"
+"\n"
+" -h, --help Mostrar esta ajuda\n"
+" --version Mostrar a versão do programa\n"
+" --app-id ID A id de aplicação a utilizar\n"
+" quando inibir (opcional)\n"
+" --reason REASON O motivo para inibir (opcional)\n"
+" --inhibit ARG Funcionalidades a inibir, lista separada por vírgulas "
+"de:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Não iniciar 'COMANDO' e esperar indefinidamente\n"
+" -l, --list Listar as inibições existentes e sair\n"
+"\n"
+"Se não for especificada nenhuma opção --inhibit, é assumida idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Falha ao executar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requer um argumento\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Sair"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Desligar"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "A ignorar quaisquer inibidores existentes"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Não solicitar confirmação ao utilizador"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Não foi possível ligar ao gestor de sessões"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "O programa foi invocado com conflito de opções"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessão %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Não são permitidos nomes de sessão que comecem por \".\" ou contenham o "
+"caráter \"/\""
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Não são permitidos os nomes de sessão que comecem por \".\""
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Não são permitidos os nomes de sessão que contenham o caráter \"/\""
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Já existe uma sessão designada \"%s\""
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "A_plicações de arranque adicionais:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Aplicações de arranque"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "Recordar _automaticamente as aplicações em execução ao terminar a sessão"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Recordar as aplicações atualmente em execução"
+
+#~ msgid "Options"
+#~ msgstr "Opções"
+
+#~ msgid "Browse…"
+#~ msgstr "Navegar…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Com_entário:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mando:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nome:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Esta sessão faz com que entre no GNOME, utilizando o Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Selecionar o Comando"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Adicionar Aplicação de Arranque"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editar Aplicação de Arranque"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "O comando de arranque não pode ser vazio"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "O comando de arranque não é válido"
+
+#~ msgid "Enabled"
+#~ msgstr "Ativo"
+
+#~ msgid "Icon"
+#~ msgstr "Ícone"
+
+#~ msgid "Program"
+#~ msgstr "Aplicação"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferências das Aplicações de Arranque"
+
+#~ msgid "No name"
+#~ msgstr "Sem nome"
+
+#~ msgid "No description"
+#~ msgstr "Sem descrição"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Incapaz de apresentar o documento de ajuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicações de Arranque"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Selecione que aplicações arrancar ao iniciar uma sessão"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Ficheiro não é um ficheiro .desktop válido"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Versão de ficheiro de ambiente de trabalho '%s' desconhecida"
+
+#~ msgid "Starting %s"
+#~ msgstr "A iniciar %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Aplicação não aceita documentos na linha de comando"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opção de iniciação desconhecida. %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Incapaz de indicar URIs de documentos a uma entrada de ficheiro de "
+#~ "ambiente de trabalho 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Não é um item iniciável"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desativar a ligação ao gestor de sessões"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especificar o ficheiro que contém a configuração gravada"
+
+#~ msgid "FILE"
+#~ msgstr "FICHEIRO"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opções de gestão de sessões:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Apresentar as opções de gestão de sessões"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Algumas aplicações ainda se encontram em execução:"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconhecido"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Uma aplicação ainda se encontra em execução:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "A aguardar que a aplicação termine. Interromper a aplicação pode causar a "
+#~ "perca de trabalho."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "A aguardar que as aplicações terminem. Interromper estas aplicações pode "
+#~ "causar a perca de trabalho."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Ainda Assim Alternar Utilizador"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Ainda Assim Terminar a Sessão"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Ainda Assim Suspender"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Ainda Assim Hibernar"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Ainda Assim Desligar"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Ainda Assim Reiniciar"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Trancar o Ecrã"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancelar"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "A sua sessão terminará automaticamente dentro de %d segundo."
+#~ msgstr[1] "A sua sessão terminará automaticamente dentro de %d segundos."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "O sistema será automaticamente desligado dentro de %d segundo."
+#~ msgstr[1] "O sistema será automaticamente desligado dentro de %d segundos."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] ""
+#~ "Este sistema será reiniciado automaticamente dentro de %d segundo."
+#~ msgstr[1] ""
+#~ "Este sistema será reiniciado automaticamente dentro de %d segundos."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "A sessão atual está iniciada com o utilizador \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Terminar a sessão neste sistema agora?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Alternar Utilizador"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Desligar este sistema agora?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_uspender"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernar"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reiniciar"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Desligar"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Reiniciar este sistema agora?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d hora"
+#~ msgstr[1] "%d horas"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minuto"
+#~ msgstr[1] "%d minutos"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d segundo"
+#~ msgstr[1] "%d segundos"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 segundos"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Terminar sessão automaticamente em %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Esta sessão está configurada para terminar automaticamente após um "
+#~ "período de inatividade."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Incapaz de encontrar o ícone '%s'"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Falha ao Iniciar o GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Infelizmente o GNOME 3 foi incapaz de iniciar corretamente e arrancou em "
+#~ "<i>modo de recurso</i>.\n"
+#~ "\n"
+#~ "Provavelmente isso significa que o seu sistema (placa gráfica ou "
+#~ "controladores) não é capaz de processar toda a experiência GNOME 3."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Descubra mais sobre o GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Incapaz de iniciar sessão de arranque (e incapaz de se ligar ao servidor "
+#~ "X)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Algumas aplicações ainda se encontram em execução:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Terminado com o código %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Terminado com o sinal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Parado com o sinal %d"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "Ocorreu um problema e o sistema é incapaz de recuperar. Algumas das "
+#~ "extensões abaixo poderão ter causado o problema.\n"
+#~ "Tente desativar algumas e depois termine a sessão e tente novamente."
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Ocorreu um problema com o servidor de configuração.\n"
+#~ "(%s terminou com o estado %d)"
+
+#~ msgid "Try _Recovery"
+#~ msgstr "Tentar _Recuperar"
+
+#~ msgid "A system error has occurred: %s"
+#~ msgstr "Ocorreu um erro de sistema: %s"
+
+#~ msgid "A fatal system error has occurred: %s"
+#~ msgstr "Ocorreu um erro fatal no sistema: %s"
+
+#~ msgid "Component '%s': %s"
+#~ msgstr "Componente '%s': %s"
+
+#~ msgid "Killed by signal"
+#~ msgstr "Morto pelo sinal"
+
+#~ msgid "Timed out"
+#~ msgstr "Não responde"
+
+#~ msgid "Default session"
+#~ msgstr "Sessão por omissão"
+
+#~ msgid "File Manager"
+#~ msgstr "Gestor de Ficheiros"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Lista de aplicações que fazem parte da sessão por omissão."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Lista de componentes que são necessários como parte da sessão. (Cada "
+#~ "elemento designa uma chave sob \"/desktop/gnome/session/"
+#~ "required_components\"). As Preferências de Aplicações de Arranque "
+#~ "normalmente não permitirão aos utilizadores remover um componente "
+#~ "necessário da sessão, e o gestor de sessões irá automaticamente adicionar "
+#~ "novamente, ao iniciar uma sessão, os componentes necessários, caso tenham "
+#~ "sido removidos."
+
+#~ msgid "Panel"
+#~ msgstr "Painel"
+
+#~ msgid "Required session components"
+#~ msgstr "Componentes necessários de sessão"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "O gestor de ficheiros disponibiliza os ícones de ambiente de trabalho e "
+#~ "permite-lhe interagir com os seus ficheiros gravados."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "O número de minutos de inatividade até que a sessão seja considerada "
+#~ "inativa."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "O painel disponibiliza a barra no topo e no fundo do ecrã que contêm "
+#~ "menus, a lista de janelas, ícones de estado, o relógio, etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "O gestor de janelas é a aplicação que desenha a barra de título e margens "
+#~ "em torno das janelas, e que lhe permite mover e redimensionar as janelas."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Tempo até que a sessão seja considerada inativa"
+
+#~ msgid "Window Manager"
+#~ msgstr "Gestor de Janelas"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "Chave GConf utilizada para procurar a sessão por omissão"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "Apresentar diálogo de término de sessão"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Apresentar diálogo de desligar"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Utilizar caixas de diálogo para os erros"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Definir o nome da sessão atual"
+
+#~ msgid "NAME"
+#~ msgstr "NOME"
+
+#~ msgid "Kill session"
+#~ msgstr "Matar sessão"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "Foi pedido para esta sessão suporte para tecnologia assistiva, mas o "
+#~ "registo de acessibilidade não foi encontrado. Certifique-se de que o "
+#~ "pacote AT-SPI se encontra instalado. A sua sessão foi iniciada sem "
+#~ "suporte para tecnologia assistiva."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "Invólucro de Registo AT SPI"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Assistente do Daemon das Definições GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Se ativo, o gnome-session gravará a sessão automaticamente. Caso "
+#~ "contrário, o diálogo de terminar sessão terá uma opção para gravar a "
+#~ "sessão."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr ""
+#~ "Imagem Preferida a utilizar para o ecrã de logotipo ao iniciar sessão"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Apresentar ecrã de logotipo"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Apresentar ecrã de logotipo ao iniciar sessão"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Este é um caminho relativo baseado no diretório $datadir/pixmaps/. "
+#~ "Subdiretórios e nomes de imagens são valores válidos. Alterar este valor "
+#~ "irá ter efeito na próxima vez que iniciar uma sessão."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "A aguardar que as aplicações terminem. Interromper as aplicações poderá "
+#~ "causar a perca de trabalho."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Ecrã de Logotipo do GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Ecrã de Logotipo do GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "O nome da aplicação de arranque não pode ser vazio"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "Preferências de Sessão"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "Invólucro do Daemon do GNOME Keyring"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "Opção selecionada no diálogo de terminar sessão"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "Esta é a opção que estará selecionada no diálogo de terminar sessão, "
+#~ "valores válidos são \"logout\" para terminar a sessão, \"shutdown\" para "
+#~ "desligar o sistema e \"restart\" para reiniciar o sistema."
+
+#~ msgid "Configure your sessions"
+#~ msgstr "Configurar as suas sessões"
+
+#~ msgid "Session management"
+#~ msgstr "Gestão de sessões"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "Biblioteca de Interface Gráfico GNOME + EggSMClient"
+
+#~ msgid ""
+#~ "The Window manager that gnome-session will start. Valid values are "
+#~ "\"metacity\" and \"compiz\"."
+#~ msgstr ""
+#~ "O gestor de janelas que o gnome-session irá iniciar. Valores válidos são "
+#~ "\"metacity\" e \"compiz\"."
+
+#~ msgid "Window Manager to start"
+#~ msgstr "Gestor de Janelas a iniciar"
+
+#~ msgid "gtk-cancel"
+#~ msgstr "gtk-cancelar"
+
+#~ msgid "Play logout sound instead of login"
+#~ msgstr "Reproduzir som de terminar sessão em vez do de iniciar"
+
+#~ msgid "- GNOME login/logout sound"
+#~ msgstr "- som de início/terminar de sessão GNOME"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Autorizar ligações TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Por motivos de segurança, em plataformas que tenham "
+#~ "_IceTcpTransNoListen() (sistemas XFree86), o gnome-session não escuta por "
+#~ "ligações em portos TCP. Esta opção autorizará ligações de máquinas "
+#~ "remotas (autorizadas). O gnome-session tem de ser reiniciado para que "
+#~ "esta opção tenha efeito."
+
+#~ msgid "_Order:"
+#~ msgstr "_Ordem:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "O que acontece à aplicação quando termina."
+
+#~ msgid "_Style:"
+#~ msgstr "E_stilo:"
+
+#~ msgid "Inative"
+#~ msgstr "Inativa"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "A aguardar início ou já terminada."
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Já iniciada mas ainda não reportou estado."
+
+#~ msgid "Running"
+#~ msgstr "Em execução"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Um membro normal da sessão."
+
+#~ msgid "Saving"
+#~ msgstr "A gravar"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "Estado não reportado dentro do prazo."
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Não afetado por fim de sessão mas pode morrer."
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Nunca é permitido morrer."
+
+#~ msgid "Trash"
+#~ msgstr "Lixo"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "Descartada no final da sessão e pode morrer."
+
+#~ msgid "Settings"
+#~ msgstr "Propriedades"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Iniciada em todos os inícios de sessão."
+
+#~ msgid "Order"
+#~ msgstr "Ordem"
+
+#~ msgid "Style"
+#~ msgstr "Estilo"
+
+#~ msgid "State"
+#~ msgstr "Estado"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Ocorreu um erro ao iniciar o Daemon de Definições GNOME.\n"
+#~ "\n"
+#~ "Algumas coisas, tais como temas, sons ou configurações do fundo do "
+#~ "ambiente poderão não funcionar corretamente."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "A última mensagem de erro foi:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "O GNOME tentará ainda assim reiniciar o Daemon de Definições da próxima "
+#~ "vez que iniciar sessão."
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "O Daemon de Definições reiniciou-se demasiadas vezes."
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "Listar os clientes registados, depois sair"
+
+#~ msgid "PROGRAM..."
+#~ msgstr "APLICAÇÃO..."
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "Tem de especificar pelo menos uma aplicação a remover. Pode listar as "
+#~ "aplicações com --list.\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "Erro: Incapaz de se ligar ao gestor de sessões\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "Clientes atualmente registados:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "Incapaz de encontrar a aplicação %s na sessão\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "O gestor de sessões GNOME foi incapaz de se iniciar corretamente. "
+#~ "Reporte este problema como sendo um erro do GNOME. Inclua esta mensagem "
+#~ "de falha ICE no relatório de erro: '%s'. Entretanto poderá tentar "
+#~ "iniciar uma sessão utilizando a sessão de recurso."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "O gestor de sessões GNOME foi incapaz de trancar o ficheiro '%s'. Relate "
+#~ "este problema como sendo um erro do GNOME. Por vezes este erro poderá "
+#~ "ocorrer se o diretório do ficheiro não permitir escrita, pelo que poderá "
+#~ "iniciar uma sessão utilizando a sessão de recurso e certificar-se de que "
+#~ "o diretório possui permissões de escrita."
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "O gestor de sessões GNOME foi incapaz de ler o ficheiro: '%s'. Se este "
+#~ "ficheiro existir terá de ser legível pelo seu utilizador para que o GNOME "
+#~ "funcione corretamente. Tente iniciar uma sessão utilizando a sessão de "
+#~ "recurso e remover este ficheiro."
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "Incapz de escrever no ficheiro '%s'. Este ficheiro tem de permitir "
+#~ "escrita para que o GNOME funcione corretamente. Tente iniciar uma sessão "
+#~ "utilizando a sessão de recurso e remover este ficheiro. Certifique-se "
+#~ "também de que o diretório onde se encontra o ficheiro permite escrita."
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Tem a certeza de que deseja terminar a sessão?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Reiniciar o computador"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Apenas ler sessões gravadas do ficheiro default.session"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Milisegundos gastos à espera que os clientes se registem (0=infinito)"
+
+#~ msgid "DELAY"
+#~ msgstr "ESPERA"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "Milisegundos gastos à espera que os clientes respondam (0=infinito)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "Milisegundos gastos à espera que os clientes morram (0=infinito)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "Esta sessão está a correr como utilizador privilegiado"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "Executar uma sessão como utilizador privilegiado deverá ser evitado por "
+#~ "motivos de segurança. Se possível, deverá iniciar uma sessão como "
+#~ "utilizador normal."
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "A sessão poderá encontrar problemas se o relógio do computador não "
+#~ "estiver devidamente configurado. Considere ajustá-lo.\n"
+#~ "\n"
+#~ "A data atual é <b>%s</b>."
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "Falha ao iniciar a ferramenta de configuração de hora: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "Parece que o relógio do computador está incorreto"
+
+#~ msgid "_Ignore"
+#~ msgstr "_Ignorar"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_Ajustar o Relógio"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Incapaz de encontrar endereço de internet para %s.\n"
+#~ "Isto impedirá o GNOME de funcionar corretamente.\n"
+#~ "Poderá ser possível corrigir o problema adicionando\n"
+#~ "%s ao ficheiro /etc/hosts."
+
+#~ msgid "Try Again"
+#~ msgstr "Tentar Novamente"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Espera abandonada devido a conflitos."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Nenhuma resposta ao comando %s."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "A aplicação pode estar lenta, parada ou zombie."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "Pode aguardar que ela responda ou removê-la."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Reiníco abandonado devido a falhas."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Encerramento de sessão em curso."
+
+#~ msgid "- Save the current session"
+#~ msgstr "- Gravar a sessão atual"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "Gravar as alterações à sessão atual antes de fechar?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "Se não gravar, as alterações serão descartadas."
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_Fechar sem Gravar"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "A sua sessão foi gravada."
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "Incapaz de se ligar ao gestor de sessões\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "o gestor de sessões não suporta extensões GNOME\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Remover o cliente atualmente selecionado da sessão."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Aplicar alterações à sessão atual"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "A lista de aplicações na sessão."
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Aplicações atualmente em e_xecução:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "Gestor de Janelas Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Gestor de Janelas Metacity"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Definições do Ambiente"
+
+#~ msgid "New Startup Program"
+#~ msgstr "Nova Aplicação de Arranque"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Gravar a configuração atual"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "_Gravar automaticamente alterações à sessão"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "O nome de sessão não pode ser vazio"
+
+#~ msgid "Add a new session"
+#~ msgstr "Adicionar nova sessão"
+
+#~ msgid "Edit session name"
+#~ msgstr "Editar nome de sessão"
+
+#~ msgid "Disable"
+#~ msgstr "Desativar"
+
+#~ msgid "_Edit"
+#~ msgstr "_Editar"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Algumas alterações não foram gravadas\n"
+#~ "Ainda assim sair?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Apresentar ecrã de _logotipo ao iniciar sessão"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "Comando de _Arranque:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Ocorreu um erro de ativação desconhecido."
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Inicializar definições de sessão"
+
+#~ msgid "Save Current Session"
+#~ msgstr "Gravar Sessão Atual"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "Gravar estado atual do ambiente"
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..5dc3798
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,632 @@
+# Brazilian Portuguese translation of gnome-session.
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Elvis Pfützenreuter <epx@netville.com.br>
+# Sandro Nunes Henrique <sandro@conectiva.com.br>
+# Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
+# Ricardo Soares Guimarães <ricardo@conectiva.com.br>
+# Gustavo Maciel Dias Vieira <gustavo@sagui.org>, 2000-2001.
+# Evandro Fernandes Giovanini <evandrofg@ig.com.br>, 2002-2005.
+# Og Maciel <ogmaciel@ubuntu.com>, 2007-2009.
+# Vladimir Melo <vmelo@gnome.org>, 2008.
+# Leonardo Ferreira Fontenelle <leonardof@gnome.org>, 2008.
+# Djavan Fagundes <dnoway@gmail.com>, 2008.
+# André Gondim <In Memorian>, 2009.
+# Flamarion Jorge <jorge.flamarion@gmail.com>, 2011.
+# Enrico Nicoletto <liverig@gmail.com>, 2013, 2015, 2017, 2019.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2016-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-13 09:09-0300\n"
+"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
+"Language: pt_BR\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: Poedit 3.0\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizar"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Esta entrada permite a você selecionar uma sessão salva"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Essa sessão o leva ao GNOME"
+
+# Adotado como GNOME experimental devido a definição de GNOME dummy: "allow to start a dummy gnome-session which does not start anything
+# but the autostart software and the DBus API with gnome-session"
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME experimental"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME sobre Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME sobre Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Salvar sessões"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Se habilitado, o gnome-session vai salvar a sessão automaticamente."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Salvar essa sessão"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Quando habilitado, o gnome-session vai salvar automaticamente a próxima "
+"sessão quando de seu encerramento mesmo se salvamento automático estiver "
+"desabilitado."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Pergunta ao encerrar"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Se habilitado, o gnome-session vai perguntar ao usuário antes de terminar "
+"uma sessão."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Mostrar o aviso de reserva"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Se habilitado, o gnome-session vai exibir um diálogo de aviso após a "
+"autenticação se a sessão entrou em modo reserva automaticamente."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sessão personalizada"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Por gentileza selecione uma sessão personalizada a ser executada"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova sessão"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Remover sessão"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Reno_mear sessão"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuar"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh não! Alguma coisa está errada."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ocorreu um problema e o sistema não pôde ser recuperado. Por favor, entre em "
+"contato com um administrador de sistemas"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ocorreu um problema e o sistema não pôde ser recuperado. Todas as extensões "
+"foram desativadas por precaução."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ocorreu um problema e o sistema não pôde ser recuperado.\n"
+"Por favor, encerre a sessão e tente novamente."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Encerrar sessão"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Habilitar código de depuração"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permitir encerramento de sessão"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Mostrar alerta de extensão"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Não respondendo"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Encerrar sessão"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Lembrar dos aplicativos"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Este programa está bloqueando o encerramento da sessão."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Recusando a nova conexão do cliente porque a sessão está sendo desligada "
+"neste momento\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Não foi possível criar o soquete de escuta ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Executa como um serviço do systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Usa o gerenciamento de sessões do systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Usa o gerenciador de sessões embutido (ao invés do baseado em systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Substitui os diretórios padrões de início automático"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sessões para usar"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Não carrega os aplicativos especificados pelo usuário"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versão deste aplicativo"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Mostra o diálogo da “falha da baleia” para teste"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Desabilita checagem de aceleração de hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — gerenciador de sessões do GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Inicia o gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Inicia o gnome-session-shutdown.target ao receber um EOF ou um byte único no "
+"stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inicialização de sinal feita para gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reinicia o dbus.service se estiver em execução"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Executa de ExecStopPost para iniciar gnome-session-failed.target ao falhar o "
+"serviço"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "O programa requer exatamente um parâmetro"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPÇÃO…] COMANDO\n"
+"\n"
+"Executa o COMANDO enquanto inibe algumas funcionalidades da sessão.\n"
+"\n"
+" -h, --help Mostra esta ajuda\n"
+" --version Mostra a versão do programa\n"
+" --app-id ID O id do aplicativo a ser usado\n"
+" quando inibir (opcional)\n"
+" --reason MOTIVO O motivo para inibir (opcional)\n"
+" --inhibit ARG Lista de elementos a serem inibidos, separados por dois\n"
+" pontos:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Não executa o COMANDO e no lugar espera indefinidamente\n"
+" -l, --list Lista as inibições existentes e sai\n"
+"\n"
+"Se nenhuma opção --inhibit for especificada, assume-se como ocioso (idle).\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Ocorreu falha ao executar %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s requer um argumento\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Encerrar sessão"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Desligar"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorar qualquer um inibidor existente"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Não pedir confirmação do usuário"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Não foi possível conectar ao gerenciador de sessões"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Programa chamado com opções conflitantes"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sessão %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Não são permitidos a nomes de sessões iniciarem com “.” ou conterem "
+"caracteres “/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Não são permitidos a nomes de sessões iniciarem com “.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Não são permitidos a nomes de sessões conterem caracteres “/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Uma sessão com nome “%s” já existe"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programas iniciais adicionais:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programas iniciais"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr ""
+#~ "_Automaticamente lembrar aplicativos em execução quando encerrar da sessão"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Lembrar dos aplicativos atualmente em execução"
+
+#~ msgid "Options"
+#~ msgstr "Opções"
+
+#~ msgid "Browse…"
+#~ msgstr "Navegar…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Com_entário:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mando:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nome:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Essa sessão o leva ao GNOME, usando Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "Selecionar comando"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Adicionar programa inicial"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editar programa inicial"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "O comando inicial não pode ser vazio"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "O comando inicial não é válido"
+
+#~ msgid "Enabled"
+#~ msgstr "Habilitado"
+
+#~ msgid "Icon"
+#~ msgstr "Ícone"
+
+#~ msgid "Program"
+#~ msgstr "Programa"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferências dos aplicativos iniciais de sessão"
+
+#~ msgid "No name"
+#~ msgstr "Sem nome"
+
+#~ msgid "No description"
+#~ msgstr "Nenhuma descrição"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Não é possível exibir documento de ajuda"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicativos iniciais de sessão"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr ""
+#~ "Escolha quais os aplicativos que irão iniciar quando sua sessão iniciar"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "O arquivo não é um arquivo .desktop válido"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Versão do arquivo da área de trabalho \"%s\" não reconhecida"
+
+#~ msgid "Starting %s"
+#~ msgstr "Iniciando %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "O aplicativo não aceita documentos na linha de comando"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opção de lançamento não reconhecida: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Não foi possível passar as URIs dos documentos para uma entrada de área "
+#~ "de trabalho 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Não é um item lançável"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Desabilitar conexão para o gerenciador de sessões"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Especificar o arquivo que contém a configuração salva"
+
+#~ msgid "FILE"
+#~ msgstr "ARQUIVO"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opções de gerenciamento de sessão:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Mostra as opções de gerenciamento de sessão"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Alguns programas ainda estão em execução:"
+
+#~ msgid "Unknown"
+#~ msgstr "Desconhecido"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Um programa ainda está em execução:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Aguardando o programa para finalizar. Interromper este programa pode "
+#~ "ocasionar em perda de trabalho."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Aguardando os programas para finalizar. Interromper estes programas pode "
+#~ "ocasionar em perda de trabalho."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Trocar usuário mesmo assim"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Encerrar mesmo assim"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Suspender mesmo assim"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernar mesmo assim"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Desligar mesmo assim"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Reiniciar mesmo assim"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Bloquear tela"
+
+#~ msgid "Cancel"
+#~ msgstr "Cancelar"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Essa sessão será encerrada automaticamente em %d segundo."
+#~ msgstr[1] "Essa sessão será encerrada automaticamente em %d segundos."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Este sistema será automaticamente desligado em %d segundo."
+#~ msgstr[1] "Este sistema será automaticamente desligado em %d segundos."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Este sistema será automaticamente reiniciado em %d segundo."
+#~ msgstr[1] "Este sistema será automaticamente reiniciado em %d segundos."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Você está logado atualmente como \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Encerrar a sessão deste sistema agora?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Trocar usuário"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Desligar este sistema agora?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_uspender"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernar"
+
+#~ msgid "_Restart"
+#~ msgstr "_Reiniciar"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Desligar"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Reiniciar este sistema agora?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ícone \"%s\" não localizado"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Falha ao carregar o GNOME 3"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Infelizmente o GNOME 3 falhou ao inicializar corretamente e inicializou "
+#~ "em <i>modo reserva</i>.\n"
+#~ "\n"
+#~ "Isto provavelmente significa que o seu sistema (hardware de gráficos ou "
+#~ "driver) não é capaz de obter a experiência completa do GNOME 3."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Aprender mais sobre o GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Não foi possível iniciar a sessão de login (e não foi possível conectar "
+#~ "ao servidor X)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Saiu com o código %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Morto pelo sinal %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Parado pelo sinal %d"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Alguns programas ainda estão em execução:</b>"
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..b84a5ba
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,738 @@
+# Sebastian Ivan <sebastian.ivan@ubuntu.ro>, 2006.
+# Eddy Petrișor <eddy.petrisor@gmail.com>, 2006.
+# Adi Roiban https://launchpad.net/~adiroiban, 2008, 2009
+# Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2009, 2011.
+# Daniel Șerbănescu <cyber19rider@gmail.com>, 2010, 2011.
+# Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>, 2015, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-07-31 14:02+0000\n"
+"PO-Revision-Date: 2020-08-04 14:08+0300\n"
+"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n"
+"Language-Team: Gnome Romanian Translation Team\n"
+"Language: ro\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==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);;\n"
+"X-Generator: Poedit 2.4\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Personalizat"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Această opțiune vă permite să selectați o sesiune salvată"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Această sesiune vă va autentifica în GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Machetă GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME pe Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Salvează sesiuni"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Dacă este activat, gnome-session va salva sesiunea automat."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Salvează această sesiune"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Când este activată, gnome-session va salva sesiunea automat sesiunea "
+"următoare la deautentificare chiar și dacă salvarea automată este "
+"dezactivată."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Anunță ieșirea din sesiune"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Dacă este activat, gnome-session va anunța utilizatorul înainte de "
+"terminarea sesiunii."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Arată avertizarea sesiunii de rezervă"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Dacă este activat, gnome-session va afișa un dialog de avertizare după "
+"autentificare dacă sesiunea de rezervă a fost inițiată."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Sesiune personalizată"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Selectați o sesiune personalizată pentru rulare"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "Sesiune _nouă"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Elimină sesiunea"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Redenu_mește sesiunea"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Continuă"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Oh, nu! Ceva nu a funcționat corect."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"A intervenit o problemă și sistemul nu se poate recupera. Contactați un "
+"administrator de sistem"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"A intervenit o problemă și sistemul nu se poate recupera. Toate extensiile "
+"au fost dezactivate preventiv."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"A intervenit o problemă și sistemul nu se poate recupera.\n"
+"Ieșiți din sesiune și încercați din nou."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Ieșire din sesiune"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Activează codul pentru depanare"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Permite ieșierea din sesiune"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Afișează avertizările pentru extensii"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Nu răspunde"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "În_chide sesiunea"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Aplicație memorată"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Acest program blochează ieșirea din sesiune."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Se refuză conexiunea noului client deoarece sesiunea este în curs de oprire\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nu s-a putut creea socketul de ascultare ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Rulează ca serviciu systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Utilizează administrarea de sesiune systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Utilizează administrarea de sesiune încorporată (față de cea bazată pe "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Înlocuiește dosarele standard de pornire automată"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "DIRECTOR_DE_PORNIRE"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Sesiunea de utilizat"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NUMELE_SESIUNII"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Nu încărca aplicațiile specificate de utilizator"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Versiunea acestei aplicații"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Afișează dialogul de eroare pentru testare"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Dezactivează verificarea accelerării hardware"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — Administratorul de sesiune GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Începe gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Începe gnome-session-shutdown.target când se primește EOF sau un singur "
+"octet la stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Inițializarea semnalului a fost făcută la gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reporneșe dbus.service dacă rulează"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Rulează de la ExecStopPost pentru a începe gnome-session-failed.target la "
+"eșecul serviciului"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programul necesită exact un parametru"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPȚIUNE…] COMANDĂ\n"
+"\n"
+"Execută COMANDA în timp ce se inhibă unele funcționalități ale sesiunii.\n"
+"\n"
+" -h, --help Arată acest ajutor\n"
+" --version Arată versiunea programului\n"
+" --app-id ID ID-ul aplicației de utilizat\n"
+" când se inhibă (opțional)\n"
+" --reason MOTIV Motivul pentru inhibare (opțional)\n"
+" --inhibit ARG Lucruri de inhibat, listă separată prin două puncte de:\n"
+" deautentificare, comutare utilizator, suspendă, în "
+"așteptare, automontare\n"
+" --inhibit-only Nu lansa COMANDA și așteaptă pentru totdeauna în schimb\n"
+" -l, --list Listează inhibițiile existente, și ieși\n"
+"\n"
+"Dacă nicio opțiune --inhibit option nu este specificată, în așteptare este "
+"presupusă.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Eroare la executarea %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s necesită un argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Închide sesiunea"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Oprește"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Repornește"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Se ignoră orice inhibator existent"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Nu solicita confirmarea utilizatorului"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nu s-a putut realiza conectarea la administratorul de sesiuni"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program apelat cu opțiuni care intră în conflict"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesiunea %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Nu este permis ca numele sesiunilor să înceapă cu „.” sau să conțină "
+"caracterul „/”"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nu este permis ca numele sesiunilor să înceapă cu „.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nu este permis ca numele sesiunilor să conțină caracterul „/”"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "O sesiune numită „%s” există deja"
+
+#~| msgid "GNOME fallback"
+#~ msgid "GNOME on Wayland"
+#~ msgstr "GNOME pe Wayland"
+
+#~| msgid "This session logs you into GNOME"
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Această sesiune vă va autentifica în GNOME, folosind Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "_Programe la pornire adiționale:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Programe la pornire"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Memorează _automat aplicațiile ce rulează la ieșire"
+
+#~| msgid "_Remember Currently Running Application"
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "Memo_rează aplicațiile ce rulează în acest moment"
+
+#~ msgid "Options"
+#~ msgstr "Opțiuni"
+
+#~ msgid "Browse…"
+#~ msgstr "Navighează…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "Com_entariu:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "Co_mandă:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Nume:"
+
+#~ msgid "Select Command"
+#~ msgstr "Alegere comandă"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Adaugă un program de pornit"
+
+# LG: aici e vorba de titlul unei ferestre.
+#~ msgid "Edit Startup Program"
+#~ msgstr "Editare program de pornit"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Comanda de pornire nu poate fi nulă"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Comanda de start nu este validă"
+
+#~ msgid "Enabled"
+#~ msgstr "Activat"
+
+#~ msgid "Icon"
+#~ msgstr "Iconiță"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Preferințe aplicații la pornire"
+
+#~ msgid "No name"
+#~ msgstr "Fără nume"
+
+#~ msgid "No description"
+#~ msgstr "Fără descriere"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Nu se poate afișa documentul de ajutor"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>O parte din programe sunt încă în funcțiune:</b>"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "Se așteaptă terminarea programului. Întreruperea lui poate duce la "
+#~ "pierderea modificărilor efectuate."
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Alegeți aplicațiile ce vor porni după ce vă autentificați"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Aplicații pornite după autentificare"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Fișierul nu este un fișier .desktop valid"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Versiunea „%s” a fișierului desktop este nerecunoscută"
+
+#~ msgid "Starting %s"
+#~ msgstr "Se pornește %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Aplicația nu acceptă documente în linia de comandă"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Opțiune de lansare nerecunoscută: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Nu s-a putut trimite URI-ul documentului unei intrări desktop „Type=Link”"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nu este un element lansabil"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Dezactivează conexiunea la administratorul sesiunii"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Specifică fișierul ce conține configurația salvată"
+
+#~ msgid "FILE"
+#~ msgstr "FIȘIER"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Opțiuni de administrare a sesiunii:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Afișează opțiunile de administrare a sesiunii"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "Există o problemă cu serverul de configurare.\n"
+#~ "(%s a ieșit cu starea %d)"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Iconița „%s” nu a fost găsită"
+
+#~ msgid "Unknown"
+#~ msgstr "Necunoscut"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Un program este încă în funcțiune:"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Unele programe sunt încă în funcțiune:"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "Se așteaptă terminarea programelor. Întreruperea acestora poate duce la "
+#~ "pierderea modificărilor efectuate."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Schimbă oricum utilizatorul"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Închide sesiunea oricum"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Suspendă oricum"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Hibernează oricum"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Oprește oricum"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Blochează ecranul"
+
+#~ msgid "Cancel"
+#~ msgstr "Renunță"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Sesiunea se va închide automat într-o secundă."
+#~ msgstr[1] "Sesiunea se va închide automat în %d secunde."
+#~ msgstr[2] "Sesiunea se va închide automat în %d de secunde."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Sistemul va fi oprit automat într-o secundă."
+#~ msgstr[1] "Sistemul va fi oprit automat în %d secunde."
+#~ msgstr[2] "Sistemul va fi oprit automat în %d de secunde."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Sunteți autentificat ca „%s”."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Ieșiți de pe acest sistem acum?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Schimbă utilizatorul"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Opriți sistemul acum?"
+
+#~ msgid "S_uspend"
+#~ msgstr "S_uspendă"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Hibernează"
+
+#~ msgid "_Restart"
+#~ msgstr "_Repornește"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Oprește"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "A ieșit cu codul %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Omorât de semnalul %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Oprit de semnalul %d"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 nu a reușit să pornească"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Din păcate, GNOME 3 nu a reușit să pornească corect și a pornit versiunea "
+#~ "<i>de rezervă</i>.\n"
+#~ "\n"
+#~ "Cel mai probabil aceasta înseamnă că sistemul dumneavoastră (placa "
+#~ "grafică sau driverul acesteia) nu poate oferi o experiență GNOME 3 "
+#~ "completă."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Aflați mai multe despre GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Nu s-a putut porni sesiunea de start (iar conexiunea la serverul X nu a "
+#~ "putut fi realizată)"
+
+#~ msgid "File Manager"
+#~ msgstr "Administrator de fișiere"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "Lista aplicațiilor care fac parte din sesiunea implicită."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "Lista componentelor care sunt necesare ca parte a sesiunii. (Fiecare "
+#~ "element numește o cheie din „/desktop/gnome/session/required_components"
+#~ "\".) Preferințele aplicațiilor de la pornire nu vor permite în mod normal "
+#~ "ca utilizatorii să șteargă o componentă necesară din sesiune, iar "
+#~ "administratorul sesiunii va adăuga automat componentele necesare în cazul "
+#~ "în care vor fi șterse."
+
+#~ msgid "Panel"
+#~ msgstr "Panou"
+
+#~ msgid "Required session components"
+#~ msgstr "Componentele necesare sesiunii"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "Administratorul de fișiere furnizează iconițele de pe desktop și permite "
+#~ "interacțiunea cu fișierele salvate."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "Numărul de minute de inactivitate înainte ca sesiunea să fie considerată "
+#~ "inactivă."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "Panoul furnizează bara de deasupra ori dedesubtul ecranului ce conține "
+#~ "meniuri, lista cu ferestre, iconițele de stare, ceasul etc."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "Administratorul de ferestre este programul care afișează bara de titlu și "
+#~ "marginile de jur împrejurul ferestrelor și permite mutarea sau "
+#~ "redimensionarea acestora."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "Durata până ce sesiunea este considerată inactivă"
+
+#~ msgid "Window Manager"
+#~ msgstr "Administrator de ferestre"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "Cheia GConf folosită la căutarea sesiunii implicite"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "Afișează dialogul de oprire"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "Folosește casete de dialog pentru erori"
+
+#~ msgid "Set the current session name"
+#~ msgstr "Definește numele sesiunii curente"
+
+#~ msgid "NAME"
+#~ msgstr "NUME"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "Ajutor serviciu configurări GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "Dacă este activat, gnome-session va salva sesiunea automat. Altfel, "
+#~ "dialogul de ieșire va avea o opțiune pentru salvarea sesiunii."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "Imaginea preferată afișată după autentificare"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "Arată imaginea de pornire"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "Arată imaginea de pornire la intrarea în sesiune"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "Aceasta este o cale relativă bazată pe directorul $datadir/pixmaps/. "
+#~ "Numele de subdirectoare și de imagini sunt valori valide. Efectul "
+#~ "modificării acestei valori va fi vizibil la pornirea următoarei sesiuni."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "Se așteaptă ca programul să termine. Întreruperea acestuia poate duce la "
+#~ "pierderea activității de până acum."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- Imagine de pornire GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "Imagine pornire GNOME"
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..718859b
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,384 @@
+# translation of gnome-session to Russian
+# Copyright (C) 1998-2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# Max Valianskiy <maxcom@vinchi.ru>, 1998-1999.
+# Sergey Panov <sipan@mit.edu>, 1999.
+# Valek Filippov <frob@df.ru>, 2000-2002.
+# Dmitry G. Mastrukov <dmitry@taurussoft.org>, 2002-2003.
+# Leonid Kanter <leon@asplinux.ru>, 2004, 2005, 2006, 2007, 2008.
+# Anisimov Victor <vicanis@gmail.com>, 2009.
+# Yuri Myasoedov <omerta13@yandex.ru>, 2013.
+# Stas Solovey <whats_up@tut.by>, 2014, 2016, 2017, 2018. 2019.
+# Melman <Alexmelman88@gmail.com>, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ru\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-16 00:48+0300\n"
+"Last-Translator: Melman <Alexmelman88@gmail.com>\n"
+"Language-Team: Russian <gnome-cyr@gnome.org>\n"
+"Language: ru\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-Generator: Gtranslator 40.0\n"
+"X-DL-Team: ru\n"
+"X-DL-Module: gnome-session\n"
+"X-DL-Branch: main\n"
+"X-DL-Domain: po\n"
+"X-DL-State: None\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Другой сеанс"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Эта запись позволяет вам выбрать сохранённый сеанс"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Этот сеанс позволяет вам войти в GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Фиктивный сеанс GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME на Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME на Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Сохранить сеанс"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Если включено, gnome-session автоматически сохранит сеанс."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Сохранить этот сеанс"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Когда включено, gnome-session автоматически сохранит следующий сеанс при "
+"выходе из системы, даже если автоматическое сохранение отключено."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Предупреждать перед завершением сеанса"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Если включено, gnome-session будет предупреждать пользователя перед "
+"завершением сеанса."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Показать аварийное предупреждение"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Если включено, gnome-session отобразит диалоговое окно с предупреждением "
+"после входа в систему, если сеанс был автоматически аварийно завершён."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Другой сеанс"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Выберите сеанс для запуска"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Создать сеанс"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Удалить сеанс"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "П_ереименовать сеанс"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Продолжить"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "О, нет! Что-то пошло не так."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Произошла ошибка, и системе не удалось восстановиться. Обратитесь к "
+"системному администратору"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Произошла ошибка, и системе не удалось восстановиться. Все расширения были "
+"отключены в целях безопасности."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Произошла ошибка, и системе не удалось восстановиться.\n"
+"Нужно завершить сеанс и войти снова."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Завершить сеанс"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Включить отладочный код"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Разрешить завершение сеанса"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Показывать предупреждения от расширений"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Не отвечает"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Завершить сеанс"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Запомненное приложение"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Эта программа блокирует завершение сеанса."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Новые клиентские подключения отклоняются, т. к. сеанс завершается\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Не удалось создать сокет, слушающий ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Запущен в качестве службы systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Использовать менеджер сеансов systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Используйте встроенное управление сессиями (вместо основанного на systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Заместить стандартные каталоги автозапуска"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "КАТАЛОГ_АВТОЗАПУСКА"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Использовать сеанс"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "НАЗВАНИЕ_СЕАНСА"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Не загружать указанные пользователем приложения"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Версия этого приложения"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Показать для отладки диалог с сообщением об ошибке"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Отключить проверку наличия аппаратного ускорения"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — менеджер сеансов GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Запустить gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Запустить gnome-session-shutdown.target при получении EOF или одного байта "
+"на stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Инициализация сигнала выполнена для gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Перезапустить dbus.service, если он работает"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Запуск из ExecStopPost для запуска gnome-session-failed.target при сбое "
+"службы"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Программе нужен только один параметр"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ОПЦИЯ...] КОМАНДА\n"
+"\n"
+"Выполнение команды COMMAND с блокировкой некоторых функций сеанса.\n"
+"\n"
+" -h, --help Показать справку\n"
+" --version Показать версию программы\n"
+" --app-id ID Идентификатор приложения для использования\n"
+" при блокировке (необязательно)\n"
+" --reason REASON Причина запрета (необязательно)\n"
+" --inhibit ARG То, что нужно запретить, список, разделенный двоеточием:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Не запускать COMMAND и вместо этого ждать вечно\n"
+" -l, --list Список существующих запретов и выход из него\n"
+"\n"
+"Если опция --inhibit не указана, предполагается режим ожидания.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Не удалось запустить %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s требуется аргумент\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Завершить сеанс"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Выключить"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Перезагрузить"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Игнорирование любых существующих препятствий"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Не требовать подтверждения от пользователя"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Не удалось соединиться с менеджером сеансов"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Программа вызвана с конфликтующими параметрами"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сеанс %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Имена сеансов не могут начинаться с символа «.» или содержать символы «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Имена сеансов не могут начинаться с символа «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Имена сеансов не могут содержать символы «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Сеанс с именем «%s» уже существует"
+
diff --git a/po/rw.po b/po/rw.po
new file mode 100644
index 0000000..035c549
--- /dev/null
+++ b/po/rw.po
@@ -0,0 +1,567 @@
+# translation of gnome-session to Kinyarwanda.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+# Steve Murphy <murf@e-tools.com>, 2005
+# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+# Philibert Ndandali <ndandali@yahoo.fr>, 2005.
+# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
+# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
+# Carole Karema <karemacarole@hotmail.com>, 2005.
+# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
+# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005.
+# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005..
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 2.12\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-03-31 17:45-0700\n"
+"PO-Revision-Date: 2005-03-28 19:35-0700\n"
+"Last-Translator: Steve Murphy <murf@e-tools.com>\n"
+"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+"Language: rw\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+#, fuzzy
+msgid "Allow TCP connections"
+msgstr "Ukwihuza"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+#, fuzzy
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Umutekano ku Umukoro OYA kugirango Ukwihuza ku Ihitamo Kwemerera Ukwihuza "
+"Bivuye Umukoro kugirango iyi Kuri INGARUKA"
+
+#: gnome-session/gnome-session.schemas.in.h:3
+#, fuzzy
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Bikora Umukoro Urwinjiriro Ukoresha: Mbere a Umukoro"
+
+#: gnome-session/gnome-session.schemas.in.h:4
+#, fuzzy
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Bikora Umukoro Kubika Umukoro ku buryo bwikora Gufunga Ikiganiro Ihitamo "
+"Kuri Kubika Umukoro"
+
+#: gnome-session/gnome-session.schemas.in.h:5
+#, fuzzy
+msgid "Logout prompt"
+msgstr "Urwinjiriro"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+#, fuzzy
+msgid "Preferred Image to use for login splash screen"
+msgstr "Kuri Gukoresha kugirango Ifashayinjira Mugaragaza"
+
+#: gnome-session/gnome-session.schemas.in.h:7
+#, fuzzy
+msgid "Save sessions"
+msgstr "Kubika"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+#, fuzzy
+msgid "Show the splash screen"
+msgstr "Mugaragaza"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+#, fuzzy
+msgid "Show the splash screen when the session starts up"
+msgstr "Mugaragaza Ryari: Umukoro Hejuru"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+#, fuzzy
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"ni a Bifitanye isano Inzira Agaciro Bidakora bushyinguro ububiko "
+"bw'amaderese Na Ishusho Amazina Byemewe Uduciro iyi Agaciro INGARUKA "
+"Komeza>> Umukoro Ifashayinjira"
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+#, fuzzy
+msgid "_Order:"
+msgstr "Itondekanya"
+
+#: gnome-session/gsm-client-editor.c:99
+#, fuzzy
+msgid "The order in which applications are started in the session."
+msgstr "Itondekanya in Porogaramu in Umukoro"
+
+#: gnome-session/gsm-client-editor.c:106
+#, fuzzy
+msgid "What happens to the application when it exits."
+msgstr "Kuri Porogaramu Ryari:"
+
+# sfx2/source\dialog\filedlghelper.src:STR_LB_IMAGE_TEMPLATE.text
+#: gnome-session/gsm-client-editor.c:109
+#, fuzzy
+msgid "_Style:"
+msgstr "Imisusire"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Itondekanya"
+
+# sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_STYLE.2.text
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Umususire"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Leta"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Porogaramu"
+
+# sc/source\ui\navipi\navipi.src:RID_SCDLG_NAVIGATOR.STR_NOTACTIVE.text
+#: gnome-session/gsm-client-row.c:31
+#, fuzzy
+msgid "Inactive"
+msgstr "kidakora"
+
+#: gnome-session/gsm-client-row.c:32
+#, fuzzy
+msgid "Waiting to start or already finished."
+msgstr "Kuri Gutangira Cyangwa Byarangiye"
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:35
+#, fuzzy
+msgid "Started but has not yet reported state."
+msgstr "OYA Leta"
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:38
+#, fuzzy
+msgid "A normal member of the session."
+msgstr "A Bisanzwe Bya Umukoro"
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Mu kubika"
+
+#: gnome-session/gsm-client-row.c:41
+#, fuzzy
+msgid "Saving session details."
+msgstr "Umukoro Birambuye"
+
+# filter/source\xsltdialog\xmlfilterdialogstrings.src:STR_UNKNOWN_APPLICATION.text
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Kitazwi"
+
+#: gnome-session/gsm-client-row.c:44
+#, fuzzy
+msgid "State not reported within timeout."
+msgstr "OYA muri Igihe cyarenze:"
+
+# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.Graphic.Format..0.text
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Bisanzwe"
+
+#: gnome-session/gsm-client-row.c:51
+#, fuzzy
+msgid "Unaffected by logouts but can die."
+msgstr "ku"
+
+# #-#-#-#-# setup2.pot (Gnome 2.12) #-#-#-#-#
+# setup2/source\ui\app.src:STR_RESTART_BTN_YES.text
+# #-#-#-#-# setup2.pot (Gnome 2.12) #-#-#-#-#
+# setup2/source\ui\pages\phavefun.src:RESID_PAGE_PAGEHAVEFUN.STR_RESTART_BTN_YES.text
+# #-#-#-#-# setup2.pot (Gnome 2.12) #-#-#-#-#
+# setup2/source\ui\pages\vefun.src:RESID_PAGE_PAGEHAVEFUN.STR_RESTART_BTN_YES.text
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Ongera utangire"
+
+#: gnome-session/gsm-client-row.c:54
+#, fuzzy
+msgid "Never allowed to die."
+msgstr "Kuri"
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:57
+#, fuzzy
+msgid "Discarded on logout and can die."
+msgstr "ku Gufunga Na"
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Amagenamiterere"
+
+#: gnome-session/gsm-client-row.c:60
+#, fuzzy
+msgid "Always started on every login."
+msgstr "ku buri Ifashayinjira"
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+#, fuzzy
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Ikosa Nka Insanganyamatsiko Amajwi Cyangwa Mbuganyuma Amagenamiterere "
+"Gicurasi OYA Akazi"
+
+#: gnome-session/gsm-gsd.c:53
+#, fuzzy
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr "Iheruka Ikosa Ubutumwa"
+
+#: gnome-session/gsm-gsd.c:58
+#, fuzzy
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr "Kuri Ongera utangire Komeza>> Igihe LOG in"
+
+#: gnome-session/gsm-gsd.c:115
+#, fuzzy
+msgid "There was an unknown activation error."
+msgstr "Kitazwi Ikosa"
+
+#: gnome-session/gsm-gsd.c:157
+#, fuzzy
+msgid "The Settings Daemon restarted too many times."
+msgstr "Times"
+
+#: gnome-session/logout.c:355
+#, fuzzy
+msgid "Are you sure you want to log out?"
+msgstr "Kuri LOG Inyuma"
+
+#: gnome-session/logout.c:372
+#, fuzzy
+msgid "_Save current setup"
+msgstr "Kubika KIGEZWEHO Imikorere"
+
+# sc/source\ui\miscdlgs\acredlin.src:RID_POPUP_CHANGES.SC_SUB_SORT.SC_SORT_ACTION.text
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Igikorwa"
+
+#: gnome-session/logout.c:410
+#, fuzzy
+msgid "_Log out"
+msgstr "Kuvamo"
+
+#: gnome-session/logout.c:416
+#, fuzzy
+msgid "Sh_ut down"
+msgstr "Hasi"
+
+#: gnome-session/logout.c:423
+#, fuzzy
+msgid "_Restart the computer"
+msgstr "i"
+
+#: gnome-session/main.c:81
+#, fuzzy
+msgid "Specify a session name to load"
+msgstr "a Umukoro Izina: Kuri Ibirimo"
+
+#: gnome-session/main.c:82
+#, fuzzy
+msgid "Only read saved sessions from the default.session file"
+msgstr "Gusoma Bivuye Mburabuzi Umukoro IDOSIYE"
+
+#: gnome-session/main.c:83
+#, fuzzy
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Igihe Tegereza kugirango Kuri Kwiyandikisha 0"
+
+#: gnome-session/main.c:84
+#, fuzzy
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Igihe Tegereza kugirango Kuri 0"
+
+#: gnome-session/main.c:85
+#, fuzzy
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Igihe Tegereza kugirango Kuri 0"
+
+#: gnome-session/main.c:265
+#, fuzzy, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"OYA Hejuru Interineti Aderesi kugirango Bivuye Gicurasi Kuri ku Kuri IDOSIYE"
+
+#: gnome-session/main.c:272
+#, fuzzy
+msgid "Log in Anyway"
+msgstr "in"
+
+#: gnome-session/main.c:273
+#, fuzzy
+msgid "Try Again"
+msgstr "Gerageza nanone"
+
+#: gnome-session/manager.c:223
+#, fuzzy
+msgid "Your session has been saved"
+msgstr "Umukoro"
+
+#: gnome-session/manager.c:527
+#, fuzzy
+msgid "Wait abandoned due to conflict."
+msgstr "Kuri"
+
+#: gnome-session/manager.c:1035
+#, fuzzy, c-format
+msgid "No response to the %s command."
+msgstr "Kuri Komandi:"
+
+#: gnome-session/manager.c:1036
+#, fuzzy
+msgid "The program may be slow, stopped or broken."
+msgstr "Porogaramu Gicurasi Buhoro Kyahagariswe Cyangwa"
+
+#: gnome-session/manager.c:1037
+#, fuzzy
+msgid "You may wait for it to respond or remove it."
+msgstr "Gicurasi Tegereza kugirango Kuri Cyangwa Gukuraho..."
+
+#: gnome-session/manager.c:1760
+#, fuzzy
+msgid "Restart abandoned due to failures."
+msgstr "Kuri"
+
+#: gnome-session/manager.c:1956
+#, fuzzy
+msgid "A session shutdown is in progress."
+msgstr "A Umukoro Zimya ni in Aho bigeze"
+
+#: gnome-session/save-session.c:46
+#, fuzzy
+msgid "Set the current session"
+msgstr "KIGEZWEHO Umukoro"
+
+#: gnome-session/save-session.c:47
+#, fuzzy
+msgid "Kill session"
+msgstr "Umukoro"
+
+#: gnome-session/save-session.c:48
+#, fuzzy
+msgid "Use dialog boxes"
+msgstr "Ikiganiro"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+#, fuzzy
+msgid "Could not connect to the session manager"
+msgstr "OYA Kwihuza Kuri Umukoro Muyobozi"
+
+#: gnome-session/session-names.c:143
+#, fuzzy
+msgid "The session name cannot be empty"
+msgstr "Umukoro Izina: ubusa"
+
+#: gnome-session/session-names.c:154
+#, fuzzy
+msgid "The session name already exists"
+msgstr "Umukoro Izina:"
+
+#: gnome-session/session-names.c:188
+#, fuzzy
+msgid "Add a new session"
+msgstr "a Gishya Umukoro"
+
+#: gnome-session/session-names.c:218
+#, fuzzy
+msgid "Edit session name"
+msgstr "Umukoro Izina:"
+
+# #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-#
+# basctl/source\basicide\basidesh.src:RID_BASICMENU.MN_EDIT.text
+# #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-#
+# basctl/source\basicide\basidesh.src:RID_BASICPLUGINMENU.MN_PLEDIT.text
+# #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-#
+# basctl/source\basicide\macrodlg.src:RID_MACROCHOOSER.RID_PB_EDIT.text
+# #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-#
+# basctl/source\basicide\moduldlg.src:RID_TP_MODULS.RID_PB_EDIT.text
+# #-#-#-#-# basctl.pot (Gnome 2.12) #-#-#-#-#
+# basctl/source\basicide\moduldlg.src:RID_TP_LIBS.RID_PB_EDIT.text
+#: gnome-session/session-properties-capplet.c:122
+#, fuzzy
+msgid "_Edit"
+msgstr "Guhindura"
+
+#: gnome-session/session-properties-capplet.c:190
+#, fuzzy
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr "Amahinduka OYA Kuri Gusohoka"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:273
+#, fuzzy
+msgid "Show splash screen on _login"
+msgstr "Mugaragaza ku Ifashayinjira"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "ku Gufunga"
+
+#: gnome-session/session-properties-capplet.c:295
+#, fuzzy
+msgid "Automatically save chan_ges to session"
+msgstr "Kubika Amahinduka Kuri Umukoro"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:393
+#, fuzzy
+msgid "Additional startup _programs:"
+msgstr "Porogaramu"
+
+# padmin/source\rtsetup.src:RID_RTS_RTSDIALOG.RID_RTS_RTSDIALOG_TABCONTROL.RID_RTS_COMMANDPAGE.text
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Icyo wifuza"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr ""
+
+#: gnome-session/session-properties.c:49
+#, fuzzy
+msgid "Remove the currently selected client from the session."
+msgstr "Byahiswemo Umukiriya Bivuye Umukoro"
+
+#: gnome-session/session-properties.c:55
+#, fuzzy
+msgid "Apply changes to the current session"
+msgstr "Amahinduka Kuri KIGEZWEHO Umukoro"
+
+#: gnome-session/session-properties.c:61
+#, fuzzy
+msgid "The list of programs in the session."
+msgstr "Urutonde Bya Porogaramu in Umukoro"
+
+#: gnome-session/session-properties.c:88
+#, fuzzy
+msgid "Currently running _programs:"
+msgstr "Porogaramu"
+
+#: gnome-session/session-properties.c:104
+#, fuzzy
+msgid "Initialize session settings"
+msgstr "Umukoro Amagenamiterere"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr ""
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr ""
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr ""
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Umuyobozi w'idirishya"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr ""
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr ""
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr ""
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr ""
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr ""
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr ""
+
+#: gnome-session/startup-programs.c:347
+#, fuzzy
+msgid "The startup command cannot be empty"
+msgstr "Komandi: ubusa"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr ""
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr ""
diff --git a/po/si.po b/po/si.po
new file mode 100644
index 0000000..d7c9f02
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,587 @@
+# translation of gnome-session.si.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 <snavin@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.si\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-07 03:41+0100\n"
+"PO-Revision-Date: 2007-05-27 20:26+0530\n"
+"Last-Translator: Danishka Navin <snavin@redhat.com>\n"
+"Language-Team: Sinhala <en@li.org>\n"
+"Language: si\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"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "TCP සම්බන්දතාවයන්ට ඉඩදෙන්න"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"ආරක්‍ෂිත හෙතුන් මත _IceTcpTransNoListen() (XFree86 systems) සහිත වෙදිකාවන් "
+"මතදී, TCP දොරවල් මතදි සම්බන්දයන් සඳහා අවදානය නොදක්වයි. මෙම විකල්පය දුරස්ථ "
+"ග්‍රාහකයන්ගෙන්(අනුමත කළ) සම්බන්දතා සඳහා ඉඩලබා දෙනු ඇත. මෙය ක්‍රියාකාරි විම "
+"සඳහා gnome-session නැවත ආරම්භ කළ යුතුමවේ. ෙ"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "සක්‍රිය කලහොත්, gnome-session සැසිය අවසන් වීමට පෙර පරිශිලක වෙත මතක් කරනු ඇත. "
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"සක්‍රිය කලහොත් gnome-session ස්වයංක්‍රියව සැසිය සුරක්‍ෂිත කරනු ඇත. එසේ නැතිනම් "
+"ඉවත්වීමේ සංවාද කොටුව මඟින් සැසිය සුරකීම සඳහා විකල්පයක් දක්වනු ඇති."
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "ඉවත්විමේ මතක් කිරිම"
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "පිවිසිමේදි දිගහැරෙන තිරය සඳහා යෙදිමට කැමතිම පිළිඹිබුව"
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "සැසියන් සුරකින්න"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "ඉවත්වීමෙ සංවාද කොටුව තුලතේරු විකල්ප"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "දිගහැරෙන තිරය පෙන්වන්න"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "සැසිය ඇරබීමෙදි දිගහැරෙන තිරය පෙන්වන්න"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"මෙය $datadir/pixmaps/ directory මත පදනම් නොවු සාපේක්‍ෂ මාර්‍ග ‍ග අගයකි. උප-බහලුම් "
+"සහ පිළිඹිබුව නම් නිවැරදි අගයන් වේ. මෙම අගය වෙනස් කිරිම මීළග සැසිය සඳහා බලපානු ඇත."
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"ඉවත් වීමේ සංවාදකොටුවේ තෝරාගත යුත්තෙ මෙම විකල්පයයි, නිවැරදි අගයන් වනුයේ "
+"ඉවත්වි යාම සඳහා \"ඉවත් වන්න\", පද්ධතිය නැවැත්වීම සඳහා \"නැවැත් වීම\"සහ "
+"පද්ධතිය නැවත ආරම්භය සඳහා \"ප්‍රති-ආරම්භය\"."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "ඔබගේ සැසියන් සුසර කරන්න"
+
+#: ../data/session-properties.desktop.in.in.h:2
+#: ../gnome-session/session-properties-capplet.c:222
+msgid "Sessions"
+msgstr "සැසියන්"
+
+#: ../gnome-session/gsm-at-startup.c:39
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"මෙම සැසිය සඳහා උපකාරක තාක්ශණ සහාය ඉල්ලා ඇතත් ලගාවිමේ හැකියා ලියාපදිංචි "
+"ස්තානය සොයාගත නොහැකි විය. කරුණාකර AT-SPI ඇසුරුම ස්ථාපනය කර ඇතිදැයි "
+"සැකහැර දැන ගන්න. ඔබගේ සැසිය උපකාරක තාක්‍ෂණ සහාය නොමැතිව ආරම්භවි ඇත."
+
+#: ../gnome-session/gsm-client-editor.c:102
+msgid "_Order:"
+msgstr "පිළිවෙළ: (_O)"
+
+#: ../gnome-session/gsm-client-editor.c:104
+msgid "The order in which applications are started in the session."
+msgstr "සැසිය තුල යෙදුම් ආරම්භවන පිළිවෙළ."
+
+#: ../gnome-session/gsm-client-editor.c:111
+msgid "What happens to the application when it exits."
+msgstr "යෙදුම ඉවත්වීමේදී එයට කුමක් සිදුවේයිද."
+
+#: ../gnome-session/gsm-client-editor.c:114
+msgid "_Style:"
+msgstr "රටාව: (_S)"
+
+#: ../gnome-session/gsm-client-list.c:153
+msgid "Order"
+msgstr "පිළිවෙල"
+
+#: ../gnome-session/gsm-client-list.c:158
+msgid "Style"
+msgstr "විලාශය"
+
+#: ../gnome-session/gsm-client-list.c:163
+msgid "State"
+msgstr "පවත්නා තත්වය"
+
+#: ../gnome-session/gsm-client-list.c:168
+#: ../gnome-session/session-properties-capplet.c:280
+msgid "Program"
+msgstr "ක්‍රමලේඛය"
+
+#: ../gnome-session/gsm-client-row.c:33
+msgid "Inactive"
+msgstr "අක්‍රිය"
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Waiting to start or already finished."
+msgstr "ආරම්භවිමට රැදිසිටී හෝ කාර්‍ය අවසන්කර ඇත."
+
+#: ../gnome-session/gsm-client-row.c:36
+msgid "Starting"
+msgstr "ආරම්භවෙමින්"
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Started but has not yet reported state."
+msgstr "ආරම්භවුවත් තවම ස්වභාවය වාර්තාකර නැත."
+
+#: ../gnome-session/gsm-client-row.c:39
+msgid "Running"
+msgstr "ක්‍රියාත්මක වෙමින්"
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "A normal member of the session."
+msgstr "සැසියෙ සාමාන්‍ය සාමාජිකයෙක්."
+
+#: ../gnome-session/gsm-client-row.c:42
+msgid "Saving"
+msgstr "සුරකිමින්"
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Saving session details."
+msgstr "සැසියෙ තොරතුරු සුරකින්න."
+
+#: ../gnome-session/gsm-client-row.c:45
+msgid "Unknown"
+msgstr "නොදන්නා"
+
+#: ../gnome-session/gsm-client-row.c:46
+msgid "State not reported within timeout."
+msgstr "කාළ සීමාව තුලදි පවත්නා තත්වය වාර්තාකර නැත."
+
+#: ../gnome-session/gsm-client-row.c:52
+msgid "Normal"
+msgstr "සාමාන්‍ය"
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Unaffected by logouts but can die."
+msgstr "ඉවත්ව යාමෙන් බලපැමක් නොවුනි නමුත් අවසන් විය හැක."
+
+#: ../gnome-session/gsm-client-row.c:55
+msgid "Restart"
+msgstr "නැවත-අරභමින්"
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Never allowed to die."
+msgstr "කිසිවිටක අවසන් වීමට අනුමත කරනැත."
+
+#: ../gnome-session/gsm-client-row.c:58
+msgid "Trash"
+msgstr "නොවැදගත්"
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Discarded on logout and can die."
+msgstr "ඉවත්වීමෙදි විනාශකරණලද අතර අවසන් විය හැක."
+
+#: ../gnome-session/gsm-client-row.c:61
+msgid "Settings"
+msgstr "සැකසුම්"
+
+#: ../gnome-session/gsm-client-row.c:62
+msgid "Always started on every login."
+msgstr "සෑම පිවිසුමකදීම සෑමවිටම ආරම්භ කරන්න."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:45
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+" සැකසුම් විබුද්ධයා ආරම්භ කිරිමේ දෝෂයක් තිබුනී.\n"
+"\n"
+"තේමා, ශබ්ද, හෝ පසුතල සැකසුම් වැනි දෙයක් නිසියාකාරව ක්‍රියාත්මක නොවිය හැක."
+
+#: ../gnome-session/gsm-gsd.c:57
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"අවසාන දෝෂ පනිවිඩය වුයේ:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:62
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"ඔබගේ මිළඟ පිවිසුම් වාරයේදි GNOME තවමත් සැකසුම් විබුද්ධයා නැවත ආරම්භ කිරිමට උත්සාහ ගනිමින් සිටී ."
+
+#: ../gnome-session/gsm-gsd.c:145
+msgid "The Settings Daemon restarted too many times."
+msgstr "සැකසුම් විබුද්ධයා බොහොවාරයක් නැවත ආරම්භවිය."
+
+#: ../gnome-session/gsm-remove-client.c:49
+msgid "List registered clients, then exit"
+msgstr "ලියායාපදිංචසේවා ග්‍රාහකයින් දක්වා, පසුව ඉවත්නන්නි "
+
+#: ../gnome-session/gsm-remove-client.c:51
+msgid "PROGRAM..."
+msgstr "ක්‍රමලේඛය..."
+
+#: ../gnome-session/gsm-remove-client.c:175
+msgid ""
+"You must specify at least one program to remove. You can list the programs "
+"with --list.\n"
+msgstr ""
+"ඔබ විසින් අනිවාර්යෙන්ම අවම වශයෙන් එක් යෙදුමක් හෝ ඉවත් කිරීම සඳහා දැක්විය යුතුවෙයි. "
+"ඔබට --list මඟින් යෙදුම් ලැයිස්තුව දැකගත හැක.\n"
+
+#: ../gnome-session/gsm-remove-client.c:182
+msgid "Error: could not connect to the session manager\n"
+msgstr "දෝෂය:සැසි-කළමණාකරු සමඟ සම්බන්ධ විය නොහැක\n"
+
+#: ../gnome-session/gsm-remove-client.c:196
+msgid "Currently registered clients:\n"
+msgstr "දැනට ලියාපදිංචි වූ සේව්‍යයන්:\n"
+
+#: ../gnome-session/gsm-remove-client.c:206
+#, c-format
+msgid "Couldn't find program %s in session\n"
+msgstr "සැසිය තුළ වූු %s ක්‍රමලේඛය සොයාගත නොහැක\n"
+
+#. At least try to tell the user something.
+#: ../gnome-session/ice.c:357
+#, c-format
+msgid ""
+"The GNOME session manager cannot start properly. Please report this as a "
+"GNOME bug. Please include this ICE failure message in the bug report: '%"
+"s'. Meanwhile you could try logging in using the failsafe session."
+msgstr ""
+"GNOME සැසි කළමණාකරු නිසියාකාරව ඇරඹිය නොහැක. කරුණාකර මෙය GNOME "
+"දෝෂයක් ලෙස වාර්තා කරන්න. දෝෂස වාර්තාව තුළ ICE අසාර්ථක පණිවිඩය ඇතුලත් "
+"කරන්න: '%s''. එමෙන්ම ඔබ ආරක්‍ෂිත සැසියකින් පිවිසීමට උත්සාහ කරන්න."
+
+#: ../gnome-session/ice.c:512
+#, c-format
+msgid ""
+"The GNOME session manager was unable to lock the file '%s'. Please report "
+"this as a GNOME bug. Sometimes this error may occur if the file's directory "
+"is unwritable, you could try logging in via the failsafe session and "
+"ensuring that it is."
+msgstr ""
+"GNOME සැසි කළමණාකරුට මෙම ගොනුව: '%s' අගුලුලෑමට නොහැකි විය. කරුණාකර "
+"මෙය GNOME දෝෂයක් ලෙස වාර්තා කරන්න. සමහරවිට ගොනු බහාලුමට ලිවිමට නොහැකි වුවිට "
+"සිදුවේ, ඔබ ආරක්‍ෂිත සැසියකින් පිවිසී එය තහවුරු කරගන්න."
+
+#: ../gnome-session/ice.c:539
+#, c-format
+msgid ""
+"The GNOME session manager was unable to read the file: '%s'. If this file "
+"exists it must be readable by you for GNOME to work properly. Try logging "
+"in with the failsafe session and removing this file."
+msgstr ""
+"GNOME සැසි කළමණාකරුට මෙම ගොනුව: '%s' කියවීමට නොහැකි විය. GNOME "
+"නිසියාකාරව ක්‍රියාත්මක විමට මෙම ගොනුව පවතී නම් එය අනිවාර්යෙන්ම ඔබට කියවිය "
+"හැකි වියයුතු වේ. ආරක්‍ෂිත සැසියකින් පිවිසී මෙම ගොනුව ඉවත් කිරිමට උත්සාහ කරන්න."
+
+#: ../gnome-session/ice.c:584
+#, c-format
+msgid ""
+"Could not write to file '%s'. This file must be writable in order for GNOME "
+"to function properly. Try logging in with the failsafe session and removing "
+"this file. Also make sure that the file's directory is writable."
+msgstr ""
+"'%s' ගොනුවට ලිවීමට නොහැක. GNOME නිසියාකාරව ක්‍රියාත්මක විමට අනිවාර්යෙන්ම "
+"මෙම ගොනුව ලිවිය හැකි ගොනුවක් විය යුතුය. ආරක්‍ෂිත සැසියකින් පිවිසී මෙම ගොනුව "
+"ඉවත් කිරීමට උත්සාහ කරන්න. ගොනුව අඩංගු බහාලුම ලිවීමට හැකි බහාලුමක් දැයි බලන්න."
+
+#: ../gnome-session/logout.c:406
+msgid "Are you sure you want to log out?"
+msgstr "ඔබට විශ්වාසද? ඔබට ඉවත් විමට අවශ්‍යමද?"
+
+#: ../gnome-session/logout.c:423
+msgid "_Save current setup"
+msgstr "දැනට ඇති සැකසුම සුරකින්න (_S)"
+
+#: ../gnome-session/logout.c:446
+msgid "Action"
+msgstr "ක්‍රියාව"
+
+#: ../gnome-session/logout.c:463
+msgid "_Log out"
+msgstr "ඉවත් විම (_L)"
+
+#: ../gnome-session/logout.c:470
+msgid "Sh_ut down"
+msgstr "නැවැත්වීම (_u)"
+
+#: ../gnome-session/logout.c:478
+msgid "_Restart the computer"
+msgstr "පරිගණකය නැවත අරබන්න (_R)"
+
+#: ../gnome-session/main.c:85
+msgid "Specify a session name to load"
+msgstr "පූරණය සඳහා සැසියේ නම දක්වන්න"
+
+#: ../gnome-session/main.c:85 ../gnome-session/save-session.c:49
+msgid "NAME"
+msgstr "නම"
+
+#: ../gnome-session/main.c:86
+msgid "Only read saved sessions from the default.session file"
+msgstr "සාමාන්‍ය ගොනුවෙන්, සුරකින ලඳ සැසියන් පමණක් කියවන්න "
+
+#: ../gnome-session/main.c:87
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "සේවා ග්‍රාහකයාට ලියාපදීංචි වීම සඳහා මිලි තත්පර කාලයක් රැදිසිටියා (0=සදාම)"
+
+#: ../gnome-session/main.c:87 ../gnome-session/main.c:88
+#: ../gnome-session/main.c:89
+msgid "DELAY"
+msgstr "ප්‍රමාදය"
+
+#: ../gnome-session/main.c:88
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "ද්‍යසේවා ග්‍රාහකයාට ප්‍රථිචාර දැක්වීම සඳහා මිලි තත්පර කාලයක් රැදිසිටියා (0=සදාම)"
+
+#: ../gnome-session/main.c:89
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "සේවා ග්‍රාහකයාට අවසන් වීමට සඳහා මිලි තත්පර කාළයක් රැදිසිටියා (0=සදාම)"
+
+#: ../gnome-session/main.c:264
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"%s සඳහා වු අන්තර්ජාල ලිපිනය සෝදිසි කර බැලිය නොහැක.\n"
+"මෙය GNOME නිසියාකාරව මෙහෙයවිම වළකයි.\n"
+"/etc/hosts ගොනුව තුලට %s ඇතුලත් කිරීම මඟින් \n"
+"මෙය වළක්වා ගතහැකි වනු ඇත."
+
+#: ../gnome-session/main.c:271
+msgid "Log in Anyway"
+msgstr "කෙසේ හෝ පිවිසෙන්න"
+
+#: ../gnome-session/main.c:272
+msgid "Try Again"
+msgstr "නැවත උත්සාහ කරන්න"
+
+#: ../gnome-session/main.c:396
+msgid "- Manage the GNOME session"
+msgstr "- GNOME සැසිය කලමණාකරනය කරයි"
+
+#: ../gnome-session/manager.c:514
+msgid "Wait abandoned due to conflict."
+msgstr "අවුල් සහගත වීම නිසා රැදීසිටීම අත්හරින ලදී."
+
+#: ../gnome-session/manager.c:1022
+#, c-format
+msgid "No response to the %s command."
+msgstr "%s විධානයට ප්‍රතිචාරයක් නොමැත."
+
+#: ../gnome-session/manager.c:1023
+msgid "The program may be slow, stopped or broken."
+msgstr "ක්‍රමලේඛය සමහරවිට මන්දගාමි, නැවතුණු හො විනාශ වී තිබිමට පුලුවනි."
+
+#: ../gnome-session/manager.c:1024
+msgid "You may wait for it to respond or remove it."
+msgstr "එයට ප්‍රතිචාර දැක්විමට හෝ එය ඉවත් කිරිමට ඔබ රැදිසිටිය යුතුයි."
+
+#: ../gnome-session/manager.c:1750
+msgid "Restart abandoned due to failures."
+msgstr "අසාර්ථක වීම නිසා නැවත ආරම්භ කිරීම අත්හරින ලදී."
+
+#: ../gnome-session/manager.c:1946
+msgid "A session shutdown is in progress."
+msgstr "සැසිය නැවැත් විම ක්‍රියාත්මක වෙමින් පවතී."
+
+#: ../gnome-session/save-session.c:49
+msgid "Set the current session name"
+msgstr "අද්‍යතන සැසියෙ නම සකසන්න"
+
+#: ../gnome-session/save-session.c:50
+msgid "Kill session"
+msgstr "සැසිය නසන්න"
+
+#: ../gnome-session/save-session.c:51
+msgid "Use dialog boxes for errors"
+msgstr "දෝෂ සඳහා සංවාද කොටුව භාවිතා කරන්න"
+
+#: ../gnome-session/save-session.c:52
+msgid "Do not require confirmation"
+msgstr "ස්ථිර කිරිමක් අවශ්‍ය නොවේ"
+
+#: ../gnome-session/save-session.c:150 ../gnome-session/save-session.c:187
+msgid "Could not connect to the session manager"
+msgstr "සැසි-කළමණාකරු සමඟ සම්බන්දවිය නොහැක"
+
+#: ../gnome-session/save-session.c:173
+msgid "- Save the current session"
+msgstr "- අද්‍යතන සැසිය සුරකින්න"
+
+#: ../gnome-session/session-properties-capplet.c:153
+msgid "Save changes to the current session before closing?"
+msgstr "වසාදැමීමට ප්‍රථම අද්‍යතන සැසියෙ වෙනස්කම් සුරකිය යුතුද?"
+
+#: ../gnome-session/session-properties-capplet.c:155
+msgid "If you don't save, changes will be discarded."
+msgstr "ඔබ සුරක්‍ෂිත නොකළ හොත්, වෙනස් කිරිම් වැනසෙනු ඇත."
+
+#: ../gnome-session/session-properties-capplet.c:158
+msgid "_Close without Saving"
+msgstr "සුරකීමකින් තොරව වසාදමන්න (_C)"
+
+#: ../gnome-session/session-properties-capplet.c:248
+msgid "Additional startup _programs:"
+msgstr "අමතර ආරම්භක ක්‍රමලේඛ: (_p)"
+
+#: ../gnome-session/session-properties-capplet.c:272
+msgid "Enabled"
+msgstr "සක්‍රීය කළා"
+
+#: ../gnome-session/session-properties-capplet.c:315
+msgid "Startup Programs"
+msgstr "ආරම්භක ක්‍රමලේඛ"
+
+#: ../gnome-session/session-properties-capplet.c:321
+msgid "Current Session"
+msgstr "අද්‍යතන සැසිය"
+
+#: ../gnome-session/session-properties-capplet.c:334
+msgid "Automatically save chan_ges to session"
+msgstr "සැසිය සඳහා වූ වෙනස් කිරිම් ස්වයංක්‍රීයව සුරකින්න (_g)"
+
+#: ../gnome-session/session-properties-capplet.c:349
+msgid "Save the current session"
+msgstr "අද්‍යතන සැසිය සුරකින්න"
+
+#: ../gnome-session/session-properties-capplet.c:357
+msgid "Session Options"
+msgstr "සැසිය සඳහා විකල්ප"
+
+#: ../gnome-session/session-properties-capplet.c:453
+msgid "Your session has been saved."
+msgstr "ඔබගේ සැසිය සුරක්‍ෂිත විය."
+
+#: ../gnome-session/session-properties-capplet.c:496
+msgid "could not connect to the session manager\n"
+msgstr "සැසි-කළමණාකරු සමඟ සම්බන්ධවිය නොහැක\n"
+
+#: ../gnome-session/session-properties-capplet.c:502
+msgid "session manager does not support GNOME extensions\n"
+msgstr "GNOME ව්‍යාප්ති සඳහා සැසි කළමණාකරු සහාය නොදක්වයි\n"
+
+#: ../gnome-session/session-properties.c:51
+msgid "Remove the currently selected client from the session."
+msgstr "දැනට තෝරාගෙන ඇති සේවාග්‍රාහකයා සැසියෙන් ඉවත් කරන්න."
+
+#: ../gnome-session/session-properties.c:57
+msgid "Apply changes to the current session"
+msgstr "අද්‍යතන සැසිය සඳහා වූ වෙනස් කිරීම් යොදන්න"
+
+#: ../gnome-session/session-properties.c:63
+msgid "The list of programs in the session."
+msgstr "සැසිය තුළ වූ ක්‍රමලේඛ ලැයිස්තුව."
+
+#: ../gnome-session/session-properties.c:90
+msgid "Currently running _programs:"
+msgstr "දැනට ක්‍රියාත්මක වන ක්‍රමලේඛ:(_p)"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Sawfish Window Manager"
+msgstr "Sawfish - කවුළු කළමණාකරු"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Metacity Window Manager"
+msgstr "Metacity - කවුළු කළමණාකරු"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "Window Manager"
+msgstr "කවුළු කළමණාකරු"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "The Panel"
+msgstr "පුවරුව"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "තිරමුහුණත් සැකසුම්"
+
+#: ../gnome-session/startup-programs.c:560
+msgid "_Name:"
+msgstr "නම: (_N)"
+
+#: ../gnome-session/startup-programs.c:578
+msgid "_Command:"
+msgstr "විධානය: (_C)"
+
+#: ../gnome-session/startup-programs.c:584
+msgid "Startup Command"
+msgstr "ආරම්භක විධානය "
+
+#: ../gnome-session/startup-programs.c:610
+msgid "The name of the startup program cannot be empty"
+msgstr "ආරම්භක යෙදුමේ නම හිස් විය නොහැක"
+
+#: ../gnome-session/startup-programs.c:612
+msgid "The startup command cannot be empty"
+msgstr "ආරම්භක විධානය හිස් විය නොහැක"
+
+#: ../gnome-session/startup-programs.c:618
+msgid "The startup command is not valid"
+msgstr "ආරම්භක විධානය සාවද්‍ය වේ"
+
+#: ../gnome-session/startup-programs.c:670
+msgid "New Startup Program"
+msgstr "නව ආරම්භක ක්‍රමලේඛය"
+
+#: ../gnome-session/startup-programs.c:714
+msgid "Edit Startup Program"
+msgstr "ආරම්භක ක්‍රමලේඛය වෙනස් කරන්න"
+
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..08b0490
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,547 @@
+# Slovak translation for gnome-session.
+# Copyright (C) 2002, 2003, 2005-2010, 2012, 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Stanislav Višňovský <visnovsky@nenya.ms.mff.cuni.cz>, 2002, 2003.
+# Stanislav Visnovsky <visnovsky@kde.org>, 2003.
+# Peter Tuharsky <tuharsky@misbb.sk>, 2007.
+# Marcel Telka <marcel@telka.sk>, 2005, 2006, 2008.
+# Pavol Šimo <palo.simo@gmail.com>, 2009, 2010.
+# Dusan B. <drunkez@gmail.com>, 2019.
+# Matej Mrenica <matejm98mthw@gmail.com>, 2021.
+# Dušan Kazik <prescott66@gmail.com>, 2012-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-19 11:20+0200\n"
+"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
+"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0\n"
+"X-Generator: Gtranslator 40.0\n"
+
+# desktop entry name
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Vlastná relácia"
+
+# desktop entry comment
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Táto položka vám umožní vybrať uloženú reláciu"
+
+# desktop entry name; gnome session name
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+# desktop entry comment
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Táto relácia vás prihlási do GNOME"
+
+# desktop entry name
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Fingované GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME cez Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME cez Xorg"
+
+# GtkButton label
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Ukladanie relácie"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ak je povolené, gnome-session bude reláciu ukladať automaticky."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Uloženie tejto relácie"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Keď je povolené, gnome-session automaticky uloží nasledujúcu reláciu pri "
+"odhlásení, aj keď je automatické ukladanie zakázané."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Výzvna na odhlásenie"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ak je povolené, gnome-session vyzve používateľa pred ukončením relácie."
+
+# cmd desc
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Zobrazí upozornenie záchranného režimu"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ak je povolené, gnome-session zobrazí po prihlásení upozornenie, ak sa "
+"automaticky použije záchranný režim."
+
+# GtkWindow title
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Vlastná relácia"
+
+# GtkLabel label
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Prosím, vyberte vlastnú reláciu, ktorá sa má spustiť"
+
+# GtkButton label
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nová relácia"
+
+# GtkButton label
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Odstrániť reláciu"
+
+# GtkButton label
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Pre_menovať reláciu"
+
+# GtkButton label
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Pokračovať"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Ale nie! Niekde sa stala chyba."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Vyskytla sa chyba a systém sa nedokáže obnoviť. Prosím, kontaktuje správcu "
+"systému"
+
+# PK: extensions asi zasuvne moduly
+# DK: zasuvne moduly su "plugins".tu sa jedna o rozsirenia Shellu.mam overene v praxi.
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Vyskytla sa chyba a systém sa nedokáže obnoviť. Všetky rozšírenia boli "
+"preventívne zakázané."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Vyskytla sa chyba a systém sa nedokáže obnoviť.\n"
+"Prosím, odhláste sa a skúste to znovu."
+
+# button
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Odhlásiť sa"
+
+# cmd desc
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Povolí ladiaci kód"
+
+# cmd desc
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Povolí odhlásenie"
+
+# cmd desc
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Zobrazí upozornenie rozšírenia"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Neodpovedá"
+
+# button
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "Odh_lásiť sa"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamätaná aplikácia"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Tento program blokuje odhlásenie."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Nové pripojenie klienta odmietnuté, pretože sa relácia práve vypína\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Nepodarilo sa vytvoriť načúvajúci soket ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Pobeží ako služba systemd"
+
+# cmd desc
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Použije správu relácií systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Použije zabudovaného správcu relácií (namiesto toho, založeného na systemd)"
+
+# cmd desc
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Preváži predvolené adresáre automatického spúšťania"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "ADRESÁR_AUTOSPUSTENIA"
+
+# cmd desc
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Relácia, ktorá bude použitá"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "NÁZOV_RELÁCIE"
+
+# cmd desc
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Nenačíta aplikácie špecifikované používateľom"
+
+# cmd desc
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Verzia tejto aplikácie"
+
+# cmd desc
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Zobrazí dialógové okno s chybou slúžiace na testovanie"
+
+# cmd desc
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Zakáže kontrolu hardvérovej akcelerácie"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — správca relácie GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Spustí gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Spustí gnome-session-shutdown.target pri obdržaní EOF alebo jedného bajtu zo "
+"štandardného vstupu"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signalizuje dokončenie inicializácie pre gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Reštartuje dbus.service, ak beží"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Spustením z ExecStopPost spustíte gnome-session-failed.target pri zlyhaní "
+"služby"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program vyžaduje presne jeden parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [VOĽBA...] PRÍKAZ\n"
+"\n"
+"Spustenie PRÍKAZU počas potlačenia niektorých funkcií relácie.\n"
+"\n"
+" -h, --help Zobrazí tohoto pomocníka\n"
+" --version Zobrazí verziu programu\n"
+" --app-id ID Identifikátor aplikácie, ktorá sa použije\n"
+" pri potlačení (voliteľné)\n"
+" --reason PRÍČINA Príčina, kvôli ktorej sa uskutoční potlačenie "
+"(voliteľné)\n"
+" --inhibit ARG Dvojbodkou oddelené súčasti na potlačenie, z možností:\n"
+" logout (odhlásenie), switch-user (prepnutie "
+"používateľa), suspend (uspatie), idle (nečinnosť), automount (automatické "
+"pripojenie)\n"
+" --inhibit-only Nespustí PRÍKAZ, ale bude miesto toho čakať donekonečna\n"
+" -l, --list Vypíše existujúce potláčania, a ukončí sa\n"
+"\n"
+"Ak nie je určená žiadna voľba typu --inhibit, bude sa predpokladať "
+"nečinnosť.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Zlyhalo spustenie príkazu %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "Príkaz %s vyžaduje parameter\n"
+
+# cmd desc
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Uskutoční odhlásenie"
+
+# cmd desc
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Uskutoční vypnutie"
+
+# cmd desc
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Uskutoční reštart"
+
+# cmd desc
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Budú sa ignorovať akékoľvek potlačenia"
+
+# cmd desc
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Nepýtať si potvrdenie od používateľa"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Nepodarilo sa pripojiť k správcovi relácií"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program volaný s konfliktnými voľbami"
+
+# cmd desc
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Relácia č. %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Názvy relácií nesmú začínať s „.“ ani obsahovať znaky „/“"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Názvy relácií nesmú začínať s „.“"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Názvy relácií nesmú obsahovať znaky „/“"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Relácia s názvom „%s“ už existuje"
+
+# GtkLabel label
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Ďalšie _programy spúšťané pri štarte:"
+
+# tab
+#~ msgid "Startup Programs"
+#~ msgstr "Programy spúšťané pri štarte"
+
+# GtkCheckButton label
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "Pri odhlasovaní si _automaticky zapamätať bežiace aplikácie"
+
+# GtkLabel label
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Zapamätať si teraz bežiace aplikácie"
+
+# tab
+#~ msgid "Options"
+#~ msgstr "Voľby"
+
+# GtkButton label
+#~ msgid "Browse…"
+#~ msgstr "Prehliadať…"
+
+# GtkLabel label
+#~ msgid "Comm_ent:"
+#~ msgstr "P_oznámka:"
+
+# GtkLabel label
+#~ msgid "Co_mmand:"
+#~ msgstr "_Príkaz:"
+
+# GtkLabel label
+#~ msgid "_Name:"
+#~ msgstr "_Názov:"
+
+# desktop entry comment
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Táto relácia vás prihlási do GNOME s použitím protokolu Wayland"
+
+# titulok okna
+#~ msgid "Select Command"
+#~ msgstr "Výber príkazu"
+
+# window title
+#~ msgid "Add Startup Program"
+#~ msgstr "Pridanie programu spúšťaného pri štarte"
+
+# window title
+#~ msgid "Edit Startup Program"
+#~ msgstr "Úprava programu spúšťaného pri štarte"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Príkaz na spustenie pri štarte nemôže byť prázdny"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Príkaz na spustenie pri štarte je neplatný"
+
+# tree_view_column
+#~ msgid "Enabled"
+#~ msgstr "Povolený"
+
+# tree_view_column
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+# tree_view_column
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#  window title
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Nastavenia aplikácií spúšťaných pri štarte"
+
+#~ msgid "No name"
+#~ msgstr "Bez názvu"
+
+#~ msgid "No description"
+#~ msgstr "Bez popisu"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Nepodarilo sa zobraziť dokument pomocníka"
+
+# desktop entry name
+#~ msgid "Startup Applications"
+#~ msgstr "Aplikácie spúšťané pri štarte"
+
+# desktop entry comment
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Umožňuje zvoliť aplikácie, ktoré sa majú spustiť, keď sa prihlásite"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Súbor nie je platným súborom .desktop"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Nerozpoznaná hodnota „%s“ položky Version v súbore .desktop"
+
+#~ msgid "Starting %s"
+#~ msgstr "Spúšťa sa %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Aplikácia neprijíma dokumenty v príkazovom riadku"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Nerozpoznaná voľba spustenia: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Nie je možné odovzdať URI dokumentov do položky „Type=Link“ súboru ."
+#~ "desktop "
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nespustiteľná položka"
+
+# cmd desc
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Zakáže pripojenie k správcovi relácií"
+
+# cmd desc
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Určuje súbor obsahujúci uloženú konfiguráciu"
+
+#~ msgid "FILE"
+#~ msgstr "SÚBOR"
+
+#~ msgid "ID"
+#~ msgstr "IDENTIFIKÁTOR"
+
+#~ msgid "Session management options:"
+#~ msgstr "Voľby pre správu relácie:"
+
+# cmd desc
+#~ msgid "Show session management options"
+#~ msgstr "Zobrazí voľby pre správu relácie"
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..e42437e
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,651 @@
+# Slovenian translation of gnome-session.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+#
+# Andraž Tori <andraz.tori1@guest.arnes.si> 2000.
+# Matej Urbančič <mateju@src.gnome.org>, 2007–2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2020-08-18 21:08+0000\n"
+"PO-Revision-Date: 2022-02-07 20:40+0100\n"
+"Last-Translator: Matej Urbančič <mateju@src.gnome.org>\n"
+"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
+"Language: sl_SI\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-SourceCharset: utf-8\n"
+"X-Generator: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Po meri"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Možnost omogoča izbor shranjene seje"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Seja omogoča prijavo v namizje GNOME."
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Poskusni GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME na sistemu Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Shrani seje"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Izbrana možnost omogoči samodejno shranjevanje seje."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Shrani sejo"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Izbrana možnost omogoči samodejno shranjevanje seje ob odjavi, neglede na "
+"nastavitev samodejnega shranjevanja."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Vnosno polje odjave"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Izbrana možnost omogoči prikaz vnosnega polja pred koncem seje."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Pokaži opozorila programske povrnitve"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Izbrana možnost omogoči prikaz opozorila po prijavi, če je seja samodejno "
+"povrnjena."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Seja po meri"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Izberite sejo po meri za zagon"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Nova seja"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Odstrani sejo"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Pre_imenuj sejo"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "N_adaljuj"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Prišlo je do nepričakovane napake."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Prišlo je do napake, ki je ni mogoče samodejno odpraviti. Stopite v stik s "
+"skrbnikom."
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Prišlo je do napake, ki je ni mogoče samodejno odpraviti. Priporočljivo je "
+"onemogočiti vse razširitve, dokler se napaka ne razreši."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Prišlo je do napake, ki je ni mogoče samodejno odpraviti.\n"
+"Odjavite se in poskusite znova."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Odjava"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Omogoči razhroščevanje kode"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Dovoli odjavo"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Pokaži opozorila razširitev"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Ni odziva"
+
+#: gnome-session/gsm-util.c:415
+msgid "_Log out"
+msgstr "_Odjavi"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapomnjeni programi"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Program zavira postopek odjave."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Povezave z odjemalci bodo zavrnjene, ker se trenutna seja izklaplja.\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ni mogoče ustvariti vtiča za prisluh ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Zagnano kot storitev systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Uporabi upravljalnik seje systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Uporabi vgrajen upravljalnik seje (namesto storitev systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Preskoči običajne mape samodejnega zagona"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "ZAČETNA_MAPA"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Seja za uporabo"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "IME_SEJE"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Ne naloži uporabniško določenih programov"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Različica programa"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Pokaži pogovorno okno napak med preizkušanjem."
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Onemogoči strojno pospeševanje"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr "– upravljalnik seje GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Zaženi ukaz gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Zaženi ukaz gnome-session-shutdown.target pri prejetju ukaza konca datoteke "
+"EOF oziroma enobajtni standardni dovod"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Začenjanje signala za gnome-sesion"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Ponovno zaženi storitev dbus.service, če je že zagnana"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Zaženi iz ExecStopPost za zagon gnome-session-failed.target ob spodleteli "
+"seji"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program zahteva natanko en parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [MOŽNOST...] UKAZ\n"
+"\n"
+"Izvajanje ukaza z onemogočenjem nekaterih zmožnosti seje.\n"
+"\n"
+" -h, --help Pokaže to pomoč\n"
+" --version Pokaže različico programa\n"
+" --app-id ID ID programa za uporabo\n"
+" pri onemogočanju (izbirno)\n"
+" --reason RAZLOG Razlog za onemogočanje (izbirno)\n"
+" --inhibit ARG Možnosti za onemogočanje, ločene z vejico:\n"
+" logout (odjava), switch-user (preklop uporabnika)\n"
+" --inhibit-only Ne zaženi ukaza, ampak čakaj v nedogled\n"
+" -l, --list Izpiše seznam obstoječih zavrnitev\n"
+"\n"
+"Kadar ni izbrane možnosti --inhibit, je uporabljen argument idle "
+"(nedejavno).\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Napaka med izvajanjem %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s zahteva določen argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Odjava"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Izklopi"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Ponovni zagon"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Prezri obstoječe oviralnike dejavnosti"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne zahtevaj potrditve uporabnika"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Ni se mogoče povezati z upravljalnikom sej"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program zagnan z nasprotujočimi si možnostmi ukaza"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Seja %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr ""
+"Imena seje se ne smejo začeti s piko » . « in ne smejo vsebovati poševnice "
+"» / «."
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Imena seje se ne smejo začeti s piko » . «."
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Imena seje ne smejo vsebovati poševnice » / «."
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Seja z imenom »%s« že obstaja"
+
+#~ msgid "GNOME on Wayland"
+#~ msgstr "GNOME na sistemu Wayland"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Dodatni _začetni programi:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Začetni programi"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Zapomni si zagnane programe ob odjavi"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Zapomni si trenutno zagnane programe"
+
+#~ msgid "Options"
+#~ msgstr "Možnosti"
+
+#~ msgid "Browse…"
+#~ msgstr "Prebrskaj ..."
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_Opomba:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Ukaz:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Ime:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Seja omogoča prijavo v namizje GNOME z uporabo sistema Wayland."
+
+#~ msgid "Select Command"
+#~ msgstr "Izbor ukaza"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Dodaj začetni program"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Uredi začetni program"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Polje začetnega ukaza mora biti izpolnjeno"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Začetni ukaz ni veljaven"
+
+#~ msgid "Enabled"
+#~ msgstr "Omogočeno"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Možnosti začetnih programov"
+
+#~ msgid "No name"
+#~ msgstr "Brez imena"
+
+#~ msgid "No description"
+#~ msgstr "Brez opisa"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ni mogoče prikazati dokumenta pomoči"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Začetni programi"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Izbor programov za samodejni zagon ob prijavi"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Datoteka ni veljavna .desktop datoteka"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Neznana različica datoteke namizja '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Začenjanje %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Program ne sprejme dokumentov preko ukazne vrstice"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Nepoznana možnost zagona: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr ""
+#~ "Ni mogoče poslati naslova URI dokumenta na vnos 'Vrsta=Povezava' predmeta "
+#~ "namizja"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Predmet ni izvedljiv"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Onemogoči povezavo z upravljalnikom seje"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Določitev datoteke s shranjenimi nastavitvami"
+
+#~ msgid "FILE"
+#~ msgstr "DATOTEKA"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Možnosti upravljanja seje:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Pokaži možnosti upravljanja seje"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Nekateri programi so še vedno zagnani:"
+
+#~ msgid "Unknown"
+#~ msgstr "Neznano"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Program je še vedno zagnan:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Čakanje na konec izvajanja programa. Prekinitev izvajanja lahko povzroči "
+#~ "izgubo vaših podatkov."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Čakanje na konec izvajanja programov. Prekinitev izvajanja lahko povzroči "
+#~ "izgubo vaših podatkov."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Vseeno preklopi uporabnika"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Vseeno se odjavi"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Vseeno postavi v pripravljenost"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Vseeno postavi v mirovanje"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Vseeno izklopi računalnik"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Vseeno ponovno zaženi"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Zakleni zaslon"
+
+#~ msgid "Cancel"
+#~ msgstr "Prekliči"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Samodejno boste odjavljeni čez %d sekund."
+#~ msgstr[1] "Samodejno boste odjavljeni čez %d sekundo."
+#~ msgstr[2] "Samodejno boste odjavljeni čez %d sekundi."
+#~ msgstr[3] "Samodejno boste odjavljeni čez %d sekunde."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Sistem se bo samodejno izklopil čez %d sekund."
+#~ msgstr[1] "Sistem se bo samodejno izklopil čez %d sekundo."
+#~ msgstr[2] "Sistem se bo samodejno izklopil čez %d sekundi."
+#~ msgstr[3] "Sistem se bo samodejno izklopil čez %d sekunde."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Sistem se bo samodejno ponovno zagnal čez %d sekund."
+#~ msgstr[1] "Sistem se bo samodejno ponovno zagnal čez %d sekundo."
+#~ msgstr[2] "Sistem se bo samodejno ponovno zagnal čez %d sekundi."
+#~ msgstr[3] "Sistem se bo samodejno ponovno zagnal čez %d sekunde."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Trenutno ste prijavljeni kot \"%s\"."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Ali se želite odjaviti iz sistema?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Preklop uporabnika"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Ali želite izklopiti računalnik?"
+
+#~ msgid "S_uspend"
+#~ msgstr "V _pripravljenost"
+
+#~ msgid "_Hibernate"
+#~ msgstr "V _mirovanje"
+
+#~ msgid "_Restart"
+#~ msgstr "_Ponoven zagon"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Izklopi"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Ali naj se sistem ponovno zažene?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d ur"
+#~ msgstr[1] "%d ura"
+#~ msgstr[2] "%d uri"
+#~ msgstr[3] "%d ure"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d minut"
+#~ msgstr[1] "%d minuta"
+#~ msgstr[2] "%d minuti"
+#~ msgstr[3] "%d minute"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d sekund"
+#~ msgstr[1] "%d sekunda"
+#~ msgstr[2] "%d sekundi"
+#~ msgstr[3] "%d sekunde"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 sekund"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "Do samodejne odjave je še %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "Seja je nastavljena za samodejno odjavo po daljšem času nedejavnosti."
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "Ikone '%s' ni mogoče najti"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "Nalaganje namizja GNOME 3 je spodletelo"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "Nalaganje namizja GNOME 3 je spodletelo, zato je namizje <i>povrnjeno na "
+#~ "delujočo različico</i>.\n"
+#~ "\n"
+#~ "Napaka običajno pomeni, da grafična strojna oprema ali gonilnik ni "
+#~ "primeren za zagon namizja GNOME 3 v polnem grafičnem načinu."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "Več podrobnosti o namizju GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "Ni mogoče začeti prijavne seje (in ni se mogoče povezati s strežnikom X)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "Končano s kodo %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "Uničeno s signalom %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "Zaustavljeno s signalom %d"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>Nekateri programi so še vedno zagnani:</b>"
diff --git a/po/sq.po b/po/sq.po
new file mode 100644
index 0000000..b1c002c
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,647 @@
+# Përkthimi i mesazheve të gnome-session në shqip
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# Deep_Dark <epidamus@netscape.net>, 2002.
+# Laurent Dhima <laurenti@alblinux.net>, 2003, 2004, 2005, 2006.
+# Elian Myftiu <elian@alblinux.net>, 2007
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-05 18:51+0100\n"
+"PO-Revision-Date: 2007-02-28 17:13+0100\n"
+"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
+"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Lejo lidhjet TCP"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Për arësye sigurie, në piataformat që kanë _IceTcpTransNoListen() (XFree86 "
+"systems), seanca i gnome nuk pret lidhje në portat TCP. Ky opsion lejon "
+"lidhjet nga (të autorizuar) hoste në largësi. Seanca e gnome duhet të "
+"riniset për të patur këtë efekt."
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Nëse aktivohet, seanca e gnome do të nxjerre përdoruesin në terminal përpara "
+"se të mbarojë një seancë."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Nëse e aktivuar, seanca e gnome do të ruaj seancën automatikisht. Përndryshe "
+"pyetja për daljen përmban një opsion për ruajtjen e seancës"
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Terminali i daljes"
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "Figura e preferuar për t'u përdorur tek dritarja e hyrjes"
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Ruaj seancat"
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Selected option in the log out dialog"
+msgstr "Mundësia e zgjedhur në dialogun e daljes"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Show the splash screen"
+msgstr "Trego sfondin splash"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Show the splash screen when the session starts up"
+msgstr "Tregon sfondin splash kur seanca fillon"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Është një pozicion relativ i directory $datadir/pixmaps/. Nën-directories "
+"dhe emrat e figurave janë vlera të pranueshme. Ndryshimi i kësaj vlere do të "
+"ketë efekt në seancën e ardhshme të hyrjes."
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+"Kjo është mundësia që do të zgjidhet në dialogun e daljes, vlerat e vlefshme "
+"janë \"dil\" për të dalë jashtë, \"fik\" për të ndalur sistemin dhe \"rinis"
+"\" për të rinisur kompjuterin."
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Konfiguro seancën tënde"
+
+#: ../data/session-properties.desktop.in.in.h:2
+#: ../gnome-session/session-properties-capplet.c:222
+msgid "Sessions"
+msgstr "Seanca"
+
+#: ../gnome-session/gsm-at-startup.c:61
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+"Teknologjia mbështetëse u kërkua për këtë seancë, por regjistri i "
+"açesibilitetit nuk u gjet. Të lutem sigurohu që paketa AT-SPI është e "
+"instaluar. Seanca jote u nis pa teknologjinë mbështetëse."
+
+#: ../gnome-session/gsm-client-editor.c:97
+msgid "_Order:"
+msgstr "_Renditja:"
+
+#: ../gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Renditja me të cilën programet do të fillohen në seancë."
+
+#: ../gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Çfarë i ndodh programit kur mbyllet."
+
+#: ../gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Stili:"
+
+#: ../gnome-session/gsm-client-list.c:150
+msgid "Order"
+msgstr "Renditja"
+
+#: ../gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Stili"
+
+#: ../gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Gjendja"
+
+#: ../gnome-session/gsm-client-list.c:165
+#: ../gnome-session/session-properties-capplet.c:280
+msgid "Program"
+msgstr "Programi"
+
+#: ../gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Jo aktiv"
+
+#: ../gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Në pritje për të filluar ose i sapo mbaruar."
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Duke filluar"
+
+#: ../gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "I filluar por nuk ka akoma një gjendje raportimi."
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Në ekzekutim"
+
+#: ../gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Një anëtar normal i seancës."
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Duke ruajtur"
+
+#: ../gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Detajet e ruajtjes së seancës."
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Nuk njihet"
+
+#: ../gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Gjëndje e pa raportuar në mungesë të timeout (jashtëkohe)."
+
+#: ../gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Normal"
+
+#: ../gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "I pandikueshëm nga daljet por mund të mbyllet."
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Rifillo"
+
+#: ../gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Nuk lejohet të vdesë asnjëherë."
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Koshi"
+
+#: ../gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "I skartuar gjatë daljes dhe mund të mbyllet."
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Rregullimet"
+
+#: ../gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Fillon gjithmonë në çdo login."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:45
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Ndodhi një gabim duke filluar demonin e rregullimeve të Gnome\n"
+"\n"
+"Disa gjëra si temat, zëri, ose sfondi mund të mos punojnë në mënyrë korrekte."
+
+#: ../gnome-session/gsm-gsd.c:57
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Mesazhi i fundit i gabimit ishte:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:62
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Gnome do të provojë të rinisë demonin e rregullimeve herën tjetër që ju do "
+"të kryeni log-in."
+
+#: ../gnome-session/gsm-gsd.c:145
+msgid "The Settings Daemon restarted too many times."
+msgstr "Demoni i rregullimeve u rinis tepër herë. "
+
+#: ../gnome-session/gsm-remove-client.c:46
+msgid "List registered clients, then exit"
+msgstr "Radhit klientët e regjistruar, pastaj dil"
+
+#: ../gnome-session/gsm-remove-client.c:48
+msgid "PROGRAM..."
+msgstr "PROGRAM..."
+
+#: ../gnome-session/gsm-remove-client.c:172
+msgid ""
+"You must specify at least one program to remove. You can list the programs "
+"with --list.\n"
+msgstr ""
+"Duhet të përcaktosh të paktën një program për të hequr. Mund të radhitësh "
+"programet me --list.\n"
+
+#: ../gnome-session/gsm-remove-client.c:179
+msgid "Error: could not connect to the session manager\n"
+msgstr "Gabim: e pamundur lidhja me organizuesin e seancës\n"
+
+#: ../gnome-session/gsm-remove-client.c:193
+msgid "Currently registered clients:\n"
+msgstr "Klientët e regjistruar deri më tani:\n"
+
+#: ../gnome-session/gsm-remove-client.c:203
+#, c-format
+msgid "Couldn't find program %s in session\n"
+msgstr "E pamundur gjetja e progamit %s në seancë\n"
+
+#. At least try to tell the user something.
+#: ../gnome-session/ice.c:355
+#, c-format
+msgid ""
+"The GNOME session manager cannot start properly. Please report this as a "
+"GNOME bug. Please include this ICE failure message in the bug report: '%"
+"s'. Meanwhile you could try logging in using the failsafe session."
+msgstr ""
+"Organizuesi i seancës GNOME nuk mundi të nisë në rregull. Të lutem njoftoje "
+"këtë si një gabim GNOME. Të lutem përfshije këtë mesazh gabimi në njoftimin "
+"e gabimit: '%s'. Ndërkohë mund të provosh të futesh duke përdorur seancën "
+"shpëtuese."
+
+#: ../gnome-session/ice.c:510
+#, c-format
+msgid ""
+"The GNOME session manager was unable to lock the file '%s'. Please report "
+"this as a GNOME bug. Sometimes this error may occur if the file's directory "
+"is unwritable, you could try logging in via the failsafe session and "
+"ensuring that it is."
+msgstr ""
+"Organizuesi i seancës GNOME nuk mundi të kyçë file '%s'. Të lutem njoftoje "
+"këtë si një gabim GNOME. Ndonjëherë ky gabim mund të ndodhë nëse dosja e "
+"file-t është e pashkruajtshme, mund të provosh të hysh me anë të seancës "
+"shpëtuese dhe të sigurohesh për këtë."
+
+#: ../gnome-session/ice.c:537
+#, c-format
+msgid ""
+"The GNOME session manager was unable to read the file: '%s'. If this file "
+"exists it must be readable by you for GNOME to work properly. Try logging "
+"in with the failsafe session and removing this file."
+msgstr ""
+"Organizuesi i seancës GNOME nuk mundi të lexojë file '%s'. Nëse ky file "
+"ekziston ai duhet të jetë i lexueshëm nga ti që GNOME të punojë siç duhet. "
+"Provo të hysh me seancën shpëtuese dhe të heqësh këtë file."
+
+#: ../gnome-session/ice.c:582
+#, c-format
+msgid ""
+"Could not write to file '%s'. This file must be writable in order for GNOME "
+"to function properly. Try logging in with the failsafe session and removing "
+"this file. Also make sure that the file's directory is writable."
+msgstr ""
+"Nuk munda të shkruaj në file '%s'. Ky file duhet të jetë i shkruajtshëm që "
+"GNOME të punojë siç duhet. Provo të futesh me seancën shpëtuese dhe të "
+"heqësh këtë file. Gjithashtu sigurohu që dosja e file-t është e "
+"shkruajtshme."
+
+#: ../gnome-session/logout.c:404
+msgid "Are you sure you want to log out?"
+msgstr "Jeni i sigurt që doni të dilni?"
+
+#: ../gnome-session/logout.c:421
+msgid "_Save current setup"
+msgstr "_Ruani rregullimet aktuale"
+
+#: ../gnome-session/logout.c:444
+msgid "Action"
+msgstr "Veprimi"
+
+#: ../gnome-session/logout.c:461
+msgid "_Log out"
+msgstr "_Dil jashtë"
+
+#: ../gnome-session/logout.c:468
+msgid "Sh_ut down"
+msgstr "Sh_ut down (fike)"
+
+#: ../gnome-session/logout.c:476
+msgid "_Restart the computer"
+msgstr "_Rinis kompjuterin"
+
+#: ../gnome-session/main.c:83
+msgid "Specify a session name to load"
+msgstr "Specifiko emrin e seancës që duhet ngarkuar"
+
+#: ../gnome-session/main.c:83 ../gnome-session/save-session.c:49
+msgid "NAME"
+msgstr "EMRI"
+
+#: ../gnome-session/main.c:84
+msgid "Only read saved sessions from the default.session file"
+msgstr "Vetëm lexo seancat e ruajtura nga file i seancës së hapur."
+
+#: ../gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+"Milisekonda të shpenzuara në pritje të një klienti për t'u rregjistruar "
+"(0=përgjithmonë)"
+
+#: ../gnome-session/main.c:85 ../gnome-session/main.c:86
+#: ../gnome-session/main.c:87
+msgid "DELAY"
+msgstr "VONESA"
+
+#: ../gnome-session/main.c:86
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+"Milisekonda të shpenzuara në pritje të klienteve për t'u përgjigjur "
+"(0=përgjithmonë)"
+
+#: ../gnome-session/main.c:87
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+"Milisekonda të shpenzuara në pritje që klienti të mbyllet (0=përgjithmonë)"
+
+#: ../gnome-session/main.c:262
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"E pamundur hapja e adresës internet për %s.\n"
+"Kjo pengon Gnome të punojë në rregull.\n"
+"Mund te jetë e mundur të korigjohet problemi duke shtuar\n"
+"%s tek file /etc/hosts."
+
+#: ../gnome-session/main.c:269
+msgid "Log in Anyway"
+msgstr "Futu sidoqoftë"
+
+#: ../gnome-session/main.c:270
+msgid "Try Again"
+msgstr "Provo përsëri"
+
+#: ../gnome-session/main.c:395
+msgid "- Manage the GNOME session"
+msgstr " - Organizo seancën GNOME"
+
+#: ../gnome-session/manager.c:512
+msgid "Wait abandoned due to conflict."
+msgstr "Pritje u braktis për shkak të një konflikti."
+
+#: ../gnome-session/manager.c:1020
+#, c-format
+msgid "No response to the %s command."
+msgstr "Asnjë përgjigje për komandën %s."
+
+#: ../gnome-session/manager.c:1021
+msgid "The program may be slow, stopped or broken."
+msgstr "Programi mund të jetë i ngadalshëm, mund të ndalojë ose të mbyllet."
+
+#: ../gnome-session/manager.c:1022
+msgid "You may wait for it to respond or remove it."
+msgstr "Mund të presësh përgjigjen prej tij ose mund t'a heqësh."
+
+#: ../gnome-session/manager.c:1748
+msgid "Restart abandoned due to failures."
+msgstr "Rinisja u braktis për shkak të problemeve."
+
+#: ../gnome-session/manager.c:1944
+msgid "A session shutdown is in progress."
+msgstr "Mbyllje seance në proçes e sipër."
+
+#: ../gnome-session/save-session.c:49
+msgid "Set the current session name"
+msgstr "Cakto emrin e seancës aktuale"
+
+#: ../gnome-session/save-session.c:50
+msgid "Kill session"
+msgstr "Vrit seancën"
+
+#: ../gnome-session/save-session.c:51
+msgid "Use dialog boxes for errors"
+msgstr "Përdor kuti dialogu për gabime"
+
+#: ../gnome-session/save-session.c:52
+msgid "Do not require confirmation"
+msgstr "Mos kërko konfirmim"
+
+#: ../gnome-session/save-session.c:150 ../gnome-session/save-session.c:187
+msgid "Could not connect to the session manager"
+msgstr "E pamundur lidhja me organizuesin e seancës"
+
+#: ../gnome-session/save-session.c:173
+msgid "- Save the current session"
+msgstr "- Ruaj seancën aktuale"
+
+#: ../gnome-session/session-properties-capplet.c:153
+msgid "Save changes to the current session before closing?"
+msgstr "T'i ruaj ndryshimet në seancën e tanishme përpara mbylljes?"
+
+#: ../gnome-session/session-properties-capplet.c:155
+msgid "If you don't save, changes will be discarded."
+msgstr "Nëse nuk e ruan, ndryshimet do të shpërfillen."
+
+#: ../gnome-session/session-properties-capplet.c:158
+msgid "_Close without Saving"
+msgstr "_Mbyll pa Ruajtur"
+
+#: ../gnome-session/session-properties-capplet.c:248
+msgid "Additional startup _programs:"
+msgstr "_Programe nisje shtesë:"
+
+#: ../gnome-session/session-properties-capplet.c:272
+msgid "Enabled"
+msgstr "Aktivuar"
+
+#: ../gnome-session/session-properties-capplet.c:315
+msgid "Startup Programs"
+msgstr "Programet e Nisjes"
+
+#: ../gnome-session/session-properties-capplet.c:321
+msgid "Current Session"
+msgstr "Seanca aktuale"
+
+#: ../gnome-session/session-properties-capplet.c:334
+msgid "Automatically save chan_ges to session"
+msgstr "Automatikisht ruaj ndryshimet e seancës"
+
+#: ../gnome-session/session-properties-capplet.c:349
+msgid "Save the current session"
+msgstr "Ruaj seancën aktuale"
+
+#: ../gnome-session/session-properties-capplet.c:357
+msgid "Session Options"
+msgstr "Opsionet e seancës"
+
+#: ../gnome-session/session-properties-capplet.c:453
+msgid "Your session has been saved."
+msgstr "Seanca jote u ruajt."
+
+#: ../gnome-session/session-properties-capplet.c:496
+msgid "could not connect to the session manager\n"
+msgstr "e pamundur lidhja me organizuesin e seancës\n"
+
+#: ../gnome-session/session-properties-capplet.c:502
+msgid "session manager does not support GNOME extensions\n"
+msgstr "organizuesi i seancës nuk suporton shtesat GNOME\n"
+
+#: ../gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Hiq klientin e tanishëm të zgjedhur nga seanca."
+
+#: ../gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Apliko ndryshimet në seancën e tanishme"
+
+#: ../gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Lista e programeve në seancë"
+
+#: ../gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "Programet aktualisht në ekzekutim:"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Sawfish Window Manager"
+msgstr "Sawfish - Organizuesi i dritareve"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "Metacity Window Manager"
+msgstr "Organizuesi i dritareve Metacity"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "Window Manager"
+msgstr "Organizuesi i dritareve"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "The Panel"
+msgstr "Paneli"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: ../gnome-session/splash-widget.c:50
+msgid "Desktop Settings"
+msgstr "Rregullimet e Hapësirës së Punës"
+
+#: ../gnome-session/startup-programs.c:557
+msgid "_Name:"
+msgstr "_Emri:"
+
+#: ../gnome-session/startup-programs.c:575
+msgid "_Command:"
+msgstr "_Komanda:"
+
+#: ../gnome-session/startup-programs.c:581
+msgid "Startup Command"
+msgstr "Komanda e hapjes"
+
+#: ../gnome-session/startup-programs.c:607
+msgid "The name of the startup program cannot be empty"
+msgstr "Emri i progamit në hapje nuk mund të jetë bosh"
+
+#: ../gnome-session/startup-programs.c:609
+msgid "The startup command cannot be empty"
+msgstr "Komanda e hapjes nuk mund të jetë bosh"
+
+#: ../gnome-session/startup-programs.c:615
+msgid "The startup command is not valid"
+msgstr "Komanda e hapjes nuk është e vlefshme"
+
+#: ../gnome-session/startup-programs.c:667
+msgid "New Startup Program"
+msgstr "Programet i Ri Nisjeje"
+
+#: ../gnome-session/startup-programs.c:711
+msgid "Edit Startup Program"
+msgstr "Ndrysho programin hapës"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Këtu ndodhi një gabim i panjohur aktivimi."
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Emri i seancës nuk mund te jetë bosh"
+
+#~ msgid "The session name already exists"
+#~ msgstr "Ky emër seance ekziston"
+
+#~ msgid "Add a new session"
+#~ msgstr "Shto një seancë të re"
+
+#~ msgid "Edit session name"
+#~ msgstr "Ndrysho emrin e seancës"
+
+#~ msgid "Disable"
+#~ msgstr "Ç'aktivo"
+
+#~ msgid "_Edit"
+#~ msgstr "_Ndrysho"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "Disa ndryshime nuk janë ruajtur.\n"
+#~ "Je dakort për të dalë?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Trego sfondin splash në _login"
+
+#~ msgid "As_k on logout"
+#~ msgstr "_Pyet në dalje"
+
+#~ msgid "_Sessions:"
+#~ msgstr "_Seancat:"
+
+#~ msgid "Session Name"
+#~ msgstr "Emri i seancës"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Rregullimet e nisjes së seancës"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Komanda e hapjes:"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Shto një program hapës"
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..3dbaae8
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,486 @@
+# Serbian translation of gnome-session
+# Courtesy of Prevod.org team (http://prevod.org/) -- 2003–2022.
+# This file is distributed under the same license as the gnome-session package.
+# Данило Шеган <danilo@gnome.org> 2005.
+# Слободан Д. Средојевић <slobo@akrep.be> 2006.
+# Милош Поповић <gpopac@gmail.com>, 2010–2011.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011–2022.
+# Марко М. Костић <marko.m.kostic@gmail.com>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-01-12 17:11+0000\n"
+"PO-Revision-Date: 2022-03-03 05:26+0200\n"
+"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
+"Language-Team: Serbian <gnome-sr@googlegroups.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Прилагођено"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Ова ставка вам допушта да изаберете сачувану сесију"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "Гном"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Ова сесија вас пријављује у Гном"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Гномов лажњак"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "Гном на Вејланду"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Гном на Икс серверу"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Сачувај сесије"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Ако је омогућено, гномова сесија ће самостално чувати сесију."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Сачувај ову сесију"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Када је омогућено, гномова сесија ће самостално сачувати следећу сесију при "
+"одјави чак иако је самостално чување искључено."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Упит за одјаву"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Ако је омогућено, гномова сесија ће питати корисника да ли жели да оконча "
+"сесију."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Прикажи упозорење о одступању"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Ако је омогућено, гномова сесија ће приказати прозорче са упозорењем након "
+"пријаве ако је сесија одступна."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Прилагођена сесија"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Изаберите прилагођену сесију за покретање"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Нова сесија"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Уклони сесију"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Преименуј _сесију"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Настави"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "О, не! Нешто је пошло наопако!"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Дошло је до проблема и систем не може да се опорави. Обратите се "
+"администратору система"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Дошло је до проблема и систем не може да се опорави. Сва проширења су "
+"искључена зарад предострожности."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Дошло је до проблема и систем не може да се опорави.\n"
+"Одјавите се и покушајте опет."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Одјави ме"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "Укључује код за исправљање грешака"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Дозвољава одјављивање"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Приказује упозорење проширења"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "Не даје одзив"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Одјави ме"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Запамћени програм"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Овај програм онемогућава одјаву."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Одбацујем везу са новим клијентом јер је у току гашење сесије\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Не могу да направим прикључак ИЦЕ ослушкивања: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "Покрени као систем-де услугу"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "Користи систем-де управљање сесијом"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Користи уграђено управљање сесије (уместо оне засноване на систем-деу)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "Заобилази уобичајене директоријуме самопокретања"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "ДИРЕКТОРИЈУМ_САМОПОКРЕТАЊА"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "Сесије које ће бити коришћене"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "НАЗИВ_СЕСИЈЕ"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "Не учитава програме које је задао корисник"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "Издање овог програма"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "Приказује прозорче неуспеха за испробавање"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "Искључује проверу хардверског убрзања"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — управник Гномовом сесијом"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Покрени gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Покрени gnome-session-shutdown.target након примања EOF сигнала или примања "
+"једног бајта на стандардном улазу"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Иницијализација сигнала урађено за gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Поново покрени dbus.service ако је покренут"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Покретање из ExecStopPost-а зарад покретања gnome-session-failed.target при "
+"неуспешној услузи"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Програму треба тачно један параметар"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ОПЦИЈА...] НАРЕДБА\n"
+"\n"
+"Извршите НАРЕДБУ уз спречавање неких функционалности сесије.\n"
+"\n"
+" -h, --help Приказује ову помоћ\n"
+" --version Приказује издање програма\n"
+" --app-id ИБ ИБ програма за коришћење приликом\n"
+" спречавања (изборно)\n"
+" --reason РАЗЛОГ Разлог спречавања (изборно)\n"
+" --inhibit АРГ Списак ствари за спречавање, раздвојених двотачкама:\n"
+" logout (одјављивање), switch-user (промена корисника),\n"
+" suspend (обустава), idle (мировање), automount "
+"(самоприкачињање)\n"
+" --inhibit-only Не покреће НАРЕДБУ и уместо тога чека у недоглед\n"
+" -l, --list Приказује тренутна спречавања и излази\n"
+"\n"
+"Ако ниједна опција спречавања (--inhibit) није наведена, подразумева се "
+"стање мировања (idle).\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Нисам успео да извршим „%s“\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "„%s“ захтева аргумент\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Одјави ме"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Искључи"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Поново покрени"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Занемарујем постојеће ометаче"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Не тражи потврду од корисника"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Не могу да се повежем са управником сесије"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Програм је позван са несагласним могућностима"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сесија „%d“"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Називи сесија не могу да почињу тачком (.) или да садрже косу црту (/)"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Називи сесија не могу да почињу тачком (.)"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Називи сесија не могу да садрже косу црту (/)"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Већ постоји сесија под називом „%s“"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Додатни почетни _програми:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Почетни програми"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Сам запамти покренуте програме приликом одјављивања"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Запамти тренутно покренуте програме"
+
+#~ msgid "Options"
+#~ msgstr "Опције"
+
+#~ msgid "Browse…"
+#~ msgstr "Преглед…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_Коментар:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Наредба:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Назив:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Ова сесија вас пријављује у Гном, користећи Вајланд"
+
+#~ msgid "Select Command"
+#~ msgstr "Изабери наредбу"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Додај почетни програм"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Уреди почетни програм"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Наредба почетног програма се мора унети"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Наредба почетног програма није исправна"
+
+#~ msgid "Enabled"
+#~ msgstr "Укључен"
+
+#~ msgid "Icon"
+#~ msgstr "Иконица"
+
+#~ msgid "Program"
+#~ msgstr "Програм"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Поставке почетних програма"
+
+#~ msgid "No name"
+#~ msgstr "Без имена"
+
+#~ msgid "No description"
+#~ msgstr "Без описа"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Не могу да прикажем документ помоћи"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Почетни програми"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr ""
+#~ "Изаберите који ће се програми покренути када се пријавите на рачунар"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Ово није исправна „.desktop“ датотека"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Непрепознато издање датотеке радне површи „%s“"
+
+#~ msgid "Starting %s"
+#~ msgstr "Покрећем „%s“"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Програм не прихвата документе из линије наредби"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Непозната опција покретања: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Не могу да проследим адресе докумената на „Type=Link“ унос"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Није ставка за покретање"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Искључује везу са управником сесије"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Наводи датотеку која садржи сачувана подешавања"
+
+#~ msgid "FILE"
+#~ msgstr "ДАТОТЕКА"
+
+#~ msgid "ID"
+#~ msgstr "ИБ"
+
+#~ msgid "Session management options:"
+#~ msgstr "Могућности управљања сесијом:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Приказује могућности управљања сесијом"
diff --git a/po/sr@latin.po b/po/sr@latin.po
new file mode 100644
index 0000000..765e238
--- /dev/null
+++ b/po/sr@latin.po
@@ -0,0 +1,427 @@
+# Serbian translation of gnome-session
+# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2017.
+# This file is distributed under the same license as the gnome-session package.
+# Danilo Šegan <danilo@gnome.org> 2005.
+# Slobodan D. Sredojević <slobo@akrep.be> 2006.
+# Miloš Popović <gpopac@gmail.com>, 2010—2011.
+# Miroslav Nikolić <miroslavnikolic@rocketmail.com>, 2011—2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2017-06-21 22:12+0000\n"
+"PO-Revision-Date: 2017-08-14 21:16+0200\n"
+"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
+"Language-Team: srpski <gnome-sr@googlegroups.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
+"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Project-Style: gnome\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Prilagođeno"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "Ova stavka vam dopušta da izaberete sačuvanu sesiju"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "Gnom"
+
+#: ../data/gnome.desktop.in.h:2 ../data/gnome-xorg.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ova sesija vas prijavljuje u Gnom"
+
+#: ../data/gnome-xorg.desktop.in.h:1
+msgid "GNOME on Xorg"
+msgstr "Gnom na Iks serveru"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "Gnomov lažnjak"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Prilagođena sesija"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Izaberite prilagođenu sesiju za pokretanje"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_Nova sesija"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_Ukloni sesiju"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "Preimenuj _sesiju"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Nastavi"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "O, ne! Nešto je pošlo naopako!"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+#| msgid ""
+#| "A problem has occurred and the system can't recover. Please contact a "
+#| "system administrator"
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Došlo je do problema i sistem ne može da se oporavi. Obratite se "
+"administratoru sistema"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+#| msgid ""
+#| "A problem has occurred and the system can't recover. All extensions have "
+#| "been disabled as a precaution."
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Došlo je do problema i sistem ne može da se oporavi. Sva proširenja su "
+"isključena zarad predostrožnosti."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+#| msgid ""
+#| "A problem has occurred and the system can't recover.\n"
+#| "Please log out and try again."
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Došlo je do problema i sistem ne može da se oporavi.\n"
+"Odjavite se i pokušajte opet."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Odjavi me"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:281
+msgid "Enable debugging code"
+msgstr "Uključuje kod za ispravljanje grešaka"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Dozvoljava odjavljivanje"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Prikazuje upozorenje proširenja"
+
+#: ../gnome-session/gsm-manager.c:1318 ../gnome-session/gsm-manager.c:1971
+msgid "Not responding"
+msgstr "Ne daje odziv"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "_Odjavi me"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Zapamćeni program"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "Ovaj program onemogućava odjavu."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Odbacujem vezu sa novim klijentom jer je u toku gašenje sesije\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Ne mogu da napravim priključak ICE osluškivanja: %s"
+
+#: ../gnome-session/main.c:279
+msgid "Override standard autostart directories"
+msgstr "Zaobilazi uobičajene direktorijume samopokretanja"
+
+#: ../gnome-session/main.c:279
+msgid "AUTOSTART_DIR"
+msgstr "DIREKTORIJUM_SAMOPOKRETANJA"
+
+#: ../gnome-session/main.c:280
+msgid "Session to use"
+msgstr "Sesije koje će biti korišćene"
+
+#: ../gnome-session/main.c:280
+msgid "SESSION_NAME"
+msgstr "NAZIV_SESIJE"
+
+#: ../gnome-session/main.c:282
+msgid "Do not load user-specified applications"
+msgstr "Ne učitava programe koje je zadao korisnik"
+
+#: ../gnome-session/main.c:283
+msgid "Version of this application"
+msgstr "Izdanje ovog programa"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:285
+msgid "Show the fail whale dialog for testing"
+msgstr "Prikazuje prozorče neuspeha za isprobavanje"
+
+#: ../gnome-session/main.c:286
+msgid "Disable hardware acceleration check"
+msgstr "Isključuje proveru hardverskog ubrzanja"
+
+#: ../gnome-session/main.c:318
+#| msgid " - the GNOME session manager"
+msgid " — the GNOME session manager"
+msgstr " — upravnik Gnomovom sesijom"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+#| msgid ""
+#| "%s [OPTION...] COMMAND\n"
+#| "\n"
+#| "Execute COMMAND while inhibiting some session functionality.\n"
+#| "\n"
+#| " -h, --help Show this help\n"
+#| " --version Show program version\n"
+#| " --app-id ID The application id to use\n"
+#| " when inhibiting (optional)\n"
+#| " --reason REASON The reason for inhibiting (optional)\n"
+#| " --inhibit ARG Things to inhibit, colon-separated list of:\n"
+#| " logout, switch-user, suspend, idle, automount\n"
+#| " --inhibit-only Do not launch COMMAND and wait forever instead\n"
+#| "\n"
+#| "If no --inhibit option is specified, idle is assumed.\n"
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPCIJA...] NAREDBA\n"
+"\n"
+"Izvršite NAREDBU uz sprečavanje nekih funkcionalnosti sesije.\n"
+"\n"
+" -h, --help Prikazuje ovu pomoć\n"
+" --version Prikazuje izdanje programa\n"
+" --app-id IB IB programa za korišćenje prilikom\n"
+" sprečavanja (izborno)\n"
+" --reason RAZLOG Razlog sprečavanja (izborno)\n"
+" --inhibit ARG Spisak stvari za sprečavanje, razdvojenih dvotačkama:\n"
+" logout (odjavljivanje), switch-user (promena korisnika),\n"
+" suspend (obustava), idle (mirovanje), automount "
+"(samoprikačinjanje)\n"
+" --inhibit-only Ne pokreće NAREDBU i umesto toga čeka u nedogled\n"
+"\n"
+"Ako nijedna opcija sprečavanja (--inhibit) nije navedena, podrazumeva se "
+"stanje mirovanja (idle).\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Nisam uspeo da izvršim „%s“\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "„%s“ zahteva argument\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Sesija „%d“"
+
+#: ../tools/gnome-session-selector.c:107
+#| msgid ""
+#| "Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Nazivi sesija ne mogu da počinju tačkom (.) ili da sadrže kosu crtu (/)"
+
+#: ../tools/gnome-session-selector.c:111
+#| msgid "Session names are not allowed to start with ‘.’"
+msgid "Session names are not allowed to start with “.”"
+msgstr "Nazivi sesija ne mogu da počinju tačkom (.)"
+
+#: ../tools/gnome-session-selector.c:115
+#| msgid "Session names are not allowed to contain ‘/’ characters"
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Nazivi sesija ne mogu da sadrže kosu crtu (/)"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+#| msgid "A session named ‘%s’ already exists"
+msgid "A session named “%s” already exists"
+msgstr "Već postoji sesija pod nazivom „%s“"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Odjavi me"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Isključi"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Ponovo pokreni"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Zanemarujem postojeće ometače"
+
+#: ../tools/gnome-session-quit.c:54
+#| msgid "Don't prompt for user confirmation"
+msgid "Don’t prompt for user confirmation"
+msgstr "Ne traži potvrdu od korisnika"
+
+#: ../tools/gnome-session-quit.c:88 ../tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Ne mogu da se povežem sa upravnikom sesije"
+
+#: ../tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program je pozvan sa nesaglasnim mogućnostima"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "Dodatni početni _programi:"
+
+#~ msgid "Startup Programs"
+#~ msgstr "Početni programi"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "_Sam zapamti pokrenute programe prilikom odjavljivanja"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "_Zapamti trenutno pokrenute programe"
+
+#~ msgid "Options"
+#~ msgstr "Opcije"
+
+#~ msgid "Browse…"
+#~ msgstr "Pregled…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "_Komentar:"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "_Naredba:"
+
+#~ msgid "_Name:"
+#~ msgstr "_Naziv:"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "Ova sesija vas prijavljuje u Gnom, koristeći Vajland"
+
+#~ msgid "Select Command"
+#~ msgstr "Izaberi naredbu"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Dodaj početni program"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Uredi početni program"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Naredba početnog programa se mora uneti"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Naredba početnog programa nije ispravna"
+
+#~ msgid "Enabled"
+#~ msgstr "Uključen"
+
+#~ msgid "Icon"
+#~ msgstr "Ikonica"
+
+#~ msgid "Program"
+#~ msgstr "Program"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Postavke početnih programa"
+
+#~ msgid "No name"
+#~ msgstr "Bez imena"
+
+#~ msgid "No description"
+#~ msgstr "Bez opisa"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ne mogu da prikažem dokument pomoći"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Početni programi"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr ""
+#~ "Izaberite koji će se programi pokrenuti kada se prijavite na računar"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Ovo nije ispravna „.desktop“ datoteka"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Neprepoznato izdanje datoteke radne površi „%s“"
+
+#~ msgid "Starting %s"
+#~ msgstr "Pokrećem „%s“"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Program ne prihvata dokumente iz linije naredbi"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Nepoznata opcija pokretanja: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "Ne mogu da prosledim adrese dokumenata na „Type=Link“ unos"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Nije stavka za pokretanje"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Isključuje vezu sa upravnikom sesije"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Navodi datoteku koja sadrži sačuvana podešavanja"
+
+#~ msgid "FILE"
+#~ msgstr "DATOTEKA"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Navodi IB upravnika sesije"
+
+#~ msgid "ID"
+#~ msgstr "IB"
+
+#~ msgid "Session management options:"
+#~ msgstr "Mogućnosti upravljanja sesijom:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Prikazuje mogućnosti upravljanja sesijom"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..3ca77c0
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,377 @@
+# Swedish messages for gnome-session.
+# Copyright © 1998-2012, 2014-2021 Free Software Foundation, Inc.
+# Martin Wahlen <mva@sbbs.se>, 1998.
+# Anders Carlsson <anders.carlsson@tordata.se>, 1999.
+# Andreas Hyden <a.hyden@cyberpoint.se>, 2000.
+# Martin Norbäck <d95mback@dtek.chalmers.se>, 2000, 2001.
+# Christian Rose <menthos@menthos.com>, 2000, 2001, 2002, 2003, 2004, 2005.
+# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-12 20:42+0200\n"
+"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\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: Poedit 3.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Anpassad"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Denna post låter dig välja en sparad session"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Denna session loggar in dig i GNOME"
+
+# a dummy gnome-session which does not start anything
+# but the autostart software and the DBus API
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME-attrapp"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME med Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME med Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Spara sessioner"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Om aktiverad kommer gnome-session att spara sessionen automatiskt."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Spara denna session"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Om aktiverad kommer gnome-session automatiskt att spara nästa session vid "
+"utloggning även om automatisk sparning är inaktiverad."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Utloggningsfråga"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Om aktiverad kommer gnome-session att fråga användaren innan en session "
+"avslutas."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Visa fallback-varning"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Om aktiverad kommer gnome-session att visa en varningsdialog efter "
+"inloggning om sessionen automatiskt föll tillbaka till att använda gnome-"
+"fallback."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Anpassad session"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Välj en anpassad session att köra"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Ny session"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Ta bort session"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Byt na_mn på session"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Fortsätt"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Åh nej! Någonting har gått fel."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Ett problem har inträffat och systemet kan inte återhämta sig. Kontakta en "
+"systemadministratör"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Ett problem har inträffat och systemet kan inte återhämta sig. Alla tillägg "
+"har inaktiverats som en säkerhetsåtgärd."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Ett problem har inträffat och systemet kan inte återhämta sig.\n"
+"Logga ut och försök igen."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Logga ut"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Aktivera felsökningskod"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Tillåt utloggning"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Visa tilläggsvarning"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Svarar inte"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Logga ut"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Ihågkommet program"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Detta program blockerar utloggningen."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Avvisar ny klientanslutning på grund av att sessionen är på väg att stängas "
+"av\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Kunde inte skapa lyssnande ICE-uttag: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Körs som systemd-tjänst"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Använd systemd-sessionshantering"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Använd inbyggd sessionshantering (snarare än den systemd-baserade)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Åsidosätt standardkataloger för automatisk start"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTARTKAT"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Session att använda"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "SESSIONSNAMN"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Läs inte in användarspecifika program"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Version av detta program"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Visa den ”felande valen” för testning"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Inaktivera kontroll för hårdvaruacceleration"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME-sessionshanteraren"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Starta gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Starta gnome-session-shutdown.target då EOF eller en ensam byte tas emot på "
+"standard in"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Signalinitiering gjord på gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Starta om dbus.service om den körs"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Kör från ExecStopPost för att starta gnome-session-failed.target då tjänst "
+"misslyckas"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Programmet behöver exakt en parameter"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [FLAGGA…] KOMMANDO\n"
+"\n"
+"Exekvera KOMMANDO medan någon funktionalitet förhindras.\n"
+"\n"
+" -h, --help Visa denna hjälp\n"
+" --version Visa programversion\n"
+" --app-id ID Program-ID att använda\n"
+" vid förhindrande (valfri)\n"
+" --reason ORSAK Orsaken till förhindrande (valfri)\n"
+" --inhibit ARG Saker att förhindra, kolonseparerad lista av:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Kör inte KOMMANDO utan vänta för alltid i stället\n"
+" -l, --list Lista befintliga förhindranden och avsluta\n"
+"\n"
+"\n"
+"Om ingen --inhibit-flagga angivits, antas idle.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Kunde inte exekvera %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s kräver ett argument\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Logga ut"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Stäng av"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Starta om"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ignorera allt som förhindrar det"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Fråga inte efter användarbekräftelse"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Kunde inte ansluta till sessionshanteraren"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program anropat med motsägande flaggor"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Session %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Sessionsnamn får inte börja med ”.” eller innehålla ”/”-tecken"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Sessionsnamn får inte börja med ”.”"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Sessionsnamn får inte innehålla ”/”-tecken"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "En session med namnet ”%s” existerar redan"
diff --git a/po/ta.po b/po/ta.po
new file mode 100644
index 0000000..e300a29
--- /dev/null
+++ b/po/ta.po
@@ -0,0 +1,740 @@
+# translation of gnome-session.HEAD.ta.po to Tamil
+# translation of ta.po to
+# Tamil translation of Gnome-Session messages.
+# Copyright (C) 2001, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+#
+# Dinesh Nadarajah <dinesh_list@sbcglobal.net>, 2004.
+# Jayaradha N <jaya@pune.redhat.com>, 2004.
+# Felix <ifelix@redhat.com>, 2006.
+# Dr.T.Vasudevan <agnihot3@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012.
+# I. Felix <ifelix@redhat.com>, 2008, 2009, 2011.
+# Shantha kumar <shkumar@redhat.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.HEAD.ta\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2013-10-11 12:53+0000\n"
+"PO-Revision-Date: 2013-11-25 12:31+0530\n"
+"Last-Translator: Shantha kumar <shkumar@redhat.com>\n"
+"Language-Team: American English <>\n"
+"Language: ta\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"
+"\n"
+"\n"
+"X-Generator: Lokalize 1.5\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "தனிப்பயன்"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "இந்த உள்ளீடானது ஒரு சேமிக்கப்பட்ட அமர்வை தேர்ந்தெடுக்கிறது"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "இந்த அமர்வு க்நோம் இல் உங்களை நுழைக்கும் "
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME டம்மி"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+#| msgid "GNOME fallback"
+msgid "GNOME on Wayland"
+msgstr "Wayland இல் GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+#| msgid "This session logs you into GNOME"
+msgid "This session logs you into GNOME, using Wayland"
+msgstr ""
+"இந்த அமர்வு உங்களை Wayland ஐப் பயன்படுத்தி GNOME இல் புகுபதிவு செய்யும்"
+
+# gsm/save-session.c:43
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "தனிப்பயன் அமர்வு"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:103
+msgid "Please select a custom session to run"
+msgstr "ஒரு தனிப்பயன் அமர்வை இயக்குவதற்கு தேர்ந்தெடுக்கவும் "
+
+# gsm/session-properties.c:272
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "புதிய அமர்வு (_N)"
+
+# gsm/session-properties.c:272
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "அமர்வை நீக்கு (_R)"
+
+# gsm/session-properties.c:272
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "அமர்வை மறுபெயரிடு (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "தொடரவும் (_C)"
+
+# gsm/startup-programs.c:373
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "மேலும்சில தொடங்க _நிரல்கள்:"
+
+# gsm/session-properties-capplet.c:330
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "தொடங்கும் போது இயக்கும் நிரல்கள்"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "தானியங்கியாக வெளியேறும் போது இயங்கும் பயன்பாடுகளை நினைவில் கொள்க"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "(_R) இப்போது இயங்கும் பயன்பாடுகளை நினைவில் கொள்க"
+
+# gsm/session-properties-capplet.c:262
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "தேர்வுகள்"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "உலாவு... "
+
+# gsm/session-properties-capplet.c:292
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "(_e) குறிப்புரை:"
+
+# gsm/session-properties-capplet.c:292
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "(_m) கட்டளை:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "பெயர்: (_N)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:295
+msgid "Oh no! Something has gone wrong."
+msgstr "அடடா! ஏதோ தவறு நிகழ்ந்துவிட்டது"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:302
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"ஒரு பிரச்சினை நிகழ்ந்தது. கணினி மீள இயலாது. ஒரு கணினி மேலாளரை தொடர்பு "
+"கொள்ளவும்."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:304
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"ஒரு பிரச்சினை நிகழ்ந்தது. கணினி மீள இயலாது. முன் எச்சரிக்கையாக எல்லா "
+"நீட்சிகளும் செயல் "
+"இழக்கப்பட்டுள்ளன."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:306
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"ஒரு பிரச்சினை நிகழ்ந்தது. கணினி மீள இயலாது.\n"
+"வெளியேறி மீண்டும் முயற்சிக்கவும்"
+
+# panel/logout.c:73 panel/menu.c:5339
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "_Log Out"
+msgstr "(_L) விலகவும்"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:343 ../gnome-session/main.c:307
+msgid "Enable debugging code"
+msgstr "பிழைத்திருத்த குறியீட்டை செயல்படுத்து."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:344
+msgid "Allow logout"
+msgstr "வெளிசெல்ல அனுமதி"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:345
+msgid "Show extension warning"
+msgstr "நீட்டிப்பு எச்சரிக்கையைக் காட்டு"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "பதிலளிக்க இல்லை"
+
+# panel/logout.c:73 panel/menu.c:5339
+#: ../gnome-session/gsm-util.c:411
+msgid "_Log out"
+msgstr "வெளியேறு (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:559
+msgid "Remembered Application"
+msgstr "நினைவில் கொண்ட பயன்பாடு"
+
+#: ../gnome-session/gsm-xsmp-client.c:1209
+msgid "This program is blocking logout."
+msgstr "இந்த நிரல் வெளியேறுவதை தடுக்கிறது"
+
+#: ../gnome-session/gsm-xsmp-server.c:341
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"புதிய சார்ந்தோன் இணைப்பை மறுக்கிறது; ஏனெனில் இப்போதைய அமர்வு மூடப்படுகிறது\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:610
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ஐஸ் கேட்கும் பொருத்துவாயை உருவாக்க முடியவில்லை : %s"
+
+#: ../gnome-session/main.c:305
+msgid "Override standard autostart directories"
+msgstr "செந்தர தானியங்கி அடைவுகளை வலுவாக புறக்கணி"
+
+#: ../gnome-session/main.c:305
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:306
+msgid "Session to use"
+msgstr "பயன்படுத்த அமர்வு"
+
+#: ../gnome-session/main.c:306
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:308
+msgid "Do not load user-specified applications"
+msgstr "பயனர் குறித்த நிரல்களை ஏற்றாதே"
+
+#: ../gnome-session/main.c:309
+msgid "Version of this application"
+msgstr "இந்த பயன்பாட்டின் பதிப்பு "
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:311
+msgid "Show the fail whale dialog for testing"
+msgstr "சோதனைக்கு பெய்ல் வேல் உரையாடலை காட்டுக"
+
+#: ../gnome-session/main.c:344
+msgid " - the GNOME session manager"
+msgstr "- க்னோம் அமர்வு மேலாலாளர்"
+
+#: ../tools/gnome-session-inhibit.c:110
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: ../tools/gnome-session-inhibit.c:148
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s ஐச் செயல்படுத்துவது தோல்வி\n"
+
+#: ../tools/gnome-session-inhibit.c:208 ../tools/gnome-session-inhibit.c:218
+#: ../tools/gnome-session-inhibit.c:228
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s க்கு ஒரு மதிப்புரு தேவை\n"
+
+#: ../tools/gnome-session-selector.c:62
+#, c-format
+msgid "Session %d"
+msgstr "அமர்வு %d"
+
+#: ../tools/gnome-session-selector.c:108
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"அமர்வு பெயர்கள் ஒரு '.' அல்லது ‘/’ எழுத்துக்களுடன் துவக்க அனுமதிப்பதில்லை"
+
+#: ../tools/gnome-session-selector.c:112
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "அமர்வு பெயர்கள் ஒரு '.' எழுத்துடன் துவக்க அனுமதிப்பதில்லை"
+
+#: ../tools/gnome-session-selector.c:116
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "அமர்வு பெயர்கள் '/' எழுத்துக்களை கொண்டிருக்க அனுமதிப்பதில்லை"
+
+#: ../tools/gnome-session-selector.c:124
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "‘%s’ பெயருடைய ஒரு அமர்வு ஏற்கனவே உள்ளது"
+
+# panel/logout.c:73 panel/menu.c:5339
+#: ../tools/gnome-session-quit.c:53
+msgid "Log out"
+msgstr "வெளியேறுக"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Power off"
+msgstr "மின்சக்தி நிறுத்து"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Reboot"
+msgstr "மறுதுவக்கம்"
+
+#: ../tools/gnome-session-quit.c:56
+msgid "Ignoring any existing inhibitors"
+msgstr "ஏதாவது தடை வரின் அவற்றை உதாசீனம் செய்க"
+
+#: ../tools/gnome-session-quit.c:57
+msgid "Don't prompt for user confirmation"
+msgstr "பயனர் உறுதிபடுத்தலுக்கு தூண்டாதே"
+
+# gsm/save-session.c:93
+#: ../tools/gnome-session-quit.c:91 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "அமர்வு மேலாளருடன் இணைக்க முடியவில்லை"
+
+#: ../tools/gnome-session-quit.c:203
+msgid "Program called with conflicting options"
+msgstr "நிரல் முரணான தேர்வுகளை அழைத்தது"
+
+# gsm/session-properties-capplet.c:292
+#~ msgid "Select Command"
+#~ msgstr "கட்டளையை தேர்ந்தெடுக்கவும்"
+
+# gsm/startup-programs.c:391
+#~ msgid "Add Startup Program"
+#~ msgstr "துவக்க நிரலுக்கு சேர் "
+
+# gsm/startup-programs.c:391
+#~ msgid "Edit Startup Program"
+#~ msgstr "துவக்க நிரலை தொகு"
+
+# gsm/startup-programs.c:333
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "துவக்க கட்டளை காலியாக இருக்க முடியாது"
+
+# gsm/startup-programs.c:333
+#~ msgid "The startup command is not valid"
+#~ msgstr "துவக்க கட்டளை செல்லுபடியாகாதது"
+
+#~ msgid "Enabled"
+#~ msgstr "செயலாக்கப்பட்டது"
+
+# gsm/logout.c:240
+#~ msgid "Icon"
+#~ msgstr "சின்னம்"
+
+# gsm/gsm-client-list.c:112
+#~ msgid "Program"
+#~ msgstr "நிரல்"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "துவக்க பயன்பாடுகள் விருப்பங்கள்"
+
+#~ msgid "No name"
+#~ msgstr "பெயர் இல்லை"
+
+#~ msgid "No description"
+#~ msgstr "விவரணம் இல்லை"
+
+#~ msgid "Could not display help document"
+#~ msgstr "உதவி ஆவணத்தை காட்ட இயலவில்லை"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "நிரல்கள் சில இன்னும் ஒடுகின்றன:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "துவக்க பயன்பாடுகள்"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "நீங்கள் புகுபதிவு செய்யும் போது எந்த பயன்பாடுகள் தேர்ந்தெடுக்கப்படவேண்டும்"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "கோப்பு செல்லுபடியாகும் (.desktop) மேல்மேசை கோப்பு அல்ல"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "இனம் காணா மேல்மேசை கோப்பு பதிப்பு '%s'"
+
+# gsm/gsm-client-row.c:36
+#~ msgid "Starting %s"
+#~ msgstr "%s ஐ தொடங்குகிறது"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "பயன்பாடு ஆவணங்களை கட்டளை வரியில் ஒப்புக்கொள்ளவில்லை."
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "இனம் காண இயலாத துவக்க தேர்வு: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "'Type=Link' மேல்மேசை உள்ளீடுக்கு ஆவண யூஆர்ஐ ஐ கொடுக்க இயலாது."
+
+#~ msgid "Not a launchable item"
+#~ msgstr "தொடங்கக்கூடிய உருப்படி அல்ல."
+
+# gsm/save-session.c:93
+#~ msgid "Disable connection to session manager"
+#~ msgstr "அமர்வு மேலாளருடன் இணைப்பை விலக்கு"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "சேமித்த வடிவமைப்பு உள்ள கோப்பை குறிப்பிடுக."
+
+#~ msgid "FILE"
+#~ msgstr "கோப்பு "
+
+# gsm/main.c:65
+#~ msgid "Specify session management ID"
+#~ msgstr "அமர்வின் அடையாளத்தை குறிப்பிடு"
+
+#~ msgid "ID"
+#~ msgstr "அடையாளம் "
+
+# gsm/session-properties-capplet.c:262
+#~ msgid "Session management options:"
+#~ msgstr "அமர்வு மேலாண்மை தேர்வுகள்:"
+
+# gsm/session-properties-capplet.c:262
+#~ msgid "Show session management options"
+#~ msgstr "அமர்வு மேலாண்மை தேர்வுகளை காட்டுக"
+
+# gsm/gsm-client-row.c:45
+#~ msgid "Unknown"
+#~ msgstr "தெரியாத"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ஒரு நிரல் இன்னும் ஒடுகிறது:"
+
+#~| msgid ""
+#~| "Waiting for the program to finish. Interrupting the program may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "நிரல் இயங்கி முடிய காத்திருக்கிறது. நிரல் இயக்கத்தை தடை செய்வது உங்கள் வேலையை "
+#~ "சேமிக்காமல் போகச் செய்யும்."
+
+#~| msgid ""
+#~| "Waiting for programs to finish. Interrupting these programs may cause "
+#~| "you to lose work."
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "நிரல்கள் தங்கள் வேலையை முடிக்கக் காத்திருக்கிறது. குறுக்கிட்டால் நீங்கள் செய்த பணிகள் "
+#~ "இழக்கப்படலாம்."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "எப்படியும் பயனரை மாற்று"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "எப்படி இருந்தாலும் வெளியேறுக."
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "எப்படியும் இடை நிறுத்தம் செய்க"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "எப்படி இருந்தாலும் உள்நுழையவும்."
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "எப்படி இருந்தாலும் கணினியை நிறுத்தவும்"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "எப்படி இருந்தாலும் மீள்துவக்கவும்"
+
+#~ msgid "Lock Screen"
+#~ msgstr "திரையைப் பூட்டுக."
+
+#~ msgid "Cancel"
+#~ msgstr "ரத்து செய்க"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "நீங்கள் தானாக %d வினாடியில் வெளியேற்றப்படுவீர்கள்."
+#~ msgstr[1] "நீங்கள் தானாக %d வினாடிகளில் வெளியேற்றப்படுவீர்கள்."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "இந்த கணினி தானாக %d வினாடியில் பணி நிறுத்தம் செய்யும்."
+#~ msgstr[1] "இந்த கணினி தானாக %d வினாடிகளில் பணி நிறுத்தம் செய்யும்."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "இந்த கணினி தானியங்கியாக %d வினாடியில் மீள் துவக்கம் செய்யும்."
+#~ msgstr[1] "இந்த கணினி தானியங்கியாக %d வினாடிகளில் மீள் துவக்கம் செய்யும்."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "நீங்கள் தற்போது \"%s\" ஆக புகுபதிவு செய்துள்ளீர்கள்."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "கணினியிலிருந்து இப்போது வெளிச்செல்லவா? "
+
+#~ msgid "_Switch User"
+#~ msgstr "(_S) பயனரை மாற்றுக"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "இப்போது இந்த கணினியை நிறுத்தவா? "
+
+#~ msgid "S_uspend"
+#~ msgstr "இடை நிறுத்தம் (_u)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "செயலற்றிருத்தல் (_H)"
+
+# applets/tasklist/tasklist_menu.c:258
+#~ msgid "_Restart"
+#~ msgstr "(_R) மீட்டமை"
+
+#~ msgid "_Shut Down"
+#~ msgstr "(_S) பணி நிறுத்தம் செய்யவும்"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "இப்போது இந்த கணினியை மீண்டும் துவக்கவா? "
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' சின்னம் காணப்படவில்லை"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "க்னோம் 3 ஏற்றத்தில் தோல்வியுற்றது"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "துரத்ருஷ்ட வசமாக க்னோம் 3 சரியாக துவங்கவில்லை; அது இந்த நிலையில் துவங்கியது. "
+#~ "<i>பின் சார்தல்</i>.\n"
+#~ "\n"
+#~ "அனேகமாக இதன் பொரூல் என்னவென்றால் உங்கள் கணினி (வரைகலை வன்பொருள் அல்லது இயக்கி) முழு "
+#~ "க்னோம் 3 அனுபவத்தை தர பொருத்தமில்லை."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "மேலும் க்னோம் 3 பற்றி"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr ""
+#~ "உள்நுழைவு அமர்வை துவக்க முடியவில்லை ( மற்றும் எக்ஸ் சேவையகத்துடன் இணைக்க இயலவில்லை)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b> சில நிரல்கள் இன்னும் ஒடுகிறன</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "ஒரு பிரச்சினை நிகழ்ந்தது. கணினி மீள இயலாது. கீழ் காணும் சில நீட்சிகள் இதை உருவாக்கி "
+#~ "இருக்கலாம்\n"
+#~ "தயை செய்து அவற்றில் சிலதை செயல் நீக்கிவிட்டு, வெளியேறி மீண்டும் முயற்சிக்கவும்"
+
+#~ msgid "Exited with code %d"
+#~ msgstr " கோட் %d உடன் வெளியேறியது"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "சமிக்ஞை %d ஆல் கொல்லப்பட்டது"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "சமிக்ஞை %d ஆல் நிறுத்தப்பட்டது"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "வடிவமைப்பு சேவையகத்துடன் ஒரு பிரச்சினை உள்ளது\n"
+#~ "(%s வெளியேறியது நிலை %d)"
+
+# gsm/splash.c:67
+#~ msgid "File Manager"
+#~ msgstr "சாளர மேலாளர்"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "செயல்படுத்தப்பட்ட,gnome அமர்வுகளை பயன்படுத்தி அமர்வுகளை முடி."
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "செயல்படுத்தப்பட்டால், க்னோம் அமர்வை தானியங்கியாக சேமிக்கும்."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "முன்னிருப்பு அமர்வுக்கு பங்களிக்கும் பயன்பாடுகள்."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "அமர்வின் பாகமாக அவசியம் இருக்க வேண்டிய உருப்புகளின் பட்டியல். (ஒவ்வொரு உருப்படியும் "
+#~ "\"/desktop/gnome/session/required-components\" இன் கீழ் ஒரு விசையை "
+#~ "குறிக்கிறது. அமர்வு தேர்வுகள் சாதாரணமாக பயனர்களை அவசியம் வேன்டிய உருப்படியை நீக்க "
+#~ "அனுமதிக்காது. அப்படி நீக்கினால் மீண்டும் அமர்வு மேலாளரால் அவை தானியங்கியாக "
+#~ "சேர்க்கப்படும்."
+
+# gsm/logout.c:248
+#~ msgid "Logout prompt"
+#~ msgstr "வெளிச்செல் ப்ராம்ட்"
+
+# gsm/splash.c:65
+#~ msgid "Panel"
+#~ msgstr "பலகம்"
+
+#~ msgid "Required session components"
+#~ msgstr "தேவையான அமர்வு கூறுகள்"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "கோப்பு மேலாளர் மேல்மேசை சின்னங்களை அளித்து உங்கள் சேமித்த கோப்புகளுடன் ஊடாட "
+#~ "அனுமதிக்கிறது."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "அமர்வு வெறுமையாக இருப்பதற்கு முன் செயலிழக்கப்பட்ட நிமிடங்கள்"
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "பலகம் ஒரு பட்டியை திரையின் மேல் அல்லது கீழ் தருகிறது. இதில் சாளர பட்டியல் இருப்பு "
+#~ "நிலை சின்னங்கள், கடிகாரம் முதலியன இருக்கும்."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "சாளரம் மேலாளர் தலைப்பு பட்டி மற்றும் சாளரங்கள் ஓரத்தில் எல்லைகள் மற்றும் சாளரங்களை "
+#~ "நகர்த்தவும் மற்றும் மறுஅளவு செய்யவும் உதவும் நிரல் "
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "அமர்வுக்கு முன் வெறுமையாக இருக்கும்"
+
+# gsm/splash.c:67
+#~ msgid "Window Manager"
+#~ msgstr "சாளரமேலாளர்"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "முன்னிருப்பு அமர்வை காண ஜிகான்ஃப் விசை பயன்பட்டது "
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "கணினி நிறுத்த உரையாடலை காட்டுக"
+
+# gsm/save-session.c:44
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "பிழைகளுக்கு உரையாடல் பெட்டிகளை உபயோகி"
+
+# gsm/session-properties-capplet.c:206
+#~ msgid "Set the current session name"
+#~ msgstr "நடப்பு அமர்வு பெயரை அமைக்கவும்"
+
+#~ msgid "NAME"
+#~ msgstr "NAME"
+
+# gsm/save-session.c:43
+#~ msgid "Kill session"
+#~ msgstr "அமர்வைக் கொல்"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "உதவி தொழில்நுட்ப ஆதரவு இந்த அமர்வுக்கு வேண்டப்பட்டது. ஆனால் அணுகல் பதிவேடு "
+#~ "காணப்படவில்லை. AT-SPI பொதி நிறுவப்பட்டுள்ளதா என சோதிக்கவும். உங்கள் அமர்வு உதவி "
+#~ "தொழில்நுட்ப ஆதரவு இல்லாமல் துவக்கப்பட்டுள்ளது."
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "AT SPI பதிவேட்டு உறை"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME அமைப்புகள் டெய்மன் உதவியாளர்"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr "செயல்படுத்தப்பட்ட gnome -அமர்வுகளை தானாகவே சேமித்துக்கொள்ள முடியும்."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "உள் அனுமதி திரையில் விரும்பிய படத்தை பயன்படுத்தவும்"
+
+# gsm/session-properties-capplet.c:192
+#~ msgid "Show the splash screen"
+#~ msgstr "தொடக்க ஓவியத்தைக் காண்பிக்கவும்"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "அமர்வு தொடங்கும்போது தொடக்க-ஓவியம் காண்பிக்கவும்"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "$datadir/pixmaps/ அடைவுக்கு தொடர்புடைய பாதையாகும். துணை-அடைவுகள் மற்றும் பட "
+#~ "பெயர்கள் ஆகியவை சரியான மதிப்புகளாகும். இந்த மதிப்புகளை மாற்றினால்அடுத்த அமர்வினை "
+#~ "பாதிக்கும்."
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "நிரல் இயங்கி முடிய காத்திருக்கிறது. நிரல் இயக்கத்தை தடை செய்வது உங்கள் வேலையை "
+#~ "சேமிக்காமல் போகச் செய்யும்."
+
+# gsm/session-properties-capplet.c:192
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "க்னோம் தொடக்க ஓவியம்"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "க்னோம் துவக்க திரை"
+
+# gsm/startup-programs.c:333
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "துவக்க நிரல் பெயர் காலியாக இருக்க முடியாது"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "அமர்வுகள் விருப்பங்கள்"
diff --git a/po/te.po b/po/te.po
new file mode 100644
index 0000000..6b55fe2
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,413 @@
+# translation of gnome-session.master.te.po to Telugu
+# Telugu translation of gnome-session.
+# Copyright (C) 2007,2012 Swecha Telugu Localisation Team <localizatioin@swecha.net>
+# This file is distributed under the same license as the gnome-session package.
+#
+#
+# Pavan Kumar <pavanpreetam@gmail.com>, 2007.
+# Y.Kiran Chandra <kiran@swecha.net>, 2007.
+# J.Bharat Kumar <jonnalagaddabharat@gmail.com>, 2007.
+# Krishna Babu K <kkrothap@redhat.com>, 2009, 2013.
+# Praveen Illa <mail2ipn@gmail.com>, 2011.
+# Sasi Bhushan Boddepalli <sasi@swecha.net>, 2012.
+# GVS.Giri <gvs.giri947@gmail.com>,2012, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session.master.te\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-08-26 19:25+0000\n"
+"PO-Revision-Date: 2014-08-27 09:30+0530\n"
+"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
+"Language-Team: Telugu <Fedora-trans-te@redhat.com>\n"
+"Language: te\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "మలచిన"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "ఈ ప్రవేశం అనునది మిమ్ములను దాచిన సెషన్ యెంపికచేయుటకు అనుమతించును"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "గ్నోమ్"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "ఈ సెషన్ గ్నోమ్‌లోనికి లాగ్ చేస్తుంది"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "గ్నోమ్ డమ్మీ"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "వేల్యాండ్ పై గ్నోమ్"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "వేల్యాండ్ ఉపయోగించి, ఈ సెషన్ గ్నోమ్‌లోనికి లాగ్ చేస్తుంది"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "మలచిన సెషన్"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "నడుపుటకు మలచిన సెషన్ యెంపికచేయి"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "కొత్త సెషన్ (_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "సెషన్ తీసివేయి (_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "సెషన్ పేరుమార్చు (_m)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "కొనసాగించు (_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "అదనపు ప్రారంభ కార్యక్రమాలు (_p):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "ప్రారంభ కార్యక్రమాలు"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "నిష్క్రమించేటప్పుడు నడుస్తున్న అనువర్తనాలను స్వయంచాలకంగా గుర్తుంచుకొనుము (_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "ప్రస్తుతం నడుస్తున్న అనువర్తనాలు గుర్తుంచుకో (_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "ఐచ్చికములు"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "విహరించు..."
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "వ్యాఖ్య (_e):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "ఆదేశం (_m):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "పేరు (_N):"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "Oh no! Something has gone wrong."
+msgstr "అయ్యో! ఎక్కడో పొరపాటు జరిగినది."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:328
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"ఒక సమస్య ఎదురయింది మరియు వ్యవస్థ దానినుండి కోలుకోలేదు. దయచేసి మీ వ్యవస్థ నిర్వాహకుడిని సంప్రదించండి"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:330
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"ఒక సమస్య ఎదురయింది మరియు వ్యవస్థ దానినుండి కోలుకోలేదు. ముందు జాగ్రత్తగా దయచేసి మీ వ్యవస్థ "
+"నిర్వాహకుడిని సంప్రదించండి"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:332
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"ఒక సమస్య ఎదురయింది మరియు వ్యవస్థ దానినుండి కోలుకోలేదు.\n"
+"దయచేసి నిష్క్రమించి మరలా ప్రయత్నించండి."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:347
+msgid "_Log Out"
+msgstr "నిష్క్రమించు (_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:369 ../gnome-session/main.c:305
+msgid "Enable debugging code"
+msgstr "దోషనిర్మూలన కోడ్‌ను చేతనపరుచు"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:370
+msgid "Allow logout"
+msgstr "నిష్క్రమణ అనుమతించు"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:371
+msgid "Show extension warning"
+msgstr "పొడిగింపు హెచ్చరికను చూపుము"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "స్పందించుటలేదు"
+
+#: ../gnome-session/gsm-util.c:382
+msgid "_Log out"
+msgstr "నిష్క్రమించు (_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "గుర్తించుకున్న అనువర్తనము"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "ఈ ప్రోగ్రామ్ నిష్క్రమించుటను నిరోధిస్తోంది."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"కొత్త కక్షిదారి అనుసంధానమును తిరస్కరిస్తోంది యెంచేతంటే విభాగము అనునది ప్రస్తుతము మూసివేయబడుతోంది\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE లిజనింగ్ సాకెట్‌ను సృష్టించలేక పోయింది: %s"
+
+#: ../gnome-session/main.c:303
+msgid "Override standard autostart directories"
+msgstr "ప్రామాణిక స్వయంచాలక డైరెక్టరీలను తిరిగివ్రాయుము"
+
+#: ../gnome-session/main.c:303
+msgid "AUTOSTART_DIR"
+msgstr "స్వయంప్రారంభ సంచయం (_D)"
+
+#: ../gnome-session/main.c:304
+msgid "Session to use"
+msgstr "వాడవలసిన సెషన్"
+
+#: ../gnome-session/main.c:304
+msgid "SESSION_NAME"
+msgstr "సెషన్ పేరు (_N)"
+
+#: ../gnome-session/main.c:306
+msgid "Do not load user-specified applications"
+msgstr "వాడుకరి-తెలిపిన అనువర్తనములను లోడుచేయలేకపోయింది"
+
+#: ../gnome-session/main.c:307
+msgid "Version of this application"
+msgstr "ఈ అనువర్తనం యొక్క రూపాంతరం"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:309
+msgid "Show the fail whale dialog for testing"
+msgstr "పరీక్షించుటకు ఫెయిల్ వేల్ డైలాగును చూపించు"
+
+#: ../gnome-session/main.c:342
+msgid " - the GNOME session manager"
+msgstr " -గ్నోమ్ సెషన్ నిర్వాహకము"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s నిర్వర్తించుటకు విఫలమైంది\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s కు వొక ఆర్గుమెంట్ కావాలి\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "సెషన్ %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "సెషన్ పేర్లు ‘.’ తో ప్రారంభమగుటకు లేదా ‘/’ అక్షరాలను కలిగివుండుటకు అనుమతించబడవు"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "సెషన్ పేర్లు ‘.’ తో ప్రారంభమగుటకు అనుమతించబడవు"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "సెషన్ పేర్లు ‘/’ అక్షరాలను కలిగివుండుటకు అనుమతించబడవు"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "సెషన్ పేరు ‘%s’ యిప్పటికే వుంది"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Log out"
+msgstr "నిష్క్రమించు"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Power off"
+msgstr "విద్యుత్ ఆపు"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Reboot"
+msgstr "పునఃప్రారంభం"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Ignoring any existing inhibitors"
+msgstr "ఉన్నటువంటి ఏ అవరోధకాలనైనా వదిలివేస్తున్నది"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Don't prompt for user confirmation"
+msgstr "వాడుకరి నిర్ధారణ కోసం అడగవద్దు"
+
+#: ../tools/gnome-session-quit.c:89 ../tools/gnome-session-quit.c:99
+msgid "Could not connect to the session manager"
+msgstr "సెషన్ నిర్వాహకానికి అనుసంధానించలేకపోతుంది"
+
+#: ../tools/gnome-session-quit.c:201
+msgid "Program called with conflicting options"
+msgstr "విభేదిస్తున్న ఐచ్చికాలతో పిలువబడే ప్రోగ్రామ్"
+
+#~ msgid "Select Command"
+#~ msgstr "ఆదేశాన్ని ఎంచుకోండి"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "ప్రారంభ కార్యక్రమాన్ని జతచేయి"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "ప్రారంభ కార్యక్రమాన్ని సవరించు"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "ప్రారంభ ఆదేశం ఖాళీగా ఉండరాదు"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "ప్రారంభ ఆదేశం సరియైనదికాదు"
+
+#~ msgid "Enabled"
+#~ msgstr "చేతనమైంది"
+
+#~ msgid "Icon"
+#~ msgstr "ప్రతీక"
+
+#~ msgid "Program"
+#~ msgstr "ప్రోగామ్"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ప్రారంభ అనువర్తనాల ప్రాధాన్యతలు"
+
+#~ msgid "No name"
+#~ msgstr "పేరు లేదు"
+
+#~ msgid "No description"
+#~ msgstr "వివరణ లేదు"
+
+#~ msgid "Could not display help document"
+#~ msgstr "సహాయ పత్రమును ప్రదర్శించలేక పోయింది"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "కొన్ని ప్రోగ్రాములు ఇప్పటికి నడుచుచున్నవి:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "ప్రారంభ అనువర్తనములు"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "మీరు లాగిన్ అయినప్పుడు ఏ అనువర్తనములు ప్రారంభము కావలెనో యెంచుకొనుము"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "ఫైలు సరయైన .desktop ఫైలు కాదు"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "గుర్తించబడని డెస్కుటాపు ఫైలు వర్షన్ '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "%s ప్రారంభిస్తున్నది"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "ఆదేశవరుస నందు అనువర్తనములు పత్రములను ఆంగీకరించవు"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "గుర్తించబడని ప్రారంభ ఐచ్చికము: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "పత్రము URIలను Type=Link' desktop entry కు పంపలేదు."
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ప్రారంభించదగిన అంశము కాదు"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "విభాగము నిర్వాహికకు అనుసంధానమును అచేతనము చేయుము"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "దాచివున్న ఆకృతీకరణను కలిగివున్న ఫైలు తెలుపుము"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "విభాగము నిర్వహణా IDను తెలుపుము"
+
+#~ msgid "ID"
+#~ msgstr "ఐడి"
+
+#~ msgid "Session management options:"
+#~ msgstr "సెషన్ నిర్వాహణా ఐచ్చికములు:"
+
+#~ msgid "Show session management options"
+#~ msgstr "సెషన్ నిర్వాహణా ఐచ్చికాలను చూపుము"
+
+#~ msgid "Unknown"
+#~ msgstr "తెలియదు"
+
+#~ msgid "A program is still running:"
+#~ msgstr "ఒక ప్రోగ్రామ్ ఇంకా నడుచుచున్నది:"
diff --git a/po/tg.po b/po/tg.po
new file mode 100644
index 0000000..d5e4f11
--- /dev/null
+++ b/po/tg.po
@@ -0,0 +1,512 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Victor Ibragimov <victor.ibragimov@gmail.com>, 2013,2014, 2015
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Tajik Gnome\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-03-09 20:35+0000\n"
+"PO-Revision-Date: 2015-03-10 10:58+0500\n"
+"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
+"Language-Team: \n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=1;\n"
+"X-Generator: Poedit 1.6.5\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "Фармоиш додан"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr ""
+"Ин вуруд ба шумо имкон медиҳад, ки тавонед ҷаласаи захирашударо интихоб кунед"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ин ҷаласа шуморо ба GNOME ворид мекунад"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "Сохти GNOME"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "GNOME дар Wayland"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "Ин ҷаласа шуморо ба GNOME тавассути Wayland ворид мекунад"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "Ҷаласаи фармоишӣ"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Лутфан, ҷаласаи фармоиширо барои иҷро интихоб намоед"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "_Ҷаласаи нав"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_Тоза кардани ҷаласа"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "_Иваз кардани номи ҷаласа"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "_Идома додан"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "Барномаҳои худоғозии _иловагӣ:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "Барномаҳои худоғозӣ"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+"_Ҳангоми баромад аз система барномаҳои кушодаро ба таври худкор ба хотир "
+"гиред"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "_Ба хотир гирифтани барномаҳои кушода"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "Имконот"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "Тамошо кардан…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "_Шарҳ:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "_Фармон:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_Ном:"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "Ваҳ! Чизе вайрон шудааст."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr ""
+"Хатогӣ ба вуҷуд омад ва система барқарор карда натавонист. Лутфан, бо "
+"маъмури система дар тамос шавед"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Хатогӣ ба вуҷуд омад ва система барқарор карда натавонист. Ба сабабҳои "
+"бехатарӣ ҳамаи пасвандҳо ғайрифаъол карда шудаанд."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"Хатогӣ ба вуҷуд омад ва система барқарор карда натавонист.\n"
+"Лутфан, бароед ва аз нав ворид шавед."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_Баромадан"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:243
+msgid "Enable debugging code"
+msgstr "Фаъол кардани ислоҳи хатоҳои барномарезӣ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "Иҷозат додани баромад"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "Намоиш додани огоҳи пасванд"
+
+#: ../gnome-session/gsm-manager.c:1251 ../gnome-session/gsm-manager.c:1896
+msgid "Not responding"
+msgstr "Ҷавоб намедиҳад"
+
+#: ../gnome-session/gsm-util.c:381
+msgid "_Log out"
+msgstr "_Баромадан"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Барномаҳои ба хотир гирифташуда"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "Ин барнома баромади шуморо манъ мекунад."
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+"Пайвасти муштарии нав рад шуда истодааст, зеро ки ҷаласа дар ҳоли анҷоми кор "
+"мебошад\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Эҷоди бастагоҳи мунтазири ICE имконнопазир аст: %s"
+
+#: ../gnome-session/main.c:241
+msgid "Override standard autostart directories"
+msgstr "Аз нав таъинкунии феҳристҳои худоғозии стандартӣ"
+
+#: ../gnome-session/main.c:241
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:242
+msgid "Session to use"
+msgstr "Ҷаласа барои истифодабарӣ"
+
+#: ../gnome-session/main.c:242
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:244
+msgid "Do not load user-specified applications"
+msgstr "Бор накардани барномаҳои таъиншуда бо корбар"
+
+#: ../gnome-session/main.c:245
+msgid "Version of this application"
+msgstr "Версияи ин барнома"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:247
+msgid "Show the fail whale dialog for testing"
+msgstr "намоиш додани равзарани гуфтугӯи хатоҳо барои санҷиш"
+
+#: ../gnome-session/main.c:248
+msgid "Disable hardware acceleration check"
+msgstr "Ғайрифаъол кардани санҷиши шитоби сахтафзор"
+
+#: ../gnome-session/main.c:267
+msgid " - the GNOME session manager"
+msgstr " - мудири ҷаласаи GNOME"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] ФАРМОН\n"
+"\n"
+"Ҳангоми сусткунии баъзе функсияҳои ҷаласа, ФАРМОНРО иҷро кунед.\n"
+"\n"
+" -h, --help Барои намоиш додани кӯмак\n"
+" --version Барои намоиш додани версияи барнома\n"
+" --app-id ID Рамзи барнома барои истофода\n"
+" ҳангоми сусткунии ҷаласа (интихобӣ)\n"
+" --reason REASON Сабаби сусткунии ҷаласа (интихобӣ)\n"
+" --inhibit ARG Объектҳое, ки суст мешаванд, рӯйхат (бо ду нуқта "
+"тақсимшуда):\n"
+" баромад (logout), қатъу васл кардани корбар (switch-"
+"user), таваққуф (suspend), бефаъолият (idle), васлкунии худкор (automount)\n"
+" --inhibit-only ФАРМОНРО иҷро накунед ва доимо интизор шавед\n"
+"\n"
+"Агар имконоти --inhibit муайян нашавад, ҳолати бефаъолият истифода мешавад.\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s иҷро нашуд\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s аргументро талаб мекунад\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Ҷаласаи %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr ""
+"Номи ҷаласа бояд аломати ‘/’ -ро дар бар нагирад ё бо аломати ‘.’ сар нашавад"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "Номи ҷаласа бояд бо аломати ‘.’ сар нашавад"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "Номи ҷаласа бояд аломати ‘/’ -ро дар бар нагирад"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "Номи ҷаласаи ‘%s’ аллакай мавҷуд аст"
+
+#: ../tools/gnome-session-quit.c:49
+msgid "Log out"
+msgstr "Баромадан"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Power off"
+msgstr "Хомӯш кардан"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Reboot"
+msgstr "Бозоғозидан"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Ignoring any existing inhibitors"
+msgstr "Рад кардани ҳамаи сусткунандагони мавҷудбуда"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Don't prompt for user confirmation"
+msgstr "Дархост накардани тасдиқи корбар"
+
+#: ../tools/gnome-session-quit.c:87 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "Пайваст бо мудири ҷаласа имконнопазир аст"
+
+#: ../tools/gnome-session-quit.c:196
+msgid "Program called with conflicting options"
+msgstr "Барнома бо ихтилофи имконот дархост шудааст"
+
+#~ msgid "Select Command"
+#~ msgstr "Интихоб кардани фармон"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "Илова кардани барномаи худоғозӣ"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "Таҳрир кардани барномаҳои худоғозӣ"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "Фармони худоғозӣ бояд холӣ набошад"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "Фармони худоғозӣ беэътибор аст"
+
+#~ msgid "Enabled"
+#~ msgstr "Фаъол"
+
+#~ msgid "Icon"
+#~ msgstr "Нишона"
+
+#~ msgid "Program"
+#~ msgstr "Барнома"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "Хусусиятҳои барномаҳои худоғозӣ"
+
+#~ msgid "No name"
+#~ msgstr "Бе ном"
+
+#~ msgid "No description"
+#~ msgstr "Бе тавсиф"
+
+#~ msgid "Could not display help document"
+#~ msgstr "Ҳуҷҷати кӯмак намоиш дода намешавад"
+
+#~ msgid "Startup Applications"
+#~ msgstr "Барномаҳои худоғозӣ"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "Интихоб кунед, ки кадом барномаҳо ҳангоми воридшавӣ кушода мешаванд"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "Ин файл ба файли .desktop мувофиқат намекунад"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "Версияи файли мизи кории номуайян: '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "Оғозёбии %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "Барнома ҳуҷҷатҳоро дар хати фармон қабул намекунад"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "Имконоти оғози номаълум: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "URI ҳуҷҷат ба вуруди мизи кории 'Type=Link' гузошта нашудааст"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "Объекти иҷронашаванда"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "Ғайри фаъол кардани пайваст ба мудири ҷаласа"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "Муайян кардани файл бо танзимоти захирашуда"
+
+#~ msgid "FILE"
+#~ msgstr "ФАЙЛ"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "Муайян кардани рамзи идоракунии ҷаласа"
+
+#~ msgid "ID"
+#~ msgstr "Рамзи ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "Имконоти идоракунии ҷаласа:"
+
+#~ msgid "Show session management options"
+#~ msgstr "Намоиш додани имконоти идоракунии ҷаласа"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "Баъзе барномаҳо то ҳол иҷро шуда истодаанд:"
+
+#~ msgid "Unknown"
+#~ msgstr "Номаълум"
+
+#~ msgid "A program is still running:"
+#~ msgstr "Барнома то ҳол иҷро шуда истодааст:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Дар ҳоли мунтазири пӯшидани барнома. Пӯшидани барнома метавонад сабаби "
+#~ "гум кардани кори шумо шавад."
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr ""
+#~ "Дар ҳоли мунтазири пӯшидани барномаҳо. Пӯшидани барномаҳо метавонад "
+#~ "сабаби гум кардани кори шумо шавад."
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "Ба ҳар ҳол корбарро қатъу васл кунед"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "Ба ҳар ҳол бароед"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "Ба ҳар ҳол таваққуф кунед"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "Ба ҳар ҳол гибернатсия кунед"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "Корро ба ҳар ҳол анҷом диҳед"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "Ба ҳар ҳол бозоғозӣ кунед"
+
+#~ msgid "Lock Screen"
+#~ msgstr "Экрани қулф"
+
+#~ msgid "Cancel"
+#~ msgstr "Бекор кардан"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "Шумо аз система баъд аз %d сония ба таври худкор мебароед."
+#~ msgstr[1] "Шумо аз система баъд аз %d сония ба таври худкор мебароед."
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "Кори ин система баъд аз %d сония ба таври худкор анҷом меёбад."
+#~ msgstr[1] "Кори ин система баъд аз %d сония ба таври худкор анҷом меёбад."
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "Ин система баъд аз %d сония ба таври худкор бозоғозӣ мешавад."
+#~ msgstr[1] "Ин система баъд аз %d сония ба таври худкор бозоғозӣ мешавад."
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "Шумо ҳамчун \"%s\" ворид шудаед."
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "Аз ин система ҳозир мебароед?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_Таъвизи корбар"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "Кори ин системаро ҳозир ба анҷом медиҳед?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_Таваққуф кардан"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_Гибернатсия кардан"
+
+#~ msgid "_Restart"
+#~ msgstr "_Бозоғозидан"
+
+#~ msgid "_Shut Down"
+#~ msgstr "_Анҷом додани кор"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "Ин системаро ба ҳар ҳол бозоғозӣ мекунед?"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d соат"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d дақиқа"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d сония"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 сония"
diff --git a/po/th.po b/po/th.po
new file mode 100644
index 0000000..8845195
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,1054 @@
+# Thai translation for gnome-session.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Ranee Somchaimit <tuktik_friend@hotmail.com>, 2003
+# Paisa Seeluangsawat <paisa@users.sf.net>, 2004
+# Theppitak Karoonboonyanan <thep@linux.thai.net>, 2005-2012
+# Akom Chotiphantawanon <knight2000@gmail.com>, 2015-2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-12-30 10:07+0000\n"
+"PO-Revision-Date: 2016-01-04 12:26+0700\n"
+"Last-Translator: Akom Chotiphantawanon <knight2000@gmail.com>\n"
+"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
+"Language: th\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: Gtranslator 2.91.6\n"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "กำหนดเอง"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "รายการนี้จะให้คุณเลือกวาระที่บันทึกไว้"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2 ../data/gnome-xorg.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "วาระนี้จะเข้าสู่ GNOME"
+
+#: ../data/gnome-xorg.desktop.in.h:1
+msgid "GNOME on Xorg"
+msgstr "GNOME ใน Xorg"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "หุ่นตัวอย่าง GNOME"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "วาระที่กำหนดเอง"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "กรุณาเลือกวาระที่กำหนดเองที่จะเรียกทำงาน"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "วาระใ_หม่"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "_ลบวาระ"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "เ_ปลี่ยนชื่อวาระ"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "เข้าระบบ_ต่อไป"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "โ_ปรแกรมเริ่มวาระเพิ่มเติม:"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "โปรแกรมเริ่มวาระ"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "จำรายชื่อโปรแกรมที่ทำงานอยู่โดย_อัตโนมัติเมื่อออกจากระบบ"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "_จำรายชื่อโปรแกรมที่ทำงานอยู่"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "ตัวเลือก"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "เรียกดู…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "ห_มายเหตุ:"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "_คำสั่ง:"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "_ชื่อ:"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:313
+msgid "Oh no! Something has gone wrong."
+msgstr "คุณพระ! มีอะไรผิดพลาดสักอย่าง"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:320
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr "เกิดปัญหาบางอย่างขึ้น โดยระบบไม่สามารถฟื้นคืนได้ กรุณาติดต่อผู้ดูแลระบบ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:322
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"เกิดปัญหาบางอย่างขึ้น โดยระบบไม่สามารถฟื้นคืนได้ "
+"ระบบได้ปิดการใช้ส่วนขยายทั้งหมดเพื่อเป็นการป้องกันแล้ว"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:324
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"เกิดปัญหาบางอย่างขึ้น โดยระบบไม่สามารถฟื้นคืนได้\n"
+"กรุณาออกจากระบบ แล้วลองเข้ามาใหม่"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:339
+msgid "_Log Out"
+msgstr "_ออกจากระบบ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:361 ../gnome-session/main.c:280
+msgid "Enable debugging code"
+msgstr "เปิดใช้โค้ดส่วนดีบั๊ก"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:362
+msgid "Allow logout"
+msgstr "อนุญาตให้ออกจากระบบ"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:363
+msgid "Show extension warning"
+msgstr "แสดงคำเตือนของส่วนขยาย"
+
+#: ../gnome-session/gsm-manager.c:1256 ../gnome-session/gsm-manager.c:1902
+msgid "Not responding"
+msgstr "ไม่ตอบสนอง"
+
+#: ../gnome-session/gsm-util.c:381
+msgid "_Log out"
+msgstr "_ออกจากระบบ"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "โปรแกรมที่จำไว้"
+
+#: ../gnome-session/gsm-xsmp-client.c:1207
+msgid "This program is blocking logout."
+msgstr "โปรแกรมนี้ขัดขวางการออกจากระบบอยู่"
+
+#: ../gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "ไม่รับการเชื่อมต่อใหม่จากลูกข่าย เพราะวาระกำลังปิดตัว\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:609
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ไม่สามารถสร้างซ็อกเก็ตรอรับการเชื่อมต่อ ICE: %s"
+
+#: ../gnome-session/main.c:278
+msgid "Override standard autostart directories"
+msgstr "กำหนดค่าไดเรกทอรีเริ่มต้นอัตโนมัติทับค่ามาตรฐาน"
+
+#: ../gnome-session/main.c:278
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:279
+msgid "Session to use"
+msgstr "วาระที่จะใช้"
+
+#: ../gnome-session/main.c:279
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:281
+msgid "Do not load user-specified applications"
+msgstr "ไม่ต้องโหลดโปรแกรมที่ผู้ใช้ระบุไว้"
+
+#: ../gnome-session/main.c:282
+msgid "Version of this application"
+msgstr "รุ่นของโปรแกรมนี้"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:284
+msgid "Show the fail whale dialog for testing"
+msgstr "แสดงกล่องแจ้งพังเพื่อทดสอบ"
+
+#: ../gnome-session/main.c:285
+msgid "Disable hardware acceleration check"
+msgstr "ปิดใช้การตรวจสอบการเร่งความเร็วด้วยฮาร์ดแวร์"
+
+#: ../gnome-session/main.c:307
+msgid " - the GNOME session manager"
+msgstr "- โปรแกรมจัดการวาระ GNOME"
+
+#: ../tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ตัวเลือก...] คำสั่ง\n"
+"\n"
+"เรียก \"คำสั่ง\" ขณะระงับการทำงานบางส่วนของวาระ\n"
+"\n"
+" -h, --help แสดงวิธีใช้นี้\n"
+" --version แสดงรุ่นของโปรแกรม\n"
+" --app-id ID ID ของโปรแกรมที่ใช้\n"
+" เมื่อจะระงับ (ระบุหรือไม่ก็ได้)\n"
+" --reason REASON เหตุผลของการระงับ (ระบุหรือไม่ก็ได้)\n"
+" --inhibit ARG สิ่งที่จะระงับ, เป็นรายชื่อที่คั่นด้วยทวิภาคของ:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only ไม่ต้องเรียก \"คำสั่ง\" และหยุดรอแทน\n"
+"\n"
+"ถ้าไม่ระบุตัวเลือก --inhibit จะถือเป็นการเดินเครื่องเปล่า\n"
+
+#: ../tools/gnome-session-inhibit.c:146
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "เรียกทำงาน %s ไม่สำเร็จ\n"
+
+#: ../tools/gnome-session-inhibit.c:206 ../tools/gnome-session-inhibit.c:216
+#: ../tools/gnome-session-inhibit.c:226
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ต้องมีอาร์กิวเมนต์\n"
+
+#: ../tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "วาระ %d"
+
+#: ../tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "ชื่อวาระห้ามขึ้นต้นด้วย ‘.’ หรือมีอักขระ ‘/’"
+
+#: ../tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "ชื่อวาระห้ามขึ้นต้นด้วย ‘.’"
+
+#: ../tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "ชื่อวาระห้ามมีอักขระ ‘/’"
+
+#: ../tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "มีวาระชื่อ ‘%s’ อยู่ก่อนแล้ว"
+
+#: ../tools/gnome-session-quit.c:49
+msgid "Log out"
+msgstr "ออกจากระบบ"
+
+#: ../tools/gnome-session-quit.c:50
+msgid "Power off"
+msgstr "ปิดเครื่อง"
+
+#: ../tools/gnome-session-quit.c:51
+msgid "Reboot"
+msgstr "เริ่มเปิดเครื่องใหม่"
+
+#: ../tools/gnome-session-quit.c:52
+msgid "Ignoring any existing inhibitors"
+msgstr "ไม่สนใจการระงับต่างๆ ที่มีอยู่"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Don't prompt for user confirmation"
+msgstr "ไม่ต้องถามการยืนยันจากผู้ใช้"
+
+#: ../tools/gnome-session-quit.c:87 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "ติดต่อโปรแกรมจัดการวาระไม่สำเร็จ"
+
+#: ../tools/gnome-session-quit.c:196
+msgid "Program called with conflicting options"
+msgstr "โปรแกรมถูกเรียกด้วยตัวเลือกที่ขัดแย้งกันเอง"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "วาระนี้จะเข้าสู่ GNOME โดยใช้ Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "เลือกคำสั่ง"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "เพิ่มโปรแกรมเริ่มวาระ"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "แก้ไขโปรแกรมเริ่มวาระ"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "คำสั่งที่ให้เรียกเมื่อเริ่มวาระจะว่างไม่ได้"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "คำสั่งที่ให้เรียกเมื่อเริ่มวาระผิดพลาด"
+
+#~ msgid "Enabled"
+#~ msgstr "เปิดใช้"
+
+#~ msgid "Icon"
+#~ msgstr "ไอคอน"
+
+#~ msgid "Program"
+#~ msgstr "โปรแกรม"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "ปรับแต่งโปรแกรมเริ่มวาระ"
+
+#~ msgid "No name"
+#~ msgstr "ไม่มีชื่อ"
+
+#~ msgid "No description"
+#~ msgstr "ไม่มีคำบรรยาย"
+
+#~ msgid "Could not display help document"
+#~ msgstr "ไม่สามารถแสดงเอกสารวิธีใช้"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "ยังมีบางโปรแกรมทำงานอยู่:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "จะรอให้โปรแกรมนี้ทำงานจบ การขัดจังหวะโปรแกรมอาจทำให้สูญเสียงานบางอย่างของคุณไป"
+
+#~ msgid "Startup Applications"
+#~ msgstr "โปรแกรมเริ่มวาระ"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "เลือกโปรแกรมที่จะเปิดเมื่อคุณเข้าระบบ"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "แฟ้มนี้ไม่ใช่แฟ้ม .desktop ที่ใช้ได้"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "ไม่รู้จักแฟ้มเดสก์ท็อปรุ่น '%s'"
+
+#~ msgid "Starting %s"
+#~ msgstr "กำลังเริ่ม %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "โปรแกรมไม่รับเอกสารในบรรทัดคำสั่ง"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "ไม่รู้จักตัวเลือกของการเรียกโปรแกรม: %d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "ไม่สามารถส่ง URI ของเอกสารไปยังรายการเดสก์ท็อปที่มี 'Type=Link'"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "ไม่ใช่รายการที่เรียกทำงานได้"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "ปิดใช้การเชื่อมต่อไปยังโปรแกรมจัดการวาระ"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "ระบุแฟ้มที่บันทึกค่าตั้งไว้"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Specify session management ID"
+#~ msgstr "ระบุหมายเลขการจัดการวาระ"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "ตัวเลือกเกี่ยวกับการจัดการวาระ:"
+
+#~ msgid "Show session management options"
+#~ msgstr "แสดงตัวเลือกเกี่ยวกับการจัดการวาระ"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "ไม่พบไอคอน '%s'"
+
+#~ msgid "Unknown"
+#~ msgstr "ไม่ทราบ"
+
+#~ msgid "A program is still running:"
+#~ msgstr "มีโปรแกรมที่ยังทำงานอยู่:"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause "
+#~ "you to lose work."
+#~ msgstr ""
+#~ "จะรอให้โปรแกรมเหล่านี้ทำงานจบ การขัดจังหวะโปรแกรมอาจทำให้เสียงานบางอย่างของคุณไป"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "ยืนยันการสลับผู้ใช้"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "ยืนยันการออกจากระบบ"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "ยืนยันการพักเครื่อง"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "ยืนยันการจำศีลเครื่อง"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "ยืนยันการปิดเครื่อง"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "ยืนยันการเปิดเครื่องใหม่"
+
+#~ msgid "Lock Screen"
+#~ msgstr "ล็อคหน้าจอ"
+
+#~ msgid "Cancel"
+#~ msgstr "ยกเลิก"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "คุณจะออกจากระบบโดยอัตโนมัติภายใน %d วินาที"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "ระบบจะปิดโดยอัตโนมัติภายใน %d วินาที"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "ระบบจะเริ่มเปิดใหม่โดยอัตโนมัติภายใน %d วินาที"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "คุณกำลังเข้าระบบในนาม \"%s\""
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "ออกจากระบบเดี๋ยวนี้เลยหรือไม่?"
+
+#~ msgid "_Switch User"
+#~ msgstr "_สลับผู้ใช้"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "ปิดเครื่องเดี๋ยวนี้เลยหรือไม่?"
+
+#~ msgid "S_uspend"
+#~ msgstr "_พักเครื่อง"
+
+#~ msgid "_Hibernate"
+#~ msgstr "_จำศีลเครื่อง"
+
+#~ msgid "_Restart"
+#~ msgstr "_เปิดเครื่องใหม่"
+
+#~ msgid "_Shut Down"
+#~ msgstr "ปิ_ดเครื่อง"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "เริ่มเปิดเครื่องใหม่เดี๋ยวนี้เลยหรือไม่?"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 โหลดไม่สำเร็จ"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "โชคไม่ดีที่ GNOME 3 เริ่มทำงานไม่สำเร็จ โดยเป็นการทำงานใน <i>โหมดสำรอง</i>\n"
+#~ "\n"
+#~ "เป็นไปได้สูงว่าระบบของคุณ (การ์ดจอหรือไดรเวอร์) ไม่สามารถรองรับการทำงานของ GNOME 3 "
+#~ "อย่างเต็มรูปแบบได้"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "ศึกษาเพิ่มเติมเกี่ยวกับ GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "ไม่สามารถเริ่มวาระเข้าระบบ (และไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์เอ็กซ์)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>ยังมีบางโปรแกรมทำงานอยู่:</b>"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "เกิดปัญหาบางอย่างขึ้น โดยระบบไม่สามารถฟื้นคืนได้ ส่วนขยายบางตัวข้างล่างนี้อาจเป็นสาเหตุ\n"
+#~ "กรุณาลองปิดส่วนขยายเหล่านี้บางตัว แล้วออกจากระบบ และลองเข้ามาใหม่"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "จบการทำงานด้วยรหัส %d"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "ถูกฆ่าด้วยสัญญาณ %d"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "ถูกหยุดด้วยสัญญาณ %d"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "มีปัญหากับเซิร์ฟเวอร์ค่าตั้ง\n"
+#~ "(%s จบการทำงานด้วยรหัสสถานะ %d)"
+
+#~ msgid "Default session"
+#~ msgstr "วาระปริยาย"
+
+#~ msgid "File Manager"
+#~ msgstr "โปรแกรมจัดการแฟ้ม"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "ถ้าเลือก gnome-session จะถามผู้ใช้ก่อนจะออกจากการใช้งาน"
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "ถ้าเลือก gnome-session จะบันทึกวาระให้โดยอัตโนมัติ"
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "รายชื่อโปรแกรมที่จะเปิดในวาระปริยาย"
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "รายชื่อองค์ประกอบที่จำเป็นสำหรับวาระ (สมาชิกแต่ละตัวเป็นคีย์ที่อยู่ใต้ \"/desktop/gnome/"
+#~ "session/required-components\") โดยปกติ "
+#~ "เครื่องมือปรับแต่งโปรแกรมเริ่มวาระจะไม่ให้ผู้ใช้ลบองค์ประกอบที่จำเป็นออกจากวาระ "
+#~ "และถ้าถูกลบจริง "
+#~ "โปรแกรมจัดการวาระก็จะเพิ่มองค์ประกอบที่จำเป็นกลับเข้าในวาระให้โดยอัตโนมัติขณะเข้าระบบ"
+
+#~ msgid "Logout prompt"
+#~ msgstr "ถามก่อนจะออกจากระบบ"
+
+#~ msgid "Panel"
+#~ msgstr "พาเนล"
+
+#~ msgid "Required session components"
+#~ msgstr "องค์ประกอบที่จำเป็นของวาระ"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "โปรแกรมจัดการแฟ้ม จะเตรียมไอคอนต่างๆ บนพื้นโต๊ะ และช่วยคุณโต้ตอบกับแฟ้มต่างๆ "
+#~ "ที่เก็บไว้ในดิสก์"
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr "จำนวนนาทีของช่วงไร้กิจกรรมที่จะเริ่มถือว่าวาระไม่มีการใช้งาน"
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "พาเนลคือแถบที่ด้านบนหรือด้านล่างหน้าจอ บรรจุเมนู รายชื่อหน้าต่าง ไอคอนสถานะ นาฬิกา ฯลฯ"
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "โปรแกรมจัดการหน้าต่าง คือโปรแกรมที่วาดแถบหัวและกรอบรอบหน้าต่าง "
+#~ "และให้คุณย้ายหรือปรับขนาดหน้าต่างได้"
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "ระยะเวลาที่จะเริ่มถือว่าวาระไม่มีการใช้งาน"
+
+#~ msgid "Window Manager"
+#~ msgstr "โปรแกรมจัดการหน้าต่าง"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "คีย์ GConf ที่ใช้เปิดหาวาระปริยาย"
+
+#~ msgid "Show logout dialog"
+#~ msgstr "แสดงกล่องโต้ตอบออกจากระบบ"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "แสดงกล่องโต้ตอบปิดเครื่อง"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "ใช้กล่องโต้ตอบแสดงข้อผิดพลาด"
+
+#~ msgid "Set the current session name"
+#~ msgstr "กำหนดชื่อวาระปัจจุบัน"
+
+#~ msgid "Kill session"
+#~ msgstr "ฆ่าวาระ"
+
+#~ msgid ""
+#~ "Assistive technology support has been requested for this session, but the "
+#~ "accessibility registry was not found. Please ensure that the AT-SPI "
+#~ "package is installed. Your session has been started without assistive "
+#~ "technology support."
+#~ msgstr ""
+#~ "มีการร้องขอการรองรับเทคโนโลยีอำนวยความสะดวกในวาระนี้ "
+#~ "แต่ไม่พบเรจิสตรีสำหรับระบบอำนวยความสะดวก กรุณาตรวจสอบให้แน่ใจ ว่าได้ติดตั้งแพกเกจ AT-"
+#~ "SPI เรียบร้อย วาระนี้ของคุณจะเปิดโดยไม่มีการรองรับเทคโนโลยีอำนวยความสะดวก"
+
+#~ msgid "AT SPI Registry Wrapper"
+#~ msgstr "โปรแกรมครอบเรจิสตรี AT SPI"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "ตัวช่วยดีมอนค่าตั้ง GNOME"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "ถ้าเลือก gnome-session จะบันทึกรายละเอียดวาระโดยอัตโนมัติ "
+#~ "มิฉะนั้นคุณจะถูกถามในหน้าต่างออกจากระบบว่าจะบันทึกวาระหรือไม่"
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "รูปไตเติลที่จะแสดงขณะกำลังเข้าสู่ระบบ"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "แสดงรูปไตเติลเมื่อเริ่มระบบ"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "แสดงรูปไตเติลขณะที่กำลังเข้าสู่ระบบ"
+
+#~ msgid ""
+#~ "This is a relative path value based off the $datadir/pixmaps/ directory. "
+#~ "Sub-directories and image names are valid values. Changing this value "
+#~ "will effect the next session login."
+#~ msgstr ""
+#~ "ใช้ชื่อพาธเทียบกับไดเรกทอรี $datadir/pixmaps/ "
+#~ "โดยกำหนดเป็นไดเรกทอรีย่อยลงไปจนถึงชื่อแฟ้มรูป การเปลี่ยนค่านี้จะมีผลในการเข้าระบบครั้งหน้า"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr "จะรอให้โปรแกรมทำงานจบ การขัดจังหวะโปรแกรมอาจทำให้เสียงานบางอย่างของคุณไป"
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- รูปไตเติลเริ่มระบบ GNOME"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "รูปไตเติลเริ่มระบบ GNOME"
+
+#~ msgid "The name of the startup program cannot be empty"
+#~ msgstr "คำสั่งที่ให้เรียกเมื่อเริ่มวาระจะว่างไม่ได้"
+
+#~ msgid "Sessions Preferences"
+#~ msgstr "ปรับแต่งวาระ"
+
+#~ msgid "Selected option in the log out dialog"
+#~ msgstr "ตัวเลือกที่เลือกในกล่องโต้ตอบออกจากระบบ"
+
+#~ msgid ""
+#~ "This is the option that will be selected in the logout dialog, valid "
+#~ "values are \"logout\" for logging out, \"shutdown\" for halting the "
+#~ "system and \"restart\" for restarting the system."
+#~ msgstr ""
+#~ "ตัวเลือกที่จะเลือกไว้เมื่อเปิดกล่องโต้ตอบออกจากระบบ ค่าที่เป็นไปได้คือ \"logout\" "
+#~ "สำหรับการออกจากระบบ, \"shutdown\" สำหรับการปิดเครื่อง และ \"restart\" "
+#~ "สำหรับการเริ่มการทำงานของเครื่องใหม่"
+
+#~ msgid "Configure your sessions"
+#~ msgstr "ตั้งค่าสำหรับวาระของคุณ"
+
+#~ msgid "GNOME Keyring Daemon Wrapper"
+#~ msgstr "โปรแกรมครอบดีมอนพวงกุญแจ GNOME"
+
+#~ msgid "Session management"
+#~ msgstr "การจัดการวาระ"
+
+#~ msgid "GNOME GUI Library + EggSMClient"
+#~ msgstr "ไลบรารี GUI ของ GNOME + EggSMClient"
+
+#~ msgid ""
+#~ "The Window manager that gnome-session will start. Valid values are "
+#~ "\"metacity\" and \"compiz\"."
+#~ msgstr ""
+#~ "โปรแกรมจัดการหน้าต่างที่ gnome-session จะเรียกใช้ ค่าที่ใช้ได้คือ \"metacity\" และ "
+#~ "\"compiz\""
+
+#~ msgid "Window Manager to start"
+#~ msgstr "โปรแกรมจัดการหน้าต่างที่จะเรียกใช้"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "ยอมรับการเชื่อมต่อ TCP"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "บนเครื่องที่มี _IceTcpTransNoListen() (เช่นเครื่องที่ใช้ XFree86) เพื่อความปลอดภัย "
+#~ "gnome-session จะไม่รับการติดต่อ TCP ตั้งค่านี้แล้วโปรแกรมจะ "
+#~ "รับการติดต่อจากเครื่องที่อนุญาต ต้องเริ่ม gnome-session ใหม่ก่อนที่ค่าตั้งจะเริ่มบังคับใช้"
+
+#~ msgid "_Order:"
+#~ msgstr "_ลำดับ:"
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "เกิดอะไรขึ้นกับโปรแกรมเมื่อมันทำงานเสร็จ"
+
+#~ msgid "_Style:"
+#~ msgstr "_แบบ:"
+
+#~ msgid "Inactive"
+#~ msgstr "ไม่ทำงานอยู่"
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "รอจะเริ่ม หรือ สำเร็จแล้ว"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "เริ่มแล้วแต่ยังไม่รายงานสถานะ"
+
+#~ msgid "Running"
+#~ msgstr "ทำงานอยู่"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "สมาชิกปกติของวาระ"
+
+#~ msgid "Saving"
+#~ msgstr "กำลังบันทึก"
+
+#~ msgid "Saving session details."
+#~ msgstr "การบันทึกรายละเอียดวาระ"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "ไม่มีรายงานสถานะก่อนหมดเวลา"
+
+#~ msgid "Normal"
+#~ msgstr "ปกติ"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "ไม่ถูกกระทบตอนออกจากระบบ แต่หยุดทำงานได้"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "ไม่อนุญาตให้หยุดการทำงาน"
+
+#~ msgid "Trash"
+#~ msgstr "ถังขยะ"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "ละทิ้งตอนออกจากระบบ และสามารถหยุดการทำงานได้"
+
+#~ msgid "Settings"
+#~ msgstr "ค่าตั้ง"
+
+#~ msgid "Always started on every login."
+#~ msgstr "เริ่มการทำงานทุกครั้งที่เข้าสู่ระบบ"
+
+#~ msgid "Order"
+#~ msgstr "ลำดับ"
+
+#~ msgid "Style"
+#~ msgstr "แบบ"
+
+#~ msgid "State"
+#~ msgstr "สถานะ"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "เกิดข้อผิดพลาดขณะเริ่มดีมอนจัดการค่าตั้งของ GNOME\n"
+#~ "\n"
+#~ "บางสิ่งบางอย่าง เช่น ชุดตกแต่ง เสียง พื้นหลัง หรือ สิ่งอื่น ๆ อาจทำงานไม่ถูกต้อง"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "ข้อความผิดพลาดสุดท้ายคือ:\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME จะพยายามเรียกดีมอนจัดการค่าตั้งอีกครั้งเมื่อคุณเข้าระบบครั้งต่อไป"
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "ดีมอนจัดการค่าตั้งถูกเริ่มทำงานใหม่หลายครั้งจนผิดปกติ"
+
+#~ msgid "List registered clients, then exit"
+#~ msgstr "แสดงรายการไคลเอนต์ที่ลงทะเบียนไว้ แล้วออกจากโปรแกรม"
+
+#~ msgid ""
+#~ "You must specify at least one program to remove. You can list the "
+#~ "programs with --list.\n"
+#~ msgstr ""
+#~ "คุณต้องระบุโปรแกรมอย่างน้อยหนึ่งตัวที่จะเอาออก คุณสามารถแสดงรายการโปรแกรมได้ด้วยตัวเลือก "
+#~ "--list\n"
+
+#~ msgid "Error: could not connect to the session manager\n"
+#~ msgstr "ผิดพลาด: ไม่สามารถติดต่อโปรแกรมจัดการวาระ\n"
+
+#~ msgid "Currently registered clients:\n"
+#~ msgstr "ไคลเอนต์ที่ลงทะเบียนอยู่:\n"
+
+#~ msgid "Couldn't find program %s in session\n"
+#~ msgstr "ไม่พบโปรแกรม %s ในวาระ\n"
+
+#~ msgid ""
+#~ "The GNOME session manager cannot start properly. Please report this as a "
+#~ "GNOME bug. Please include this ICE failure message in the bug report: "
+#~ "'%s'. Meanwhile you could try logging in using the failsafe session."
+#~ msgstr ""
+#~ "โปรแกรมจัดการวาระ GNOME ไม่สามารถเริ่มทำงานได้ กรุณารายงานข้อผิดพลาดนี้ไปยัง GNOME "
+#~ "โดยแนบข้อความข้อผิดพลาดจาก ICE ต่อไปนี้ไปด้วย: '%s' ในระหว่างนี้ "
+#~ "คุณอาจลองเข้าระบบด้วยวาระ failsafe แทน"
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to lock the file '%s'. Please "
+#~ "report this as a GNOME bug. Sometimes this error may occur if the file's "
+#~ "directory is unwritable, you could try logging in via the failsafe "
+#~ "session and ensuring that it is."
+#~ msgstr ""
+#~ "โปรแกรมจัดการวาระ GNOME ไม่สามารถล็อคแฟ้ม '%s' ได้ กรุณารายงานข้อผิดพลาดนี้ไปยัง "
+#~ "GNOME ในบางครั้ง ข้อผิดพลาดนี้ก็อาจเกิดขึ้นได้ ถ้าไดเรกทอรีที่เก็บแฟ้มไม่อนุญาตให้เขียน "
+#~ "คุณอาจลองเข้าระบบด้วยวาระ failsafe แล้วตรวจสอบดู"
+
+#~ msgid ""
+#~ "The GNOME session manager was unable to read the file: '%s'. If this "
+#~ "file exists it must be readable by you for GNOME to work properly. Try "
+#~ "logging in with the failsafe session and removing this file."
+#~ msgstr ""
+#~ "โปรแกรมจัดการวาระ GNOME ไม่สามารถอ่านแฟ้ม: '%s' ถ้าแฟ้มนี้มีอยู่แล้ว "
+#~ "คุณก็จะต้องมีสิทธิ์อ่านได้ด้วย GNOME จะได้ทำงานได้อย่างถูกต้อง ลองเข้าระบบด้วยวาระ "
+#~ "failsafe แล้วลบแฟ้มนี้ดู"
+
+#~ msgid ""
+#~ "Could not write to file '%s'. This file must be writable in order for "
+#~ "GNOME to function properly. Try logging in with the failsafe session and "
+#~ "removing this file. Also make sure that the file's directory is writable."
+#~ msgstr ""
+#~ "ไม่สามารถเขียนแฟ้ม '%s' ได้ คุณต้องมีสิทธิ์เขียนแฟ้มนี้เพื่อให้ GNOME ทำงานได้อย่างถูกต้อง "
+#~ "ลองเข้าระบบด้วยวาระ failsafe แล้วลบแฟ้มนี้ดู "
+#~ "กรุณาตรวจสอบให้แน่ใจด้วยว่าไดเรกทอรีที่เก็บแฟ้มนี้สามารถเขียนได้"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "จะออกจากระบบหรือไม่?"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "เ_ริ่มเปิดเครื่องใหม่"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "อ่านวาระที่บันทึกไว้จากแฟ้ม default.session เท่านั้น"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr "จำนวนมิลลิวินาทีที่จะรอให้โปรแกรมลูกลงทะเบียน (0=ตลอดไป)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr "จำนวนมิลลิวินาทีที่จะรอให้โปรแกรมลูกตอบกลับ (0=ตลอดไป)"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr "จำนวนมิลลิวินาทีที่จะรอให้โปรแกรมลูกหยุดทำงาน (0=ตลอดไป)"
+
+#~ msgid "This session is running as a privileged user"
+#~ msgstr "วาระนี้ดำเนินในนามผู้ใช้อภิสิทธิ์"
+
+#~ msgid ""
+#~ "Running a session as a privileged user should be avoided for security "
+#~ "reasons. If possible, you should log in as a normal user."
+#~ msgstr ""
+#~ "การเข้าวาระในฐานะผู้ใช้อภิสิทธิ์เป็นสิ่งที่ควรหลีกเลี่ยง ด้วยเหตุผลเรื่องการรักษาความปลอดภัย "
+#~ "ถ้าเป็นไปได้ คุณควรเข้าระบบในนามผู้ใช้ปกติแทน"
+
+#~ msgid ""
+#~ "The session might encounter issues if the computer clock is not properly "
+#~ "configured. Please consider adjusting it.\n"
+#~ "\n"
+#~ "Current date is <b>%s</b>."
+#~ msgstr ""
+#~ "วาระนี้อาจพบปัญหาต่างๆ ถ้านาฬิกาของเครื่องไม่ได้ตั้งไว้อย่างถูกต้อง กรุณาตั้งนาฬิกาใหม่\n"
+#~ "\n"
+#~ "วัน-เวลาปัจจุบันของเครื่องคือ <b>%s</b>"
+
+#~ msgid "Failed to launch time configuration tool: %s"
+#~ msgstr "เรียกเครื่องมือตั้งเวลาไม่สำเร็จ: %s"
+
+#~ msgid "The computer clock appears to be wrong"
+#~ msgstr "นาฬิกาของเครื่องไม่ถูกต้อง"
+
+#~ msgid "_Ignore"
+#~ msgstr "ไ_ม่สนใจ"
+
+#~ msgid "_Adjust the Clock"
+#~ msgstr "_ตั้งนาฬิกา"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "ไม่สามารถค้นหาที่อยู่อินเทอร์เน็ตสำหรับ %s \n"
+#~ "ซึ่งจะทำให้ GNOME ทำงานไม่ถูกต้อง\n"
+#~ "อาจจะแก้ปัญหานี้ได้โดยการเพิ่ม %s ลงในแฟ้ม /etc/hosts"
+
+#~ msgid "Try Again"
+#~ msgstr "ลองอีกครั้ง"
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "เลิกคอยเนื่องจากความขัดแย้งบางอย่าง"
+
+#~ msgid "No response to the %s command."
+#~ msgstr "ไม่ได้รับการตอบสนองจากคำสั่ง %s"
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "โปรแกรมอาจจะช้า หยุดทำงาน หรือ ตาย"
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "คุณสามารถรอให้โปรแกรมตอบกลับมา หรือเลือกทิ้งมันไปก็ได้"
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "ยกเลิกการเริ่มการทำงานใหม่เนื่องจากเกิดข้อผิดพลาด"
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "กำลังปิดวาระการทำงาน"
+
+#~ msgid "- Save the current session"
+#~ msgstr "- บันทึกวาระปัจจุบัน"
+
+#~ msgid "Save changes to the current session before closing?"
+#~ msgstr "จะบันทึกรายละเอียดวาระปัจจุบันก่อนปิดหรือไม่?"
+
+#~ msgid "If you don't save, changes will be discarded."
+#~ msgstr "ถ้าคุณไม่บันทึก การเปลี่ยนแปลงต่างๆ จะถูกละทิ้งไป"
+
+#~ msgid "_Close without Saving"
+#~ msgstr "_ปิดโดยไม่บันทึก"
+
+#~ msgid "Your session has been saved."
+#~ msgstr "บันทึกวาระของคุณเรียบร้อย"
+
+#~ msgid "could not connect to the session manager\n"
+#~ msgstr "ติดต่อโปรแกรมจัดการวาระไม่สำเร็จ\n"
+
+#~ msgid "session manager does not support GNOME extensions\n"
+#~ msgstr "โปรแกรมจัดการวาระไม่รองรับส่วนขยายของ GNOME\n"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "ลบโปรแกรมลูกที่ถูกเลือกออกจากวาระ"
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "บังคับใช้ข้อเปลี่ยนแปลงที่เลือกลงในวาระปัจจุบัน"
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "รายการของโปรแกรมที่อยู่ในวาระ"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "โ_ปรแกรมที่กำลังทำงานอยู่:"
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "โปรแกรมจัดการหน้าต่าง Sawfish"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "โปรแกรมจัดการหน้าต่าง Metacity"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "ค่าตั้งของพื้นโต๊ะ"
+
+#~ msgid "New Startup Program"
+#~ msgstr "เพิ่มโปรแกรมเริ่มวาระ"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_รักษารายละเอียดวาระปัจจุบัน"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "_บันทึกรายละเอียดวาระโดยอัตโนมัติ"
+
+#~ msgid "Save the current session"
+#~ msgstr "บันทึกวาระปัจจุบัน"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "ชื่อวาระจะว่างไม่ได้"
+
+#~ msgid "Add a new session"
+#~ msgstr "เพิ่มวาระใหม่"
+
+#~ msgid "Edit session name"
+#~ msgstr "แก้ชื่อวาระ"
+
+#~ msgid "Disable"
+#~ msgstr "ปิดใช้"
+
+#~ msgid "_Edit"
+#~ msgstr "แ_ก้ไข"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "ความเปลี่ยนแปลงบางอย่างไม่ได้ถูกบันทึก \n"
+#~ "คุณยังยืนยันจะจบการทำงานหรือไม่ ?"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "แ_สดงรูปขณะกำลังเข้าสู่ระบบ"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_คำสั่งเรียกเมื่อเริ่มวาระ:"
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "เกิดข้อผิดพลาดที่ไม่รู้จักขณะเริ่มการทำงาน"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "กำลังเตรียมค่าตั้งของวาระ"
+
+#~ msgid "Save Current Session"
+#~ msgstr "บันทึกวาระปัจจุบัน"
+
+#~ msgid "Save current state of desktop"
+#~ msgstr "บันทึกสถานะปัจจุบันของพื้นที่ทำงาน"
diff --git a/po/tk.po b/po/tk.po
new file mode 100644
index 0000000..a912288
--- /dev/null
+++ b/po/tk.po
@@ -0,0 +1,459 @@
+# Turkmen translation of gnome-session
+# Copyright (C) 2004 Free Software Foundation
+# Copyright (C) 2004 Kakilik Project <kakilik.sourceforge.net>
+# This file is distributed under the terms of GNU General Public License (GPL)
+# Gurban Mühemmet Tewekgeli <gmtavakkoli@yahoo.com>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2004-08-13 03:27+0330\n"
+"Last-Translator: Gurban Mühemmet Tewekgeli <gmtavakkoli@yahoo.com>\n"
+"Language-Team: Turkmen <kakilikgroup@yahoo.com>\n"
+"Language: tk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Oturuşyky gaýd et"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr ""
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_Tertib:"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr ""
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Tertib"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr ""
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Program"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Başlanýa"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Gaýd edilýä"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Natanyş"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Ýene Başla"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Zibil"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr ""
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Tenzimler"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr ""
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr ""
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr ""
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr ""
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr ""
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Emel"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_Çyk"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "_Söndir"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "_Kampýuteri ýene başla"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr ""
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr ""
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr ""
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr ""
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr ""
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr ""
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr ""
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr ""
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr ""
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr ""
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr ""
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr ""
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr ""
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr ""
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr ""
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr ""
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr ""
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Täze bir oturşuk ekle"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Oturşuk adyny editle"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Edit"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Oturşuklar"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:284
+msgid "As_k on logout"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Oturşuklar:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Oturşuk Ady"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Häzirki Oturşuk"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr ""
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr ""
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr ""
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr ""
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr ""
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr ""
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr ""
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Sawfish Äpişge Müdiri"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Metacity Äpişge Müdiri"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Äpişge Müdiri"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Panel"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr ""
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr ""
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr ""
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr ""
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr ""
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr ""
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..bc185b3
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,376 @@
+# Turkish translation of gnome-session.
+# Copyright (C) 2001-2003, 2004, 2008, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2012-2022 gnome-session's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+#
+# Sinan İmamoğlu <sinan@myrealbox.com>, 2002-2003.
+# Ömer Fadıl USTA <omer_fad@hotmail.com>, 2002.
+# Fatih Demir <kabalak@kabalak.net>, 2000.
+# Görkem Cetin <gorkem@gelecek.com.tr>, 2001.
+# Arman Aksoy <armish@linux-sevenler.de>, 2003.
+# Baris Cicek <baris@teamforce.name.tr>, 2004, 2008, 2009.
+# Muhammed Eken <gnome@m-eken.com>, 2011.
+# Osman Karagöz <osmank3@gmail.com>, 2013.
+# Ozan Çağlayan <ozancag@gmail.com>, 2013.
+# Gökhan Gurbetoğlu <ggurbet@gmail.com>, 2014.
+# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2013, 2014, 2015.
+# Çağatay Yiğit Şahin <cyigitsahin@outlook.com>, 2017, 2018.
+# Sabri Ünal <libreajans@gmail.com>, 2019.
+# Emin Tufan Çetin <etcetin@gmail.com>, 2017-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-07-31 09:17+0000\n"
+"PO-Revision-Date: 2021-12-17 17:56+0300\n"
+"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
+"Language-Team: Turkish <gnome-turk@gnome.org>\n"
+"Language: tr\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: Gtranslator 41.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Özel"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Bu girdi, kaydedilmiş oturum seçmenizi sağlar"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Bu oturum GNOME’a girmenizi sağlar"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "Wayland üzerinde GNOME"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "Xorg üzerinde GNOME"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Oturumları kaydet"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Etkinse; gnome-session, oturumu kendiliğinden kaydedecektir."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Bu oturumu kaydet"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Etkinleştirildiğinde; gnome-session, kendiliğinden kaydetme devre dışı olsa "
+"bile oturum kapatıldığında sonraki oturumu kendiliğinden kaydedecektir."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Oturum kapatma istemi"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Etkinse; gnome-session, oturumu bitirmeden önce kullanıcıya soracaktır."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Yedeğe dönüş uyarısını göster"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Etkinse; gnome-session, oturum kendiliğinden yedeğe düşmüşse girişin "
+"ardından uyarı penceresi gösterecektir."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Özel Oturum"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Lütfen çalıştırılacak özel oturum seçin"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Yeni Oturum"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "Oturumu _Kaldır"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "Oturumu Yeniden _Adlandır"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "_Sürdür"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Tüh! Bir şeyler yanlış gitti."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Sorun oluştu ve sistem kurtarılamıyor. Lütfen sistem yöneticisine başvurun"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Sorun oluştu ve sistem kurtarılamıyor. Önlem olarak tüm eklentiler devre "
+"dışı bırakıldı."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Sorun oluştu ve sistem kurtarılamıyor.\n"
+"Lütfen çıkış yapın ve yeniden deneyin."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Çıkış"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "Kod hatası ayıklamayı etkinleştir"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Çıkışa izin ver"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Eklenti uyarısını göster"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "Yanıtlamıyor"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "_Çıkış"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Anımsanan Uygulama"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Bu program, oturumu kapatmayı engelliyor."
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Oturum şu anda kapatıldığından yeni istemci bağlantısı reddediliyor\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE dinleme soketi oluşturulamadı: %s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "systemd servisi olarak çalışıyor"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "systemd oturum yönetimini kullan"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "Yerleşik oturum yönetimini kullan (systemd temelli yerine)"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "Standart kendiliğinden başlat dizinlerinin yerine geç"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "KENDILIGINDANBASLAT_DIZINI"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "Kullanılacak oturum"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "OTURUM_ADI"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "Kullanıcıya özel programları yükleme"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "Bu uygulamanın sürümü"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "Sınama için büyük hata iletişim penceresini göster"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "Donanım hızlandırma denetimini devre dışı bırak"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — GNOME oturum yöneticisi"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "gnome-session-shutdown.target’ı başlat"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"stdin’de EOF veya tek bayt alınırken gnome-session-shutdown.target’ı başlat"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Sinyal ilklendirilmesi gnome-session’a tamamlandı"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Çalışıyorsa dbus.service’i yeniden başlat"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "Servis hatasında gnome-session-failed.target’ı ExecStopPost’tan başlat"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Program tam olarak bir parametreye gereksiniyor"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [SEÇENEK…] KOMUT\n"
+"\n"
+"Bazı oturum işlevlerini kısıtlayarak KOMUT çalıştır.\n"
+"\n"
+" -h, --help Bu yardımı göster\n"
+" --version Program sürümünü göster\n"
+" --app-id ID Kısıtlama yapılırken kullanılacak\n"
+" uygulama ID’si (isteğe bağlı)\n"
+" --reason REASON Kısıtlama nedeni (isteğe bağlı)\n"
+" --inhibit ARG Kısıtlamaların virgülle ayrılmış listesi:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only KOMUT’u çalıştırmak yerine sürekli bekle\n"
+" -l, --list Var olan kısıtlamaları göster ve çık\n"
+"\n"
+"Eğer hiç --inhibit seçeneği verilmediyse, idle kısıtı kabul edilir.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s çalıştırılamadı\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s için parametre eksik\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Çıkış"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Bilgisayarı kapat"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Yeniden Başlat"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Var olan tüm engelleyiciler yok sayılıyor"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Kullanıcıdan onay isteme"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Oturum yöneticisine bağlanılamadı"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Program çakışan seçeneklerle çağırıldı"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "%d Oturumu"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Oturum adları “.” ile başlayamaz ve “/” karakterini içeremez"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Oturum adları “.” ile başlayamaz"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Oturum adları “/” karakterini içeremez"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "“%s” adında oturum var"
diff --git a/po/ug.po b/po/ug.po
new file mode 100644
index 0000000..0ee017f
--- /dev/null
+++ b/po/ug.po
@@ -0,0 +1,784 @@
+# Uighur translation for gnome-session
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the gnome-session package.
+# Gheyret T.Kenji <gheyret@yahoo.com>, 2010.
+# Sahran <sahran.ug@gmail.com>, 2010
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-session&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2013-03-23 22:29+0000\n"
+"PO-Revision-Date: 2013-04-06 18:52+0900\n"
+"Last-Translator: Gheyret Kenji <gheyret@gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
+"Language: ug\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-Launchpad-Export-Date: 2010-08-10 08:56+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "بۇيرۇق تاللا"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "قوزغىلىش پروگراممىسى قوش"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "قوزغىلىش پروگرامما تەھرىر"
+
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr "قوزغىلىش بۇيرۇقى بوش قالسا بولمايدۇ."
+
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr "قوزغىلىش بۇيرۇقى ئىناۋەتسىز"
+
+#: ../capplet/gsm-properties-dialog.c:517
+msgid "Enabled"
+msgstr "ئىناۋەتلىك قىلىنغان"
+
+#: ../capplet/gsm-properties-dialog.c:529
+msgid "Icon"
+msgstr "سىنبەلگە"
+
+#: ../capplet/gsm-properties-dialog.c:541
+msgid "Program"
+msgstr "پروگرامما"
+
+#: ../capplet/gsm-properties-dialog.c:745
+msgid "Startup Applications Preferences"
+msgstr "قوزغىلىش پروگرامما مايىللىقى"
+
+#: ../capplet/gsp-app.c:274
+msgid "No name"
+msgstr "ئاتسىز"
+
+#: ../capplet/gsp-app.c:280
+msgid "No description"
+msgstr "چۈشەندۈرۈش يوق"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:284
+msgid "Version of this application"
+msgstr "بۇ پروگراممىنىڭ نەشرى"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "ياردەم پۈتۈكىنى كۆرسەتكىلى بولمىدى"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "گىنوم(GNOME)"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "بۇ ئەڭگىمە سىزنى گىنومغا ئەكىرىدۇ."
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "ئىختىيارى"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "بۇ كىرگۈدە ساقلانغان ئەڭگىمەلەرنى تاللىيالايسىز"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+#| msgid "GNOME"
+msgid "GNOME dummy"
+msgstr "گىنوم dummy"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "ئىختىيارى ئەڭگىمە"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:103
+msgid "Please select a custom session to run"
+msgstr "ئىجرا قىلىدىغان ئىختىيارى ئەڭگىمەنى تاللاڭ"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "يېڭى ئەڭگىمە(_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "ئەڭگىمەنى چىقىرىۋەت(_N)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "ئەڭگىمەنىڭ ئاتىنى ئۆزگەرت(_M)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "داۋاملاشتۇر(_C)"
+
+#: ../data/gsm-inhibit-dialog.ui.h:1 ../gnome-session/gsm-inhibit-dialog.c:514
+msgid "Some programs are still running:"
+msgstr "بەزى پروگراممىلار يەنىلا ئىجرا قىلىنىۋاتىدۇ:"
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Startup Applications"
+msgstr "قوزغىتىش(باشلانغاندا ئىجرا بولىدىغان) پروگراممىلىرى"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Choose what applications to start when you log in"
+msgstr "سىز تىزىمغا كىرگەندىن كېيىن قوزغىتىدىغان پروگراممىنى تاللاڭ"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "قوشۇمچە قوزغىلىش پروگراممىلىرى(_P):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "قوزغىلىش پروگراممىسى"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "تىزىمدىن چىققاندا ئىجرا قىلغان پروگراممىنى ئۆزلۈكىدىن ئەستە تۇت(_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "نۆۋەتتە ئىجرا قىلىنغان پروگراممىلارنى ئەستە تۇت(_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "تاللانما"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "كۆز يۈگۈرت…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "ئىزاھات(_E):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "بۇيرۇق(_M):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "ئاتى(_N):"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "ھۆججەت ئىناۋەتلىك .desktop ھۆججىتى ئەمەس."
+
+#. translators: 'Version' is from a desktop file, and
+#. * should not be translated. '%s' would probably be a
+#. * version number.
+#: ../egg/eggdesktopfile.c:191
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "تونۇيالمىغان ئۈستەلئۈستى ھۆججەت نەشرى ‹%s›"
+
+#: ../egg/eggdesktopfile.c:974
+#, c-format
+msgid "Starting %s"
+msgstr "قوزغىلىۋاتقىنى %s"
+
+#: ../egg/eggdesktopfile.c:1116
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "پروگرامما بۇيرۇق قۇرىدا پۈتۈكنى قوبۇل قىلالمايدۇ"
+
+#: ../egg/eggdesktopfile.c:1184
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "تونۇمايدىغان ئىجرا تاللانمىسى: %d"
+
+#. translators: The 'Type=Link' string is found in a
+#. * desktop file, and should not be translated.
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "URI پۈتۈكنى 'Type=Link' ئۈستەلئۈستى تۈرىگە يوللىيالمىدى."
+
+#: ../egg/eggdesktopfile.c:1412
+#, c-format
+msgid "Not a launchable item"
+msgstr "ئىجراچان تۈر ئەمەس"
+
+#: ../egg/eggsmclient.c:226
+msgid "Disable connection to session manager"
+msgstr "ئەڭگىمە باشقۇرغۇچقا باغلىنىشنى ئىناۋەتسىز قىل"
+
+#: ../egg/eggsmclient.c:229
+msgid "Specify file containing saved configuration"
+msgstr "سەپلىمە ساقلانغان ھۆججەتنى بەلگىلە"
+
+#: ../egg/eggsmclient.c:229
+msgid "FILE"
+msgstr "FILE"
+
+#: ../egg/eggsmclient.c:232
+msgid "Specify session management ID"
+msgstr "ئەڭگىمە باشقۇرغۇ ID سېنى بەلگىلە"
+
+#: ../egg/eggsmclient.c:232
+msgid "ID"
+msgstr "كىملىكى(ID)"
+
+#: ../egg/eggsmclient.c:253
+msgid "Session management options:"
+msgstr "ئەڭگىمە باشقۇرغۇ تاللانمىلىرى:"
+
+#: ../egg/eggsmclient.c:254
+msgid "Show session management options"
+msgstr "ئەڭگىمە باشقۇرغۇ تاللانمىلىرى كۆرسەت"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:286
+msgid "Oh no! Something has gone wrong."
+msgstr "ئاپلا! خاتالىق كۆرۈلدى."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:293
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr "كاشىلا كۆرۈلدى، سىستېمىنى ئەسلىگە كەلتۈرگىلى بولمايدۇ. سىستېما باشقۇرغۇچىسى بىلەن ئالاقە قىلىڭ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:295
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr "سىستېمىدا مەسىلە كۆرۈلۈپ، ئەسلىگە كەلتۈرگىلى بولمىدى. ھەر ئېھتىمالغا قارىشى، بارلىق كېڭەيتىلمىلەر ئىناۋەتسىز قىلىندى."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:297
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr "كاشىلا كۆرۈلدى سىستېمىنى ئەسلىگە كەلتۈرەلمەيدۇ.\n"
+"تىزىمدىن چىقىپ قايتا سىناڭ."
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:312
+#: ../gnome-session/gsm-logout-dialog.c:384
+msgid "_Log Out"
+msgstr "تىزىمدىن چىق(_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:334 ../gnome-session/main.c:282
+msgid "Enable debugging code"
+msgstr "سازلاش كودىنى قوزغات"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:335
+msgid "Allow logout"
+msgstr "چىقىشقا ئىجازەت"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:336
+msgid "Show extension warning"
+msgstr "كېڭەيتىلمە ئاگاھلاندۇرۇشىنى كۆرسەتسۇن"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:462
+msgid "Unknown"
+msgstr "نامەلۇم"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:510
+msgid "A program is still running:"
+msgstr "پروگرامما يەنىلا ئىجرا قىلىنىۋاتىدۇ:"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:511
+msgid ""
+"Waiting for the program to finish. Interrupting the program may cause you to "
+"lose work."
+msgstr "پروگراممىنىڭ تاماملىنىشىنى كۈتۈۋاتىدۇ. ئارىلىقتا ئۈزۈۋەتسە بىر قىسىم ئىشلىگەن خىزمەتلەر يوقىلىشى مۇمكىن."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:515
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you to "
+"lose work."
+msgstr "پروگراممىنىڭ تاماملىنىشىنى كۈتۈۋاتىدۇ. ئارىلىقتا ئۈزۈۋەتسە بىر قىسىم ئىشلىگەن خىزمەتلەر يوقىلىشى مۇمكىن."
+
+#: ../gnome-session/gsm-inhibit-dialog.c:745
+msgid "Switch User Anyway"
+msgstr "ئىشلەتكۈچىنى مەجبۇرىي ئالماشتۇر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:748
+msgid "Log Out Anyway"
+msgstr "تىزىمدىن چىقىۋەر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:751
+msgid "Suspend Anyway"
+msgstr "توڭلىتىۋەر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:754
+msgid "Hibernate Anyway"
+msgstr "ئۈچەككە كىرىۋەر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:757
+msgid "Shut Down Anyway"
+msgstr "تاقاۋەر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:760
+msgid "Restart Anyway"
+msgstr "قايتا قوزغىتىۋەر"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:768
+msgid "Lock Screen"
+msgstr "ئېكراننى قۇلۇپلاش"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:771
+msgid "Cancel"
+msgstr "ئەمەلدىن قالدۇر"
+
+#. This string is shared with gsm-fail-whale-dialog.c
+#: ../gnome-session/gsm-logout-dialog.c:263
+#, c-format
+msgid "You will be automatically logged out in %d second."
+msgid_plural "You will be automatically logged out in %d seconds."
+msgstr[0] "%d سېكۇنتتىن كېيىن ئۆزلۈكىدىن تىزىمدىن چىقىدۇ."
+
+#: ../gnome-session/gsm-logout-dialog.c:271
+#, c-format
+msgid "This system will be automatically shut down in %d second."
+msgid_plural "This system will be automatically shut down in %d seconds."
+msgstr[0] "بۇ سىستېما %d سېكۇنتتىن كېيىن ئۆزلۈكىدىن تاقىلىدۇ."
+
+#: ../gnome-session/gsm-logout-dialog.c:279
+#, c-format
+msgid "This system will be automatically restarted in %d second."
+msgid_plural "This system will be automatically restarted in %d seconds."
+msgstr[0] "سىستېما يەنە %d سېكۇنتتىن كېيىن قايتا قوزغىلىدۇ."
+
+#: ../gnome-session/gsm-logout-dialog.c:303
+#, c-format
+msgid "You are currently logged in as \"%s\"."
+msgstr "نۆۋەتتە «%s» سۈپىتىدە تىزىمغا كىردىڭىز."
+
+#: ../gnome-session/gsm-logout-dialog.c:369
+msgid "Log out of this system now?"
+msgstr "سىستېمىدىن ھازىرلا چىقسۇنمۇ؟"
+
+#: ../gnome-session/gsm-logout-dialog.c:375
+msgid "_Switch User"
+msgstr "ئىشلەتكۈچى ئالماشتۇر(_S)"
+
+#: ../gnome-session/gsm-logout-dialog.c:390
+msgid "Shut down this system now?"
+msgstr "بۇ سىستېمىنى ھازىر تاقامسىز؟"
+
+#: ../gnome-session/gsm-logout-dialog.c:396
+msgid "S_uspend"
+msgstr "توڭلات(_U)"
+
+#: ../gnome-session/gsm-logout-dialog.c:402
+msgid "_Hibernate"
+msgstr "ئۈچەككە كىر(_H)"
+
+#: ../gnome-session/gsm-logout-dialog.c:408
+#: ../gnome-session/gsm-logout-dialog.c:434
+msgid "_Restart"
+msgstr "قايتا قوزغات(_R)"
+
+#: ../gnome-session/gsm-logout-dialog.c:418
+msgid "_Shut Down"
+msgstr "تاقا(_S)"
+
+#: ../gnome-session/gsm-logout-dialog.c:424
+msgid "Restart this system now?"
+msgstr "سىستېمىنى ھازىرلا قايتا قوزغاتسۇنمۇ؟"
+
+#: ../gnome-session/gsm-manager.c:1429 ../gnome-session/gsm-manager.c:2178
+msgid "Not responding"
+msgstr "ئىنكاس يوق"
+
+#: ../gnome-session/gsm-util.c:411
+msgid "_Log out"
+msgstr "چىق(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:558
+msgid "Remembered Application"
+msgstr "پروگراممىنى ئەستە تۇت"
+
+#: ../gnome-session/gsm-xsmp-client.c:1196
+msgid "This program is blocking logout."
+msgstr "بۇ پروگرامما تىزىمدىن چىقىشنى چەكلەيدۇ."
+
+#: ../gnome-session/gsm-xsmp-server.c:341
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "يېڭى ئىشلەتكۈچى باغلىنىشى رەت قىلىندى. چۈنكى ئەڭگىمە تاقىلىۋاتىدۇ\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:610
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "ICE تىڭشاش روزېتكىسى قۇرالمىدى: %s"
+
+#: ../gnome-session/main.c:280
+msgid "Override standard autostart directories"
+msgstr "كۆڭۈلدىكى ئۆزلۈكىدىن قوزغىلىش مۇندەرىجىسىنىڭ ئورنىنى ئىگىلىيەلمىدى"
+
+#: ../gnome-session/main.c:280
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:281
+msgid "Session to use"
+msgstr "ئىشلىتىدىغان ئەڭگىمە"
+
+#: ../gnome-session/main.c:281
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:283
+msgid "Do not load user-specified applications"
+msgstr "ئىشلەتكۈچى بەلگىلىگەن پروگراممىنى يۈكلىمە"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:286
+msgid "Show the fail whale dialog for testing"
+msgstr "سىناش ئۈچۈن fail whale سۆزلەشكۈسىنى كۆرسىتىڭ"
+
+#: ../gnome-session/main.c:320
+msgid " - the GNOME session manager"
+msgstr " گىنوم(GNOME) ئەڭگىمە باشقۇرغۇچ"
+
+#: ../tools/gnome-session-inhibit.c:110
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr "%s [تاللانما...] بۇيرۇق\n"
+"\n"
+"ئەڭگىمە ئىقتىدارلىرى چەكلەپ تۇرۇپ «بۇيرۇق» نى ئىجرا قىلىدۇ.\n"
+"\n"
+" -h, --help بۇ ياردەمنى كۆرسىتىدۇ\n"
+" --version پروگرامما نەشرىنى كۆرسىتىدۇ\n"
+" --app-id ID چەكلەيدىغان چاغدا ئىشلىتىدىغان\n"
+" پروگرامما كىملىكى (ئىختىيار)\n"
+" --reason REASON چەكلەش سەۋەبى (ئىختىيار)\n"
+" --inhibit ARG چەكلەيدىغان نەرسىلەر، پەش بىلەن ئايرىلغان تۆۋەندىكى تىزىمدۇر:\n"
+" logout، switch-user، suspend، idle, automount\n"
+" --inhibit-only «بۇيرۇق» نى ئىجرا قىلماي مەڭگە كۈتۈپ تۇرىدۇ\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+
+#: ../tools/gnome-session-inhibit.c:148
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "%s نى ئىجرا قىلىش مەغلۇپ بولدى\n"
+
+#: ../tools/gnome-session-inhibit.c:208 ../tools/gnome-session-inhibit.c:218
+#: ../tools/gnome-session-inhibit.c:228
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s ئۈچۈن بىر پارامېتىر كېرەك\n"
+
+#: ../tools/gnome-session-selector.c:62
+#, c-format
+msgid "Session %d"
+msgstr "ئەڭگىمە %d"
+
+#: ../tools/gnome-session-selector.c:108
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "ئەڭگىمە ئاتى چېكىت‹.› بىلەن باشلانسا ۋە تەركىبىدە ‹/› بەلگىسى بولسا بولمايدۇ"
+
+#: ../tools/gnome-session-selector.c:112
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "ئەڭگىمە ئاتى چېكىت‹.› بىلەن باشلانسا بولمايدۇ"
+
+#: ../tools/gnome-session-selector.c:116
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "ئەڭگىمە ئاتى تەركىبىدە ‹/› بەلگىسى بولسا بولمايدۇ"
+
+#: ../tools/gnome-session-selector.c:124
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "ئاتى ‹%s› بولغان ئەڭگىمە مەۋجۇت"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Log out"
+msgstr "تىزىمدىن چىق"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Power off"
+msgstr "توكنى ئۈز"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Reboot"
+msgstr "قايتا قوزغات"
+
+#: ../tools/gnome-session-quit.c:56
+msgid "Ignoring any existing inhibitors"
+msgstr "نۆۋەتتىكى چەكلىمە ئامىللىرىغا پەرۋا قىلما"
+
+#: ../tools/gnome-session-quit.c:57
+msgid "Don't prompt for user confirmation"
+msgstr "ئىشلەتكۈچى جەزملەشنى كۆرسەتمە"
+
+#: ../tools/gnome-session-quit.c:91 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "ئەڭگىمە باشقۇرغۇچقا باغلىنالمىدى"
+
+#: ../tools/gnome-session-quit.c:203
+msgid "Program called with conflicting options"
+msgstr "چاقىرغان پروگراممىنىڭ تاللانمىسى ئۆز ئارا توقۇنۇشىدۇ"
+
+#~ msgid "GNOME fallback"
+#~ msgstr "گىنوم زاپاس ھالىتى"
+
+#~ msgid "%d hour"
+#~ msgid_plural "%d hours"
+#~ msgstr[0] "%d سائەت"
+
+#~ msgid "%d minute"
+#~ msgid_plural "%d minutes"
+#~ msgstr[0] "%d مىنۇت"
+
+#~ msgid "%d second"
+#~ msgid_plural "%d seconds"
+#~ msgstr[0] "%d سېكۇنت"
+
+#~ msgid "0 seconds"
+#~ msgstr "0 سېكۇنت"
+
+#~ msgid "Automatic logout in %s"
+#~ msgstr "ئاپتوماتىك چىقىپ كېتىش ۋاقتى %s"
+
+#~ msgid ""
+#~ "This session is configured to automatically log out after a period of "
+#~ "inactivity."
+#~ msgstr ""
+#~ "مەزكۇر ئەڭگىمە، ئەگەر مەلۇم مەزگىل مەشغۇلات قىلىنمىسا ئاپتوماتىك چىقىپ "
+#~ "كېتىدىغان قىلىپ سەپلەنگەن."
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>بەزى پروگراممىلار يەنىلا ئىجرا قىلىنىۋاتىدۇ:</b>"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "مۇلازىمېتىر سەپلەشتە خاتالىق بار.\n"
+#~ "(%s نىڭ چېكىنىش ھالىتى %d)"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "'%s' سىنبەلگىنى تاپالمىدى"
+
+#~| msgid ""
+#~| "A problem has occurred and the system can't recover.\n"
+#~| "Please log out and try again."
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "كاشىلا كۆرۈلدى سىستېمىنى ئەسلىگە كەلتۈرەلمەيدۇ.\n"
+#~ "تىزىمدىن چىقىپ قايتا سىناڭ."
+
+#~ msgid "Exited with code %d"
+#~ msgstr "%d كودى ئىلە چېكىندى"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "سىگنال %d تەرىپىدىن ئۆلتۈرۈلدى"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "سىگنال %d تەرىپىدىن توختىتىلدى"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 نى يۈكلىيەلمىدى"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "ناھايىتى ئەپسۇس GNOME 3 نى توغرا يۈكلىيەلمىدى، <i>زاپاس ھالەت</i>تە "
+#~ "قوزغاتتى."
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "GNOME 3 ھەققىدە تېخىمۇ كۆپ ئۇچۇر"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "كىرىش ئەڭگىمەسىنى قوزغىتالمىدى (X مۇلازىمېتىرىغا باغلىنالمىدى)"
+
+#~ msgid "Window Manager"
+#~ msgstr "كۆزنەك باشقۇرغۇچ"
+
+#~ msgid "Show shutdown dialog"
+#~ msgstr "يېپىش سۆزلەشكۈسىنى كۆرسەت"
+
+#~ msgid "Use dialog boxes for errors"
+#~ msgstr "خاتالىق يۈز بەرگەندە سۆزلەشكۈ ئىشلەت"
+
+#~ msgid "Set the current session name"
+#~ msgstr "نۆۋەتتىكى ئەڭگىمە ئاتى تەڭشىكى"
+
+#~ msgid "NAME"
+#~ msgstr "ئاتى"
+
+#~ msgid "Kill session"
+#~ msgstr "ئەڭگىمەنى ئاخىرلاشتۇر"
+
+#~ msgid "File Manager"
+#~ msgstr "ھۆججەت باشقۇرغۇ"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will prompt the user before ending a session."
+#~ msgstr "ئەگەر قوزغىتىلسا، gnome ئەڭگىمە ئاخىرلىشىشتىن ئىلگىرى ئەسكەرتىدۇ."
+
+#~ msgid "If enabled, gnome-session will save the session automatically."
+#~ msgstr "ئەگەر قوزغىتىلسا، gnome-session ئەڭگىمەنى ئۆزلۈكىدىن ساقلايدۇ."
+
+#~ msgid "List of applications that are part of the default session."
+#~ msgstr "كۆڭۈلدىكى ئەڭگىمە ئۆز ئىچىگە ئالغان پروگرامما تىزىملىكى."
+
+#~ msgid ""
+#~ "List of components that are required as part of the session. (Each "
+#~ "element names a key under \"/desktop/gnome/session/required_components"
+#~ "\"). The Startup Applications preferences tool will not normally allow "
+#~ "users to remove a required component from the session, and the session "
+#~ "manager will automatically add the required components back to the "
+#~ "session at login time if they do get removed."
+#~ msgstr ""
+#~ "ئەڭگىمە ئۆز ئىچىگە ئالغان زۆرۈر بۆلەكلەرنى تىزىپ كۆرسىتىدۇ. (ھەر بىر "
+#~ "ئېلېمېنت \"/desktop/gnome/session/required_components\" نىڭ بىر كۇنۇپكا "
+#~ "قىممىتىگە ۋەكىللىك قىلىدۇ.) پروگراممىنىڭ مايىللىقى قوزغىتىلسا ئادەتتىكى "
+#~ "ئەھۋالدا ئىشلەتكۈچىنىڭ ئەڭگىمەدىن زۆرۈر بۆلەكنى چىقىرىۋېتىشىگە يول "
+#~ "قويمايدۇ، ئەڭگىمە باشقۇرغۇچ زۆرۈر بۆلەك خاتا چىقىرىۋېتىلگەندە بۇ بۆلەكنى "
+#~ "ئۆزلۈكىدىن قوشىدۇ."
+
+#~ msgid "Logout prompt"
+#~ msgstr "تىزىمدىن چىقىش ئەسكەرتىشى"
+
+#~ msgid "Panel"
+#~ msgstr "تاختا"
+
+#~ msgid "Required session components"
+#~ msgstr "زۆرۈر ئەڭگىمە بۆلەكلىرى"
+
+#~ msgid ""
+#~ "The file manager provides the desktop icons and allows you to interact "
+#~ "with your saved files."
+#~ msgstr ""
+#~ "ھۆججەت باشقۇرغۇچ ئۈستەلئۈستى سىنبەلگىسى تەمىنلەپ ساقلانغان ھۆججەت بىلەن "
+#~ "سۆزلىشىشىڭىزگە يول قويىدۇ."
+
+#~ msgid ""
+#~ "The number of minutes of inactivity before the session is considered idle."
+#~ msgstr ""
+#~ "ئەڭگىمە بوش دەپ قارىلىشتىن ئىلگىرىكى ھەرىكەتسىز ھالىتىنىڭ مىنۇت سانى."
+
+#~ msgid ""
+#~ "The panel provides the bar at the top or bottom of the screen containing "
+#~ "menus, the window list, status icons, the clock, etc."
+#~ msgstr ""
+#~ "قوندۇرما تاختا ئېكران ئۈستى ياكى ئاستىدىكى تىزىملىك ئىستونى، كۆزنەك "
+#~ "تىزىملىكى، ھالەت سىنبەلگىسى، سائەت قاتارلىقلارنى ھازىرلايدۇ."
+
+#~ msgid ""
+#~ "The window manager is the program that draws the title bar and borders "
+#~ "around windows, and allows you to move and resize windows."
+#~ msgstr ""
+#~ "كۆزنەك باشقۇرغۇچ ماۋزۇ بالداق، كۆزنەك رامكىسى سىزىشقا ئىشلىتىلىدۇ، كۆزنەك "
+#~ "يۆتكەش ۋە چوڭلۇقىنى ئۆزگەرتىشىڭىزگە يول قويىدۇ."
+
+#~ msgid "Time before session is considered idle"
+#~ msgstr "ئەڭگىمە بوش دەپ قارىلىشتىن ئىلگىرىكى كۈتۈش ۋاقتى"
+
+#~ msgid "GConf key used to look up default session"
+#~ msgstr "كۆڭۈلدىكى ئەڭگىمەنىڭ GConf كۇنۇپكىسىنى كۆرۈشكە ئىشلىتىلىدۇ"
+
+#~ msgid ""
+#~ "Waiting for program to finish. Interrupting program may cause you to "
+#~ "lose work."
+#~ msgstr ""
+#~ "پروگراممىنىڭ تاماملىنىشىنى ساقلاۋاتىدۇ. ئەگەر مەجبۇرى توختىتىۋېتىلسە بىر "
+#~ "قىسىم خىزمەتلەر يوق بولۇپ كېتىشى مۇمكىن."
+
+#~ msgid "Your session has been saved."
+#~ msgstr "ئەڭگىمە ساقلاندى."
+
+#~ msgid "Could not connect to the session bus"
+#~ msgstr "ئەڭگىمە باش لىنىيىسىگە باغلىنالمىدى"
+
+#~ msgid "GNOME Settings Daemon Helper"
+#~ msgstr "GNOME تەڭشەك Daemon ياردەمچىسى"
+
+#~ msgid "Failsafe GNOME"
+#~ msgstr "بىخەتەر GNOME"
+
+#~ msgid "This session logs you into GNOME without user applications"
+#~ msgstr "بۇ ئەڭگىمە سىزنى GNOME غا ئەكىرىدۇ، باشقا پروگرامما قوزغىتىلمايدۇ"
+
+#~ msgid ""
+#~ "If enabled, gnome-session will save the session automatically. Otherwise, "
+#~ "the logout dialog will have an option to save the session."
+#~ msgstr ""
+#~ "ئەگەر قوزغىتىلسا، gnome-session ئەڭگىمەنى ئۆزلۈكىدىن ساقلايدۇ. ياكى "
+#~ "بولمىسا تىزىمدىن چىقىش سۆزلەشكۈسىدە ئەڭگىمە ساقلاش تاللانمىسى بار بولىدۇ."
+
+#~ msgid "Preferred Image to use for login splash screen"
+#~ msgstr "تىزىمغا كىرىشتىكى كۆزنىكىدە ئىشلىتىلىدىغان سۈرەت"
+
+#~ msgid "Show the splash screen"
+#~ msgstr "قوزغىلىش ئېكرانى كۆرسەت"
+
+#~ msgid "Show the splash screen when the session starts up"
+#~ msgstr "ئەڭگىمە باشلانغاندا قوزغىلىش كۆزنىكىنى كۆرسەت"
+
+#~ msgid "Ends your session and logs you out."
+#~ msgstr "ئەڭگىمەنى ئاخىرلاشتۇرۇپ تىزىمدىن چىق."
+
+#~ msgid ""
+#~ "Suspends your session, allowing another user to log in and use the "
+#~ "computer."
+#~ msgstr ""
+#~ "ئەڭگىمەنى ئېسىپ قويۇپ، باشقا ئىشلەتكۈچىلەرنىڭ كىرىپ كومپيۇتېرنى "
+#~ "ئىشلىتىشىگە يول قويۇلىدۇ."
+
+#~ msgid "Shut Down the Computer"
+#~ msgstr "كومپيۇتېرنىڭ توكىنى ئۈز"
+
+#~ msgid "Ends your session and turns off the computer."
+#~ msgstr "ئەڭگىمەنى ئاخىرلاشتۇرۇپ كومپيۇتېرنىڭ توكىنى ئۈز."
+
+#~ msgid "Ends your session and restarts the computer."
+#~ msgstr "ئەڭگىمەنى ئاخىرلاشتۇرۇپ كومپيۇتېرنى قايتا قوزغات."
+
+#~ msgid ""
+#~ "Suspends your session quickly, using minimal power while the computer "
+#~ "stands by."
+#~ msgstr ""
+#~ "ئەڭگىمەنى تېزلىكتە ئېسىپ قويۇلسا كومپيۇتېرغا ناھايىتى ئاز قۇۋۋەت سەرپ "
+#~ "بولىدۇ."
+
+#~ msgid ""
+#~ "Suspends your session, using no power until the computer is restarted."
+#~ msgstr ""
+#~ "ئەڭگىمەنى ئېسىپ قويغاندا كومپيۇتېر قايتا قوزغىلىشتىن ئىلگىرى ھېچقانداق "
+#~ "قۇۋۋەت سەرپ بولمايدۇ."
+
+#~ msgid "Cannot find help."
+#~ msgstr "ياردەمنى تاپالمىدى."
+
+#~ msgid "- GNOME Splash Screen"
+#~ msgstr "- GNOME قوزغىلىش كۆزنىكى"
+
+#~ msgid "GNOME Splash Screen"
+#~ msgstr "GNOME قوزغىلىش كۆزنىكى"
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..9de755e
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,373 @@
+# Ukrainian translation of gnome-core module
+# Copyright (C) 1999-2002 Free Software Foundation, Inc.
+# Yuri Syrota <rasta@renome.rovno.ua>, 1999-2002.
+# Maxim Dziumanenko <dziumanenko@gmail.com>, 2002-2008.
+# Korostil Daniel <ted.korostiled@gmail.com>, 2011, 2012.
+# Re. <ted.korostiled@gmail.com>, 2012.
+# Daniel Korostil <ted.korostiled@gmail.com>, 2013, 2015, 2016.
+# Yuri Chornoivan <yurchor@ukr.net>, 2020, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2021-10-12 21:28+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
+"Language: uk\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-Generator: Lokalize 20.12.0\n"
+"X-Project-Style: gnome\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "Інше"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "Цей запис дозволяє вибрати збережений сеанс"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "Це — сеанс входу в GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "Несправжній GNOME"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME через Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME через Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "Зберігати сеанси"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "Якщо увімкнено, gnome-session автоматично зберігатиме сеанси."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "Зберегти цей сеанс"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"Якщо увімкнено, gnome-session автоматично збереже наступний сеанс під час "
+"виходу із системи, навіть якщо автоматичне збереження вимкнено."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "Попередження про завершення сеансу"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Якщо увімкнено, то gnome-session буде попереджувати користувача перед "
+"завершенням сеансу."
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "Показувати попередження щодо резервного варіанта"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"Якщо увімкнено, gnome-session показуватиме вікно попередження після входу до "
+"системи, якщо сеанс автоматично повернуто до резервного варіанта."
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "Власний сеанс"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "Виберіть власний сеанс для запуску"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "_Створити сеанс"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "_Вилучити сеанс"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "_Перейменувати сеанс"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "Про_довжити"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "Отакої! Щось не так."
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr ""
+"Виникла помилка і систему неможливо відновити. Будь ласка, зв'яжіться з "
+"системним адміністратором"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr ""
+"Виникла помилка і систему неможливо відновити. Всі розширення вимкнуло як "
+"запобіжний засіб."
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"Виникла помилка і систему неможливо відновити.\n"
+"Будь ласка, вийдіть і спробуйте знову."
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "_Завершити сеанс"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "Увімкнути код зневадження"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "Дозволити вихід"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "Показати зауваги розширення"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "Не відповідає"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "Ви_йти"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "Запам'ятована програма"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "Ця програма блокує вихід з системи."
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "Відхиляються нові клієнти, бо система знаходиться у стані вимкнення.\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "Не вдалось створити гніздо прослуховування ICE: %s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "Запущено як службу systemd"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "Використати керування сеансами systemd"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr ""
+"Використовувати вбудоване керування сеансами (а не керування на основі "
+"systemd)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "Перевизначити стандартні каталоги автозапуску"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "САМОЗАПУСКНА_ТЕКА"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "Сеанси, які використовуються"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "НАЗВА_СЕАНСУ"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "Не завантажувати вибрані користувачем програми"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "Версія цієї програми"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "Показувати величезне вікно помилок для випробування "
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "Вимкнути перевіряння на апаратне прискорення"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — керування сеансом GNOME"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "Запустити gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"Запустити gnome-session-shutdown.target, якщо отримано EOF або одинарний "
+"байт у stdin"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "Сигнал завершення ініціалізації для gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "Перезапустити dbus.service, якщо запущено"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr ""
+"Запустити з ExecStopPost, щоб gnome-session-failed.target запускалася, якщо "
+"станеться критична помилка служби"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "Програмі слід передавати точно один параметр"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [ПАРАМЕТР…] КОМАНДА\n"
+"\n"
+"Виконує КОМАНДУ, коли гальмується якась функціональність сеансу.\n"
+"\n"
+" -h, --help Показати цю довідку\n"
+" --version Показати версію програми\n"
+" --app-id ІД Ідентифікатор програми, який використовується\n"
+" під час гальмування (необов'язково)\n"
+" --reason ПРИЧИНА Причина для гальмування (необов'язково)\n"
+" --inhibit ПУНКТ Пункти гальмування, список, розділений комою:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Не запускати КОМАНДУ, натомість завжди чекати\n"
+" -l, --list Вивести список наявних гальмувань і вийти\n"
+"\n"
+"Якщо не вказано параметра --inhibit, допускається бездіяльність.\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "Не вдалося виконати %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s потребує аргумент\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "Завершити сеанс"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "Вимкнути комп'ютер"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "Перезавантажити"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "Ігнорувати будь-які наявні перепони"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "Не вимагати підтвердження від користувача"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "Не вдалось з'єднатись із менеджером сеансів"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "Програму запущено з несумісними параметрами"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "Сеанс %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "Назвам сеансів не дозволено починатись з «.» або містити символи «/»"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "Назвам сеансів не дозволено починатись з «.»"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "Назвам сеансів не дозволено містити символи «/»"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "Сеанс з назвою «%s» вже існує"
diff --git a/po/uz.po b/po/uz.po
new file mode 100644
index 0000000..df8e335
--- /dev/null
+++ b/po/uz.po
@@ -0,0 +1,523 @@
+# translation of gnome-session-2.0 to Uzbek
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Nurali Abdurahmonov <mavnur@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-01-07 20:40+0500\n"
+"PO-Revision-Date: 2009-01-08 19:52+0500\n"
+"Last-Translator: Nurali Abdurahmonov <mavnur@gmail.com>\n"
+"Language-Team: Uzbek\n"
+"Language: uz\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: KBabel 1.11.4\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Buyruqni tanlash"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr ""
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr "Taʼrif yoʻq"
+
+#: ../capplet/gsm-properties-dialog.c:977
+msgid "The name of the startup program cannot be empty"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:981
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:987
+msgid "The startup command is not valid"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:1291
+msgid "Enabled"
+msgstr "Yoqilgan"
+
+#: ../capplet/gsm-properties-dialog.c:1304
+msgid "Icon"
+msgstr "Nishoncha"
+
+#: ../capplet/gsm-properties-dialog.c:1315
+msgid "Program"
+msgstr "Dastur"
+
+#: ../capplet/gsm-properties-dialog.c:1465
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "Seans parametrlari"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr "Dastur versiyasi"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ushbu seans GNOME'ga kirishingizni taʼminlaydi"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "Andoza seans"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "Fayl boshqaruvchisi"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Agar belgilansa , gnome-session seansni tugatishdan avval foydalanuvchini ogohlantiradi."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Panel"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "Kerakli seans komponentlari"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Seanslarni saqlash"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Seansdan chiqish dialogidagi tanlangan parametr"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Splesh oynasini koʻrsatish"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Seans boshlanganda splesh oynasini koʻrsatish"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Oyna boshqaruvchisi"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Baʼzi dasturlar hozir ham ishlamoqda:</b>"
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Seanslarni boshqaring"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Seanslar"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Qoʻshimcha avto-ishga tushadigan _dasturlar:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Tanlash..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "Buy_ruq:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "_Izoh:"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Parametrlar"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Avto-ishga tushadigan dasturlar"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr "Seansdan chiqilayotganda ishlab turgan dasturlarni _avtomatik eslab qolish"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Nomi:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "Joriy ishlayotgan dasturni _eslab qolish"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Aniqlanmagan '%s' desktop fayli versiyasi"
+
+#: ../egg/eggdesktopfile.c:962
+#, c-format
+msgid "Starting %s"
+msgstr "%s ishga tushirilmoqda"
+
+#: ../egg/eggdesktopfile.c:1096
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1164
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Tanilmagan ishga tushirish opsiyasi: %d"
+
+#: ../egg/eggdesktopfile.c:1372
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Not a launchable item"
+msgstr "Element ishga tushiriladigan emas"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "Saqlangan moslamalar mavjud boʻlgan faylni koʻrsating"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "FAYL"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "Seans boshqaruvi ID'ni koʻrsating"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:241
+msgid "Session Management Options"
+msgstr "Seans boshqaruvi parametrlari"
+
+#: ../egg/eggsmclient.c:242
+msgid "Show Session Management options"
+msgstr "Seans boshqaruvi parametrlarini koʻrsatish"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "'%s' nishonchasi topildi"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Nomaʼlum"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+msgid "Logout Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Hibernate Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Shutdown Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Reboot Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr "Ekranni qulflash"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr "Bekor qilish"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr "Foydalanuvchini _oʻzgartirish"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "_Log Out"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr "Kompyuter oʻchirilsinmi?"
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr "_Kutish usuli"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr "_Uxlash usuli"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "_Restart"
+msgstr "_Oʻchirib-yoqish"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+msgid "_Shut Down"
+msgstr "_Oʻchirish"
+
+#: ../gnome-session/gsm-manager.c:911 ../gnome-session/gsm-manager.c:1528
+msgid "Not responding"
+msgstr "Javob bermayapti"
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr "Foydalanuvchi dasturlari ishga tushirilmasin"
+
+#: ../gnome-session/main.c:528
+msgid " - the GNOME session manager"
+msgstr " - GNOME seans boshqaruvchisi"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- GNOME splesh oynasi"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "GNOME splesh oynasi"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Joriy seans nomini belgilash"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "NOMI"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Seansni tugatish"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr "Seansni tugatish dialogini koʻrsatish"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr "Kompyuterni oʻchirish dialogini koʻrsatish"
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Xatolar uchun dialog qutisidan foydalanish"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Tasdiqlash soʻralmasin"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Seans boshqaruvchisiga bogʻlanib boʻlmadi"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
diff --git a/po/uz@cyrillic.po b/po/uz@cyrillic.po
new file mode 100644
index 0000000..6301b91
--- /dev/null
+++ b/po/uz@cyrillic.po
@@ -0,0 +1,523 @@
+# translation of gnome-session-2.0 to Uzbek
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gnome-session package.
+#
+# Nurali Abdurahmonov <mavnur@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session-2.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-01-07 20:40+0500\n"
+"PO-Revision-Date: 2009-01-08 19:52+0500\n"
+"Last-Translator: Nurali Abdurahmonov <mavnur@gmail.com>\n"
+"Language-Team: Uzbek\n"
+"Language: uz@cyrillic\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: KBabel 1.11.4\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+msgid "Select Command"
+msgstr "Буйруқни танлаш"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr ""
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr "Таъриф йўқ"
+
+#: ../capplet/gsm-properties-dialog.c:977
+msgid "The name of the startup program cannot be empty"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:981
+msgid "The startup command cannot be empty"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:987
+msgid "The startup command is not valid"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:1291
+msgid "Enabled"
+msgstr "Ёқилган"
+
+#: ../capplet/gsm-properties-dialog.c:1304
+msgid "Icon"
+msgstr "Нишонча"
+
+#: ../capplet/gsm-properties-dialog.c:1315
+msgid "Program"
+msgstr "Дастур"
+
+#: ../capplet/gsm-properties-dialog.c:1465
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr "Сеанс параметрлари"
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr "Дастур версияси"
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "Ушбу сеанс GNOME'га киришингизни таъминлайди"
+
+#: ../data/gnome-session.schemas.in.h:1
+msgid "Default session"
+msgstr "Андоза сеанс"
+
+#: ../data/gnome-session.schemas.in.h:2
+msgid "File Manager"
+msgstr "Файл бошқарувчиси"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "Агар белгиланса , gnome-session сеансни тугатишдан аввал фойдаланувчини огоҳлантиради."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:5
+msgid "List of applications that are part of the default session."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:8
+msgid "Panel"
+msgstr "Панел"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr "Керакли сеанс компонентлари"
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Сеансларни сақлаш"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr "Сеансдан чиқиш диалогидаги танланган параметр"
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Сплэш ойнасини кўрсатиш"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Сеанс бошланганда сплэш ойнасини кўрсатиш"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:20 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Ойна бошқарувчиси"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr "<b>Баъзи дастурлар ҳозир ҳам ишламоқда:</b>"
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Сеансларни бошқаринг"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Сеанслар"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Қўшимча авто-ишга тушадиган _дастурлар:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr "Танлаш..."
+
+#: ../data/session-properties.glade.h:3
+msgid "Co_mmand:"
+msgstr "Буй_руқ:"
+
+#: ../data/session-properties.glade.h:4
+msgid "Comm_ent:"
+msgstr "_Изоҳ:"
+
+#: ../data/session-properties.glade.h:5
+msgid "Options"
+msgstr "Параметрлар"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Авто-ишга тушадиган дастурлар"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr "Сеансдан чиқилаётганда ишлаб турган дастурларни _автоматик эслаб қолиш"
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr "_Номи:"
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr "Жорий ишлаётган дастурни _эслаб қолиш"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "Аниқланмаган '%s' desktop файли версияси"
+
+#: ../egg/eggdesktopfile.c:962
+#, c-format
+msgid "Starting %s"
+msgstr "%s ишга туширилмоқда"
+
+#: ../egg/eggdesktopfile.c:1096
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1164
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "Танилмаган ишга тушириш опцияси: %d"
+
+#: ../egg/eggdesktopfile.c:1372
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Not a launchable item"
+msgstr "Элемент ишга тушириладиган эмас"
+
+#: ../egg/eggsmclient.c:185
+msgid "Disable connection to session manager"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr "Сақланган мосламалар мавжуд бўлган файлни кўрсатинг"
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr "ФАЙЛ"
+
+#: ../egg/eggsmclient.c:191
+msgid "Specify session management ID"
+msgstr "Сеанс бошқаруви ID'ни кўрсатинг"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:241
+msgid "Session Management Options"
+msgstr "Сеанс бошқаруви параметрлари"
+
+#: ../egg/eggsmclient.c:242
+msgid "Show Session Management options"
+msgstr "Сеанс бошқаруви параметрларини кўрсатиш"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr "'%s' нишончаси топилди"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Номаълум"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+msgid "Logout Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+msgid "Hibernate Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+msgid "Shutdown Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+msgid "Reboot Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr "Экранни қулфлаш"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr "Бекор қилиш"
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr "Фойдаланувчини _ўзгартириш"
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+msgid "_Log Out"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr "Компьютер ўчирилсинми?"
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr "_Кутиш усули"
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr "_Ухлаш усули"
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+msgid "_Restart"
+msgstr "_Ўчириб-ёқиш"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+msgid "_Shut Down"
+msgstr "_Ўчириш"
+
+#: ../gnome-session/gsm-manager.c:911 ../gnome-session/gsm-manager.c:1528
+msgid "Not responding"
+msgstr "Жавоб бермаяпти"
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr "Фойдаланувчи дастурлари ишга туширилмасин"
+
+#: ../gnome-session/main.c:528
+msgid " - the GNOME session manager"
+msgstr " - GNOME сеанс бошқарувчиси"
+
+#: ../splash/gnome-session-splash.c:315
+msgid "- GNOME Splash Screen"
+msgstr "- GNOME сплэш ойнаси"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr "GNOME сплэш ойнаси"
+
+#: ../tools/gnome-session-save.c:65
+msgid "Set the current session name"
+msgstr "Жорий сеанс номини белгилаш"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr "НОМИ"
+
+#: ../tools/gnome-session-save.c:66
+msgid "Log out"
+msgstr "Сеансни тугатиш"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr "Сеансни тугатиш диалогини кўрсатиш"
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr "Компьютерни ўчириш диалогини кўрсатиш"
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:71
+msgid "Use dialog boxes for errors"
+msgstr "Хатолар учун диалог қутисидан фойдаланиш"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr "Тасдиқлаш сўралмасин"
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Сеанс бошқарувчисига боғланиб бўлмади"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..1d86481
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,403 @@
+# Vietnamese translation for gnome-shell-extensions.
+# Copyright © 2016 GNOME i18n Project for Vietnamese.
+# This file is distributed under the same license as the gnome-shell-extensions package.
+# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2011.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2014, 2016-2017, 2021-2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-shell-extensions main\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
+"issues\n"
+"POT-Creation-Date: 2022-03-29 15:31+0000\n"
+"PO-Revision-Date: 2022-04-03 14:48+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Gtranslator 3.38.0\n"
+
+#: data/gnome-classic.desktop.in:3
+msgid "GNOME Classic"
+msgstr "GNOME cổ điển"
+
+#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
+#: data/gnome-classic-xorg.desktop.in:4
+msgid "This session logs you into GNOME Classic"
+msgstr "Phiên làm việc này đăng nhập bạn vào GNOME cổ điển"
+
+#: data/gnome-classic-wayland.desktop.in:3
+msgid "GNOME Classic on Wayland"
+msgstr "GNOME cổ điển trên Wayland"
+
+#: data/gnome-classic-xorg.desktop.in:3
+msgid "GNOME Classic on Xorg"
+msgstr "GNOME cổ điển trên Xorg"
+
+#: extensions/apps-menu/extension.js:118
+msgid "Favorites"
+msgstr "Ưa thích"
+
+#: extensions/apps-menu/extension.js:379
+msgid "Applications"
+msgstr "Ứng dụng"
+
+#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
+msgid "Application and workspace list"
+msgstr "Danh sách ứng dụng và không gian làm việc"
+
+#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
+msgid ""
+"A list of strings, each containing an application id (desktop file name), "
+"followed by a colon and the workspace number"
+msgstr ""
+"Một danh sách chuỗi, mỗi chuỗi là một mã số của ứng dụng (tên tập tin ."
+"desktop), theo sau là dấu hai chấm và mã số không gian làm việc"
+
+#: extensions/auto-move-windows/prefs.js:152
+msgid "Workspace Rules"
+msgstr "Thước Không gian làm việc"
+
+#: extensions/auto-move-windows/prefs.js:306
+msgid "Add Rule"
+msgstr "Thêm quy tắc"
+
+#. TRANSLATORS: %s is the filesystem name
+#: extensions/drive-menu/extension.js:126
+#: extensions/places-menu/placeDisplay.js:210
+#, javascript-format
+msgid "Ejecting drive “%s” failed:"
+msgstr "Gặp lỗi khi đẩy hệ thống tập tin “%s” ra:"
+
+#: extensions/drive-menu/extension.js:145
+msgid "Removable devices"
+msgstr "Đĩa di động"
+
+#: extensions/drive-menu/extension.js:167
+msgid "Open Files"
+msgstr "Mở tập tin"
+
+#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
+msgid "Use more screen for windows"
+msgstr "Dùng nhiều màn hình cho các cửa sổ"
+
+#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
+msgid ""
+"Try to use more screen for placing window thumbnails by adapting to screen "
+"aspect ratio, and consolidating them further to reduce the bounding box. "
+"This setting applies only with the natural placement strategy."
+msgstr ""
+"Hãy thử dùng nhiều màn hình để đặt ảnh thu nhỏ của cửa sổ bằng cách chỉnh "
+"sửa cho thích hợp với tỷ lệ dạng màn hình, và hợp nhất chúng hơn nữa để giảm "
+"bớt ô hạn biên. Cài đặt này chỉ áp dụng với chiến lược sắp đặt tự nhiên."
+
+#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
+msgid "Place window captions on top"
+msgstr "Đặt thanh tiêu đề cửa sổ ở trên đỉnh"
+
+#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
+msgid ""
+"If true, place window captions on top the respective thumbnail, overriding "
+"shell default of placing it at the bottom. Changing this setting requires "
+"restarting the shell to have any effect."
+msgstr ""
+"Nếu chọn, đặt thanh tiêu đề của cửa sổ trên đỉnh của ảnh thu nhỏ tương ứng, "
+"đè lên cách ứng xử mặc định của hệ vỏ là ở dưới đáy. Những thay đổi này cần "
+"khởi động lại hệ vỏ để có tác dụng."
+
+#: extensions/places-menu/extension.js:94
+#: extensions/places-menu/extension.js:97
+msgid "Places"
+msgstr "Mở nhanh"
+
+#: extensions/places-menu/placeDisplay.js:49
+#, javascript-format
+msgid "Failed to launch “%s”"
+msgstr "Gặp lỗi khi khởi chạy \"%s\""
+
+#: extensions/places-menu/placeDisplay.js:64
+#, javascript-format
+msgid "Failed to mount volume for “%s”"
+msgstr "Gặp lỗi khi gắn đĩa cho “%s”"
+
+#: extensions/places-menu/placeDisplay.js:125
+#: extensions/places-menu/placeDisplay.js:148
+msgid "Computer"
+msgstr "Máy tính"
+
+#: extensions/places-menu/placeDisplay.js:336
+msgid "Home"
+msgstr "Thư mục riêng"
+
+#: extensions/places-menu/placeDisplay.js:381
+msgid "Browse Network"
+msgstr "Duyệt mạng"
+
+#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
+msgid "Cycle Screenshot Sizes"
+msgstr "Đổi kích thước cửa sổ để chụp màn hình"
+
+#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
+msgid "Cycle Screenshot Sizes Backward"
+msgstr "Đổi kích thước cửa sổ để chụp màn hình ngược lại"
+
+#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
+msgid "Theme name"
+msgstr "Tên chủ đề"
+
+#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
+msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
+msgstr "Tên của chủ đề, được tải từ ~/.themes/name/gnome-shell"
+
+#: extensions/window-list/extension.js:72
+msgid "Close"
+msgstr "Đóng"
+
+#: extensions/window-list/extension.js:92
+msgid "Unminimize"
+msgstr "Thôi thu nhỏ"
+
+#: extensions/window-list/extension.js:92
+msgid "Minimize"
+msgstr "Thu nhỏ"
+
+#: extensions/window-list/extension.js:99
+msgid "Unmaximize"
+msgstr "Thôi phóng hết cỡ"
+
+#: extensions/window-list/extension.js:99
+msgid "Maximize"
+msgstr "Phóng to hết cỡ"
+
+#: extensions/window-list/extension.js:441
+msgid "Minimize all"
+msgstr "Thu nhỏ tất cả"
+
+#: extensions/window-list/extension.js:447
+msgid "Unminimize all"
+msgstr "Thôi thu nhỏ tất cả"
+
+#: extensions/window-list/extension.js:453
+msgid "Maximize all"
+msgstr "Phóng to tất cả"
+
+#: extensions/window-list/extension.js:461
+msgid "Unmaximize all"
+msgstr "Thôi phóng to tất cả"
+
+#: extensions/window-list/extension.js:469
+msgid "Close all"
+msgstr "Đóng tất cả"
+
+#: extensions/window-list/extension.js:753
+msgid "Window List"
+msgstr "Danh sách cửa sổ"
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
+msgid "When to group windows"
+msgstr "Khi nào thì nhóm các cửa sổ lại"
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
+msgid ""
+"Decides when to group windows from the same application on the window list. "
+"Possible values are “never”, “auto” and “always”."
+msgstr ""
+"Quyết định khi nào thì nhóm các cửa sổ của cùng một ứng dụng trên danh sách "
+"cửa số. Các giá trị có thể là “never”, “auto” và “always”."
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
+#: extensions/window-list/prefs.js:79
+msgid "Show windows from all workspaces"
+msgstr "Hiển thị các cửa sổ trong mọi không gian làm việc"
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
+msgid "Whether to show windows from all workspaces or only the current one."
+msgstr ""
+"Có hiển thị các cửa sổ từ mọi không gian làm việc hay chỉ trên màn hình hiện "
+"tại mà thôi."
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
+msgid "Show the window list on all monitors"
+msgstr "Hiển thị danh sách cửa sổ ở mọi màn hình"
+
+#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
+msgid ""
+"Whether to show the window list on all connected monitors or only on the "
+"primary one."
+msgstr ""
+"Có hiển thị danh sách cửa sổ trên mọi màn hình đã kết nối hay chỉ trên màn "
+"hình chính mà thôi."
+
+#: extensions/window-list/prefs.js:35
+msgid "Window Grouping"
+msgstr "Nhóm cửa sổ lại"
+
+#: extensions/window-list/prefs.js:40
+msgid "Never group windows"
+msgstr "Không bao giờ nhóm các cửa sổ lại với nhau"
+
+#: extensions/window-list/prefs.js:41
+msgid "Group windows when space is limited"
+msgstr "Nhóm các cửa sổ lại với nhau khi không đủ chỗ"
+
+#: extensions/window-list/prefs.js:42
+msgid "Always group windows"
+msgstr "Luôn nhóm các cửa sổ lại với nhau"
+
+#: extensions/window-list/prefs.js:66
+msgid "Show on all monitors"
+msgstr "Hiển thị trên mọi màn hình"
+
+#: extensions/window-list/workspaceIndicator.js:261
+#: extensions/workspace-indicator/extension.js:266
+msgid "Workspace Indicator"
+msgstr "Ô chỉ thị không gian làm việc"
+
+#: extensions/workspace-indicator/prefs.js:62
+#, javascript-format
+msgid "Workspace %d"
+msgstr "Không gian làm việc %d"
+
+#: extensions/workspace-indicator/prefs.js:129
+msgid "Workspace Names"
+msgstr "Tên không gian làm việc"
+
+#: extensions/workspace-indicator/prefs.js:255
+msgid "Add Workspace"
+msgstr "Thêm Không gian làm việc"
+
+#~ msgid "Attach modal dialog to the parent window"
+#~ msgstr "Gắn hộp thoại dạng luôn nằm trên cửa sổ mẹ"
+
+#~ msgid ""
+#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
+#~ msgstr ""
+#~ "Khóa này sẽ đè lên khóa có trong org.gnome.mutter khi chạy Hệ vỏ GNOME."
+
+#~ msgid "Arrangement of buttons on the titlebar"
+#~ msgstr "Sắp xếp các nút trên thanh tiêu đề"
+
+#~ msgid ""
+#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
+#~ "running GNOME Shell."
+#~ msgstr ""
+#~ "Khóa này sẽ đè lên khóa có trong org.gnome.desktop.wm.preferences khi "
+#~ "đang chạy Hệ vỏ GNOME."
+
+#~ msgid "Enable edge tiling when dropping windows on screen edges"
+#~ msgstr "Bật xếp lớp ở cạnh khi thả cửa sổ vào cạnh màn hình"
+
+#~ msgid "Workspaces only on primary monitor"
+#~ msgstr "Không gian làm việc chỉ ở trên màn hình chính"
+
+#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
+#~ msgstr "Khoảng trễ chờ cho con chuột ngừng di chuyển"
+
+#~ msgid "Thumbnail only"
+#~ msgstr "Chỉ ảnh nhỏ"
+
+#~ msgid "Application icon only"
+#~ msgstr "Chỉ có ảnh nhỏ đại diện cho ứng dụng"
+
+#~ msgid "Thumbnail and application icon"
+#~ msgstr "Ảnh thu nhỏ và biểu tượng của ứng dụng"
+
+#~ msgid "Present windows as"
+#~ msgstr "Cửa sổ hiện tại như là"
+
+#~ msgid "Activities Overview"
+#~ msgstr "Tổng quan hoạt động"
+
+#~ msgid "Application"
+#~ msgstr "Ứng dụng"
+
+#~ msgid "Create new matching rule"
+#~ msgstr "Tạo mới một quy tắc khớp mẫu"
+
+#~ msgid "Add"
+#~ msgstr "Thêm"
+
+#~ msgid "Hello, world!"
+#~ msgstr "Xin chào!"
+
+#~ msgid "Alternative greeting text."
+#~ msgstr "Lời chào thay thế."
+
+#~ msgid ""
+#~ "If not empty, it contains the text that will be shown when clicking on "
+#~ "the panel."
+#~ msgstr ""
+#~ "Nếu không rỗng, nó sẽ chứa chữ mà chữ này sẽ được hiển thị khi bấm chuột "
+#~ "trên bảng điều khiển."
+
+#~ msgid "Message"
+#~ msgstr "Thông báo"
+
+#~ msgid ""
+#~ "Example aims to show how to build well behaved extensions for the Shell "
+#~ "and as such it has little functionality on its own.\n"
+#~ "Nevertheless it’s possible to customize the greeting message."
+#~ msgstr ""
+#~ "Ví dụ có mục đích hướng dẫn làm cách nào để xây dựng các phần mở rộng "
+#~ "chạy tốt cho Hệ vỏ và do vậy nó chỉ có một ít chức năng.\n"
+#~ "Tuy thế nó có khả năng cá nhân hóa lời chào."
+
+#~ msgid "Name"
+#~ msgstr "Tên"
+
+#~ msgid "CPU"
+#~ msgstr "CPU"
+
+#~ msgid "Memory"
+#~ msgstr "Bộ nhớ"
+
+#~ msgid "GNOME Shell Classic"
+#~ msgstr "Hệ vỏ GNOME cổ điển"
+
+#~ msgid "Window management and application launching"
+#~ msgstr "Quản lý cửa sổ và chạy ứng dụng"
+
+#~ msgid "Suspend"
+#~ msgstr "Ngừng"
+
+#~ msgid "Hibernate"
+#~ msgstr "Ngủ đông"
+
+#~ msgid "Power Off"
+#~ msgstr "Tắt máy"
+
+#~ msgid "Enable suspending"
+#~ msgstr "Cho phép tạm dừng"
+
+#~ msgid "Control the visibility of the Suspend menu item"
+#~ msgstr "Cấu hình trình đơn con “Tạm dừng” hiện hay ẩn đi"
+
+#~ msgid "Enable hibernating"
+#~ msgstr "Cho phép ngủ đông"
+
+#~ msgid "Control the visibility of the Hibernate menu item"
+#~ msgstr "Cấu hình trình đơn con “Ngủ đông” hiện hay ẩn đi"
+
+#~ msgid "Normal"
+#~ msgstr "Bình thường"
+
+#~ msgid "Left"
+#~ msgstr "Trái"
+
+#~ msgid "Right"
+#~ msgstr "Phải"
+
+#~ msgid "Upside-down"
+#~ msgstr "Trên-xuống"
+
+#~ msgid "Display"
+#~ msgstr "Hiển thị"
+
+#~ msgid "Display Settings"
+#~ msgstr "Cài đặt hiển thị"
+
+#~ msgid "Notifications"
+#~ msgstr "Thông báo"
diff --git a/po/wa.po b/po/wa.po
new file mode 100644
index 0000000..746d423
--- /dev/null
+++ b/po/wa.po
@@ -0,0 +1,499 @@
+# Traduction into the walloon language.
+#
+# Si vos voloz donner on côp di spale pol ratournaedje di Gnome (ou des
+# ôtes libes programes) sicrijhoz-mu a l' adresse emile
+# <srtxg@chanae.alphanet.ch>; nos avons co bråmint di l' ovraedje a fé.
+#
+# Copyright (C) 1999,2002 Free Software Foundation, Inc.
+# Pablo Saratxaga <srtxg@chanae.alphanet.ch> 1999-2002
+# Lucyin Mahin, 2000
+# Lorint Hendschel <LorintHendschel@skynet.be>, 1999-2000.
+# Pablo Saratxaga <pablo@walon.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 1.5.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-04-01 20:45+0200\n"
+"PO-Revision-Date: 2005-04-02 00:50+0200\n"
+"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"Language: wa\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"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Permete les raloyaedjes rantoele TCP"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Po des råjhons di såvrité, so les platfômes k' ont «_IceTcpTransNoListen"
+"()» (les sistinmes XFree86), gnome-session ni schoûte nén po les raloyaedjes "
+"rantoele so les pôrts TCP. Cisse tchuze chal permete les raloyaedjes a pårti "
+"di lodjoes (otorijhîs) då lon. gnome-session doet esse renondé po cisse "
+"tchuze si mete en alaedje."
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"S' il est metou, gnome-session dmandrè a l' uzeu d' acertiner divant di "
+"clôre li session."
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Si metou, gnome-session schaprè otomaticmint les sessions. Ôtrumint, li "
+"purnea di dmande di dislodjaedje a-st ene tchuze po schaper l' session."
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Prompt di dislodjaedje"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid "Preferred Image to use for login splash screen"
+msgstr "Preferêye imådje a-z eployî pol purnea di bénvnowe"
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Schaper les sessions"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Mostrer li purnea di bénvnowe"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "Mostrer li purnea di bénvnowe å moumint di l' elodjaedje"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Çouchal c' est ene valixhance k' est on tchmin relatif a pårti do ridant "
+"$datadir/pixmaps/ Les dzo-ridants eyet les nos d' fitchîs sont des "
+"valixhances valides. On candjmint del valixhance serè-st efectif a "
+"l' elodjaedje shuvant."
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "Ô_re:"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "L' ôre ki les programes sont-st enondés el session."
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Çou k' arive å programe cwand on cwite li session."
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Stîle:"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Ôre"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Stîle"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Estat"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Programe"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Essocté"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Ratindant po s' enonder oudonbén il a ddja fini."
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "S' enondant"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Dedja enondé mins ki n' a nén co rapoirté si estat."
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "En alaedje"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "On mimbe normå del session (programe en alaedje)."
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Schapant"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Schapant l' apontiaedje des detays pol session."
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Nén cnoxhou"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Estat nén rapoirté et li tårdjaedje est houte."
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Normå"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Nén afecté pal fén del session, mins i pout mori."
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Renonder"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Ni pout måy mori (i ravicrè)."
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Batch"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Oisté al fén del session et pout mori."
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Apontiaedjes"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Tofer enondé po tchaeke session."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Åk n' a nén stî tot-z enondant li démon d' apontiaedjes di Gnome.\n"
+"\n"
+"Sacwantès sacwès, come les tinmes, les sons, ou l' apontiaedje do fond del "
+"waitroûle, pôrént n' nén roter comifåt."
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Li dierin messaedje d' aroke fourit:\n"
+"\n"
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"Gnome va tot l' minme rissayî d' enonder li démon d' apontiaedjes li côp ki "
+"vént k' vos vs elodjroz."
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "I gn a-st avou ene aroke d' activaedje nén cnoxhowe."
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Li démon d' apontiaedjes a stî renondé pår trop d' feyes."
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Estoz vs seur di vs voleur dislodjî?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "_Schaper l' apontiaedje do moumint"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Accion"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "Si _dislodjî"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "Dis_tinde l' éndjole"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "_Renonder li copiutrece"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Specifyî on no di session a tcherdjî"
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Èn lére les schapêyès sessions ki foû do fitchî «default.session»"
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr "Tins (e milisegondes) a ratinde po on cliyint s' eredjistrer (0=tofer)"
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr "Tins (e milisegondes) a ratinde po on cliyint responde (0=tofer)"
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr "Tins (e milisegondes) a ratinde po on cliyint mori (0=tofer)"
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Dji n' sai cweri l' adresse Internet po %s.\n"
+"Çoula va fé ki GNOME ni pôrè nén roter comifåt.\n"
+"Si sreut possibe di coridjî l' problinme e metant\n"
+"%s el fitchî /etc/hosts."
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "S' elodjî tot l' minme"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Sayîz co on côp"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Vosse session a stî schapêye"
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Dji n' ratind pus: i gn a deus sacwès ki n' vont nén eshonne"
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Nole response al comande %s."
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "I s' pôreut ki li programe soeye londjin, djoké ou scheté."
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Vos poloz rawårder ene response - oudonbén el oister!"
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr ""
+"Renonder on programe k' a stî passé houte cåze des arokes tot l' enondant."
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Li session est ki s' clôt pol moumint"
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Definixh li session do moumint"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Touwer li session"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Eployî des purneas di messaedje"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Dji n' a nén parvnou a m' adjonde å manaedjeu des sessions"
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Li no del session ni pout nén esse vude"
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Ci no di session egzistêye dedja"
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Radjouter ene novele session"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Candjî l' no del session"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Candjî..."
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Sacwants candjmints n' ont nén stî schapés.\n"
+"Estoz todi d' acoird di moussî foû?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Sessions"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Mostrer li purnea di bénvnowe å moumint di l' e_lodjaedje"
+
+#: gnome-session/session-properties-capplet.c:284
+msgid "As_k on logout"
+msgstr "Di_mander å moumint di s' dislodjî"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Schaper otomaticmint les cand_jmints del session"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Sessions:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "No del session"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Tchuzes del session"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Session do moumint"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "_Programes di rawete a l' enondaedje:"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Comande"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Programes a l' enondaedje"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Oister del session li cliyint tchoezi pol moumint."
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Mete en ouve les candjmints pol session do moumint"
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Li djivêye des programes del session."
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "_Programes en alaedje pol moumint:"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Dj' enonde l' apontiaedje del session"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Apontyî vos sessions"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Manaedjeu di purneas Sawfish"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Manaedjeu di purneas Metacity"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Manaedjeu di purneas"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Li scriftôr"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Procsi pol manaedjeu di sessions"
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Apontiaedjes do scribanne"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "Comande d' _enondaedje"
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Comande d' enondaedje"
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Li cmande d' enondaedje ni pout nén esse vude"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Radjouter on programe d' enondaedje"
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Candjî on programe d' enondaedje"
diff --git a/po/xh.po b/po/xh.po
new file mode 100644
index 0000000..29fc1ad
--- /dev/null
+++ b/po/xh.po
@@ -0,0 +1,501 @@
+# Xhosa translation of gnome-session
+# Copyright (C) 2005 Canonical Ltd.
+# This file is distributed under the same license as the gnome-session package.
+# Translation by Canonical Ltd <translations@canonical.com> with thanks to
+# Translation World CC in South Africa, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-03-03 16:20+0200\n"
+"PO-Revision-Date: 2005-03-01 11:15+0200\n"
+"Last-Translator: Simon Kemisho <thembi@translationworld.co.za>\n"
+"Language-Team: Xhosa <xh-translate@ubuntu.com>\n"
+"Language: xh\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Vumela unxulumano lweTCP"
+
+#: ../gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Ngezizathu zokhuseleko, kumaqonga kukho oku _IceTcpTransNoListen() (XFree86 "
+"systems), i-gnome-session ayilumameli unxulumano kumazibuko eTCP. Oku "
+"kukhetha kuya kuvumela unxulumano oluvela kubamkeli beendwendwe abakude "
+"(abagunyazisiweyo). i-gnome-session mayiqaliswe kwakhona ukuze oku kwenzeke."
+
+#: ../gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Xa yenzwe yangasebenzi, i-gnome-session iya kuthundeza umsebenzisi phambi "
+"kokuphelisa iseshoni."
+
+#: ../gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Xa yenzwe yangasebenzi, i-gnome-session iya kulondoloza iseshoni "
+"ngokuzenzekelayo. Ngaphandle koko, ingxoxo yokuphuma iya kuba nendlela "
+"yokukhetha ukuyilondoloza iseshoni."
+
+#: ../gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Ukuthundeza ukuphuma"
+
+#: ../gnome-session/gnome-session.schemas.in.h:6
+#, fuzzy
+msgid "Preferred Image to use for login splash screen"
+msgstr ""
+"Umfanekiso Okhethwayo wokusetyenziswa ukwenzela iskrini esidanyazayo xa "
+"kungenwa Kulwazi Olusekrinini seGNOME"
+
+#: ../gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Londoloza iiseshoni"
+
+#: ../gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Bonisa iskrini esidanyazayo"
+
+#: ../gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "Bonisa iskrini esidanyazayo xa kuqalisa iseshoni"
+
+#: ../gnome-session/gnome-session.schemas.in.h:10
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+
+#: ../gnome-session/gsm-client-editor.c:97
+#: ../gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_Ulandelelwano:"
+
+#: ../gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Ulandelelwano apho iinkqubo ziqaliswa khona kwiseshoni."
+
+#: ../gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Kwenzeka ntoni kwinkqubo xa ikhona."
+
+#: ../gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "I_simbo:"
+
+#: ../gnome-session/gsm-client-list.c:150
+#: ../gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Ulandelelwano"
+
+#: ../gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Isimbo"
+
+#: ../gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Isimo"
+
+#: ../gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Inkqubo"
+
+#: ../gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Yekisa ukusebenza kwayo"
+
+#: ../gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Ukulinda ukuqalisa okanye sekugqityiwe."
+
+#: ../gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Ukuqalisa"
+
+#: ../gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Kuqalisiwe kodwa isimo asikaxelwa."
+
+#: ../gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Kuyaphunyezwa"
+
+#: ../gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Ilungu lesiqhelo leseshoni."
+
+#: ../gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Kuyagcinwa"
+
+#: ../gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Kugcinwa iinkcukacha zeseshoni."
+
+#: ../gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Ayaziwa"
+
+#: ../gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Isimo esingaxelwanga ngethuba lokuphuma."
+
+#: ../gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Okuqhelekileyo"
+
+#: ../gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Akuchatshazelwa ngamaxa okuphuma kodwa kunokufa."
+
+#: ../gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Phinda uqalise"
+
+#: ../gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Ayizange ivunyelwe ukuba ife."
+
+#: ../gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Okulahlwayo"
+
+#: ../gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Ilahlwa xa kuphunywayo kwaye inokufa."
+
+#: ../gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Imimiselo"
+
+#: ../gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Isoloko iqalisa qho xa kungenwa."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: ../gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Bekukho imposiso eqalise Imimiselo YeDaemon YeGNOME \n"
+"\n"
+"Ezinye izinto, ezifana nemixholo, izandi, okanye imimiselo engasemva "
+"zisenokungasebenzi ngokuchanekileyo."
+
+#: ../gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Umyalezo oyimposiso wokugqibela:\n"
+"\n"
+
+#: ../gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"I-GNOME iya kusoloko izama ukuqalisa Imimiselo YeDaemon kwixesha elizayo "
+"ungena."
+
+#: ../gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Bekukho imposiso engaziwayo yokunika isakhono sokusebenza."
+
+#: ../gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Imimiselo YeDaemon iphinde yaqalisa amaxa amaninzi kakhulu."
+
+#: ../gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Uqinisekile ukuba ufuna ukuphuma?"
+
+#: ../gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "_Gcina ukusekwa kwangoku"
+
+#: ../gnome-session/logout.c:393
+msgid "Action"
+msgstr "Inyathelo"
+
+#: ../gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_Phuma"
+
+#: ../gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "Vala_tu"
+
+#: ../gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "_Qalisa kwakhona ikhompyutha"
+
+#: ../gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Xela igama leseshoni elayishayo"
+
+#: ../gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Funda kuphela i-default.session kwifayile yeseshoni elondoloziweyo"
+
+#: ../gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+"Ithuba ngokwee-millisecond elichithwe kulindwe abaxumi ukuba babhalise "
+"(0=naphakade)"
+
+#: ../gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+"Ithuba ngokwee-millisecond elichithwe kulindwe abaxumi ukuba baphendule "
+"(0=naphakade)"
+
+#: ../gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+"Ithuba ngokwee-millisecond elichithwe kulindwe abaxumi ukuba bafe "
+"(0=naphakade)"
+
+#: ../gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Ayikwazanga kukhangela idilesi yothungelwano kwikhompyutha ukwenzela oku %"
+"s.\n"
+"Oku kuya kuthintela iGNOME ekusebenzeni ngokuchanekileyo.\n"
+"Yinto enokwenzeka ukulungisa ingxaki ngokufakela oku\n"
+"%s efayilini /etc/hosts."
+
+#: ../gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Ngena Nokuba Kunjalo"
+
+#: ../gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Zama Kwakhona"
+
+#: ../gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Iseshoni igciniwe"
+
+#: ../gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Linda ushiyiwe ngenxa yongquzulwano."
+
+#: ../gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Akukho mpendulo kumyalezo woku %s."
+
+#: ../gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Inkqubo isenokucotha, iyekiswe okanye yaphuke."
+
+#: ../gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Usenokuyilinda ukuba iphendule okanye iyisuse."
+
+#: ../gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Phinda uqalise ushiyiwe ngenxa yamaxa okusilela."
+
+#: ../gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Ukuvalwa kweseshoni tu kuyaqhuba."
+
+#: ../gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Seta iseshoni yangoku"
+
+#: ../gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Bulala iseshoni"
+
+#: ../gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Sebenzisa iibhokisi zengxoxo"
+
+#: ../gnome-session/save-session.c:146 ../gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Ayikwazanga ukunxulumana nomlawuli weseshoni"
+
+#: ../gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Igama leseshoni alikwazi kungabi nanto"
+
+#: ../gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Igama leseshoni selikho"
+
+#: ../gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Fakela iseshoni entsha"
+
+#: ../gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Hlela igama leseshoni"
+
+#: ../gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Hlela"
+
+#: ../gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Ezinye iinguquko azigcinwanga.\n"
+"KUSALUNGILE ukuphuma?"
+
+#: ../gnome-session/session-properties-capplet.c:240
+#: ../gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Iiseshoni"
+
+#: ../gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Bonisa iskrini esidanyazayo xa_ungena"
+
+#: ../gnome-session/session-properties-capplet.c:284
+msgid "As_k on logout"
+msgstr "Bu_za xa uphuma"
+
+#: ../gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Igcina iingu_qu kwiseshoni ngokuzenzekela"
+
+#: ../gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "Ii_seshoni:"
+
+#: ../gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Igama Leseshoni"
+
+#: ../gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Okukhethwa Kwiseshoni"
+
+#: ../gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Iseshoni Yangoku"
+
+#: ../gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "_Iinkqubo ezifakelweyo zokuqalisa:"
+
+#: ../gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Umyalezo"
+
+#: ../gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Iinkqubo Zokuqalisa"
+
+#: ../gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Susa umxumi okhethwe ngoku kwiseshoni."
+
+#: ../gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Yenza iinguqu kwiseshoni yangoku"
+
+#: ../gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Uludwe lweenkqubo kwiseshoni."
+
+#: ../gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "_Iinkqubo eziphunyezwa ngoku:"
+
+#: ../gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Ndulula imimiselo yeseshoni"
+
+#: ../gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Misela iiseshoni zakho"
+
+#: ../gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Umlawuli Wefestile Ye-Sawfish"
+
+#: ../gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Umlawuli Wefestile YeMatacity"
+
+#: ../gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Umlawuli Wefestile"
+
+#: ../gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Indawo Yolawulo"
+
+#: ../gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Ummeli Womlawuli Weseshoni"
+
+#: ../gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "I-Nautilus"
+
+#: ../gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Imimiselo Yolwazi Oluseskrinini"
+
+#: ../gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "_Umyalezo Wokuqalisa:"
+
+#: ../gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Umyalezo Wokuqalisa"
+
+#: ../gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Umyalezo wokuqalisa awukwazi kungabi nanto"
+
+#: ../gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Fakela Inkqubo Yokuqalisa"
+
+#: ../gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Hlela Inkqubo Yokuqalisa"
+
+#~ msgid "Splash Screen Image"
+#~ msgstr "Umfanekiso Weskrini Esidanyazayo"
diff --git a/po/yo.po b/po/yo.po
new file mode 100644
index 0000000..a5168c0
--- /dev/null
+++ b/po/yo.po
@@ -0,0 +1,803 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-core 1.1.2\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
+"session&component=general\n"
+"POT-Creation-Date: 2009-01-17 11:27+0000\n"
+"PO-Revision-Date: 2005-02-13 21:39+0100\n"
+"Last-Translator: David Lodge <dave@cirt.net>\n"
+"Language-Team: \n"
+"Language: yo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../capplet/gsm-app-dialog.c:126
+#, fuzzy
+msgid "Select Command"
+msgstr "Àṣe Fún Ìbẹ̀rẹ̀"
+
+#: ../capplet/gsm-app-dialog.c:187
+msgid "Add Startup Program"
+msgstr "Ṣàfikún Àtòjọ-ètò Fún Ìbẹ̀rẹ̀"
+
+#: ../capplet/gsm-app-dialog.c:191
+msgid "Edit Startup Program"
+msgstr "Ṣàyẹ̀wò Àtòjọ-ètò Fún Ìbẹ̀rẹ̀"
+
+#: ../capplet/gsm-properties-dialog.c:132
+msgid "No description"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:952
+#, fuzzy
+msgid "The name of the startup program cannot be empty"
+msgstr "Àṣẹ fún ìbẹ̀rẹ̀ kò lè jẹ́ òfìfo"
+
+#: ../capplet/gsm-properties-dialog.c:956
+msgid "The startup command cannot be empty"
+msgstr "Àṣẹ fún ìbẹ̀rẹ̀ kò lè jẹ́ òfìfo"
+
+#: ../capplet/gsm-properties-dialog.c:962
+#, fuzzy
+msgid "The startup command is not valid"
+msgstr "Àṣẹ fún ìbẹ̀rẹ̀ kò lè jẹ́ òfìfo"
+
+#: ../capplet/gsm-properties-dialog.c:1279
+msgid "Enabled"
+msgstr ""
+
+#: ../capplet/gsm-properties-dialog.c:1292
+#, fuzzy
+msgid "Icon"
+msgstr "Iṣẹ́"
+
+#: ../capplet/gsm-properties-dialog.c:1303
+msgid "Program"
+msgstr "Àtòjọ-ètò"
+
+#: ../capplet/gsm-properties-dialog.c:1453
+#: ../data/session-properties.glade.h:6
+msgid "Sessions Preferences"
+msgstr ""
+
+#: ../capplet/main.c:37 ../gnome-session/main.c:508
+msgid "Version of this application"
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.c:47
+msgid ""
+"Assistive technology support has been requested for this session, but the "
+"accessibility registry was not found. Please ensure that the AT-SPI package "
+"is installed. Your session has been started without assistive technology "
+"support."
+msgstr ""
+
+#: ../compat/at-spi-registryd-wrapper.desktop.in.in.in.h:1
+msgid "AT SPI Registry Wrapper"
+msgstr ""
+
+#: ../compat/gnome-settings-daemon-helper.desktop.in.in.in.h:1
+msgid "GNOME Settings Daemon Helper"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:1
+msgid "GNOME"
+msgstr ""
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:1
+#, fuzzy
+msgid "Default session"
+msgstr "Pa sáà"
+
+#: ../data/gnome-session.schemas.in.h:2
+#, fuzzy
+msgid "File Manager"
+msgstr "Alábòójútó Fèrèsé"
+
+#: ../data/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Tí a bá fún lágbára iṣẹ́ sáà gnome á́ ṣí òǹlò náà lórí kó tó parí sáà kan."
+
+#: ../data/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Tí a bá fún lágbára sáà-gnome á dáfi sáà náà pamọ́. Láì jẹ́ bẹ́ẹ̀, onísọ̀rọ̀gbèsì "
+"ìparí iṣẹ́ á ní ẹ̀yàn láti fi sáà náà pamọ́."
+
+#: ../data/gnome-session.schemas.in.h:5
+#, fuzzy
+msgid "List of applications that are part of the default session."
+msgstr "Ètò tí a ti bẹ̀rẹ̀ àwọn ì̀ṣàmúlò-ètò nínú sáà náà."
+
+#: ../data/gnome-session.schemas.in.h:6
+msgid ""
+"List of components that are required as part of the session. (Each element "
+"names a key under \"/desktop/gnome/session/required-components\".) The "
+"Session Preferences will not normally allow users to remove a required "
+"component from the session, and the session manager will automatically add "
+"the required components back to the session if they do get removed."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:7
+msgid "Logout prompt"
+msgstr "Ìṣílórí ìparí iṣẹ́"
+
+#: ../data/gnome-session.schemas.in.h:8
+#, fuzzy
+msgid "Panel"
+msgstr "Pánẹ́ẹ̀lì Náà"
+
+#: ../data/gnome-session.schemas.in.h:9
+msgid "Preferred Image to use for login splash screen"
+msgstr "Àwòrán tí a fẹ́ láti lò fún ojú kọ̀ǹpútà píláàṣì"
+
+#: ../data/gnome-session.schemas.in.h:10
+msgid "Required session components"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:11
+msgid "Save sessions"
+msgstr "Fi àwọn sáà pamọ́"
+
+#: ../data/gnome-session.schemas.in.h:12
+msgid "Selected option in the log out dialog"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:13
+msgid "Show the splash screen"
+msgstr "Fi ojú kọ̀ǹpútà píláàṣì hàn"
+
+#: ../data/gnome-session.schemas.in.h:14
+msgid "Show the splash screen when the session starts up"
+msgstr "Fi ojú kọ̀ǹpútà píláàṣì hàn tí sáà náà bá ti bẹ̀rẹ̀"
+
+#: ../data/gnome-session.schemas.in.h:15
+msgid ""
+"The file manager provides the desktop icons and allows you to interact with "
+"your saved files."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:16
+msgid ""
+"The number of minutes of inactivity before the session is considered idle."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:17
+msgid ""
+"The panel provides the bar at the top or bottom of the screen containing "
+"menus, the window list, status icons, the clock, etc."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:18
+msgid ""
+"The window manager is the program that draws the title bar and borders "
+"around windows, and allows you to move and resize windows."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:19
+msgid ""
+"This is a relative path value based off the $datadir/pixmaps/ directory. Sub-"
+"directories and image names are valid values. Changing this value will "
+"effect the next session login."
+msgstr ""
+"Fálù tó jẹmọ́ ipa tó dálé atọ́nà $datadir/pixmaps/ ni èyí. Àwọn ẹ̀ka-atọ́nà àti "
+"àwọn orúkọ àwòrán jẹ́ àwọn fálù tó fẹsẹ̀múlẹ̀. Ìyípadà fálù yìí á kan ìbẹ̀rẹ̀ iṣẹ́ "
+"sáà tókàn."
+
+#: ../data/gnome-session.schemas.in.h:20
+msgid ""
+"This is the option that will be selected in the logout dialog, valid values "
+"are \"logout\" for logging out, \"shutdown\" for halting the system and "
+"\"restart\" for restarting the system."
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:21
+msgid "Time before session is considered idle"
+msgstr ""
+
+#: ../data/gnome-session.schemas.in.h:22 ../data/gnome-wm.desktop.in.in.h:1
+msgid "Window Manager"
+msgstr "Alábòójútó Fèrèsé"
+
+#: ../data/gsm-inhibit-dialog.glade.h:1
+msgid "<b>Some programs are still running:</b>"
+msgstr ""
+
+#: ../data/gsm-inhibit-dialog.glade.h:2
+#: ../gnome-session/gsm-inhibit-dialog.c:633
+msgid ""
+"Waiting for program to finish. Interrupting program may cause you to lose "
+"work."
+msgstr ""
+
+#: ../data/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Ṣàtòpọ̀ àwọn sáà rẹ"
+
+#: ../data/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Àwọn Sáà"
+
+#: ../data/session-properties.glade.h:1
+msgid "Additional startup _programs:"
+msgstr "Àwọn àtòjọ-ètò fún ìbẹ̀rẹ̀ _aláfikún:"
+
+#: ../data/session-properties.glade.h:2
+msgid "Browse..."
+msgstr ""
+
+#: ../data/session-properties.glade.h:3
+#, fuzzy
+msgid "Co_mmand:"
+msgstr "Àṣẹ"
+
+#: ../data/session-properties.glade.h:4
+#, fuzzy
+msgid "Comm_ent:"
+msgstr "Àṣẹ"
+
+#: ../data/session-properties.glade.h:5
+#, fuzzy
+msgid "Options"
+msgstr "Àwọn Ẹ̀yàn Sáà"
+
+#: ../data/session-properties.glade.h:7
+msgid "Startup Programs"
+msgstr "Àwọn Àtòjọ-ètò fún Ìbẹ̀rẹ̀"
+
+#: ../data/session-properties.glade.h:8
+msgid "_Automatically remember running applications when logging out"
+msgstr ""
+
+#: ../data/session-properties.glade.h:9
+msgid "_Name:"
+msgstr ""
+
+#: ../data/session-properties.glade.h:10
+msgid "_Remember Currently Running Application"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:188
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:958
+#, fuzzy, c-format
+msgid "Starting %s"
+msgstr "Ń Bẹ̀rẹ̀"
+
+#: ../egg/eggdesktopfile.c:1100
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1168
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1373
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr ""
+
+#: ../egg/eggdesktopfile.c:1392
+#, c-format
+msgid "Not a launchable item"
+msgstr ""
+
+#: ../egg/eggsmclient.c:185
+#, fuzzy
+msgid "Disable connection to session manager"
+msgstr "Kò lè darapọ̀ mọ́ alábòójútó sáà"
+
+#: ../egg/eggsmclient.c:188
+msgid "Specify file containing saved configuration"
+msgstr ""
+
+#: ../egg/eggsmclient.c:188
+msgid "FILE"
+msgstr ""
+
+#: ../egg/eggsmclient.c:191
+#, fuzzy
+msgid "Specify session management ID"
+msgstr "Sọ ní pàtò orúkọ sáà tí a ó kì"
+
+#: ../egg/eggsmclient.c:191
+msgid "ID"
+msgstr ""
+
+#: ../egg/eggsmclient.c:245
+#, fuzzy
+msgid "Session Management Options"
+msgstr "Àwọn Ẹ̀yàn Sáà"
+
+#: ../egg/eggsmclient.c:246
+#, fuzzy
+msgid "Show Session Management options"
+msgstr "Aládùrófún Alábòójútó Sá́à"
+
+#: ../gnome-session/gsm-gconf.c:106
+#, c-format
+msgid ""
+"There is a problem with the configuration server.\n"
+"(%s exited with status %d)"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:256
+#, c-format
+msgid "Icon '%s' not found"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:581
+msgid "Unknown"
+msgstr "Àìmọ̀"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:632
+msgid "A program is still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:636
+msgid "Some programs are still running:"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:637
+msgid ""
+"Waiting for programs to finish. Interrupting these programs may cause you "
+"to lose work."
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:865
+msgid "Switch User Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:868
+#, fuzzy
+msgid "Logout Anyway"
+msgstr "Bẹ̀rẹ̀ iṣẹ́ Ní Ọ̀nà kán nà"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:871
+msgid "Suspend Anyway"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:874
+#, fuzzy
+msgid "Hibernate Anyway"
+msgstr "Bẹ̀rẹ̀ iṣẹ́ Ní Ọ̀nà kán nà"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:877
+#, fuzzy
+msgid "Shutdown Anyway"
+msgstr "Bẹ̀rẹ̀ iṣẹ́ Ní Ọ̀nà kán nà"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:880
+#, fuzzy
+msgid "Reboot Anyway"
+msgstr "Bẹ̀rẹ̀ iṣẹ́ Ní Ọ̀nà kán nà"
+
+#: ../gnome-session/gsm-inhibit-dialog.c:888
+msgid "Lock Screen"
+msgstr ""
+
+#: ../gnome-session/gsm-inhibit-dialog.c:891
+msgid "Cancel"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:283
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"You will be automatically logged out in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:295
+#, c-format
+msgid ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d second."
+msgid_plural ""
+"You are currently logged in as \"%s\".\n"
+"This system will be automatically shut down in %d seconds."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../gnome-session/gsm-logout-dialog.c:377
+msgid "Log out of this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:383
+msgid "_Switch User"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:392
+#, fuzzy
+msgid "_Log Out"
+msgstr "_Parí iṣẹ́"
+
+#: ../gnome-session/gsm-logout-dialog.c:398
+msgid "Shut down this system now?"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:404
+msgid "S_uspend"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:410
+msgid "_Hibernate"
+msgstr ""
+
+#: ../gnome-session/gsm-logout-dialog.c:416
+#, fuzzy
+msgid "_Restart"
+msgstr "Tun bẹ̀rẹ̀"
+
+#: ../gnome-session/gsm-logout-dialog.c:426
+#, fuzzy
+msgid "_Shut Down"
+msgstr "Pa_á"
+
+#: ../gnome-session/gsm-manager.c:943 ../gnome-session/gsm-manager.c:1571
+msgid "Not responding"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-client.c:989
+msgid "This program is blocking log out."
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:234
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr ""
+
+#: ../gnome-session/gsm-xsmp-server.c:489
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr ""
+
+#. Oh well, no X for you!
+#: ../gnome-session/gsm-util.c:143
+#, c-format
+msgid "Unable to start login session (and unable to connect to the X server)"
+msgstr ""
+
+#: ../gnome-session/main.c:504
+msgid "Override standard autostart directories"
+msgstr ""
+
+#: ../gnome-session/main.c:505
+msgid "GConf key used to lookup default session"
+msgstr ""
+
+#: ../gnome-session/main.c:506
+msgid "Enable debugging code"
+msgstr ""
+
+#: ../gnome-session/main.c:507
+msgid "Do not load user-specified applications"
+msgstr ""
+
+#: ../gnome-session/main.c:528
+#, fuzzy
+msgid " - the GNOME session manager"
+msgstr "Kò lè darapọ̀ mọ́ alábòójútó sáà"
+
+#: ../splash/gnome-session-splash.c:315
+#, fuzzy
+msgid "- GNOME Splash Screen"
+msgstr "Fi ojú kọ̀ǹpútà píláàṣì hàn"
+
+#: ../splash/gnome-session-splash.desktop.in.in.in.h:1
+msgid "GNOME Splash Screen"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:65
+#, fuzzy
+msgid "Set the current session name"
+msgstr "Ṣàgbékalẹ̀ sáà lọ́wọ́lọ́wọ́"
+
+#: ../tools/gnome-session-save.c:65
+msgid "NAME"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:66
+#, fuzzy
+msgid "Log out"
+msgstr "_Parí iṣẹ́"
+
+#: ../tools/gnome-session-save.c:67
+msgid "Log out, ignoring any existing inhibitors"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:68
+msgid "Show logout dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:69
+msgid "Show shutdown dialog"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:70
+msgid "Kill session"
+msgstr "Pa sáà"
+
+#: ../tools/gnome-session-save.c:71
+#, fuzzy
+msgid "Use dialog boxes for errors"
+msgstr "Lo àwọn àpótí onísọ̀rọ̀gbèsì"
+
+#: ../tools/gnome-session-save.c:72
+msgid "Do not require confirmation"
+msgstr ""
+
+#: ../tools/gnome-session-save.c:120 ../tools/gnome-session-save.c:130
+msgid "Could not connect to the session manager"
+msgstr "Kò lè darapọ̀ mọ́ alábòójútó sáà"
+
+#: ../tools/gnome-session-save.c:273
+msgid "Program called with conflicting options"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME will still try to restart the Settings Daemon next time you log in."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "GNOME á sì tún gbìyànjú láti tún Aṣojú ètò Àwọ̀n Ààtò bẹ̀rẹ̀ nígbà mìíràn tí "
+#~ "o bá tún bẹ̀rẹ̀ iṣẹ́."
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "The last error message was:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Àṣìṣe iṣẹ́ rírán tó gbẹ̀yìn ni:\n"
+#~ "\n"
+
+#~ msgid "A normal member of the session."
+#~ msgstr "Ọmọ-ẹgbẹ́ déédéé sáà yìí."
+
+#~ msgid "A session shutdown is in progress."
+#~ msgstr "Sáà tí a ti pa ṣì ń ṣiṣẹ́."
+
+#~ msgid "Add a new session"
+#~ msgstr "Ṣàfikún sáà tuntun"
+
+#~ msgid "Allow TCP connections"
+#~ msgstr "Fàyè gba àwọn ìdarapọ̀ TCP"
+
+#~ msgid "Always started on every login."
+#~ msgstr "Ó máa ń bẹ̀rẹ̀ lórí gbogbo ìbẹ̀rẹ̀ iṣẹ́."
+
+#~ msgid "Apply changes to the current session"
+#~ msgstr "Fi àwọn ìyípadà sí sáà lọ́wọ́lọ́wọ́ náà"
+
+#~ msgid "Are you sure you want to log out?"
+#~ msgstr "Ṣé ó dá ẹ lójú pé o fẹ́ parí iṣẹ́?"
+
+#~ msgid "As_k on logout"
+#~ msgstr "Bè_rè ì́parí iṣẹ́"
+
+#~ msgid "Automatically save chan_ges to session"
+#~ msgstr "Fi àwọn àyí_padà pamọ́ sí sáà fún ra rẹ̀"
+
+#~ msgid ""
+#~ "Could not look up internet address for %s.\n"
+#~ "This will prevent GNOME from operating correctly.\n"
+#~ "It may be possible to correct the problem by adding\n"
+#~ "%s to the file /etc/hosts."
+#~ msgstr ""
+#~ "Kò lè wo àdírẹ́sì ítánẹ́ẹ̀tì fún %s.\n"
+#~ "Èyí á dí GNOME lọ́wọ́ láti ṣiṣẹ́ dáadáa.\n"
+#~ "Ó ṣeé ṣe kí tún ì̀ṣòro ná̀ ṣe nípa ṣiṣe àfikún \n"
+#~ "%s sí fáìlì /etc/hosts."
+
+#~ msgid "Current Session"
+#~ msgstr "Sáà Lọ́wọ́lọ́wọ́"
+
+#~ msgid "Currently running _programs:"
+#~ msgstr "Àwọn àtòjọ-ètò tó ń rọ́ọ̀nù _lọ́wọ́lọ́wọ́:"
+
+#~ msgid "Desktop Settings"
+#~ msgstr "Àwọn Ààtò Ojú-iṣẹ́"
+
+#~ msgid "Discarded on logout and can die."
+#~ msgstr "A tìí sẹ́ègbẹ́ nígbà ìparí iṣẹ́, ó sì lè kú."
+
+#~ msgid "Edit session name"
+#~ msgstr "Ṣàyẹ̀wò orúkọ sáà"
+
+#~ msgid ""
+#~ "For security reasons, on platforms which have _IceTcpTransNoListen() "
+#~ "(XFree86 systems), gnome-session does not listen for connections on TCP "
+#~ "ports. This option will allow connections from (authorized) remote hosts. "
+#~ "gnome-session must be restarted for this to take effect."
+#~ msgstr ""
+#~ "Nítorí ààbò,lórí pepele tó ní _IceTcpTransNoListen() (XFree86 systems), "
+#~ "gnome kò ní tẹ́tí àwọn ìdàpọ̀ lórí àwọn ààlà ìfibọ̀ TCP. Ẹ̀yàn yìí yóò fàyè "
+#~ "gba àwọn ìdarapọ̀ láti ọ̀dọ̀ agbàlejò (tí kò láṣẹ) jínjìn. A gbọ́dọ̀ tún sáà "
+#~ "gnome bẹ̀rẹ̀ kí èyí tó lè wáyé."
+
+#~ msgid "Inactive"
+#~ msgstr "Kò lè siṣẹ́"
+
+#~ msgid "Initialize session settings"
+#~ msgstr "Mú àwọn ààtò sáà síwájú"
+
+#~ msgid "Metacity Window Manager"
+#~ msgstr "Alábòójútó Fèrèsé Metacity"
+
+#~ msgid "Millisecond period spent waiting for clients to die (0=forever)"
+#~ msgstr ""
+#~ "Ìgbà Ìdá-ọ̀kẹ́ ìsísẹ̀tí a lò fi dúró fún àwon abẹ̀wẹ̀ láti kú (0=forever)"
+
+#~ msgid "Millisecond period spent waiting for clients to register (0=forever)"
+#~ msgstr ""
+#~ "Ìgbà Ìdá-ọ̀kẹ́ ìsísẹ̀tí a lò fi dúró fún àwon abẹ̀wẹ̀ láti forúkọ sílẹ̀ "
+#~ "(0=forever)"
+
+#~ msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+#~ msgstr ""
+#~ "Ìgbà Ìdá-ọ̀kẹ́ ìsísẹ̀tí a lò fi dúró fún àwon abẹ̀wẹ̀ láti fèsì (0=forever)"
+
+#~ msgid "Nautilus"
+#~ msgstr "Nautilus"
+
+#~ msgid "Never allowed to die."
+#~ msgstr "Má gbà á láyè láti kú rárá."
+
+#~ msgid "No response to the %s command."
+#~ msgstr "Kò sí èsì sí àṣẹ %s náà."
+
+#~ msgid "Normal"
+#~ msgstr "Déédéé"
+
+#~ msgid "Only read saved sessions from the default.session file"
+#~ msgstr "Kàn ka àwọn sáà tí a fi pamọ́ láti inú ìpéwọ̀n fáìlì sáà"
+
+#~ msgid "Order"
+#~ msgstr "Ètò"
+
+#~ msgid "Remove the currently selected client from the session."
+#~ msgstr "Yọ abẹ̀wẹ̀ tí a ti yàn lọ́wọ́lọ́wọ́ láti inú sáà náà kúrò."
+
+#~ msgid "Restart abandoned due to failures."
+#~ msgstr "Tún àwọn tí a patì nítorí àwon ìkùnà."
+
+#~ msgid "Running"
+#~ msgstr "Ń Rọ́ọ̀nù"
+
+#~ msgid "Saving"
+#~ msgstr "Ìfipamọ́"
+
+#~ msgid "Saving session details."
+#~ msgstr "Ń fi àwọn àlàyé sáà pamọ́."
+
+#~ msgid "Sawfish Window Manager"
+#~ msgstr "alábòójútó Fèrèsé Sawfish"
+
+#~ msgid "Session Name"
+#~ msgstr "Orúkọ Sáà"
+
+#~ msgid "Settings"
+#~ msgstr "Àwọn Ààtò"
+
+#~ msgid "Show splash screen on _login"
+#~ msgstr "Show splash screen on _login"
+
+#~ msgid ""
+#~ "Some changes are not saved.\n"
+#~ "Is it still OK to exit?"
+#~ msgstr ""
+#~ "A kò fi àwọn àyípadà kan pamọ́.\n"
+#~ "Ṣé ó dára ká jáde?"
+
+#~ msgid "Started but has not yet reported state."
+#~ msgstr "Ó ti bẹ̀rẹ̀, ṣùgbọ́n kò tíì jíyìn ipò."
+
+#~ msgid "State"
+#~ msgstr "Ipò"
+
+#~ msgid "State not reported within timeout."
+#~ msgstr "A kò fi ipo sùn kí àkókò tó tán."
+
+#~ msgid "Style"
+#~ msgstr "Sítáì"
+
+#~ msgid "The Settings Daemon restarted too many times."
+#~ msgstr "A ti tún Aṣojú Ètò Àwọn Ààtò bẹ̀rẹ̀ jù ní ọ̀pọ̀ ìgbà."
+
+#~ msgid "The list of programs in the session."
+#~ msgstr "Àtòjọ àwọn àtòjọ-ètò inú sáà náà."
+
+#~ msgid "The program may be slow, stopped or broken."
+#~ msgstr "Àtòjọ-ètò náà lè falẹ̀, dúró tàbí kó bàjẹ́."
+
+#~ msgid "The session name already exists"
+#~ msgstr "Orúkọ sáà náà wà nílẹ̀"
+
+#~ msgid "The session name cannot be empty"
+#~ msgstr "Orúkọ sáà náà kò lè ṣófo"
+
+#~ msgid ""
+#~ "There was an error starting the GNOME Settings Daemon.\n"
+#~ "\n"
+#~ "Some things, such as themes, sounds, or background settings may not work "
+#~ "correctly."
+#~ msgstr ""
+#~ "Àṣìṣe wà láti bẹ̀rẹ̀ Aṣojú Àwọn Ààtò GNOME.\n"
+#~ "\n"
+#~ "Ọ̀pọ̀lọpọ̀ àwọn nǹkan bíi àwọn kókó , àwọn ìró, tàbí àwọn ààtò ẹ̀yìn lè má "
+#~ "ṣịṣẹ́ dáadáa."
+
+#~ msgid "There was an unknown activation error."
+#~ msgstr "Àṣìṣe ìbẹ̀rẹ̀ àìmọ̀ kan wà."
+
+#~ msgid "Trash"
+#~ msgstr "Pàǹtí"
+
+#~ msgid "Try Again"
+#~ msgstr "Gbìyànjú Lẹ́ẹ̀kan si"
+
+#~ msgid "Unaffected by logouts but can die."
+#~ msgstr "Àwọn ìparí iṣẹ́ kò kàn án, ṣùgbọ́n ó lè kú."
+
+#~ msgid "Wait abandoned due to conflict."
+#~ msgstr "Wait abandoned due to conflict."
+
+#~ msgid "Waiting to start or already finished."
+#~ msgstr "Ń dúró láti bẹ̀rẹ̀ tàbí láti ó ti ẹ̀ ti parí."
+
+#~ msgid "What happens to the application when it exits."
+#~ msgstr "Kí ló ṣẹ̀lẹ̀ sí ìṣàmúlò-ètò náà nígbà tí ó bá jáde."
+
+#~ msgid "You may wait for it to respond or remove it."
+#~ msgstr "O lè dúró fún èsì rẹ̀ tàbí kí o yọkúrò."
+
+#~ msgid "Your session has been saved"
+#~ msgstr "A ti fi sáà rẹ pamọ́"
+
+#~ msgid "_Edit"
+#~ msgstr "_Ṣàyẹ̀wò"
+
+#~ msgid "_Order:"
+#~ msgstr "_Ètò:"
+
+#~ msgid "_Restart the computer"
+#~ msgstr "_Tún kọ̀ǹpútà náà bẹ̀rẹ̀"
+
+#~ msgid "_Save current setup"
+#~ msgstr "_Fi àgbékalẹ̀-ètò lọ́wọ́lọ́wọ́ pamọ́"
+
+#~ msgid "_Sessions:"
+#~ msgstr "_Àwọn Sáà:"
+
+#~ msgid "_Startup Command:"
+#~ msgstr "_Àṣe Fún Ìbẹ̀rẹ̀:"
+
+#~ msgid "_Style:"
+#~ msgstr "_Sítáì:"
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..5e886fc
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,629 @@
+# Chinese (China) translation of gnome-session.
+# Copyright (C) 2009-2019 gnome-session'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-session package.
+# Dillion Chen <dillon.chen@turbolinux.com.cn>
+# Updated and QA by Wang Jian <lark@linux.net.cn>
+# Updated and QA by Jiang Xiong <jxiong@gwu.edu>
+# Updated and QA by Zipeco <zipeco@btamail.net.cn>
+# Updated by Funda Wang <fundawang@linux.net.cn>, 2003
+# Yang Zhang <zyangmath@gmail.com>, 2009.
+# Tao Wei <weitao1979@gmail.com>, 2009.
+# Aron Xu <aronxu@gnome.org>, 2010.
+# liu zhen <liuzhen1191@gmail.com>, 2011.
+# tuhaihe <1132321739qq@gmail.com>, 2012.
+# nhm <572348382@qq.com>, 2013.
+# Wylmer Wang <wantinghard@gmail.com>, 2013.
+# Tong Hui <tonghuix@gmail.com>, 2015.
+# Mingcong Bai <jeffbai@aosc.io>, 2018.
+# Dingzhong Chen <wsxy162@gmail.com>, 2018-2019.
+# lumingzh <lumingzh@qq.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2021-10-12 18:16+0000\n"
+"PO-Revision-Date: 2022-01-01 11:08+0800\n"
+"Last-Translator: lumingzh <lumingzh@qq.com>\n"
+"Language-Team: Chinese - China <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Generator: Gtranslator 41.0\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "自定义"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "此项允许您选择一个已保存的会话"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "此会话将让您登录到 GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+#| msgid "GNOME on Xorg"
+msgid "GNOME on Wayland"
+msgstr "GNOME Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "保存会话"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "如果启用,gnome-session 将自动保存会话。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "保存此会话"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"启用时,gnome-session 将在下次注销时保存会话,无论自动保存是否已被禁用。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "注销提示"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "如果启用,gnome-session 将在结束会话前提示用户。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "显示回退警告"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"如果启用,在会话启动失败而自动回退后,gnome-session 将在登录后显示警告对话"
+"框。"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "自定义会话"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "请选择一个要运行的自定义会话"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "新建会话(_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "移除会话(_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "重命名会话(_M)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "继续(_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "糟糕!出错啦!"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "系统出错且无法恢复。请联系系统管理员。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr "系统出错且无法恢复。为预防起见,已禁用了所有扩展。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr "系统出错并无法恢复,请尝试注销并重新登录。"
+
+# gsm/logout.c:248
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "注销(_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:404
+msgid "Enable debugging code"
+msgstr "启用调试代码"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "允许注销"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "显示扩展警告"
+
+#: gnome-session/gsm-manager.c:1289 gnome-session/gsm-manager.c:1999
+msgid "Not responding"
+msgstr "无响应"
+
+# gsm/logout.c:248
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "注销(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "记住的应用程序"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "此程序正在阻止注销。"
+
+#: gnome-session/gsm-xsmp-server.c:338
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "拒绝新客户连接,原因是会话正在关闭\n"
+
+#: gnome-session/gsm-xsmp-server.c:605
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "无法创建 ICE 监听套接字:%s"
+
+#: gnome-session/main.c:398
+msgid "Running as systemd service"
+msgstr "以 systemd 服务运行"
+
+#: gnome-session/main.c:399
+msgid "Use systemd session management"
+msgstr "使用 systemd 会话管理"
+
+#: gnome-session/main.c:401
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "使用内建的会话管理(不基于 systemd 的实现)"
+
+#: gnome-session/main.c:402
+msgid "Override standard autostart directories"
+msgstr "取代默认的自动启动目录"
+
+#: gnome-session/main.c:402
+msgid "AUTOSTART_DIR"
+msgstr "自动启动目录"
+
+#: gnome-session/main.c:403
+msgid "Session to use"
+msgstr "要使用的会话"
+
+#: gnome-session/main.c:403
+msgid "SESSION_NAME"
+msgstr "会话名称"
+
+#: gnome-session/main.c:405
+msgid "Do not load user-specified applications"
+msgstr "不装入用户指定的应用程序"
+
+#: gnome-session/main.c:406
+msgid "Version of this application"
+msgstr "此应用程序的版本"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:408
+msgid "Show the fail whale dialog for testing"
+msgstr "显示用于测试的鲸鱼失败对话框"
+
+#: gnome-session/main.c:409
+msgid "Disable hardware acceleration check"
+msgstr "禁用硬件加速检测"
+
+#: gnome-session/main.c:441
+msgid " — the GNOME session manager"
+msgstr " — GNOME 会话管理器"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "启动 gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr "当在 stdin 收到 EOF 或一个字节时启动 gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "gnome-session 已完成信号初始化"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "如果 dbus.service 正在运行则重启它"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "服务失败时,从 ExecStopPost 启动 gnome-session-failed.target"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "程序需要一个参数"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [选项...] 命令\n"
+"\n"
+"执行 命令 同时禁用一些会话功能。\n"
+"\n"
+" -h, --help 显示此帮助\n"
+" --version 显示程序版本\n"
+" --app-id ID 禁用时使用的应用程序 ID(可选)\n"
+" --reason 原因 禁用原因(可选)\n"
+" --inhibit 参数 要禁用的功能,以英文冒号分隔,可包括:\n"
+" logout、switch-user、suspend、idle、automount\n"
+" --inhibit-only 不启动 命令,而是无限等待\n"
+" -l, --list 列出已经禁用的功能,并退出\n"
+"\n"
+"若未指定 --inhibit 参数,将假设为 idle。\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "执行 %s 失败\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s 需要一个参数\n"
+
+# gsm/logout.c:248
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "注销"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "关机"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "重启"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "忽略现有限制因素"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "不提示用户确认"
+
+# gsm/save-session.c:86
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "无法连接到会话管理器"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "调用程序的选项互相冲突"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "会话 %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "会话名称不允许以“.”开头或包含“/”字符"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "会话名称不允许以“.”开头"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "会话名称不允许包含“/”字符"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "名为“%s”的会话已存在"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "此会话将您登录到使用 Wayland 的 GNOME"
+
+# applets/gkb/gkb.c:262
+#~ msgid "Additional startup _programs:"
+#~ msgstr "额外的启动程序(_P):"
+
+# applets/gkb/gkb.c:262
+#~ msgid "Startup Programs"
+#~ msgstr "启动程序"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "注销时自动记住正在运行的应用程序(_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "记住目前正在运行的应用程序(_R)"
+
+# panel/menu.c:3509
+#~ msgid "Options"
+#~ msgstr "选项"
+
+#~ msgid "Browse…"
+#~ msgstr "浏览..."
+
+# help-browser/toc-man.c:19 help-browser/toc2-man.c:21
+#~ msgid "Comm_ent:"
+#~ msgstr "注释(_E):"
+
+# help-browser/toc-man.c:19 help-browser/toc2-man.c:21
+#~ msgid "Co_mmand:"
+#~ msgstr "命令(_M):"
+
+#~ msgid "_Name:"
+#~ msgstr "名称(_N):"
+
+# help-browser/toc-man.c:19 help-browser/toc2-man.c:21
+#~ msgid "Select Command"
+#~ msgstr "选择命令"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "添加启动程序"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "编辑启动程序"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "启动命令不能为空"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "启动命令无效"
+
+#~ msgid "Enabled"
+#~ msgstr "启用"
+
+# gsm/logout.c:240
+#~ msgid "Icon"
+#~ msgstr "图标"
+
+# applets/gkb/gkb.c:262
+#~ msgid "Program"
+#~ msgstr "程序"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "启动应用程序首选项"
+
+#~ msgid "No name"
+#~ msgstr "无名称"
+
+#~ msgid "No description"
+#~ msgstr "无描述"
+
+#~ msgid "Could not display help document"
+#~ msgstr "不能显示帮助文档"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "有些程序仍在运行中:"
+
+#~ msgid "Startup Applications"
+#~ msgstr "启动应用程序"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "选择登录时要启动的应用程序"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "文件不是有效的 .desktop 文件"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "不识别的桌面文件版本“%s”"
+
+# gnome-terminal/gnome-terminal.c:1590
+#~ msgid "Starting %s"
+#~ msgstr "正在启动 %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "应用程序在命令行上不接受文档"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "无法识别的调用选项:%d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "无法将文档 URI 传送给“Type=Link”桌面项"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "不是可调用项"
+
+# gsm/save-session.c:86
+#~ msgid "Disable connection to session manager"
+#~ msgstr "禁止连接到会话管理器"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "指定包含已保存配置的文件"
+
+#~ msgid "FILE"
+#~ msgstr "文件"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+# panel/menu.c:3509
+#~ msgid "Session management options:"
+#~ msgstr "会话管理选项:"
+
+# panel/menu.c:3509
+#~ msgid "Show session management options"
+#~ msgstr "显示会话管理选项"
+
+#~ msgid "Unknown"
+#~ msgstr "未知"
+
+#~ msgid "A program is still running:"
+#~ msgstr "有程序仍在运行中:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr "正在等候程序结束。中断程序可能导致您的工作成果丢失。"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr "正在等候程序结束。中断程序可能导致您的工作成果丢失。"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "强制切换用户"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "强制注销"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "强制挂起"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "强制休眠"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "强制关机"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "强制重新启动"
+
+#~ msgid "Lock Screen"
+#~ msgstr "锁定屏幕"
+
+#~ msgid "Cancel"
+#~ msgstr "取消"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "您即将在 %d 秒后自动注销。"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "系统即将在 %d 秒后自动关闭。"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "系统将在 %d 秒后自动重启。"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "您目前以“%s”身份登录。"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "现在注销系统吗?"
+
+#~ msgid "_Switch User"
+#~ msgstr "切换用户(_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "现在关闭此系统吗?"
+
+#~ msgid "S_uspend"
+#~ msgstr "挂起(_U)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "休眠(_H)"
+
+# gmenu/edit.c:336 gsm/session-properties.c:167
+#~ msgid "_Restart"
+#~ msgstr "重启(_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "关机(_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "现在重启该系统吗?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "图标“%s”未找到"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 加载失败"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "很遗憾 GNOME 3 无法正常启动,并已启动到<i>后备模式</i>。\n"
+#~ "\n"
+#~ "这可能是因为您的显卡硬件或驱动不足以完全运行 GNOME 3。"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "进一步了解 GNOME 3"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "无法启动登录会话(并且无法连接到 X 服务器)"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>某些程序仍在运行中:</b>"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "以代码 %d 退出"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "被信号 %d 杀死"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "被信号 %d 停止"
+
+#~ msgid ""
+#~ "A problem has occurred and the system can't recover. Some of the "
+#~ "extensions below may have caused this.\n"
+#~ "Please try disabling some of these, and then log out and try again."
+#~ msgstr ""
+#~ "系统出错并无法恢复。这可能是下面的一些扩展导致的。\n"
+#~ "请尝试禁用一些,并注销重试。"
+
+#~ msgid ""
+#~ "There is a problem with the configuration server.\n"
+#~ "(%s exited with status %d)"
+#~ msgstr ""
+#~ "配置服务器有错。\n"
+#~ "(%s 的退出状态为 %d)"
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644
index 0000000..8fd7238
--- /dev/null
+++ b/po/zh_HK.po
@@ -0,0 +1,557 @@
+# Chinese (Hong Kong) translation of gnome-session.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# gnome-core:
+# Yuan-Chung Cheng <platin@linux.org.tw>, 1999.
+# Jing-Jong Shyue <shyue@sonoma.com.tw>, 2000.
+# Chih-Wei Huang <cwhuang@linux.org.tw>, 2000.
+# Abel Cheung <abel@oaka.org>, 2001-2002.
+# gnome-session:
+# Abel Cheung <abel@oaka.org>, 2002-2003.
+# Woodman Tuen <wmtuen@gmail.coim>, 2005-006.
+# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2008, 2010.
+# Wei-Lun Chao <chaoweilun@gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 3.1.92\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-09-17 19:40+0800\n"
+"PO-Revision-Date: 2013-09-17 19:40+0800\n"
+"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
+"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
+"Language: zh_HK\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: Poedit 1.5.5\n"
+
+#: ../capplet/gsm-app-dialog.c:120
+msgid "Select Command"
+msgstr "選擇指令"
+
+#: ../capplet/gsm-app-dialog.c:193
+msgid "Add Startup Program"
+msgstr "新增初始啟動程式"
+
+#: ../capplet/gsm-app-dialog.c:197
+msgid "Edit Startup Program"
+msgstr "修改初始啟動程式"
+
+#: ../capplet/gsm-app-dialog.c:484
+msgid "The startup command cannot be empty"
+msgstr "初始啟動指令不可以留空"
+
+#: ../capplet/gsm-app-dialog.c:490
+msgid "The startup command is not valid"
+msgstr "初始啟動指令無效"
+
+#: ../capplet/gsm-properties-dialog.c:519
+msgid "Enabled"
+msgstr "已啟用"
+
+#: ../capplet/gsm-properties-dialog.c:531
+msgid "Icon"
+msgstr "圖示"
+
+#: ../capplet/gsm-properties-dialog.c:543
+msgid "Program"
+msgstr "程式"
+
+#: ../capplet/gsm-properties-dialog.c:747
+msgid "Startup Applications Preferences"
+msgstr "初始啟動程式偏好設定"
+
+#: ../capplet/gsp-app.c:276
+msgid "No name"
+msgstr "沒有名稱"
+
+#: ../capplet/gsp-app.c:282
+msgid "No description"
+msgstr "沒有描述"
+
+#: ../capplet/main.c:35 ../gnome-session/main.c:309
+msgid "Version of this application"
+msgstr "這個程式的版本"
+
+#: ../capplet/main.c:61
+msgid "Could not display help document"
+msgstr "無法顯示求助文件"
+
+#: ../data/gnome-custom-session.desktop.in.h:1
+msgid "Custom"
+msgstr "自選"
+
+#: ../data/gnome-custom-session.desktop.in.h:2
+msgid "This entry lets you select a saved session"
+msgstr "這個項目讓你選擇儲存的作業階段"
+
+#: ../data/gnome.desktop.in.h:1 ../data/gnome.session.desktop.in.in.h:1
+msgid "GNOME"
+msgstr "GNOME"
+
+#: ../data/gnome.desktop.in.h:2
+msgid "This session logs you into GNOME"
+msgstr "這個作業階段讓你登入 GNOME"
+
+#: ../data/gnome-dummy.session.desktop.in.in.h:1
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: ../data/gnome-session-properties.desktop.in.in.h:1
+msgid "Startup Applications"
+msgstr "初始啟動程式"
+
+#: ../data/gnome-session-properties.desktop.in.in.h:2
+msgid "Choose what applications to start when you log in"
+msgstr "選擇在你登入時要啟動哪些應用程式"
+
+#: ../data/gnome-wayland.desktop.in.h:1
+#: ../data/gnome-wayland.session.desktop.in.in.h:1
+msgid "GNOME on Wayland"
+msgstr "GNOME 於 Wayland"
+
+#: ../data/gnome-wayland.desktop.in.h:2
+msgid "This session logs you into GNOME, using Wayland"
+msgstr "這個作業階段讓你登入 GNOME,使用 Wayland"
+
+#: ../data/session-selector.ui.h:1
+msgid "Custom Session"
+msgstr "自選作業階段"
+
+#: ../data/session-selector.ui.h:2 ../tools/gnome-session-selector.c:103
+msgid "Please select a custom session to run"
+msgstr "請選擇要執行的自選作業階段"
+
+#: ../data/session-selector.ui.h:3
+msgid "_New Session"
+msgstr "新增作業階段(_N)"
+
+#: ../data/session-selector.ui.h:4
+msgid "_Remove Session"
+msgstr "移除作業階段(_R)"
+
+#: ../data/session-selector.ui.h:5
+msgid "Rena_me Session"
+msgstr "重新命名作業階段(_M)"
+
+#: ../data/session-selector.ui.h:6
+msgid "_Continue"
+msgstr "繼續(_C)"
+
+#: ../data/session-properties.ui.h:1
+msgid "Additional startup _programs:"
+msgstr "初始啟動時額外執行以下的程式(_P):"
+
+#: ../data/session-properties.ui.h:2
+msgid "Startup Programs"
+msgstr "初始啟動程式"
+
+#: ../data/session-properties.ui.h:3
+msgid "_Automatically remember running applications when logging out"
+msgstr "登出時自動記住還在執行中的應用程式(_A)"
+
+#: ../data/session-properties.ui.h:4
+msgid "_Remember Currently Running Applications"
+msgstr "記住目前執行的應用程式(_R)"
+
+#: ../data/session-properties.ui.h:5
+msgid "Options"
+msgstr "選項"
+
+#: ../data/session-properties.ui.h:6
+msgid "Browse…"
+msgstr "瀏覽…"
+
+#: ../data/session-properties.ui.h:7
+msgid "Comm_ent:"
+msgstr "註解(_E):"
+
+#: ../data/session-properties.ui.h:8
+msgid "Co_mmand:"
+msgstr "指令(_M):"
+
+#: ../data/session-properties.ui.h:9
+msgid "_Name:"
+msgstr "名稱(_N):"
+
+#: ../egg/eggdesktopfile.c:165
+#, c-format
+msgid "File is not a valid .desktop file"
+msgstr "檔案不是有效的 .desktop 檔案"
+
+#. translators: 'Version' is from a desktop file, and
+#. * should not be translated. '%s' would probably be a
+#. * version number.
+#: ../egg/eggdesktopfile.c:191
+#, c-format
+msgid "Unrecognized desktop file Version '%s'"
+msgstr "無法辨識的桌面檔案版本「%s」"
+
+#: ../egg/eggdesktopfile.c:974
+#, c-format
+msgid "Starting %s"
+msgstr "準備啟動 %s"
+
+#: ../egg/eggdesktopfile.c:1116
+#, c-format
+msgid "Application does not accept documents on command line"
+msgstr "應用程式不接受以命令列開啟文件"
+
+#: ../egg/eggdesktopfile.c:1184
+#, c-format
+msgid "Unrecognized launch option: %d"
+msgstr "無法辨識的啟動選項:%d"
+
+#. translators: The 'Type=Link' string is found in a
+#. * desktop file, and should not be translated.
+#: ../egg/eggdesktopfile.c:1391
+#, c-format
+msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+msgstr "不能傳送文件 URI 至「Type=Link」桌面項目"
+
+#: ../egg/eggdesktopfile.c:1412
+#, c-format
+msgid "Not a launchable item"
+msgstr "不是可以啟動的項目"
+
+#: ../egg/eggsmclient.c:226
+msgid "Disable connection to session manager"
+msgstr "停用到作業階段管理程式的連線"
+
+#: ../egg/eggsmclient.c:229
+msgid "Specify file containing saved configuration"
+msgstr "指定含有已儲存組態的檔案"
+
+#: ../egg/eggsmclient.c:229
+msgid "FILE"
+msgstr "檔案"
+
+#: ../egg/eggsmclient.c:232
+msgid "Specify session management ID"
+msgstr "指定作業階段管理 ID"
+
+#: ../egg/eggsmclient.c:232
+msgid "ID"
+msgstr "ID"
+
+#: ../egg/eggsmclient.c:253
+msgid "Session management options:"
+msgstr "作業階段管理選項:"
+
+#: ../egg/eggsmclient.c:254
+msgid "Show session management options"
+msgstr "顯示作業階段管理選項"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:295
+msgid "Oh no! Something has gone wrong."
+msgstr "糟糕!有些地方出問題了。"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:302
+msgid ""
+"A problem has occurred and the system can't recover. Please contact a system "
+"administrator"
+msgstr "有問題產生且系統不能恢復。請聯絡系統管理者"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:304
+msgid ""
+"A problem has occurred and the system can't recover. All extensions have "
+"been disabled as a precaution."
+msgstr "有問題產生且系統不能恢復。為了預防已先停用所有的擴充功能。"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:306
+msgid ""
+"A problem has occurred and the system can't recover.\n"
+"Please log out and try again."
+msgstr ""
+"有問題產生且系統不能恢復。\n"
+"請登出後再試一次。"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:321
+msgid "_Log Out"
+msgstr "登出(_L)"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:343 ../gnome-session/main.c:307
+msgid "Enable debugging code"
+msgstr "啟用除錯碼"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:344
+msgid "Allow logout"
+msgstr "允許登出"
+
+#: ../gnome-session/gsm-fail-whale-dialog.c:345
+msgid "Show extension warning"
+msgstr "顯示擴充功能警告"
+
+#: ../gnome-session/gsm-manager.c:1271 ../gnome-session/gsm-manager.c:2043
+msgid "Not responding"
+msgstr "沒有回應"
+
+#: ../gnome-session/gsm-util.c:411
+msgid "_Log out"
+msgstr "登出(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: ../gnome-session/gsm-xsmp-client.c:559
+msgid "Remembered Application"
+msgstr "記住的應用程式"
+
+#: ../gnome-session/gsm-xsmp-client.c:1209
+msgid "This program is blocking logout."
+msgstr "這個程式正在阻擋登出。"
+
+#: ../gnome-session/gsm-xsmp-server.c:341
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "因為目前此作業階段即將關閉電腦,拒絕新的客戶端連線\n"
+
+#: ../gnome-session/gsm-xsmp-server.c:610
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "無法建立 ICE 監聽插槽:%s"
+
+#: ../gnome-session/main.c:305
+msgid "Override standard autostart directories"
+msgstr "覆蓋標準的自動啟動目錄"
+
+#: ../gnome-session/main.c:305
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: ../gnome-session/main.c:306
+msgid "Session to use"
+msgstr "要使用的作業階段"
+
+#: ../gnome-session/main.c:306
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: ../gnome-session/main.c:308
+msgid "Do not load user-specified applications"
+msgstr "不要載入使用者指定的應用程式"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: ../gnome-session/main.c:311
+msgid "Show the fail whale dialog for testing"
+msgstr "顯示嚴重錯誤對話盒以供測試"
+
+#: ../gnome-session/main.c:344
+msgid " - the GNOME session manager"
+msgstr " - GNOME 作業階段管理員"
+
+#: ../tools/gnome-session-inhibit.c:110
+#, c-format
+msgid ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION...] COMMAND\n"
+"\n"
+"抑制某些作業階段功能時執行 COMMAND 。\n"
+"\n"
+" -h, --help 顯示這個求助文件\n"
+" --version 顯示程式版本\n"
+" --app-id ID 抑制時要使用的\n"
+" 應用程式 id (選擇性)\n"
+" --reason REASON 抑制的原因 (選擇性)\n"
+" --inhibit ARG 要抑制的東西,以冒號分隔的清單:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only 不要執行 COMMAND 而以等待來取代\n"
+"\n"
+"如果沒有指定 --inhibit 選項,預設為 idle。\n"
+
+#: ../tools/gnome-session-inhibit.c:148
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "無法執行 %s\n"
+
+#: ../tools/gnome-session-inhibit.c:208 ../tools/gnome-session-inhibit.c:218
+#: ../tools/gnome-session-inhibit.c:228
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s 需要引數\n"
+
+#: ../tools/gnome-session-selector.c:62
+#, c-format
+msgid "Session %d"
+msgstr "作業階段 %d"
+
+#: ../tools/gnome-session-selector.c:108
+msgid ""
+"Session names are not allowed to start with ‘.’ or contain ‘/’ characters"
+msgstr "作業階段名稱不允許以 ‘.’ 開頭或包含 ‘/’字符"
+
+#: ../tools/gnome-session-selector.c:112
+msgid "Session names are not allowed to start with ‘.’"
+msgstr "作業階段名稱不允許以 ‘.’ 開頭"
+
+#: ../tools/gnome-session-selector.c:116
+msgid "Session names are not allowed to contain ‘/’ characters"
+msgstr "作業階段名稱不允許包含 ‘/’字符"
+
+#: ../tools/gnome-session-selector.c:124
+#, c-format
+msgid "A session named ‘%s’ already exists"
+msgstr "已存在名為「%s」的作業階段"
+
+#: ../tools/gnome-session-quit.c:53
+msgid "Log out"
+msgstr "登出"
+
+#: ../tools/gnome-session-quit.c:54
+msgid "Power off"
+msgstr "關閉電源"
+
+#: ../tools/gnome-session-quit.c:55
+msgid "Reboot"
+msgstr "重新開機"
+
+#: ../tools/gnome-session-quit.c:56
+msgid "Ignoring any existing inhibitors"
+msgstr "忽略任何現有的限制因素"
+
+#: ../tools/gnome-session-quit.c:57
+msgid "Don't prompt for user confirmation"
+msgstr "無需使用者確認"
+
+#: ../tools/gnome-session-quit.c:91 ../tools/gnome-session-quit.c:101
+msgid "Could not connect to the session manager"
+msgstr "無法連接作業階段總管"
+
+#: ../tools/gnome-session-quit.c:203
+msgid "Program called with conflicting options"
+msgstr "以相衝突的選項呼叫程式"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "有些程式仍在執行中:"
+
+#~ msgid "Unknown"
+#~ msgstr "不明"
+
+#~ msgid "A program is still running:"
+#~ msgstr "一個程式仍在執行中:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr "正在等待程式結束。中斷這個程式可能造成您的工作遺失。"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr "正在等待程式結束。中斷這些程式可能造成您進行中的工作遺失。"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "強制切換使用者"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "強制登出"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "強制暫停"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "強制休眠"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "強制關閉電腦"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "強制重新啟動"
+
+#~ msgid "Lock Screen"
+#~ msgstr "鎖定螢幕"
+
+#~ msgid "Cancel"
+#~ msgstr "取消"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "您會在 %d 秒後自動登出。"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "本系統會在 %d 秒後自動關閉。"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "本系統會在 %d 秒後自動重新啟動。"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "您目前以「%s」的身分登入。"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "是否立刻登出系統?"
+
+#~ msgid "_Switch User"
+#~ msgstr "切換使用者(_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "是否立刻關閉這個系統?"
+
+#~ msgid "S_uspend"
+#~ msgstr "暫停(_U)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "休眠(_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "重新啟動(_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "關閉電腦(_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "是否立刻重新啟動系統?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "找不到圖示「%s」"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 無法載入"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "很不幸的 GNOME 3 無法正常啟動而必須以<i>後備模式</i>啟動。\n"
+#~ "\n"
+#~ "這通常代表您的系統 (圖形硬體或驅動程式) 無法完整呈現 GNOME 3 的體驗。"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "獲取更多有關 GNOME 3 的資訊"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "無法啟動登入作業階段(並且無法連線至 X 伺服器)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "程式以代碼 %d 結束"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "以訊號 %d 終止"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "以訊號 %d 停止"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>某些程式仍在執行:</b>"
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..31f143a
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,595 @@
+# Chinese (Taiwan) translation of gnome-session.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# gnome-core:
+# gnome-session:
+#
+# Yuan-Chung Cheng <platin@linux.org.tw>, 1999.
+# Jing-Jong Shyue <shyue@sonoma.com.tw>, 2000.
+# Chih-Wei Huang <cwhuang@linux.org.tw>, 2000.
+# Abel Cheung <abel@oaka.org>, 2001-2002.
+# Abel Cheung <abel@oaka.org>, 2002-2003.
+# Woodman Tuen <wmtuen@gmail.coim>, 2005-006.
+# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2008, 2010.
+# Wei-Lun Chao <chaoweilun@gmail.com>, 2010.
+# pan93412 <pan93412@gmail.com>, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session 3.1.92\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-session/issues\n"
+"POT-Creation-Date: 2022-01-13 20:29+0000\n"
+"PO-Revision-Date: 2022-05-12 00:03+0800\n"
+"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
+"Language-Team: Chinese <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: data/gnome-custom-session.desktop.in.in:3
+msgid "Custom"
+msgstr "自訂"
+
+#: data/gnome-custom-session.desktop.in.in:4
+msgid "This entry lets you select a saved session"
+msgstr "這個項目讓您選擇儲存的工作階段"
+
+#: data/gnome.desktop.in.in:3 data/gnome.session.desktop.in.in:3
+msgid "GNOME"
+msgstr "GNOME"
+
+#: data/gnome.desktop.in.in:4 data/gnome-wayland.desktop.in.in:4
+#: data/gnome-xorg.desktop.in.in:4
+msgid "This session logs you into GNOME"
+msgstr "這個工作階段讓您登入 GNOME"
+
+#: data/gnome-dummy.session.desktop.in.in:3
+msgid "GNOME dummy"
+msgstr "GNOME dummy"
+
+#: data/gnome-wayland.desktop.in.in:3
+msgid "GNOME on Wayland"
+msgstr "GNOME 採行 Wayland"
+
+#: data/gnome-xorg.desktop.in.in:3
+msgid "GNOME on Xorg"
+msgstr "GNOME 採行 Xorg"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:5
+msgid "Save sessions"
+msgstr "儲存工作階段"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:6
+msgid "If enabled, gnome-session will save the session automatically."
+msgstr "如啟用本選項,gnome-session 會自動儲存作業階段。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:10
+msgid "Save this session"
+msgstr "儲存此工作階段"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:11
+msgid ""
+"When enabled, gnome-session will automatically save the next session at log "
+"out even if auto saving is disabled."
+msgstr ""
+"當啟用此選項,gnome-session 將在登出時自動儲存下一個工作階段,就算自動儲存為"
+"停用狀態。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:15
+msgid "Logout prompt"
+msgstr "登出提示"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:16
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr "如啟用本選項,gnome-session 會在作業階段終止前先提示使用者。"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:20
+msgid "Show the fallback warning"
+msgstr "顯示後備警告"
+
+#: data/org.gnome.SessionManager.gschema.xml.in:21
+msgid ""
+"If enabled, gnome-session will display a warning dialog after login if the "
+"session was automatically fallen back."
+msgstr ""
+"若啟用此選項,gnome-session 將會在工作階段自動退入後備時,於登入後顯示警告對"
+"話框。"
+
+#: data/session-selector.ui:15
+msgid "Custom Session"
+msgstr "自訂工作階段"
+
+#: data/session-selector.ui:50 tools/gnome-session-selector.c:102
+msgid "Please select a custom session to run"
+msgstr "請選擇要執行的自訂工作階段"
+
+#: data/session-selector.ui:105
+msgid "_New Session"
+msgstr "新增工作階段(_N)"
+
+#: data/session-selector.ui:119
+msgid "_Remove Session"
+msgstr "移除工作階段(_R)"
+
+#: data/session-selector.ui:133
+msgid "Rena_me Session"
+msgstr "重新命名工作階段(_M)"
+
+#: data/session-selector.ui:168
+msgid "_Continue"
+msgstr "繼續(_C)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:318
+msgid "Oh no! Something has gone wrong."
+msgstr "糟糕!有些地方出問題了。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:325
+msgid ""
+"A problem has occurred and the system can’t recover. Please contact a system "
+"administrator"
+msgstr "發生問題且系統無法恢復。請連絡系統管理者"
+
+#: gnome-session/gsm-fail-whale-dialog.c:327
+msgid ""
+"A problem has occurred and the system can’t recover. All extensions have "
+"been disabled as a precaution."
+msgstr "發生問題且系統無法恢復。為了預防已先停用所有的擴充功能。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:329
+msgid ""
+"A problem has occurred and the system can’t recover.\n"
+"Please log out and try again."
+msgstr ""
+"發生問題且系統無法恢復。\n"
+"請登出後再試一次。"
+
+#: gnome-session/gsm-fail-whale-dialog.c:344
+msgid "_Log Out"
+msgstr "登出(_L)"
+
+#: gnome-session/gsm-fail-whale-dialog.c:412 gnome-session/main.c:408
+msgid "Enable debugging code"
+msgstr "啟用除錯碼"
+
+#: gnome-session/gsm-fail-whale-dialog.c:413
+msgid "Allow logout"
+msgstr "允許登出"
+
+#: gnome-session/gsm-fail-whale-dialog.c:414
+msgid "Show extension warning"
+msgstr "顯示擴充功能警告"
+
+#: gnome-session/gsm-manager.c:1317 gnome-session/gsm-manager.c:2058
+msgid "Not responding"
+msgstr "沒有回應"
+
+#: gnome-session/gsm-util.c:431
+msgid "_Log out"
+msgstr "登出(_L)"
+
+#. It'd be really surprising to reach this code: if we're here,
+#. * then the XSMP client already has set several XSMP
+#. * properties. But it could still be that SmProgram is not set.
+#.
+#: gnome-session/gsm-xsmp-client.c:557
+msgid "Remembered Application"
+msgstr "記住的應用程式"
+
+#: gnome-session/gsm-xsmp-client.c:1216
+msgid "This program is blocking logout."
+msgstr "這個程式正在阻擋登出。"
+
+#: gnome-session/gsm-xsmp-server.c:340
+msgid ""
+"Refusing new client connection because the session is currently being shut "
+"down\n"
+msgstr "因為目前此工作階段即將關閉電腦,拒絕新的客戶端連線\n"
+
+#: gnome-session/gsm-xsmp-server.c:607
+#, c-format
+msgid "Could not create ICE listening socket: %s"
+msgstr "無法建立 ICE 監聽插槽:%s"
+
+#: gnome-session/main.c:402
+msgid "Running as systemd service"
+msgstr "以 systemd 服務執行"
+
+#: gnome-session/main.c:403
+msgid "Use systemd session management"
+msgstr "使用 systemd 工作階段管理工具"
+
+#: gnome-session/main.c:405
+msgid "Use builtin session management (rather than the systemd based one)"
+msgstr "使用內建(而非基於 systemd 的)工作階段管理工具"
+
+#: gnome-session/main.c:406
+msgid "Override standard autostart directories"
+msgstr "覆蓋標準的自動啟動目錄"
+
+#: gnome-session/main.c:406
+msgid "AUTOSTART_DIR"
+msgstr "AUTOSTART_DIR"
+
+#: gnome-session/main.c:407
+msgid "Session to use"
+msgstr "要使用的工作階段"
+
+#: gnome-session/main.c:407
+msgid "SESSION_NAME"
+msgstr "SESSION_NAME"
+
+#: gnome-session/main.c:409
+msgid "Do not load user-specified applications"
+msgstr "不要載入使用者指定的應用程式"
+
+#: gnome-session/main.c:410
+msgid "Version of this application"
+msgstr "這個程式的版本"
+
+#. Translators: the 'fail whale' is the black dialog we show when something goes seriously wrong
+#: gnome-session/main.c:412
+msgid "Show the fail whale dialog for testing"
+msgstr "顯示嚴重錯誤對話盒以供測試"
+
+#: gnome-session/main.c:413
+msgid "Disable hardware acceleration check"
+msgstr "停用硬體加速檢查"
+
+#: gnome-session/main.c:445
+msgid " — the GNOME session manager"
+msgstr " — GNOME 工作階段管理員"
+
+#: tools/gnome-session-ctl.c:245
+msgid "Start gnome-session-shutdown.target"
+msgstr "啟動 gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:246
+msgid ""
+"Start gnome-session-shutdown.target when receiving EOF or a single byte on "
+"stdin"
+msgstr ""
+"當在標準輸入接收到 EOF 或一個位元組時啟動 gnome-session-shutdown.target"
+
+#: tools/gnome-session-ctl.c:247
+msgid "Signal initialization done to gnome-session"
+msgstr "訊號初始化完成給 gnome-session"
+
+#: tools/gnome-session-ctl.c:248
+msgid "Restart dbus.service if it is running"
+msgstr "如果 dbus.service 正在執行則重新啟動"
+
+#: tools/gnome-session-ctl.c:249
+msgid ""
+"Run from ExecStopPost to start gnome-session-failed.target on service failure"
+msgstr "在服務失敗後從 ExecStopPost 執行以啟動 gnome-session-failed.target"
+
+#: tools/gnome-session-ctl.c:279
+msgid "Program needs exactly one parameter"
+msgstr "程式明確指出需要一個參數"
+
+#: tools/gnome-session-inhibit.c:108
+#, c-format
+msgid ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"Execute COMMAND while inhibiting some session functionality.\n"
+"\n"
+" -h, --help Show this help\n"
+" --version Show program version\n"
+" --app-id ID The application id to use\n"
+" when inhibiting (optional)\n"
+" --reason REASON The reason for inhibiting (optional)\n"
+" --inhibit ARG Things to inhibit, colon-separated list of:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only Do not launch COMMAND and wait forever instead\n"
+" -l, --list List the existing inhibitions, and exit\n"
+"\n"
+"If no --inhibit option is specified, idle is assumed.\n"
+msgstr ""
+"%s [OPTION…] COMMAND\n"
+"\n"
+"抑制工作階段的某些功能的同時執行 COMMAND 。\n"
+"\n"
+" -h, --help 顯示這個求助文件\n"
+" --version 顯示程式版本\n"
+" --app-id ID 抑制時要使用的\n"
+" 應用程式 id (選填)\n"
+" --reason REASON 抑制的原因 (選填)\n"
+" --inhibit ARG 要抑制的項目,以冒號分隔的清單:\n"
+" logout, switch-user, suspend, idle, automount\n"
+" --inhibit-only 不要執行 COMMAND 而以等待來取代\n"
+" -l, --list 列出既有的抑制並離開\n"
+"\n"
+"如果沒有指定 --inhibit 選項,會假定為 idle。\n"
+
+#: tools/gnome-session-inhibit.c:288
+#, c-format
+msgid "Failed to execute %s\n"
+msgstr "無法執行 %s\n"
+
+#: tools/gnome-session-inhibit.c:352 tools/gnome-session-inhibit.c:362
+#: tools/gnome-session-inhibit.c:372
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s 需要引數\n"
+
+#: tools/gnome-session-quit.c:50
+msgid "Log out"
+msgstr "登出"
+
+#: tools/gnome-session-quit.c:51
+msgid "Power off"
+msgstr "關閉電源"
+
+#: tools/gnome-session-quit.c:52
+msgid "Reboot"
+msgstr "重新開機"
+
+#: tools/gnome-session-quit.c:53
+msgid "Ignoring any existing inhibitors"
+msgstr "忽略任何現有的限制因素"
+
+#: tools/gnome-session-quit.c:54
+msgid "Don’t prompt for user confirmation"
+msgstr "無需使用者確認"
+
+#: tools/gnome-session-quit.c:88 tools/gnome-session-quit.c:102
+msgid "Could not connect to the session manager"
+msgstr "無法連接工作階段總管"
+
+#: tools/gnome-session-quit.c:198
+msgid "Program called with conflicting options"
+msgstr "以相衝突的選項呼叫程式"
+
+#: tools/gnome-session-selector.c:61
+#, c-format
+msgid "Session %d"
+msgstr "工作階段 %d"
+
+#: tools/gnome-session-selector.c:107
+msgid ""
+"Session names are not allowed to start with “.” or contain “/” characters"
+msgstr "工作階段名稱不允許以「.」開頭或包含「/」字元"
+
+#: tools/gnome-session-selector.c:111
+msgid "Session names are not allowed to start with “.”"
+msgstr "工作階段名稱不允許以「.」開頭"
+
+#: tools/gnome-session-selector.c:115
+msgid "Session names are not allowed to contain “/” characters"
+msgstr "工作階段名稱不允許包含「/」字元"
+
+#: tools/gnome-session-selector.c:123
+#, c-format
+msgid "A session named “%s” already exists"
+msgstr "已存在名為「%s」的工作階段"
+
+#~ msgid "Additional startup _programs:"
+#~ msgstr "初始啟動時額外執行以下的程式(_P):"
+
+#~ msgid "Startup Programs"
+#~ msgstr "初始啟動程式"
+
+#~ msgid "_Automatically remember running applications when logging out"
+#~ msgstr "登出時自動記住還在執行中的應用程式(_A)"
+
+#~ msgid "_Remember Currently Running Applications"
+#~ msgstr "記住目前執行的應用程式(_R)"
+
+#~ msgid "Options"
+#~ msgstr "選項"
+
+#~ msgid "Browse…"
+#~ msgstr "瀏覽…"
+
+#~ msgid "Comm_ent:"
+#~ msgstr "註解(_E):"
+
+#~ msgid "Co_mmand:"
+#~ msgstr "指令(_M):"
+
+#~ msgid "_Name:"
+#~ msgstr "名稱(_N):"
+
+#~ msgid "This session logs you into GNOME, using Wayland"
+#~ msgstr "這個作業階段讓您登入 GNOME,使用 Wayland"
+
+#~ msgid "Select Command"
+#~ msgstr "選擇指令"
+
+#~ msgid "Add Startup Program"
+#~ msgstr "新增初始啟動程式"
+
+#~ msgid "Edit Startup Program"
+#~ msgstr "修改初始啟動程式"
+
+#~ msgid "The startup command cannot be empty"
+#~ msgstr "初始啟動指令不可以留空"
+
+#~ msgid "The startup command is not valid"
+#~ msgstr "初始啟動指令無效"
+
+#~ msgid "Enabled"
+#~ msgstr "已啟用"
+
+#~ msgid "Icon"
+#~ msgstr "圖示"
+
+#~ msgid "Program"
+#~ msgstr "程式"
+
+#~ msgid "Startup Applications Preferences"
+#~ msgstr "初始啟動程式偏好設定"
+
+#~ msgid "No name"
+#~ msgstr "沒有名稱"
+
+#~ msgid "No description"
+#~ msgstr "沒有描述"
+
+#~ msgid "Could not display help document"
+#~ msgstr "無法顯示求助文件"
+
+#~ msgid "Startup Applications"
+#~ msgstr "初始啟動程式"
+
+#~ msgid "Choose what applications to start when you log in"
+#~ msgstr "選擇在您登入時要啟動哪些應用程式"
+
+#~ msgid "File is not a valid .desktop file"
+#~ msgstr "檔案不是有效的 .desktop 檔案"
+
+#~ msgid "Unrecognized desktop file Version '%s'"
+#~ msgstr "無法辨識的桌面檔案版本「%s」"
+
+#~ msgid "Starting %s"
+#~ msgstr "準備啟動 %s"
+
+#~ msgid "Application does not accept documents on command line"
+#~ msgstr "應用程式不接受以命令列開啟文件"
+
+#~ msgid "Unrecognized launch option: %d"
+#~ msgstr "無法辨識的啟動選項:%d"
+
+#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry"
+#~ msgstr "不能傳送文件 URI 至「Type=Link」桌面項目"
+
+#~ msgid "Not a launchable item"
+#~ msgstr "不是可以啟動的項目"
+
+#~ msgid "Disable connection to session manager"
+#~ msgstr "停用到作業階段管理程式的連線"
+
+#~ msgid "Specify file containing saved configuration"
+#~ msgstr "指定含有已儲存組態的檔案"
+
+#~ msgid "FILE"
+#~ msgstr "檔案"
+
+#~ msgid "ID"
+#~ msgstr "ID"
+
+#~ msgid "Session management options:"
+#~ msgstr "作業階段管理選項:"
+
+#~ msgid "Show session management options"
+#~ msgstr "顯示作業階段管理選項"
+
+#~ msgid "Some programs are still running:"
+#~ msgstr "有些程式仍在執行中:"
+
+#~ msgid "Unknown"
+#~ msgstr "不明"
+
+#~ msgid "A program is still running:"
+#~ msgstr "一個程式仍在執行中:"
+
+#~ msgid ""
+#~ "Waiting for the program to finish. Interrupting the program may cause you "
+#~ "to lose work."
+#~ msgstr "正在等待程式結束。中斷這個程式可能造成您的工作遺失。"
+
+#~ msgid ""
+#~ "Waiting for programs to finish. Interrupting these programs may cause you "
+#~ "to lose work."
+#~ msgstr "正在等待程式結束。中斷這些程式可能造成您進行中的工作遺失。"
+
+#~ msgid "Switch User Anyway"
+#~ msgstr "強制切換使用者"
+
+#~ msgid "Log Out Anyway"
+#~ msgstr "強制登出"
+
+#~ msgid "Suspend Anyway"
+#~ msgstr "強制暫停"
+
+#~ msgid "Hibernate Anyway"
+#~ msgstr "強制休眠"
+
+#~ msgid "Shut Down Anyway"
+#~ msgstr "強制關閉電腦"
+
+#~ msgid "Restart Anyway"
+#~ msgstr "強制重新啟動"
+
+#~ msgid "Lock Screen"
+#~ msgstr "鎖定螢幕"
+
+#~ msgid "Cancel"
+#~ msgstr "取消"
+
+#~ msgid "You will be automatically logged out in %d second."
+#~ msgid_plural "You will be automatically logged out in %d seconds."
+#~ msgstr[0] "您會在 %d 秒後自動登出。"
+
+#~ msgid "This system will be automatically shut down in %d second."
+#~ msgid_plural "This system will be automatically shut down in %d seconds."
+#~ msgstr[0] "本系統會在 %d 秒後自動關閉。"
+
+#~ msgid "This system will be automatically restarted in %d second."
+#~ msgid_plural "This system will be automatically restarted in %d seconds."
+#~ msgstr[0] "本系統會在 %d 秒後自動重新啟動。"
+
+#~ msgid "You are currently logged in as \"%s\"."
+#~ msgstr "您目前以「%s」的身分登入。"
+
+#~ msgid "Log out of this system now?"
+#~ msgstr "是否立刻登出系統?"
+
+#~ msgid "_Switch User"
+#~ msgstr "切換使用者(_S)"
+
+#~ msgid "Shut down this system now?"
+#~ msgstr "是否立刻關閉這個系統?"
+
+#~ msgid "S_uspend"
+#~ msgstr "暫停(_U)"
+
+#~ msgid "_Hibernate"
+#~ msgstr "休眠(_H)"
+
+#~ msgid "_Restart"
+#~ msgstr "重新啟動(_R)"
+
+#~ msgid "_Shut Down"
+#~ msgstr "關閉電腦(_S)"
+
+#~ msgid "Restart this system now?"
+#~ msgstr "是否立刻重新啟動系統?"
+
+#~ msgid "Icon '%s' not found"
+#~ msgstr "找不到圖示「%s」"
+
+#~ msgid "GNOME 3 Failed to Load"
+#~ msgstr "GNOME 3 無法載入"
+
+#~ msgid ""
+#~ "Unfortunately GNOME 3 failed to start properly and started in the "
+#~ "<i>fallback mode</i>.\n"
+#~ "\n"
+#~ "This most likely means your system (graphics hardware or driver) is not "
+#~ "capable of delivering the full GNOME 3 experience."
+#~ msgstr ""
+#~ "很不幸的 GNOME 3 無法正常啟動而必須以<i>後備模式</i>啟動。\n"
+#~ "\n"
+#~ "這通常代表您的系統 (圖形硬體或驅動程式) 無法完整呈現 GNOME 3 的體驗。"
+
+#~ msgid "Learn more about GNOME 3"
+#~ msgstr "獲取更多有關 GNOME 3 的資訊"
+
+#~ msgid ""
+#~ "Unable to start login session (and unable to connect to the X server)"
+#~ msgstr "無法啟動登入作業階段(並且無法連線至 X 伺服器)"
+
+#~ msgid "Exited with code %d"
+#~ msgstr "程式以代碼 %d 結束"
+
+#~ msgid "Killed by signal %d"
+#~ msgstr "以訊號 %d 終止"
+
+#~ msgid "Stopped by signal %d"
+#~ msgstr "以訊號 %d 停止"
+
+#~ msgid "<b>Some programs are still running:</b>"
+#~ msgstr "<b>某些程式仍在執行:</b>"
diff --git a/po/zu.po b/po/zu.po
new file mode 100644
index 0000000..334deb3
--- /dev/null
+++ b/po/zu.po
@@ -0,0 +1,494 @@
+# Zulu translation of gnome-session.
+# Copyright (C) 2004 Zuza Software Foundation (Translate.org.za)
+# This file is distributed under the same license as the gnome-session package.
+#
+# Zuza Software Foundation <info@translate.org.za>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-session HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-01-11 08:59+0000\n"
+"PO-Revision-Date: 2004-12-02 17:02+0200\n"
+"Last-Translator: Zuza Software Foundation <info@translate.org.za>\n"
+"Language-Team: Zulu <translate-discuss-zu@lists.sourceforge.net>\n"
+"Language: zu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gnome-session/gnome-session.schemas.in.h:1
+msgid "Allow TCP connections"
+msgstr "Vumela ukuxhumana kwe TCP"
+
+#: gnome-session/gnome-session.schemas.in.h:2
+msgid ""
+"For security reasons, on platforms which have _IceTcpTransNoListen() "
+"(XFree86 systems), gnome-session does not listen for connections on TCP "
+"ports. This option will allow connections from (authorized) remote hosts. "
+"gnome-session must be restarted for this to take effect."
+msgstr ""
+"Ngezizathu zokuvikeleka, kumganga one _IceTcpTransNoListen() (XFree86 "
+"isisakazi), iziqephu ze gnome azilaleli ukuxhumana kwezitheleli ze TCP. Lolu "
+"khetho lizo vumela ukuxhumana okuvela kwizindawo eziphethe (ezivunyiwe "
+"ngokomthetho). isiqephu-gnome kumelwe siphinde siqalwe kabusha ukuze lokhu "
+"kusebenze."
+
+#: gnome-session/gnome-session.schemas.in.h:3
+msgid "If enabled, gnome-session will prompt the user before ending a session."
+msgstr ""
+"Uma sikhona, isiqephu-gnome siyawucela umsebenzisi phambi kokuqeda isiqephu."
+
+#: gnome-session/gnome-session.schemas.in.h:4
+msgid ""
+"If enabled, gnome-session will save the session automatically. Otherwise, "
+"the logout dialog will have an option to save the session."
+msgstr ""
+"Uma sikhona, isiqephu-gnome sizawuhlenga isiqephu ngokuzenzakalela. "
+"Kungenjalo, ikonombho lokucisha lizawuba nethuba lokuhlenga."
+
+#: gnome-session/gnome-session.schemas.in.h:5
+msgid "Logout prompt"
+msgstr "Isicelo sokuphuma"
+
+#: gnome-session/gnome-session.schemas.in.h:6
+msgid ""
+"Preferred Image to use for the splash screen when logging in to the GNOME "
+"Desktop"
+msgstr ""
+"Isithombe esithandekayo ukusebenzisela ukuphucukisa ubuso besiga-nyezi uma "
+"ungena kwisiga-nyezi se GNOME"
+
+#: gnome-session/gnome-session.schemas.in.h:7
+msgid "Save sessions"
+msgstr "Iziqephu zokuhlenga"
+
+#: gnome-session/gnome-session.schemas.in.h:8
+msgid "Show the splash screen"
+msgstr "Tshengisa ubuso besiga-nyezi obuphucukile"
+
+#: gnome-session/gnome-session.schemas.in.h:9
+msgid "Show the splash screen when the session starts up"
+msgstr "Tshengisa ubuso besiga-nyezi obuphuchukile uma kuqala isiqephu"
+
+#: gnome-session/gnome-session.schemas.in.h:10
+msgid "Splash Screen Image"
+msgstr "Isithombe esiphucukile sobuso besinga-nyezi"
+
+#: gnome-session/gsm-client-editor.c:97 gnome-session/startup-programs.c:314
+msgid "_Order:"
+msgstr "_Inhlelo:"
+
+#: gnome-session/gsm-client-editor.c:99
+msgid "The order in which applications are started in the session."
+msgstr "Uhlelo lapho izithobo ziqalwa ngakho phakathi kwesiqephu."
+
+#: gnome-session/gsm-client-editor.c:106
+msgid "What happens to the application when it exits."
+msgstr "Kwenzekani phakathi kwesithobo uma siphuma."
+
+#: gnome-session/gsm-client-editor.c:109
+msgid "_Style:"
+msgstr "_Inhlobo:"
+
+#: gnome-session/gsm-client-list.c:150
+#: gnome-session/session-properties-capplet.c:412
+msgid "Order"
+msgstr "Uhlelo"
+
+#: gnome-session/gsm-client-list.c:155
+msgid "Style"
+msgstr "Inhlobo"
+
+#: gnome-session/gsm-client-list.c:160
+msgid "State"
+msgstr "Isimo"
+
+#: gnome-session/gsm-client-list.c:165
+msgid "Program"
+msgstr "Uhlelo"
+
+#: gnome-session/gsm-client-row.c:31
+msgid "Inactive"
+msgstr "Engenamandla"
+
+#: gnome-session/gsm-client-row.c:32
+msgid "Waiting to start or already finished."
+msgstr "Imele ukuqala kumbe sele iqedile."
+
+#: gnome-session/gsm-client-row.c:34
+msgid "Starting"
+msgstr "Iyaqala"
+
+#: gnome-session/gsm-client-row.c:35
+msgid "Started but has not yet reported state."
+msgstr "Iqalile kodwa ayikachazi isimo."
+
+#: gnome-session/gsm-client-row.c:37
+msgid "Running"
+msgstr "Iyagijima"
+
+#: gnome-session/gsm-client-row.c:38
+msgid "A normal member of the session."
+msgstr "Ilungu elejwayelekile lesiqephu."
+
+#: gnome-session/gsm-client-row.c:40
+msgid "Saving"
+msgstr "Iyahlenga"
+
+#: gnome-session/gsm-client-row.c:41
+msgid "Saving session details."
+msgstr "Ihlenga imininingwane yesiqephu."
+
+#: gnome-session/gsm-client-row.c:43
+msgid "Unknown"
+msgstr "Ayaziwa"
+
+#: gnome-session/gsm-client-row.c:44
+msgid "State not reported within timeout."
+msgstr "Isimo asitshelwanga phakathi kwesikhathi."
+
+#: gnome-session/gsm-client-row.c:50
+msgid "Normal"
+msgstr "Yejwayelekile"
+
+#: gnome-session/gsm-client-row.c:51
+msgid "Unaffected by logouts but can die."
+msgstr "Ayithintwanga yizinhlelo zokuphuma kodwa yingafa."
+
+#: gnome-session/gsm-client-row.c:53
+msgid "Restart"
+msgstr "Qala kabusha"
+
+#: gnome-session/gsm-client-row.c:54
+msgid "Never allowed to die."
+msgstr "Ungayivumeli ife."
+
+#: gnome-session/gsm-client-row.c:56
+msgid "Trash"
+msgstr "Emgqonyeni"
+
+#: gnome-session/gsm-client-row.c:57
+msgid "Discarded on logout and can die."
+msgstr "Ilahliwe makuphunywa futhi ingafa."
+
+#: gnome-session/gsm-client-row.c:59
+msgid "Settings"
+msgstr "Ukuhlelwa"
+
+#: gnome-session/gsm-client-row.c:60
+msgid "Always started on every login."
+msgstr "Njalo iqalwe uma ivulwa."
+
+#.
+#. * it would be nice to have a dialog which either:
+#. *
+#. * 1. lets you change the message on it
+#. * 2. lets you append messages and has a "history"
+#. *
+#. * for now, we just kill the old dialog and pop up a new one.
+#.
+#: gnome-session/gsm-gsd.c:41
+msgid ""
+"There was an error starting the GNOME Settings Daemon.\n"
+"\n"
+"Some things, such as themes, sounds, or background settings may not work "
+"correctly."
+msgstr ""
+"Kuye kwaba khona nephutha makuqalwa izinhlelo GNOME Daemon.\n"
+"\n"
+"Ezinye izinto, njenge zihloko, imisindo, okanye izinhlelo zesizinda ngeke "
+"zisebenze kahle."
+
+#: gnome-session/gsm-gsd.c:53
+msgid ""
+"\n"
+"\n"
+"The last error message was:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Umyalezo wokugcina onephuta bowuthi:\n"
+"\n"
+
+#: gnome-session/gsm-gsd.c:58
+msgid ""
+"\n"
+"\n"
+"GNOME will still try to restart the Settings Daemon next time you log in."
+msgstr ""
+"\n"
+"\n"
+"GNOME izoqhubeka ukuzama ukuqala kabusha amahlelo we Daemon uma uphinde "
+"wabuya wangena."
+
+#: gnome-session/gsm-gsd.c:115
+msgid "There was an unknown activation error."
+msgstr "Kuye kwaba khona iphutha lokusebenza elingaziwa."
+
+#: gnome-session/gsm-gsd.c:157
+msgid "The Settings Daemon restarted too many times."
+msgstr "Izinhlelo ze Daemon ziqale kabusha izikhathi eziningi kakhulu."
+
+#: gnome-session/logout.c:355
+msgid "Are you sure you want to log out?"
+msgstr "Ingabe uqinisile ufuna ukucisha?"
+
+#: gnome-session/logout.c:372
+msgid "_Save current setup"
+msgstr "_Hlenga ukuhlela kwamanje"
+
+#: gnome-session/logout.c:393
+msgid "Action"
+msgstr "Isinyathelo"
+
+#: gnome-session/logout.c:410
+msgid "_Log out"
+msgstr "_Phuma"
+
+#: gnome-session/logout.c:416
+msgid "Sh_ut down"
+msgstr "Cis_ha ngokuphelele"
+
+#: gnome-session/logout.c:423
+msgid "_Restart the computer"
+msgstr "_Qala kabusha isiga-nyezi"
+
+#: gnome-session/main.c:81
+msgid "Specify a session name to load"
+msgstr "Cacisa igama lesiqephu ozolifaka"
+
+#: gnome-session/main.c:82
+msgid "Only read saved sessions from the default.session file"
+msgstr "Funda kuphela iziqephu ezihlengiwe kwihele lesiqephu.sephutha"
+
+#: gnome-session/main.c:83
+msgid "Millisecond period spent waiting for clients to register (0=forever)"
+msgstr ""
+"Isikhathi esiyisigamu somzuzwana sichithiwe kumelwe okhasimente ukuba "
+"babhalise (0=phakade)"
+
+#: gnome-session/main.c:84
+msgid "Millisecond period spent waiting for clients to respond (0=forever)"
+msgstr ""
+"Isikhathi esiyisigamu somzuzwana sichithiwe kumelwe okhasimente ukuba "
+"baphendule (0=phakade)"
+
+#: gnome-session/main.c:85
+msgid "Millisecond period spent waiting for clients to die (0=forever)"
+msgstr ""
+"Isikhathi esiyisigamu somzuzuwana sichithiwe kumelwe okhasimente ukuba bafe "
+"(0=phakade)"
+
+#: gnome-session/main.c:265
+#, c-format
+msgid ""
+"Could not look up internet address for %s.\n"
+"This will prevent GNOME from operating correctly.\n"
+"It may be possible to correct the problem by adding\n"
+"%s to the file /etc/hosts."
+msgstr ""
+"Ihlulekile ukubheka ikheli lolwembu lwe %s.\n"
+"Lokhu kuzothintela GNOME ekusebenzeni kahle.\n"
+"Kunga khoneka ukuxazulula inkinga ngoku hlanganisa\n"
+"%s phakathi kwehele /etc/hosts."
+
+#: gnome-session/main.c:272
+msgid "Log in Anyway"
+msgstr "Ungangena nomakunjalo"
+
+#: gnome-session/main.c:273
+msgid "Try Again"
+msgstr "Zama futhi"
+
+#: gnome-session/manager.c:223
+msgid "Your session has been saved"
+msgstr "Isiqephu sakho sihlengiwe"
+
+#: gnome-session/manager.c:527
+msgid "Wait abandoned due to conflict."
+msgstr "Linda isikhathi esifikile ukuba sikuphikise."
+
+#: gnome-session/manager.c:1035
+#, c-format
+msgid "No response to the %s command."
+msgstr "Akuna mpendulo kumyalelo %s."
+
+#: gnome-session/manager.c:1036
+msgid "The program may be slow, stopped or broken."
+msgstr "Uhlelo longabe lwenza ngonwabo, limisiwe kumbe liphukile."
+
+#: gnome-session/manager.c:1037
+msgid "You may wait for it to respond or remove it."
+msgstr "Ungayilinda ukuba iphendule kumbe uyikhiphe."
+
+#: gnome-session/manager.c:1760
+msgid "Restart abandoned due to failures."
+msgstr "Ukuqala kabusha kuyekeliwe ngenxa yokwehluleka."
+
+#: gnome-session/manager.c:1956
+msgid "A session shutdown is in progress."
+msgstr "Isiqephu sokucisha sisasebenza."
+
+#: gnome-session/save-session.c:46
+msgid "Set the current session"
+msgstr "Hlela isiqephu samanje"
+
+#: gnome-session/save-session.c:47
+msgid "Kill session"
+msgstr "Bulala isiqephu"
+
+#: gnome-session/save-session.c:48
+msgid "Use dialog boxes"
+msgstr "Sebenzisa amabhokisi ukushayela"
+
+#: gnome-session/save-session.c:146 gnome-session/save-session.c:179
+msgid "Could not connect to the session manager"
+msgstr "Ihlulekile ukuxhumana kumphathi wesiqephu"
+
+#: gnome-session/session-names.c:143
+msgid "The session name cannot be empty"
+msgstr "Igama lesiqephu ngekhe libe yize"
+
+#: gnome-session/session-names.c:154
+msgid "The session name already exists"
+msgstr "Igama lesiqephu likhona"
+
+#: gnome-session/session-names.c:188
+msgid "Add a new session"
+msgstr "Faka isiqephu esisha"
+
+#: gnome-session/session-names.c:218
+msgid "Edit session name"
+msgstr "Hlela igama lesiqephu"
+
+#: gnome-session/session-properties-capplet.c:122
+msgid "_Edit"
+msgstr "_Hlela"
+
+#: gnome-session/session-properties-capplet.c:190
+msgid ""
+"Some changes are not saved.\n"
+"Is it still OK to exit?"
+msgstr ""
+"Olunye ushintsho aluhlengangwa.\n"
+"Ingabe kulungile ukuphuma?"
+
+#: gnome-session/session-properties-capplet.c:240
+#: gnome-session/session-properties.desktop.in.in.h:2
+msgid "Sessions"
+msgstr "Iziqephu"
+
+#: gnome-session/session-properties-capplet.c:273
+msgid "Show splash screen on _login"
+msgstr "Khombisa ukuphucuka kobuso besiga-nyezi uma _ungena"
+
+#: gnome-session/session-properties-capplet.c:284
+#, fuzzy
+msgid "As_k on logout"
+msgstr "_Cela uma uphuma"
+
+#: gnome-session/session-properties-capplet.c:295
+msgid "Automatically save chan_ges to session"
+msgstr "Hlenga ngokuzenzakalela ushint_sho esiqephini"
+
+#: gnome-session/session-properties-capplet.c:306
+msgid "_Sessions:"
+msgstr "_Iziqephu:"
+
+#: gnome-session/session-properties-capplet.c:324
+msgid "Session Name"
+msgstr "Igama lesiqephu"
+
+#: gnome-session/session-properties-capplet.c:375
+msgid "Session Options"
+msgstr "Ukukhetha isiqephu"
+
+#: gnome-session/session-properties-capplet.c:384
+msgid "Current Session"
+msgstr "Isiqephu samanje"
+
+#: gnome-session/session-properties-capplet.c:393
+msgid "Additional startup _programs:"
+msgstr "_Izinhlelo ezifakiwe zokuqala:"
+
+#: gnome-session/session-properties-capplet.c:414
+msgid "Command"
+msgstr "Imiyalelo"
+
+#: gnome-session/session-properties-capplet.c:446
+msgid "Startup Programs"
+msgstr "Izinhlelo zokuqala"
+
+#: gnome-session/session-properties.c:49
+msgid "Remove the currently selected client from the session."
+msgstr "Khipha ukhasimente okhethiwe manje esiqephini."
+
+#: gnome-session/session-properties.c:55
+msgid "Apply changes to the current session"
+msgstr "Yenza ushintsho esiqephini samanje"
+
+#: gnome-session/session-properties.c:61
+msgid "The list of programs in the session."
+msgstr "Uhlu lwezinhlelo esiqephini."
+
+#: gnome-session/session-properties.c:88
+msgid "Currently running _programs:"
+msgstr "_Izinhlelo ezisebenzayo manje:"
+
+#: gnome-session/session-properties.c:104
+msgid "Initialize session settings"
+msgstr "Qala izinhlelo zesiqephu"
+
+#: gnome-session/session-properties.desktop.in.in.h:1
+msgid "Configure your sessions"
+msgstr "Shintsha isimo seziqephu zakho"
+
+#: gnome-session/splash-widget.c:43
+msgid "Sawfish Window Manager"
+msgstr "Bheka njengenhlanzi umphathi wefasitela"
+
+#: gnome-session/splash-widget.c:44
+msgid "Metacity Window Manager"
+msgstr "Lawula umphathi wefasitela"
+
+#: gnome-session/splash-widget.c:45
+msgid "Window Manager"
+msgstr "Umphathi wefasitela"
+
+#: gnome-session/splash-widget.c:46
+msgid "The Panel"
+msgstr "Uhlu lwamagama"
+
+#: gnome-session/splash-widget.c:47
+msgid "Session Manager Proxy"
+msgstr "Umthetho womphathi wesiqephu"
+
+#: gnome-session/splash-widget.c:48
+msgid "Nautilus"
+msgstr "Nautilus"
+
+#: gnome-session/splash-widget.c:49
+msgid "Desktop Settings"
+msgstr "Izinhlelo zobuso besiga-nyezi"
+
+#: gnome-session/startup-programs.c:292
+msgid "_Startup Command:"
+msgstr "Umyalelo woku _qala kabusha:"
+
+#: gnome-session/startup-programs.c:298
+msgid "Startup Command"
+msgstr "Umyalelo wokuqala kabusha"
+
+#: gnome-session/startup-programs.c:347
+msgid "The startup command cannot be empty"
+msgstr "Umyalelo wokuqala kabusha ngekhe ube yize"
+
+#: gnome-session/startup-programs.c:384
+msgid "Add Startup Program"
+msgstr "Faka uhlelo lokuqala kabusha"
+
+#: gnome-session/startup-programs.c:405
+msgid "Edit Startup Program"
+msgstr "Hlela uhlelo lokuqala kabusha"
diff --git a/tools/gnome-session-check-accelerated-common.h b/tools/gnome-session-check-accelerated-common.h
new file mode 100644
index 0000000..59631d9
--- /dev/null
+++ b/tools/gnome-session-check-accelerated-common.h
@@ -0,0 +1,29 @@
+/* -*- mode:c; c-basic-offset: 8; indent-tabs-mode: nil; -*- */
+/* Tool to set the property _GNOME_SESSION_ACCELERATED on the root window */
+/*
+ * Copyright (C) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ *
+ * 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
+ *
+ * Author:
+ * Frederic Crozat <fcrozat@suse.com>
+ */
+
+/* Exit value for helper */
+#define HELPER_ACCEL 0
+#define HELPER_NO_ACCEL 1
+#define HELPER_SOFTWARE_RENDERING 2
+
diff --git a/tools/gnome-session-check-accelerated-gl-helper.c b/tools/gnome-session-check-accelerated-gl-helper.c
new file mode 100644
index 0000000..4be9638
--- /dev/null
+++ b/tools/gnome-session-check-accelerated-gl-helper.c
@@ -0,0 +1,517 @@
+/* gcc -o gnome-session-accelerated `pkg-config --cflags --libs xcomposite gl` -Wall gnome-session-is-accelerated.c */
+
+/*
+ * Copyright (C) 2010 Novell, Inc.
+ * Copyright (C) 2006-2009 Red Hat, 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 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
+ *
+ * Author:
+ * Vincent Untz <vuntz@gnome.org>
+ *
+ * Most of the code comes from desktop-effects [1], released under GPLv2+.
+ * desktop-effects was written by:
+ * Soren Sandmann <sandmann@redhat.com>
+ *
+ * [1] http://git.fedorahosted.org/git/?p=desktop-effects.git;a=blob_plain;f=desktop-effects.c;hb=HEAD
+ */
+
+/*
+ * Here's the rationale behind this helper, quoting Owen, in his mail to the
+ * release team:
+ * (http://mail.gnome.org/archives/release-team/2010-June/msg00079.html)
+ *
+ * """
+ * There are some limits to what we can do here automatically without
+ * knowing anything about the driver situation on the system. The basic
+ * problem is that there are all sorts of suck:
+ *
+ * * No GL at all. This typically only happens if a system is
+ * misconfigured.
+ *
+ * * Only software GL. This one is easy to detect. We have code in
+ * the Fedora desktop-effects tool, etc.
+ *
+ * * GL that isn't featureful enough. (Tiny texture size limits, no
+ * texture-from-pixmap, etc.) Possible to detect with more work, but
+ * largely a fringe case.
+ *
+ * * Buggy GL. This isn't possible to detect. Except for the case where
+ * all GL programs crash. For that reason, we probably don't want
+ * gnome-session to directly try and do any GL detection; better to
+ * use a helper binary.
+ *
+ * * Horribly slow hardware GL. We could theoretically develop some sort
+ * of benchmark, but it's a tricky area. And how slow is too slow?
+ * """
+ *
+ * Some other tools are doing similar checks:
+ * - desktop-effects (Fedora Config Tool) [1]
+ * - drak3d (Mandriva Config Tool) [2]
+ * - compiz-manager (Compiz wrapper) [3]
+ *
+ * [1] http://git.fedorahosted.org/git/?p=desktop-effects.git;a=blob_plain;f=desktop-effects.c;hb=HEAD
+ * [2] http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/drak3d/trunk/lib/Xconfig/glx.pm?view=markup
+ * [3] http://git.compiz.org/fusion/misc/compiz-manager/tree/compiz-manager
+ */
+
+/* for strcasestr */
+#define _GNU_SOURCE
+
+#include <ctype.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#include <regex.h>
+
+#ifdef __FreeBSD__
+#include <kenv.h>
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/extensions/Xcomposite.h>
+#include <GL/gl.h>
+#include <GL/glx.h>
+
+#include "gnome-session-check-accelerated-common.h"
+
+#define SIZE_UNSET 0
+#define SIZE_ERROR -1
+static int max_texture_size = SIZE_UNSET;
+static int max_renderbuffer_size = SIZE_UNSET;
+static gboolean has_llvmpipe = FALSE;
+
+static inline void
+_print_error (const char *str)
+{
+ fprintf (stderr, "gnome-session-is-accelerated: %s\n", str);
+}
+
+#define CMDLINE_UNSET -1
+#define CMDLINE_NON_FALLBACK_FORCED 0
+#define CMDLINE_FALLBACK_FORCED 1
+
+#if defined(__linux__)
+static int
+_parse_kcmdline (void)
+{
+ int ret = CMDLINE_UNSET;
+ GRegex *regex;
+ GMatchInfo *match;
+ char *contents;
+ char *word;
+ const char *arg;
+
+ if (!g_file_get_contents ("/proc/cmdline", &contents, NULL, NULL))
+ return ret;
+
+ regex = g_regex_new ("gnome.fallback=(\\S+)", 0, G_REGEX_MATCH_NOTEMPTY, NULL);
+ if (!g_regex_match (regex, contents, G_REGEX_MATCH_NOTEMPTY, &match))
+ goto out;
+
+ word = g_match_info_fetch (match, 0);
+ g_debug ("Found command-line match '%s'", word);
+ arg = word + strlen ("gnome.fallback=");
+ if (*arg != '0' && *arg != '1')
+ fprintf (stderr, "gnome-session-is-accelerated: Invalid value '%s' for gnome.fallback passed in kernel command line.\n", arg);
+ else
+ ret = atoi (arg);
+ g_free (word);
+
+out:
+ g_match_info_free (match);
+ g_regex_unref (regex);
+ g_free (contents);
+
+ g_debug ("Command-line parsed to %d", ret);
+
+ return ret;
+}
+#elif defined(__FreeBSD__)
+static int
+_parse_kcmdline (void)
+{
+ int ret = CMDLINE_UNSET;
+ char value[KENV_MVALLEN];
+
+ /* a compile time check to avoid unexpected stack overflow */
+ _Static_assert(KENV_MVALLEN < 1024 * 1024, "KENV_MVALLEN is too large");
+
+ if (kenv (KENV_GET, "gnome.fallback", value, KENV_MVALLEN) == -1)
+ return ret;
+
+ if (*value != '0' && *value != '1')
+ fprintf (stderr, "gnome-session-is-accelerated: Invalid value '%s' for gnome.fallback passed in kernel environment.\n", value);
+ else
+ ret = atoi (value);
+
+ g_debug ("Kernel environment parsed to %d", ret);
+
+ return ret;
+}
+#else
+static int
+_parse_kcmdline (void)
+{
+ return CMDLINE_UNSET;
+}
+#endif
+
+static gboolean
+_has_composite (Display *display)
+{
+ int dummy1, dummy2;
+
+ return XCompositeQueryExtension (display, &dummy1, &dummy2);
+}
+
+static gboolean
+_is_comment (const char *line)
+{
+ while (*line && isspace(*line))
+ line++;
+
+ if (*line == '#' || *line == '\0')
+ return TRUE;
+ return FALSE;
+}
+
+static gboolean
+_is_gl_renderer_blacklisted (const char *renderer)
+{
+ FILE *blacklist;
+ char *line = NULL;
+ size_t line_len = 0;
+ gboolean ret = TRUE;
+
+ blacklist = fopen(PKGDATADIR "/hardware-compatibility", "r");
+ if (blacklist == NULL)
+ goto out;
+
+ while (getline (&line, &line_len, blacklist) != -1) {
+ int whitelist = 0;
+ const char *re_str;
+ regex_t re;
+ int status;
+
+ if (line == NULL)
+ break;
+
+ /* Drop trailing \n */
+ line[strlen(line) - 1] = '\0';
+
+ if (_is_comment (line)) {
+ free (line);
+ line = NULL;
+ continue;
+ }
+
+ if (line[0] == '+')
+ whitelist = 1;
+ else if (line[0] == '-')
+ whitelist = 0;
+ else {
+ _print_error ("Invalid syntax in this line for hardware compatibility:");
+ _print_error (line);
+ free (line);
+ line = NULL;
+ continue;
+ }
+
+ re_str = line + 1;
+
+ if (regcomp (&re, re_str, REG_EXTENDED|REG_ICASE|REG_NOSUB) != 0) {
+ _print_error ("Cannot use this regular expression for hardware compatibility:");
+ _print_error (re_str);
+ } else {
+ status = regexec (&re, renderer, 0, NULL, 0);
+ regfree(&re);
+
+ if (status == 0) {
+ if (whitelist)
+ ret = FALSE;
+ goto out;
+ }
+ }
+
+ free (line);
+ line = NULL;
+ }
+
+ ret = FALSE;
+
+out:
+ if (line != NULL)
+ free (line);
+
+ if (blacklist != NULL)
+ fclose (blacklist);
+
+ return ret;
+}
+
+static char *
+_get_hardware_gl (Display *display)
+{
+ int screen;
+ Window root;
+ XVisualInfo *visual = NULL;
+ GLXContext context = NULL;
+ XSetWindowAttributes cwa = { 0 };
+ Window window = None;
+ char *renderer = NULL;
+
+ int attrlist[] = {
+ GLX_RGBA,
+ GLX_RED_SIZE, 1,
+ GLX_GREEN_SIZE, 1,
+ GLX_BLUE_SIZE, 1,
+ GLX_DOUBLEBUFFER,
+ None
+ };
+
+ screen = DefaultScreen (display);
+ root = RootWindow (display, screen);
+
+ visual = glXChooseVisual (display, screen, attrlist);
+ if (!visual)
+ goto out;
+
+ context = glXCreateContext (display, visual, NULL, True);
+ if (!context)
+ goto out;
+
+ cwa.colormap = XCreateColormap (display, root,
+ visual->visual, AllocNone);
+ cwa.background_pixel = 0;
+ cwa.border_pixel = 0;
+ window = XCreateWindow (display, root,
+ 0, 0, 1, 1, 0,
+ visual->depth, InputOutput, visual->visual,
+ CWColormap | CWBackPixel | CWBorderPixel,
+ &cwa);
+
+ if (!glXMakeCurrent (display, window, context))
+ goto out;
+
+ renderer = g_strdup ((const char *) glGetString (GL_RENDERER));
+ if (_is_gl_renderer_blacklisted (renderer)) {
+ g_clear_pointer (&renderer, g_free);
+ goto out;
+ }
+ if (renderer && strcasestr (renderer, "llvmpipe"))
+ has_llvmpipe = TRUE;
+
+ /* we need to get the max texture and renderbuffer sizes while we have
+ * a context, but we'll check their values later */
+
+ glGetIntegerv (GL_MAX_TEXTURE_SIZE, &max_texture_size);
+ if (glGetError() != GL_NO_ERROR)
+ max_texture_size = SIZE_ERROR;
+
+ glGetIntegerv (GL_MAX_RENDERBUFFER_SIZE_EXT, &max_renderbuffer_size);
+ if (glGetError() != GL_NO_ERROR)
+ max_renderbuffer_size = SIZE_ERROR;
+
+out:
+ glXMakeCurrent (display, None, None);
+ if (context)
+ glXDestroyContext (display, context);
+ if (window)
+ XDestroyWindow (display, window);
+ if (cwa.colormap)
+ XFreeColormap (display, cwa.colormap);
+
+ return renderer;
+}
+
+static gboolean
+_has_extension (const char *extension_list,
+ const char *extension)
+{
+ char **extensions;
+ guint i;
+ gboolean ret;
+
+ g_return_val_if_fail (extension != NULL, TRUE);
+
+ /* Extension_list is one big string, containing extensions
+ * separated by spaces. */
+ if (extension_list == NULL)
+ return FALSE;
+
+ ret = FALSE;
+
+ extensions = g_strsplit (extension_list, " ", -1);
+ if (extensions == NULL)
+ return FALSE;
+
+ for (i = 0; extensions[i] != NULL; i++) {
+ if (g_str_equal (extensions[i], extension)) {
+ ret = TRUE;
+ break;
+ }
+ }
+
+ g_strfreev (extensions);
+
+ return ret;
+}
+
+static gboolean
+_has_texture_from_pixmap (Display *display)
+{
+ int screen;
+ const char *server_extensions;
+ const char *client_extensions;
+ gboolean ret = FALSE;
+
+ screen = DefaultScreen (display);
+
+ server_extensions = glXQueryServerString (display, screen,
+ GLX_EXTENSIONS);
+ if (!_has_extension (server_extensions,
+ "GLX_EXT_texture_from_pixmap"))
+ goto out;
+
+ client_extensions = glXGetClientString (display, GLX_EXTENSIONS);
+ if (!_has_extension (client_extensions,
+ "GLX_EXT_texture_from_pixmap"))
+ goto out;
+
+ ret = TRUE;
+
+out:
+ return ret;
+}
+
+static void
+_set_max_screen_size_property (Display *display, int screen, int size)
+{
+ Atom max_screen_size_atom;
+
+ max_screen_size_atom = XInternAtom (display, "_GNOME_MAX_SCREEN_SIZE",
+ False);
+
+ /* Will be read by gnome-settings-daemon and
+ * gnome-control-center to avoid display configurations where 3D
+ * is not available (and would break gnome-shell) */
+ XChangeProperty (display, RootWindow(display, screen),
+ max_screen_size_atom,
+ XA_CARDINAL, 32, PropModeReplace,
+ (unsigned char *)&size, 1);
+
+ XSync(display, False);
+}
+
+static gboolean
+_is_max_texture_size_big_enough (Display *display)
+{
+ int screen, size;
+
+ screen = DefaultScreen (display);
+ size = MIN(max_renderbuffer_size, max_texture_size);
+ if (size < DisplayWidth (display, screen) ||
+ size < DisplayHeight (display, screen))
+ return FALSE;
+
+ _set_max_screen_size_property (display, screen, size);
+
+ return TRUE;
+}
+
+static gboolean print_renderer = FALSE;
+
+static const GOptionEntry entries[] = {
+ { "print-renderer", 'p', 0, G_OPTION_ARG_NONE, &print_renderer, "Print GL renderer name", NULL },
+ { NULL },
+};
+
+int
+main (int argc, char **argv)
+{
+ int kcmdline_parsed;
+ Display *display = NULL;
+ int ret = HELPER_NO_ACCEL;
+ GOptionContext *context;
+ GError *error = NULL;
+ char *renderer = NULL;
+
+ setlocale (LC_ALL, "");
+
+ context = g_option_context_new (NULL);
+ g_option_context_add_main_entries (context, entries, NULL);
+
+ if (!g_option_context_parse (context, &argc, &argv, &error)) {
+ g_error ("Can't parse command line: %s\n", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ kcmdline_parsed = _parse_kcmdline ();
+ if (kcmdline_parsed > CMDLINE_UNSET) {
+ if (kcmdline_parsed == CMDLINE_NON_FALLBACK_FORCED) {
+ _print_error ("Non-fallback mode forced by kernel command line.");
+ ret = HELPER_ACCEL;
+ goto out;
+ } else if (kcmdline_parsed == CMDLINE_FALLBACK_FORCED) {
+ _print_error ("Fallback mode forced by kernel command line.");
+ goto out;
+ }
+ }
+
+ display = XOpenDisplay (NULL);
+ if (!display) {
+ _print_error ("No X display.");
+ goto out;
+ }
+
+ if (!_has_composite (display)) {
+ _print_error ("No composite extension.");
+ goto out;
+ }
+
+ renderer = _get_hardware_gl (display);
+ if (!renderer) {
+ _print_error ("No hardware 3D support.");
+ goto out;
+ }
+
+ if (!_has_texture_from_pixmap (display)) {
+ _print_error ("No GLX_EXT_texture_from_pixmap support.");
+ goto out;
+ }
+
+ if (!_is_max_texture_size_big_enough (display)) {
+ _print_error ("GL_MAX_{TEXTURE,RENDERBUFFER}_SIZE is too small.");
+ goto out;
+ }
+
+ ret = has_llvmpipe ? HELPER_SOFTWARE_RENDERING : HELPER_ACCEL;
+
+ if (print_renderer)
+ g_print ("%s", renderer);
+
+out:
+ if (display)
+ XCloseDisplay (display);
+ g_free (renderer);
+
+ return ret;
+}
diff --git a/tools/gnome-session-check-accelerated-gles-helper.c b/tools/gnome-session-check-accelerated-gles-helper.c
new file mode 100644
index 0000000..6a4463d
--- /dev/null
+++ b/tools/gnome-session-check-accelerated-gles-helper.c
@@ -0,0 +1,201 @@
+/* -*- mode:c; c-basic-offset: 8; indent-tabs-mode: nil; -*- */
+/*
+ *
+ * Copyright (C) 2016 Endless Mobile, 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 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.
+ *
+ * Author:
+ * Cosimo Cecchi <cosimo@endlessm.com>
+ */
+
+/* for strcasestr */
+#define _GNU_SOURCE
+
+#include <config.h>
+
+#include <gtk/gtk.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef GDK_WINDOWING_X11
+#define GL_GLEXT_PROTOTYPES
+
+#include <gdk/gdkx.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <EGL/egl.h>
+#endif
+
+#include "gnome-session-check-accelerated-common.h"
+
+#ifdef GDK_WINDOWING_X11
+static char *
+get_gles_renderer (void)
+{
+ /* Select GLESv2 config */
+ EGLint attribs[] = {
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_RED_SIZE, 1,
+ EGL_GREEN_SIZE, 1,
+ EGL_BLUE_SIZE, 1,
+ EGL_NONE
+ };
+
+ EGLint ctx_attribs[] = {
+ EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL_NONE
+ };
+
+ gboolean egl_inited = FALSE;
+ Display *display;
+ Window win = None;
+ EGLContext egl_ctx = NULL;
+ EGLDisplay egl_dpy = NULL;
+ EGLSurface egl_surf = NULL;
+ char *renderer = NULL;
+
+ gdk_error_trap_push ();
+
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+ egl_dpy = eglGetDisplay (display);
+ if (!egl_dpy) {
+ g_warning ("eglGetDisplay() failed");
+ goto out;
+ }
+
+ EGLint egl_major, egl_minor;
+ if (!eglInitialize (egl_dpy, &egl_major, &egl_minor)) {
+ g_warning ("eglInitialize() failed");
+ goto out;
+ }
+
+ egl_inited = TRUE;
+
+ EGLint num_configs;
+ EGLConfig config;
+ if (!eglChooseConfig (egl_dpy, attribs, &config, 1, &num_configs)) {
+ g_warning ("Failed to get EGL configuration");
+ goto out;
+ }
+
+ EGLint vid;
+ if (!eglGetConfigAttrib (egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
+ g_warning ("Failed to get EGL visual");
+ goto out;
+ }
+
+ /* The X window visual must match the EGL config */
+ XVisualInfo *vis_info, vis_template;
+ int num_visuals;
+ vis_template.visualid = vid;
+ vis_info = XGetVisualInfo (display, VisualIDMask, &vis_template, &num_visuals);
+ if (!vis_info) {
+ g_warning ("Failed to get X visual");
+ goto out;
+ }
+
+ XSetWindowAttributes attr;
+ attr.colormap = XCreateColormap (display, DefaultRootWindow (display),
+ vis_info->visual, AllocNone);
+ win = XCreateWindow (display, DefaultRootWindow (display),
+ 0, 0, /* x, y */
+ 1, 1, /* width, height */
+ 0, /* border_width */
+ vis_info->depth, InputOutput,
+ vis_info->visual, CWColormap, &attr);
+ XFree (vis_info);
+
+ eglBindAPI (EGL_OPENGL_ES_API);
+
+ egl_ctx = eglCreateContext (egl_dpy, config, EGL_NO_CONTEXT, ctx_attribs);
+ if (!egl_ctx) {
+ g_warning ("Failed to create EGL context");
+ goto out;
+ }
+
+ egl_surf = eglCreateWindowSurface (egl_dpy, config, win, NULL);
+ if (!egl_surf) {
+ g_warning ("Failed to create EGL surface");
+ goto out;
+ }
+
+ if (!eglMakeCurrent (egl_dpy, egl_surf, egl_surf, egl_ctx)) {
+ g_warning ("eglMakeCurrent() failed");
+ goto out;
+ }
+
+ renderer = g_strdup ((const char *) glGetString (GL_RENDERER));
+
+ out:
+ if (egl_ctx)
+ eglDestroyContext (egl_dpy, egl_ctx);
+ if (egl_surf)
+ eglDestroySurface (egl_dpy, egl_surf);
+ if (egl_inited)
+ eglTerminate (egl_dpy);
+ if (win != None)
+ XDestroyWindow (display, win);
+
+ gdk_error_trap_pop_ignored ();
+ return renderer;
+}
+#endif
+
+static gboolean print_renderer = FALSE;
+
+static const GOptionEntry entries[] = {
+ { "print-renderer", 'p', 0, G_OPTION_ARG_NONE, &print_renderer, "Print EGL renderer name", NULL },
+ { NULL },
+};
+
+int
+main (int argc,
+ char **argv)
+{
+ char *renderer = NULL;
+ GOptionContext *context;
+ int ret = HELPER_NO_ACCEL;
+ GError *error = NULL;
+
+ setlocale (LC_ALL, "");
+
+ context = g_option_context_new (NULL);
+ g_option_context_add_group (context, gtk_get_option_group (TRUE));
+ g_option_context_add_main_entries (context, entries, NULL);
+
+ if (!g_option_context_parse (context, &argc, &argv, &error)) {
+ g_error ("Can't parse command line: %s\n", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+#ifdef GDK_WINDOWING_X11
+ renderer = get_gles_renderer ();
+#endif
+
+ if (renderer != NULL) {
+ if (print_renderer)
+ g_print ("%s", renderer);
+ if (strcasestr (renderer, "llvmpipe"))
+ ret = HELPER_SOFTWARE_RENDERING;
+ else
+ ret = HELPER_ACCEL;
+ }
+
+out:
+ return ret;
+}
diff --git a/tools/gnome-session-check-accelerated.c b/tools/gnome-session-check-accelerated.c
new file mode 100644
index 0000000..3765f52
--- /dev/null
+++ b/tools/gnome-session-check-accelerated.c
@@ -0,0 +1,318 @@
+/* -*- mode:c; c-basic-offset: 8; indent-tabs-mode: nil; -*- */
+/* Tool to set the property _GNOME_SESSION_ACCELERATED on the root window */
+/*
+ * Copyright (C) 2011 Red Hat, 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 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
+ *
+ * Author:
+ * Colin Walters <walters@verbum.org>
+ */
+
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include <gtk/gtk.h>
+#include <epoxy/gl.h>
+#include <gdk/gdkx.h>
+#include <X11/Xatom.h>
+#include <sys/wait.h>
+
+#include "gnome-session-check-accelerated-common.h"
+
+/* Wait up to this long for a running check to finish */
+#define PROPERTY_CHANGE_TIMEOUT 5000
+
+/* Values used for the _GNOME_SESSION_ACCELERATED root window property */
+#define NO_ACCEL 0
+#define HAVE_ACCEL 1
+#define ACCEL_CHECK_RUNNING 2
+
+static Atom is_accelerated_atom;
+static Atom is_software_rendering_atom;
+static Atom renderer_atom;
+static gboolean property_changed;
+
+static gboolean
+on_property_notify_timeout (gpointer data)
+{
+ gtk_main_quit ();
+ return FALSE;
+}
+
+static GdkFilterReturn
+property_notify_filter (GdkXEvent *xevent,
+ GdkEvent *event,
+ gpointer data)
+{
+ XPropertyEvent *ev = xevent;
+
+ if (ev->type == PropertyNotify && ev->atom == is_accelerated_atom) {
+ property_changed = TRUE;
+ gtk_main_quit ();
+ }
+
+ return GDK_FILTER_CONTINUE;
+}
+
+static gboolean
+wait_for_property_notify (void)
+{
+ GdkDisplay *display;
+ GdkScreen *screen;
+ GdkWindow *root;
+ Window rootwin;
+
+ property_changed = FALSE;
+
+ display = gdk_display_get_default ();
+ screen = gdk_display_get_default_screen (display);
+ root = gdk_screen_get_root_window (screen);
+ rootwin = gdk_x11_window_get_xid (root);
+
+ XSelectInput (GDK_DISPLAY_XDISPLAY (display), rootwin, PropertyChangeMask);
+ gdk_window_add_filter (root, property_notify_filter, NULL);
+ g_timeout_add (PROPERTY_CHANGE_TIMEOUT, on_property_notify_timeout, NULL);
+
+ gtk_main ();
+
+ return property_changed;
+}
+
+static char *
+get_gtk_gles_renderer (GError **error)
+{
+ GtkWidget *win;
+ GdkGLContext *context;
+ char *renderer = NULL;
+
+ win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_realize (win);
+ context = gdk_window_create_gl_context (gtk_widget_get_window (win), error);
+ if (!context)
+ return NULL;
+ gdk_gl_context_make_current (context);
+ renderer = g_strdup ((char *) glGetString (GL_RENDERER));
+ gdk_gl_context_clear_current ();
+ g_object_unref (context);
+
+ return renderer;
+}
+
+static gboolean
+is_discrete_gpu_check (void)
+{
+ const char *dri_prime;
+
+ dri_prime = g_getenv ("DRI_PRIME");
+ if (!dri_prime)
+ return FALSE;
+ if (*dri_prime != '1')
+ return FALSE;
+ return TRUE;
+}
+
+int
+main (int argc, char **argv)
+{
+ GdkDisplay *display = NULL;
+ int estatus;
+ char *gl_helper_argv[] = { LIBEXECDIR "/gnome-session-check-accelerated-gl-helper", "--print-renderer", NULL };
+ char *gles_helper_argv[] = { LIBEXECDIR "/gnome-session-check-accelerated-gles-helper", "--print-renderer", NULL };
+ const char *renderer_string = NULL;
+ char *gl_renderer_string = NULL, *gles_renderer_string = NULL;
+ gboolean gl_software_rendering = FALSE, gles_software_rendering = FALSE;
+ Window rootwin;
+ glong is_accelerated, is_software_rendering;
+ GError *gl_error = NULL, *gles_error = NULL, *gtk_gles_error = NULL;
+
+ gtk_init (NULL, NULL);
+
+ /* gnome-session-check-accelerated gets run before X is started in the wayland
+ * case, and it currently requires X. Until we have that working, just always
+ * assume wayland will work.
+ * Also make sure that we don't read cached information about the first GPU
+ * when requesting information about the second.
+ */
+ if (is_discrete_gpu_check () || g_strcmp0 (g_getenv ("XDG_SESSION_TYPE"), "x11") != 0) {
+ g_autofree char *discrete_renderer_string = get_gtk_gles_renderer (&gtk_gles_error);
+ if (discrete_renderer_string) {
+ g_print ("%s", discrete_renderer_string);
+ return 0;
+ }
+ if (gtk_gles_error != NULL) {
+ g_printerr ("gnome-session-check-accelerated: "
+ "Failed to get GTK GLES renderer: %s\n",
+ gtk_gles_error->message);
+ g_clear_error (&gtk_gles_error);
+ }
+ return 1;
+ }
+
+ display = gdk_display_get_default ();
+ /* when running on X11 with a nested wayland GDK will default to wayland
+ * so looking for X11 atoms will not work (and crash).
+ */
+ if (!GDK_IS_X11_DISPLAY (display)) {
+ g_printerr ("gnome-session-check-accelerated: no X11 display found\n");
+ return 1;
+ }
+
+ rootwin = gdk_x11_get_default_root_xwindow ();
+
+ is_accelerated_atom = gdk_x11_get_xatom_by_name_for_display (display, "_GNOME_SESSION_ACCELERATED");
+ is_software_rendering_atom = gdk_x11_get_xatom_by_name_for_display (display, "_GNOME_IS_SOFTWARE_RENDERING");
+ renderer_atom = gdk_x11_get_xatom_by_name_for_display (display, "_GNOME_SESSION_RENDERER");
+
+ {
+ Atom type;
+ gint format;
+ gulong nitems;
+ gulong bytes_after;
+ guchar *data;
+
+ read:
+ gdk_x11_display_error_trap_push (display);
+ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), rootwin,
+ is_accelerated_atom,
+ 0, G_MAXLONG, False, XA_CARDINAL, &type, &format, &nitems,
+ &bytes_after, &data);
+ gdk_x11_display_error_trap_pop_ignored (display);
+
+ if (type == XA_CARDINAL) {
+ glong *is_accelerated_ptr = (glong*) data;
+
+ if (*is_accelerated_ptr == ACCEL_CHECK_RUNNING) {
+ /* Test in progress, wait */
+ if (wait_for_property_notify ())
+ goto read;
+ /* else fall through and do the check ourselves */
+
+ } else {
+ gdk_x11_display_error_trap_push (display);
+ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), rootwin,
+ renderer_atom,
+ 0, G_MAXLONG, False, XA_STRING, &type, &format, &nitems,
+ &bytes_after, &data);
+ gdk_x11_display_error_trap_pop_ignored (display);
+
+ if (type == XA_STRING) {
+ g_print ("%s", data);
+ }
+
+ return (*is_accelerated_ptr == 0 ? 1 : 0);
+ }
+ }
+ }
+
+ /* We don't have the property or it's the wrong type.
+ * Try to compute it now.
+ */
+
+ /* First indicate that a test is in progress */
+ is_accelerated = ACCEL_CHECK_RUNNING;
+ is_software_rendering = FALSE;
+ estatus = 1;
+
+ XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+ rootwin,
+ is_accelerated_atom,
+ XA_CARDINAL, 32, PropModeReplace, (guchar *) &is_accelerated, 1);
+
+ gdk_display_sync (display);
+
+ /* First, try the GL helper */
+ if (g_spawn_sync (NULL, (char **) gl_helper_argv, NULL, 0,
+ NULL, NULL, &gl_renderer_string, NULL, &estatus, &gl_error)) {
+ is_accelerated = (WEXITSTATUS(estatus) == HELPER_ACCEL);
+ gl_software_rendering = (WEXITSTATUS(estatus) == HELPER_SOFTWARE_RENDERING);
+ if (is_accelerated) {
+ renderer_string = gl_renderer_string;
+ goto finish;
+ }
+
+ g_printerr ("gnome-session-check-accelerated: GL Helper exited with code %d\n", estatus);
+ }
+
+ /* Then, try the GLES helper */
+ if (g_spawn_sync (NULL, (char **) gles_helper_argv, NULL, 0,
+ NULL, NULL, &gles_renderer_string, NULL, &estatus, &gles_error)) {
+ is_accelerated = (WEXITSTATUS(estatus) == HELPER_ACCEL);
+ gles_software_rendering = (WEXITSTATUS(estatus) == HELPER_SOFTWARE_RENDERING);
+ if (is_accelerated) {
+ renderer_string = gles_renderer_string;
+ goto finish;
+ }
+
+ g_printerr ("gnome-session-check-accelerated: GLES Helper exited with code %d\n", estatus);
+ }
+
+ /* If we got here, GL software rendering is our best bet */
+ if (gl_software_rendering || gles_software_rendering) {
+ is_software_rendering = TRUE;
+ is_accelerated = TRUE;
+
+ if (gl_software_rendering)
+ renderer_string = gl_renderer_string;
+ else if (gles_software_rendering)
+ renderer_string = gles_renderer_string;
+
+ goto finish;
+ }
+
+ /* Both helpers failed; print their error messages */
+ if (gl_error != NULL) {
+ g_printerr ("gnome-session-check-accelerated: Failed to run GL helper: %s\n", gl_error->message);
+ g_clear_error (&gl_error);
+ }
+
+ if (gles_error != NULL) {
+ g_printerr ("gnome-session-check-accelerated: Failed to run GLES helper: %s\n", gles_error->message);
+ g_clear_error (&gles_error);
+ }
+
+ finish:
+ if (is_accelerated) {
+ XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+ rootwin,
+ is_accelerated_atom,
+ XA_CARDINAL, 32, PropModeReplace, (guchar *) &is_accelerated, 1);
+ }
+
+ if (is_software_rendering) {
+ XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+ rootwin,
+ is_software_rendering_atom,
+ XA_CARDINAL, 32, PropModeReplace, (guchar *) &is_software_rendering, 1);
+ }
+
+ if (renderer_string != NULL) {
+ XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+ rootwin,
+ renderer_atom,
+ XA_STRING, 8, PropModeReplace, (guchar *) renderer_string, strlen (renderer_string));
+
+ /* Print the renderer */
+ g_print ("%s", renderer_string);
+ }
+
+ gdk_display_sync (display);
+
+ g_free (gl_renderer_string);
+ g_free (gles_renderer_string);
+
+ return is_accelerated ? 0 : 1;
+}
diff --git a/tools/gnome-session-ctl.c b/tools/gnome-session-ctl.c
new file mode 100644
index 0000000..eb9d6b5
--- /dev/null
+++ b/tools/gnome-session-ctl.c
@@ -0,0 +1,304 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * gnome-session-tl.c - Small utility program to manage gnome systemd session.
+
+ Copyright (C) 1998 Tom Tromey
+ Copyright (C) 2008,2019 Red Hat, 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/>.
+*/
+
+#include <config.h>
+
+#include <locale.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <systemd/sd-daemon.h>
+
+#include <glib.h>
+#include <glib-unix.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#define GSM_SERVICE_DBUS "org.gnome.SessionManager"
+#define GSM_PATH_DBUS "/org/gnome/SessionManager"
+#define GSM_INTERFACE_DBUS "org.gnome.SessionManager"
+
+#define SYSTEMD_DBUS "org.freedesktop.systemd1"
+#define SYSTEMD_PATH_DBUS "/org/freedesktop/systemd1"
+#define SYSTEMD_INTERFACE_DBUS "org.freedesktop.systemd1.Manager"
+
+static GDBusConnection *
+get_session_bus (void)
+{
+ g_autoptr(GError) error = NULL;
+ GDBusConnection *bus;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (bus == NULL)
+ g_warning ("Couldn't connect to session bus: %s", error->message);
+
+ return bus;
+}
+
+static void
+do_signal_init (void)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ g_autoptr(GVariant) reply = NULL;
+ g_autoptr(GError) error = NULL;
+
+ connection = get_session_bus ();
+ if (connection == NULL)
+ return;
+
+ reply = g_dbus_connection_call_sync (connection,
+ GSM_SERVICE_DBUS,
+ GSM_PATH_DBUS,
+ GSM_INTERFACE_DBUS,
+ "Initialized",
+ NULL,
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &error);
+
+ if (error != NULL)
+ g_warning ("Failed to call signal initialization: %s",
+ error->message);
+}
+
+static void
+do_start_unit (const gchar *unit, const char *mode)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ g_autoptr(GVariant) reply = NULL;
+ g_autoptr(GError) error = NULL;
+
+ connection = get_session_bus ();
+ if (connection == NULL)
+ return;
+
+ reply = g_dbus_connection_call_sync (connection,
+ SYSTEMD_DBUS,
+ SYSTEMD_PATH_DBUS,
+ SYSTEMD_INTERFACE_DBUS,
+ "StartUnit",
+ g_variant_new ("(ss)",
+ unit,
+ mode),
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &error);
+
+ if (error != NULL)
+ g_warning ("Failed to start shutdown target: %s",
+ error->message);
+}
+
+static void
+do_restart_dbus (void)
+{
+ g_autoptr(GDBusConnection) connection = NULL;
+ g_autoptr(GVariant) reply = NULL;
+ g_autoptr(GError) error = NULL;
+
+ connection = get_session_bus ();
+ if (connection == NULL)
+ return;
+
+ reply = g_dbus_connection_call_sync (connection,
+ SYSTEMD_DBUS,
+ SYSTEMD_PATH_DBUS,
+ SYSTEMD_INTERFACE_DBUS,
+ "StopUnit",
+ g_variant_new ("(ss)",
+ "dbus.service",
+ "fail"),
+ NULL,
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ -1, NULL, &error);
+
+ if (error != NULL)
+ g_warning ("Failed to restart DBus service: %s",
+ error->message);
+}
+
+typedef struct {
+ GMainLoop *loop;
+ gint fifo_fd;
+} MonitorLeader;
+
+static gboolean
+leader_term_or_int_signal_cb (gpointer user_data)
+{
+ MonitorLeader *data = (MonitorLeader*) user_data;
+
+ g_main_quit (data->loop);
+
+ return G_SOURCE_REMOVE;
+}
+
+static gboolean
+leader_fifo_io_cb (gint fd,
+ GIOCondition condition,
+ gpointer user_data)
+{
+ MonitorLeader *data = (MonitorLeader*) user_data;
+
+ sd_notify (0, "STOPPING=1");
+
+ if (condition | G_IO_IN) {
+ char buf[1];
+ read (data->fifo_fd, buf, 1);
+ }
+ if (condition | G_IO_HUP) {
+ g_main_loop_quit (data->loop);
+ }
+
+ return G_SOURCE_CONTINUE;
+}
+
+/**
+ * do_monitor_leader:
+ *
+ * Function to monitor the leader to ensure clean session shutdown and
+ * propagation of this information to/from loginctl/GDM.
+ * See main.c systemd_leader_run() for more information.
+ */
+static void
+do_monitor_leader (void)
+{
+ MonitorLeader data;
+ g_autofree char *fifo_name = NULL;
+ int res;
+
+ data.loop = g_main_loop_new (NULL, TRUE);
+
+ fifo_name = g_strdup_printf ("%s/gnome-session-leader-fifo",
+ g_get_user_runtime_dir ());
+ res = mkfifo (fifo_name, 0666);
+ if (res < 0 && errno != EEXIST)
+ g_warning ("Error creating FIFO: %m");
+
+ data.fifo_fd = g_open (fifo_name, O_RDONLY | O_CLOEXEC, 0666);
+ if (data.fifo_fd >= 0) {
+ struct stat buf;
+
+ res = fstat (data.fifo_fd, &buf);
+ if (res < 0) {
+ g_warning ("Unable to monitor session leader: stat failed with error %m");
+ sd_notifyf (0, "STATUS=Unable to monitor session leader: FD is not a FIFO %m");
+ close (data.fifo_fd);
+ data.fifo_fd = -1;
+ } else if (!(buf.st_mode & S_IFIFO)) {
+ g_warning ("Unable to monitor session leader: FD is not a FIFO");
+ sd_notify (0, "STATUS=Unable to monitor session leader: FD is not a FIFO");
+ close (data.fifo_fd);
+ data.fifo_fd = -1;
+ } else {
+ sd_notify (0, "STATUS=Watching session leader");
+ g_unix_fd_add (data.fifo_fd, G_IO_HUP | G_IO_IN, leader_fifo_io_cb, &data);
+ }
+ } else {
+ g_warning ("Unable to monitor session leader: Opening FIFO failed with %m");
+ sd_notifyf (0, "STATUS=Unable to monitor session leader: Opening FIFO failed with %m");
+ }
+
+ g_unix_signal_add (SIGTERM, leader_term_or_int_signal_cb, &data);
+ g_unix_signal_add (SIGINT, leader_term_or_int_signal_cb, &data);
+
+ g_main_loop_run (data.loop);
+
+ g_main_loop_unref (data.loop);
+ /* FD is closed with the application. */
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_autoptr(GError) error = NULL;
+ static gboolean opt_shutdown;
+ static gboolean opt_monitor;
+ static gboolean opt_signal_init;
+ static gboolean opt_restart_dbus;
+ static gboolean opt_exec_stop_check;
+ int conflicting_options;
+ GOptionContext *ctx;
+ static const GOptionEntry options[] = {
+ { "shutdown", '\0', 0, G_OPTION_ARG_NONE, &opt_shutdown, N_("Start gnome-session-shutdown.target"), NULL },
+ { "monitor", '\0', 0, G_OPTION_ARG_NONE, &opt_monitor, N_("Start gnome-session-shutdown.target when receiving EOF or a single byte on stdin"), NULL },
+ { "signal-init", '\0', 0, G_OPTION_ARG_NONE, &opt_signal_init, N_("Signal initialization done to gnome-session"), NULL },
+ { "restart-dbus", '\0', 0, G_OPTION_ARG_NONE, &opt_restart_dbus, N_("Restart dbus.service if it is running"), NULL },
+ { "exec-stop-check", '\0', 0, G_OPTION_ARG_NONE, &opt_exec_stop_check, N_("Run from ExecStopPost to start gnome-session-failed.target on service failure"), NULL },
+ { NULL },
+ };
+
+ /* Initialize the i18n stuff */
+ setlocale (LC_ALL, "");
+ bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ ctx = g_option_context_new ("");
+ g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
+ if (! g_option_context_parse (ctx, &argc, &argv, &error)) {
+ g_warning ("Unable to start: %s", error->message);
+ exit (1);
+ }
+ g_option_context_free (ctx);
+
+ conflicting_options = 0;
+ if (opt_shutdown)
+ conflicting_options++;
+ if (opt_monitor)
+ conflicting_options++;
+ if (opt_signal_init)
+ conflicting_options++;
+ if (opt_restart_dbus)
+ conflicting_options++;
+ if (opt_exec_stop_check)
+ conflicting_options++;
+ if (conflicting_options != 1) {
+ g_printerr (_("Program needs exactly one parameter"));
+ exit (1);
+ }
+
+ sd_notify (0, "READY=1");
+
+ if (opt_signal_init) {
+ do_signal_init ();
+ } else if (opt_restart_dbus) {
+ do_restart_dbus ();
+ } else if (opt_shutdown) {
+ do_start_unit ("gnome-session-shutdown.target", "replace-irreversibly");
+ } else if (opt_monitor) {
+ do_monitor_leader ();
+ do_start_unit ("gnome-session-shutdown.target", "replace-irreversibly");
+ } else if (opt_exec_stop_check) {
+ /* Start failed target if the restart limit was hit */
+ if (g_strcmp0 ("start-limit-hit", g_getenv ("SERVICE_RESULT")) == 0) {
+ do_start_unit ("gnome-session-failed.target", "fail");
+ }
+ } else {
+ g_assert_not_reached ();
+ }
+
+ return 0;
+}
diff --git a/tools/gnome-session-custom-session b/tools/gnome-session-custom-session
new file mode 100755
index 0000000..07fdb0c
--- /dev/null
+++ b/tools/gnome-session-custom-session
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+gnome-session-selector
+exec gnome-session
diff --git a/tools/gnome-session-inhibit.c b/tools/gnome-session-inhibit.c
new file mode 100644
index 0000000..738a9b4
--- /dev/null
+++ b/tools/gnome-session-inhibit.c
@@ -0,0 +1,411 @@
+/*
+ * Copyright (C) 2012 Red Hat, 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/>.
+ */
+
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <locale.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#include "gnome-session/gsm-inhibitor-flag.h"
+
+static GsmInhibitorFlag parse_flags (const gchar *arg)
+{
+ GsmInhibitorFlag flags;
+ gchar **args;
+ gint i;
+
+ flags = 0;
+
+ args = g_strsplit (arg, ":", 0);
+ for (i = 0; args[i]; i++)
+ {
+ if (strcmp (args[i], "logout") == 0)
+ flags |= GSM_INHIBITOR_FLAG_LOGOUT;
+ else if (strcmp (args[i], "switch-user") == 0)
+ flags |= GSM_INHIBITOR_FLAG_SWITCH_USER;
+ else if (strcmp (args[i], "suspend") == 0)
+ flags |= GSM_INHIBITOR_FLAG_SUSPEND;
+ else if (strcmp (args[i], "idle") == 0)
+ flags |= GSM_INHIBITOR_FLAG_IDLE;
+ else if (strcmp (args[i], "automount") == 0)
+ flags |= GSM_INHIBITOR_FLAG_AUTOMOUNT;
+ else
+ g_print ("Ignoring inhibit argument: %s\n", args[i]);
+ }
+
+ g_strfreev (args);
+
+ return flags;
+}
+
+static gboolean inhibit (const gchar *app_id,
+ const gchar *reason,
+ GsmInhibitorFlag flags)
+{
+ GDBusConnection *bus;
+ GVariant *ret;
+ GError *error = NULL;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (bus == NULL)
+ {
+ g_warning ("Failed to connect to session bus: %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ ret = g_dbus_connection_call_sync (bus,
+ "org.gnome.SessionManager",
+ "/org/gnome/SessionManager",
+ "org.gnome.SessionManager",
+ "Inhibit",
+ g_variant_new ("(susu)",
+ app_id, 0, reason, flags),
+ G_VARIANT_TYPE ("(u)"),
+ 0,
+ G_MAXINT,
+ NULL,
+ &error);
+
+ if (ret == NULL)
+ {
+ g_warning ("Failed to call Inhibit: %s\n", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ g_variant_unref (ret);
+
+ return TRUE;
+}
+
+static void usage (void)
+{
+ g_print (_("%s [OPTION…] COMMAND\n"
+ "\n"
+ "Execute COMMAND while inhibiting some session functionality.\n"
+ "\n"
+ " -h, --help Show this help\n"
+ " --version Show program version\n"
+ " --app-id ID The application id to use\n"
+ " when inhibiting (optional)\n"
+ " --reason REASON The reason for inhibiting (optional)\n"
+ " --inhibit ARG Things to inhibit, colon-separated list of:\n"
+ " logout, switch-user, suspend, idle, automount\n"
+ " --inhibit-only Do not launch COMMAND and wait forever instead\n"
+ " -l, --list List the existing inhibitions, and exit\n"
+ "\n"
+ "If no --inhibit option is specified, idle is assumed.\n"),
+ g_get_prgname ());
+}
+
+static void version (void)
+{
+ g_print ("%s %s\n", g_get_prgname (), PACKAGE_VERSION);
+}
+
+static GVariant *
+get_inhibitor_prop (GDBusProxy *inhibitor,
+ const char *method_name)
+{
+ g_autoptr(GVariant) variant = NULL;
+ g_autoptr(GError) error = NULL;
+
+ variant = g_dbus_proxy_call_sync (inhibitor,
+ method_name,
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+
+ if (variant == NULL) {
+ g_debug ("Failed to get property via '%s': %s",
+ method_name, error->message);
+ return NULL;
+ }
+
+ return g_variant_get_child_value (variant, 0);
+}
+
+static void
+string_append_comma (GString *s,
+ const char *value)
+{
+ if (s->len != 0)
+ g_string_append (s, ", ");
+ g_string_append (s, value);
+}
+
+static char *
+flags_to_str (guint32 flags)
+{
+ GString *s;
+
+ s = g_string_new (NULL);
+ if (flags & GSM_INHIBITOR_FLAG_LOGOUT)
+ string_append_comma (s, "logout");
+ if (flags & GSM_INHIBITOR_FLAG_SWITCH_USER)
+ string_append_comma (s, "switch-user");
+ if (flags & GSM_INHIBITOR_FLAG_SUSPEND)
+ string_append_comma (s, "suspend");
+ if (flags & GSM_INHIBITOR_FLAG_IDLE)
+ string_append_comma (s, "idle");
+ if (flags & GSM_INHIBITOR_FLAG_AUTOMOUNT)
+ string_append_comma (s, "automount");
+
+ return g_string_free (s, FALSE);
+}
+
+static void list (void)
+{
+ g_autoptr(GDBusConnection) bus = NULL;
+ g_autoptr(GVariant) ret = NULL;
+ g_autoptr(GVariant) array = NULL;
+ g_autoptr(GError) error = NULL;
+ guint num_children;
+ g_autoptr(GVariantIter) iter = NULL;
+ const char *inhibitor_path;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (bus == NULL)
+ {
+ g_warning ("Failed to connect to session bus: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ ret = g_dbus_connection_call_sync (bus,
+ "org.gnome.SessionManager",
+ "/org/gnome/SessionManager",
+ "org.gnome.SessionManager",
+ "GetInhibitors",
+ NULL,
+ NULL,
+ 0,
+ G_MAXINT,
+ NULL,
+ &error);
+
+ if (ret == NULL)
+ {
+ g_warning ("Failed to call GetInhibitors: %s\n", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ array = g_variant_get_child_value (ret, 0);
+
+ num_children = g_variant_n_children (array);
+ if (num_children == 0)
+ {
+ g_print ("No inhibitors\n");
+ return;
+ }
+
+ g_variant_get (array, "ao", &iter);
+ while (g_variant_iter_loop (iter, "&o", &inhibitor_path))
+ {
+ g_autoptr(GDBusProxy) inhibitor = NULL;
+ g_autoptr(GVariant) app_id = NULL;
+ g_autoptr(GVariant) reason = NULL;
+ g_autoptr(GVariant) flags = NULL;
+ g_autofree char *flags_str = NULL;
+
+ inhibitor = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ "org.gnome.SessionManager",
+ inhibitor_path,
+ "org.gnome.SessionManager.Inhibitor",
+ NULL,
+ &error);
+
+ /* Skip inhibitors that might have disappeared */
+ if (!inhibitor)
+ {
+ g_debug ("Failed to get proxy for %s: %s",
+ inhibitor_path,
+ error->message);
+ continue;
+ }
+
+ app_id = get_inhibitor_prop (inhibitor, "GetAppId");
+ reason = get_inhibitor_prop (inhibitor, "GetReason");
+ flags = get_inhibitor_prop (inhibitor, "GetFlags");
+ if (!app_id || !reason || !flags)
+ continue;
+ flags_str = flags_to_str (g_variant_get_uint32 (flags));
+
+ g_print ("%s: %s (%s)\n",
+ g_variant_get_string (app_id, NULL),
+ g_variant_get_string (reason, NULL),
+ flags_str);
+ }
+}
+
+static void
+wait_for_child_app (char **argv)
+{
+ pid_t pid;
+ int status;
+
+ pid = fork ();
+ if (pid < 0)
+ {
+ g_print ("fork failed\n");
+ exit (1);
+ }
+
+ if (pid == 0)
+ {
+ execvp (*argv, argv);
+ g_print (_("Failed to execute %s\n"), *argv);
+ exit (1);
+ }
+
+ do
+ {
+ if (waitpid (pid, &status, 0) == -1)
+ {
+ g_print ("waitpid failed\n");
+ exit (1);
+ }
+
+ if (WIFEXITED (status))
+ exit (WEXITSTATUS (status));
+
+ } while (!WIFEXITED (status) && ! WIFSIGNALED(status));
+}
+
+static void
+wait_forever (void)
+{
+ g_print ("Inhibiting until Ctrl+C is pressed...\n");
+ while (1)
+ sleep (UINT32_MAX);
+}
+
+int main (int argc, char *argv[])
+{
+ gchar *prgname;
+ GsmInhibitorFlag inhibit_flags = 0;
+ gboolean show_help = FALSE;
+ gboolean show_version = FALSE;
+ gboolean show_list = FALSE;
+ gboolean no_launch = FALSE;
+ gint i;
+ const gchar *app_id = "unknown";
+ const gchar *reason = "not specified";
+
+ prgname = g_path_get_basename (argv[0]);
+ g_set_prgname (prgname);
+ g_free (prgname);
+
+ setlocale (LC_ALL, "");
+ bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], "--help") == 0 ||
+ strcmp (argv[i], "-h") == 0)
+ show_help = TRUE;
+ if (strcmp (argv[i], "--list") == 0 ||
+ strcmp (argv[i], "-l") == 0)
+ show_list = TRUE;
+ else if (strcmp (argv[i], "--version") == 0)
+ show_version = TRUE;
+ else if (strcmp (argv[i], "--inhibit-only") == 0)
+ no_launch = TRUE;
+ else if (strcmp (argv[i], "--app-id") == 0)
+ {
+ i++;
+ if (i == argc)
+ {
+ g_print (_("%s requires an argument\n"), argv[i]);
+ exit (1);
+ }
+ app_id = argv[i];
+ }
+ else if (strcmp (argv[i], "--reason") == 0)
+ {
+ i++;
+ if (i == argc)
+ {
+ g_print (_("%s requires an argument\n"), argv[i]);
+ exit (1);
+ }
+ reason = argv[i];
+ }
+ else if (strcmp (argv[i], "--inhibit") == 0)
+ {
+ i++;
+ if (i == argc)
+ {
+ g_print (_("%s requires an argument\n"), argv[i]);
+ exit (1);
+ }
+ inhibit_flags |= parse_flags (argv[i]);
+ }
+ else
+ break;
+ }
+
+ if (show_version)
+ {
+ version ();
+ return 0;
+ }
+
+ if (show_list)
+ {
+ list ();
+ return 0;
+ }
+
+ if (show_help || (i == argc && !no_launch))
+ {
+ usage ();
+ return 0;
+ }
+
+ if (inhibit_flags == 0)
+ inhibit_flags = GSM_INHIBITOR_FLAG_IDLE;
+
+ if (inhibit (app_id, reason, inhibit_flags) == FALSE)
+ return 1;
+
+ if (!no_launch)
+ wait_for_child_app (argv + i);
+ else
+ wait_forever ();
+
+ return 0;
+}
diff --git a/tools/gnome-session-quit.c b/tools/gnome-session-quit.c
new file mode 100644
index 0000000..4dddbfe
--- /dev/null
+++ b/tools/gnome-session-quit.c
@@ -0,0 +1,216 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * save-session.c - Small program to talk to session manager.
+
+ Copyright (C) 1998 Tom Tromey
+ Copyright (C) 2008 Red Hat, 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/>.
+*/
+
+#include <config.h>
+
+#include <locale.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#define GSM_SERVICE_DBUS "org.gnome.SessionManager"
+#define GSM_PATH_DBUS "/org/gnome/SessionManager"
+#define GSM_INTERFACE_DBUS "org.gnome.SessionManager"
+
+enum {
+ GSM_LOGOUT_MODE_NORMAL = 0,
+ GSM_LOGOUT_MODE_NO_CONFIRMATION,
+ GSM_LOGOUT_MODE_FORCE
+};
+
+static gboolean opt_logout = FALSE;
+static gboolean opt_power_off = FALSE;
+static gboolean opt_reboot = FALSE;
+static gboolean opt_no_prompt = FALSE;
+static gboolean opt_force = FALSE;
+
+static GOptionEntry options[] = {
+ {"logout", '\0', 0, G_OPTION_ARG_NONE, &opt_logout, N_("Log out"), NULL},
+ {"power-off", '\0', 0, G_OPTION_ARG_NONE, &opt_power_off, N_("Power off"), NULL},
+ {"reboot", '\0', 0, G_OPTION_ARG_NONE, &opt_reboot, N_("Reboot"), NULL},
+ {"force", '\0', 0, G_OPTION_ARG_NONE, &opt_force, N_("Ignoring any existing inhibitors"), NULL},
+ {"no-prompt", '\0', 0, G_OPTION_ARG_NONE, &opt_no_prompt, N_("Don’t prompt for user confirmation"), NULL},
+ {NULL}
+};
+
+static void
+display_error (const char *message)
+{
+ g_printerr ("%s\n", message);
+}
+
+static GDBusConnection *
+get_session_bus (void)
+{
+ GDBusConnection *bus;
+ GError *error = NULL;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
+
+ if (bus == NULL) {
+ g_warning ("Couldn't connect to session bus: %s", error->message);
+ g_error_free (error);
+ }
+
+ return bus;
+}
+
+static GDBusProxy *
+get_sm_proxy (void)
+{
+ GDBusConnection *connection;
+ GDBusProxy *sm_proxy;
+
+ connection = get_session_bus ();
+ if (connection == NULL) {
+ display_error (_("Could not connect to the session manager"));
+ return NULL;
+ }
+
+ sm_proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ GSM_SERVICE_DBUS,
+ GSM_PATH_DBUS,
+ GSM_INTERFACE_DBUS,
+ NULL, NULL);
+ g_object_unref (connection);
+
+ if (sm_proxy == NULL) {
+ display_error (_("Could not connect to the session manager"));
+ return NULL;
+ }
+
+ return sm_proxy;
+}
+
+static void
+do_logout (unsigned int mode)
+{
+ GDBusProxy *sm_proxy;
+ GVariant *reply;
+ GError *error;
+
+ sm_proxy = get_sm_proxy ();
+ if (sm_proxy == NULL) {
+ return;
+ }
+
+ error = NULL;
+ reply = g_dbus_proxy_call_sync (sm_proxy,
+ "Logout",
+ g_variant_new ("(u)", mode),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("Failed to call logout: %s",
+ error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (reply);
+ }
+ g_clear_object (&sm_proxy);
+}
+
+static void
+do_power_off (const char *action)
+{
+ GDBusProxy *sm_proxy;
+ GVariant *reply;
+ GError *error;
+
+ sm_proxy = get_sm_proxy ();
+ if (sm_proxy == NULL) {
+ return;
+ }
+
+ error = NULL;
+ reply = g_dbus_proxy_call_sync (sm_proxy,
+ action,
+ NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &error);
+
+ if (error != NULL) {
+ g_warning ("Failed to call %s: %s",
+ action, error->message);
+ g_error_free (error);
+ } else {
+ g_variant_unref (reply);
+ }
+ g_clear_object (&sm_proxy);
+}
+
+int
+main (int argc, char *argv[])
+{
+ GError *error;
+ int conflicting_options;
+ GOptionContext *ctx;
+
+ /* Initialize the i18n stuff */
+ setlocale (LC_ALL, "");
+ bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
+ error = NULL;
+ ctx = g_option_context_new ("");
+ g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
+ if (! g_option_context_parse (ctx, &argc, &argv, &error)) {
+ g_warning ("Unable to start: %s", error->message);
+ g_error_free (error);
+ exit (1);
+ }
+ g_option_context_free (ctx);
+
+ conflicting_options = 0;
+ if (opt_logout)
+ conflicting_options++;
+ if (opt_power_off)
+ conflicting_options++;
+ if (opt_reboot)
+ conflicting_options++;
+ if (conflicting_options > 1)
+ display_error (_("Program called with conflicting options"));
+
+ if (opt_power_off) {
+ do_power_off ("Shutdown");
+ } else if (opt_reboot) {
+ do_power_off ("Reboot");
+ } else {
+ /* default to logout */
+
+ if (opt_force)
+ do_logout (GSM_LOGOUT_MODE_FORCE);
+ else if (opt_no_prompt)
+ do_logout (GSM_LOGOUT_MODE_NO_CONFIRMATION);
+ else
+ do_logout (GSM_LOGOUT_MODE_NORMAL);
+ }
+
+ return 0;
+}
diff --git a/tools/gnome-session-selector.c b/tools/gnome-session-selector.c
new file mode 100644
index 0000000..71892c4
--- /dev/null
+++ b/tools/gnome-session-selector.c
@@ -0,0 +1,698 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright 2010, 2013 Red Hat, 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 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Written by: Matthias Clasen <mclasen@redhat.com>
+ */
+
+#include "config.h"
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <gio/gio.h>
+
+#include <glib/gi18n.h>
+#include <glib/gstdio.h>
+
+#define GSM_MANAGER_SCHEMA "org.gnome.SessionManager"
+#define KEY_AUTOSAVE_ONE_SHOT "auto-save-session-one-shot"
+
+static GtkBuilder *builder;
+static GtkWidget *session_list;
+static GtkListStore *store;
+static GtkTreeModelSort *sort_model;
+
+static void select_session (const char *name);
+
+static char *
+get_session_path (const char *name)
+{
+ return g_build_filename (g_get_user_config_dir (), "gnome-session", name, NULL);
+}
+
+static char *
+find_new_session_name (void)
+{
+ char *name;
+ char *path;
+ int i;
+
+ for (i = 1; i < 20; i++) {
+ name = g_strdup_printf (_("Session %d"), i);
+ path = get_session_path (name);
+ if (!g_file_test (path, G_FILE_TEST_EXISTS)) {
+ g_free (path);
+ return name;
+ }
+ g_free (path);
+ g_free (name);
+ }
+
+ return NULL;
+}
+
+static gboolean
+is_valid_session_name (const char *name)
+{
+ GtkTreeIter iter;
+ char *n;
+ const char *info_text;
+ char *warning_text;
+ gboolean user_tried_dot;
+ gboolean user_tried_slash;
+ GtkWidget *info_bar;
+ GtkWidget *label;
+
+ if (name[0] == 0) {
+ return FALSE;
+ }
+
+ if (name[0] == '.') {
+ user_tried_dot = TRUE;
+ } else {
+ user_tried_dot = FALSE;
+ }
+
+ if (strchr (name, '/') != NULL) {
+ user_tried_slash = TRUE;
+ } else {
+ user_tried_slash = FALSE;
+ }
+
+ info_text = _("Please select a custom session to run");
+ warning_text = NULL;
+ if (user_tried_dot && user_tried_slash) {
+ warning_text = g_strdup_printf ("%s\n<small><b>Note:</b> <i>%s</i></small>",
+ info_text,
+ _("Session names are not allowed to start with “.” or contain “/” characters"));
+ } else if (user_tried_dot) {
+ warning_text = g_strdup_printf ("%s\n<small><b>Note:</b> <i>%s</i></small>",
+ info_text,
+ _("Session names are not allowed to start with “.”"));
+ } else if (user_tried_slash) {
+ warning_text = g_strdup_printf ("%s\n<small><b>Note:</b> <i>%s</i></small>",
+ info_text,
+ _("Session names are not allowed to contain “/” characters"));
+ }
+
+ gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
+ do {
+ gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &n, -1);
+ if (strcmp (n, name) == 0) {
+ char *message;
+ message = g_strdup_printf (_("A session named “%s” already exists"), name);
+ warning_text = g_strdup_printf ("%s\n<small><b>Note:</b> <i>%s</i></small>", info_text, message);
+ g_free (message);
+ g_free (n);
+ break;
+ }
+ g_free (n);
+ } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter));
+
+ info_bar = (GtkWidget *) gtk_builder_get_object (builder, "info-bar");
+ label = (GtkWidget*) gtk_builder_get_object (builder, "info-label");
+
+ if (warning_text != NULL) {
+ gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar), GTK_MESSAGE_WARNING);
+ gtk_label_set_markup (GTK_LABEL (label), warning_text);
+ g_free (warning_text);
+ return FALSE;
+ }
+
+ gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar), GTK_MESSAGE_OTHER);
+ gtk_label_set_markup (GTK_LABEL (label), info_text);
+
+ return TRUE;
+}
+
+static void
+populate_session_list (GtkWidget *session_list)
+{
+ GtkTreeIter iter;
+ char *path;
+ const char *name;
+ GDir *dir;
+ GError *error;
+ char *saved_session;
+ char *default_session;
+ char *default_name;
+ char last_session[PATH_MAX] = "";
+
+ saved_session = get_session_path ("saved-session");
+
+ if (!g_file_test (saved_session, G_FILE_TEST_IS_SYMLINK)) {
+ default_name = find_new_session_name ();
+ default_session = get_session_path (default_name);
+ rename (saved_session, default_session);
+ if (symlink (default_name, saved_session) < 0)
+ g_warning ("Failed to convert saved-session to symlink");
+ g_free (default_name);
+ g_free (default_session);
+ }
+
+ path = g_build_filename (g_get_user_config_dir (), "gnome-session", NULL);
+ error = NULL;
+ dir = g_dir_open (path, 0, &error);
+ if (dir == NULL) {
+ g_warning ("Failed to open %s: %s", path, error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ default_name = NULL;
+ if (readlink (saved_session, last_session, PATH_MAX - 1) > 0) {
+ default_name = g_path_get_basename (last_session);
+ }
+
+ while ((name = g_dir_read_name (dir)) != NULL) {
+ if (strcmp (name, "saved-session") == 0)
+ continue;
+
+ gtk_list_store_insert_with_values (store, &iter, 100, 0, name, -1);
+
+ if (g_strcmp0 (default_name, name) == 0) {
+ GtkTreeSelection *selection;
+ GtkTreeIter child_iter;
+
+ gtk_tree_model_sort_convert_child_iter_to_iter (GTK_TREE_MODEL_SORT (sort_model), &child_iter, &iter);
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
+ gtk_tree_selection_select_iter (selection, &child_iter);
+ }
+ }
+
+ g_free (default_name);
+ g_dir_close (dir);
+
+ out:
+ g_free (saved_session);
+ g_free (path);
+}
+
+static char *
+get_selected_session (void)
+{
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gchar *name;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
+ if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+ gtk_tree_model_get (model, &iter, 0, &name, -1);
+ return name;
+ }
+
+ return NULL;
+}
+
+static void
+remove_session (const char *name)
+{
+ char *path1, *path2;
+ char *n, *path;
+ const char *d;
+ GDir *dir;
+ GError *error;
+
+ path1 = get_session_path ("saved-session");
+ path2 = get_session_path (name);
+
+ error = NULL;
+ n = g_file_read_link (path1, &error);
+ if (n == NULL) {
+ g_warning ("Failed to read link: %s", error->message);
+ g_error_free (error);
+ }
+ else if (strcmp (n, name) == 0) {
+ unlink (path1);
+ }
+ g_free (n);
+
+ dir = g_dir_open (path2, 0, NULL);
+ while ((d = g_dir_read_name (dir)) != NULL) {
+ path = g_build_filename (path2, d, NULL);
+ unlink (path);
+ g_free (path);
+ }
+ g_dir_close (dir);
+
+ remove (path2);
+
+ g_free (path1);
+ g_free (path2);
+}
+
+static void
+on_remove_session_clicked (GtkButton *button,
+ gpointer data)
+{
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ char *name;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
+ if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+ GtkTreeIter child_iter;
+ gtk_tree_model_get (model, &iter, 0, &name, -1);
+ remove_session (name);
+ g_free (name);
+
+ gtk_tree_model_sort_convert_iter_to_child_iter (GTK_TREE_MODEL_SORT (model), &child_iter, &iter);
+ gtk_list_store_remove (GTK_LIST_STORE (store), &child_iter);
+
+ if (!gtk_tree_selection_get_selected (selection, NULL, NULL)) {
+ gtk_tree_model_get_iter_first (model, &iter);
+ gtk_tree_model_get (model, &iter, 0, &name, -1);
+ select_session (name);
+ g_free (name);
+ }
+ }
+}
+
+static void
+begin_rename (void)
+{
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
+ GList *cells;
+
+ gtk_widget_grab_focus (session_list);
+
+ gtk_tree_view_get_cursor (GTK_TREE_VIEW (session_list),
+ &path, &column);
+
+ cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
+
+ if (cells != NULL) {
+ GtkCellRenderer *cell;
+
+ cell = (GtkCellRenderer *) cells->data;
+ g_list_free (cells);
+
+ g_object_set (cell, "editable", TRUE, NULL);
+ gtk_tree_view_set_cursor_on_cell (GTK_TREE_VIEW (session_list), path,
+ column, cell, TRUE);
+ }
+ gtk_tree_path_free (path);
+}
+
+static void
+on_rename_session_clicked (GtkButton *button,
+ gpointer data)
+{
+ begin_rename ();
+}
+
+static void
+on_continue_clicked (GtkButton *button,
+ gpointer data)
+{
+ char *name;
+
+ name = get_selected_session ();
+ g_free (name);
+
+ gtk_main_quit ();
+}
+
+static void
+create_session (const char *name)
+{
+ char *path;
+ GtkTreeIter iter;
+
+ path = get_session_path (name);
+
+ if (mkdir (path, 0755) < 0) {
+ g_warning ("Failed to create directory %s", path);
+ }
+ else {
+ char *marker;
+
+ gtk_list_store_insert_with_values (store, &iter, 100, 0, name, -1);
+
+ marker = g_build_filename (path, ".new-session", NULL);
+ creat (marker, 0600);
+ g_free (marker);
+ }
+
+ g_free (path);
+}
+
+static gboolean
+rename_session (const char *old_name,
+ const char *new_name)
+{
+ char *old_path, *new_path;
+ int result;
+
+ if (g_strcmp0 (old_name, new_name) == 0) {
+ return TRUE;
+ }
+
+ if (!is_valid_session_name (new_name)) {
+ return FALSE;
+ }
+
+ old_path = get_session_path (old_name);
+ new_path = get_session_path (new_name);
+
+ result = g_rename (old_path, new_path);
+
+ if (result < 0) {
+ g_warning ("Failed to rename session from '%s' to '%s': %m", old_name, new_name);
+ }
+
+ g_free (old_path);
+ g_free (new_path);
+
+ return result == 0;
+}
+
+static gboolean
+make_session_current (const char *name)
+{
+ char *path1;
+ gboolean ret = TRUE;
+
+ path1 = g_build_filename (g_get_user_config_dir (), "gnome-session", "saved-session", NULL);
+
+ unlink (path1);
+ if (symlink (name, path1) < 0) {
+ g_warning ("Failed to make session '%s' current", name);
+ ret = FALSE;
+ }
+
+ g_free (path1);
+
+ return ret;
+}
+
+static gboolean
+create_and_select_session (const char *name)
+{
+ gchar *path;
+
+ if (name[0] == 0 || name[0] == '.' || strchr (name, '/')) {
+ g_warning ("Invalid session name");
+ return FALSE;
+ }
+
+ path = g_build_filename (g_get_user_config_dir (), "gnome-session", name, NULL);
+ if (!g_file_test (path, G_FILE_TEST_IS_DIR)) {
+ if (mkdir (path, 0755) < 0) {
+ g_warning ("Failed to create directory %s", path);
+ g_free (path);
+ return FALSE;
+ }
+ }
+
+ g_free (path);
+
+ return make_session_current (name);
+}
+
+static void
+select_session (const char *name)
+{
+ GtkTreeIter iter;
+ char *n;
+
+ make_session_current (name);
+
+ /* now select it in the list */
+ gtk_tree_model_get_iter_first (GTK_TREE_MODEL (sort_model), &iter);
+ do {
+ gtk_tree_model_get (GTK_TREE_MODEL (sort_model), &iter, 0, &n, -1);
+ if (strcmp (n, name) == 0) {
+ GtkTreePath *path;
+
+ path = gtk_tree_model_get_path (GTK_TREE_MODEL (sort_model), &iter);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (session_list), path, NULL, FALSE);
+ gtk_tree_path_free (path);
+ g_free (n);
+ break;
+ }
+ g_free (n);
+ } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (sort_model), &iter));
+}
+
+static void
+on_new_session_clicked (GtkButton *button,
+ gpointer data)
+{
+ gchar *name;
+
+ name = find_new_session_name ();
+ create_session (name);
+ select_session (name);
+
+ begin_rename ();
+}
+
+static void
+on_selection_changed (GtkTreeSelection *selection,
+ gpointer data)
+{
+ char *name;
+
+ name = get_selected_session ();
+
+ if (name == NULL) {
+ return;
+ }
+
+ make_session_current (name);
+
+ g_free (name);
+}
+
+static void
+update_remove_button (void)
+{
+ GtkWidget *button;
+
+ button = (GtkWidget *)gtk_builder_get_object (builder, "remove-session");
+ if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (store), NULL) > 1) {
+ gtk_widget_set_sensitive (button, TRUE);
+ } else {
+ gtk_widget_set_sensitive (button, FALSE);
+ }
+}
+
+static void
+on_row_edited (GtkCellRendererText *cell,
+ const char *path_string,
+ const char *new_name,
+ gpointer data)
+{
+ GtkTreePath *path;
+ GtkTreeIter sort_iter, items_iter;
+ char *old_name;
+ gboolean was_renamed;
+
+ path = gtk_tree_path_new_from_string (path_string);
+ gtk_tree_model_get_iter (GTK_TREE_MODEL (sort_model), &sort_iter, path);
+
+ gtk_tree_model_get (GTK_TREE_MODEL (sort_model), &sort_iter, 0, &old_name, -1);
+
+ was_renamed = rename_session (old_name, new_name);
+
+ if (was_renamed) {
+ gtk_tree_model_sort_convert_iter_to_child_iter (sort_model, &items_iter, &sort_iter);
+
+ gtk_list_store_set (store, &items_iter, 0, g_strdup (new_name), -1);
+ g_free (old_name);
+ make_session_current (new_name);
+ } else {
+ begin_rename ();
+ }
+
+ gtk_tree_path_free (path);
+
+ g_object_set (cell, "editable", FALSE, NULL);
+}
+
+static void
+on_row_deleted (GtkTreeModel *model,
+ GtkTreePath *path,
+ gpointer data)
+{
+ update_remove_button ();
+}
+
+static void
+on_row_inserted (GtkTreeModel *model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ update_remove_button ();
+}
+
+static void
+on_row_activated (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer data)
+{
+ char *name;
+
+ name = get_selected_session ();
+ g_free (name);
+
+ gtk_main_quit ();
+}
+
+static void
+auto_save_next_session (void)
+{
+ GSettings *settings;
+
+ settings = g_settings_new (GSM_MANAGER_SCHEMA);
+ g_settings_set_boolean (settings, KEY_AUTOSAVE_ONE_SHOT, TRUE);
+ g_object_unref (settings);
+}
+
+static void
+auto_save_next_session_if_needed (void)
+{
+ char *marker;
+
+ marker = g_build_filename (g_get_user_config_dir (),
+ "gnome-session", "saved-session",
+ ".new-session", NULL);
+
+ if (g_file_test (marker, G_FILE_TEST_EXISTS)) {
+ auto_save_next_session ();
+ unlink (marker);
+ }
+ g_free (marker);
+}
+
+static int
+compare_sessions (GtkTreeModel *model,
+ GtkTreeIter *a,
+ GtkTreeIter *b,
+ gpointer data)
+{
+ char *name_a, *name_b;
+ int result;
+
+ gtk_tree_model_get (model, a, 0, &name_a, -1);
+ gtk_tree_model_get (model, b, 0, &name_b, -1);
+
+ result = g_utf8_collate (name_a, name_b);
+
+ g_free (name_a);
+ g_free (name_b);
+
+ return result;
+}
+
+static void
+on_map (GtkWidget *widget,
+ gpointer data)
+{
+ gdk_window_focus (gtk_widget_get_window (widget), GDK_CURRENT_TIME);
+}
+
+int
+main (int argc, char *argv[])
+{
+ GtkWidget *window;
+ GtkWidget *widget;
+ GtkCellRenderer *cell;
+ GtkTreeViewColumn *column;
+ GtkTreeSelection *selection;
+ GError *error;
+
+ if (getenv ("SESSION_MANAGER") != NULL)
+ return 1;
+
+ gtk_init (&argc, &argv);
+ if (argc > 1) {
+ g_print ("create and select session\n");
+ if (!create_and_select_session (argv[1]))
+ return 1;
+ else
+ return 0;
+ }
+
+ builder = gtk_builder_new ();
+ gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
+
+ error = NULL;
+ if (!gtk_builder_add_from_file (builder, GTKBUILDER_DIR "/" "session-selector.ui", &error)) {
+ g_warning ("Could not load file 'session-selector.ui': %s", error->message);
+ exit (1);
+ }
+
+ window = (GtkWidget *) gtk_builder_get_object (builder, "main-window");
+
+ store = (GtkListStore *) gtk_builder_get_object (builder, "session-store");
+ sort_model = (GtkTreeModelSort *) gtk_builder_get_object (builder, "sort-model");
+
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort_model),
+ 0, compare_sessions, NULL, NULL);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model),
+ 0, GTK_SORT_ASCENDING);
+ g_signal_connect (store, "row-deleted", G_CALLBACK (on_row_deleted), NULL);
+ g_signal_connect (store, "row-inserted", G_CALLBACK (on_row_inserted), NULL);
+ session_list = (GtkWidget *) gtk_builder_get_object (builder, "session-list");
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (session_list));
+ gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
+
+ populate_session_list (session_list);
+
+ cell = gtk_cell_renderer_text_new ();
+ g_signal_connect (cell, "edited", G_CALLBACK (on_row_edited), NULL);
+
+ column = gtk_tree_view_column_new_with_attributes ("", cell, "text", 0, NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (session_list), GTK_TREE_VIEW_COLUMN (column));
+
+ g_signal_connect (session_list, "row-activated", G_CALLBACK (on_row_activated), NULL);
+
+ g_signal_connect (selection, "changed",
+ G_CALLBACK (on_selection_changed), NULL);
+
+ widget = (GtkWidget *) gtk_builder_get_object (builder, "new-session");
+ g_signal_connect (widget, "clicked", G_CALLBACK (on_new_session_clicked), NULL);
+ widget = (GtkWidget *) gtk_builder_get_object (builder, "remove-session");
+ g_signal_connect (widget, "clicked", G_CALLBACK (on_remove_session_clicked), NULL);
+ widget = (GtkWidget *) gtk_builder_get_object (builder, "rename-session");
+ g_signal_connect (widget, "clicked", G_CALLBACK (on_rename_session_clicked), NULL);
+ widget = (GtkWidget *) gtk_builder_get_object (builder, "continue-button");
+ g_signal_connect (widget, "clicked", G_CALLBACK (on_continue_clicked), NULL);
+
+ g_signal_connect (window, "map", G_CALLBACK (on_map), NULL);
+ gtk_widget_show (window);
+
+ gtk_main ();
+
+ auto_save_next_session_if_needed ();
+
+ return 0;
+}
diff --git a/tools/meson.build b/tools/meson.build
new file mode 100644
index 0000000..b21519d
--- /dev/null
+++ b/tools/meson.build
@@ -0,0 +1,71 @@
+deps = session_deps + [
+ sm_dep,
+ ice_dep
+]
+
+cflags = ['-DLOCALE_DIR="@0@"'.format(session_localedir)]
+
+programs = [
+ # name, deps, cflags, install_dir
+ ['gnome-session-quit', deps, cflags, session_bindir],
+ ['gnome-session-inhibit', session_deps, cflags, session_bindir]
+]
+
+if enable_systemd_session
+ programs += [['gnome-session-ctl', session_bin_deps, cflags, session_libexecdir]]
+endif
+
+if enable_session_selector
+ deps = [
+ glib_dep,
+ gtk_dep
+ ]
+
+ install_data(
+ 'gnome-session-custom-session',
+ install_dir: session_bindir
+ )
+
+ cflags += '-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
+
+ programs += [['gnome-session-selector', deps, cflags, session_bindir]]
+endif
+
+deps = [
+ gtk_dep,
+ x11_dep,
+ dependency('egl'),
+ dependency('glesv2')
+]
+
+cflags = '-DPKGDATADIR="@0@"'.format(session_pkgdatadir)
+
+programs += [['gnome-session-check-accelerated-gles-helper', deps, cflags, session_libexecdir]]
+
+deps = [
+ glib_dep,
+ x11_dep,
+ dependency('gl'),
+ dependency('epoxy'),
+ dependency('xcomposite')
+]
+
+programs += [['gnome-session-check-accelerated-gl-helper', deps, cflags, session_libexecdir]]
+
+deps += [gtk_dep]
+
+cflags = '-DLIBEXECDIR="@0@"'.format(session_libexecdir)
+
+programs += [['gnome-session-check-accelerated', deps, cflags, session_libexecdir]]
+
+foreach program: programs
+ executable(
+ program[0],
+ program[0] + '.c',
+ include_directories: top_inc,
+ dependencies: program[1],
+ c_args: program[2],
+ install: true,
+ install_dir: program[3]
+ )
+endforeach