diff -Nru gnome-shell-3.8.1/NEWS gnome-shell-3.8.2/NEWS --- gnome-shell-3.8.1/NEWS 2013-04-16 19:25:52.000000000 +0000 +++ gnome-shell-3.8.2/NEWS 2013-05-13 23:33:14.000000000 +0000 @@ -1,3 +1,34 @@ +3.8.2 +===== +* Fix hotcorner regression in RTL locales [Jasper; #698884] +* Allow some keybindings to work while a top bar menu is open [Florian; #698938] +* Make open-app-menu keybinding a toggle action [Florian; #686756] +* ctrlAltTab: Use symbolic icons for desktop windows [Matthias; #697914] +* gdm: Fix regression where domain login hint not shown [Stef; #698200] +* Hide "Open Calendar" item when no calendar app is installed [Lionel; #697725] +* Update how branding appears on login screen [Florian; #694912, #699877] +* Allow OSD popups to grow if necessary [Marta; #696523] +* Fix offset of shadow offscreen rendering [Lionel; #698301] +* Fix insensitive button preventing empty keyring password [Stef; #696304] +* Allow cancelling keyring dialog between prompts [Stef; #682830] +* modalDialog: Show spinner while working [Stef; #684438] +* Provide a DBus API for screencasting [Florian; #696247] +* Implement app folder keynav and shortcuts [Florian; #695314] +* polkitAgent: Allow retrying after mistyped passwords [Stef; #684431] +* Add input purpose and hints to StEntry and StIMText [Daiki; #691392] +* Set input-purpose property for password entries [Rui; #700043] +* Misc fixes and cleanups [Jasper, Florian, Giovanni, Tim, Rui; #697203, + #698959, #696720, #698531, #676285, #698812, #699189] + +Contributors: + Giovanni Campagna, Matthias Clasen, Lionel Landwerlin, Tim Lunn, Rui Matos, + Simon McVittie, Marta Milakovic, Florian Müllner, Jasper St. Pierre, + Daiki Ueno, Stef Walter + +Translations: + Muhammet Kara [tr], Nik Kalach [ia], Žygimantas Beručka [lt], + Kjartan Maraas [nb] + 3.8.1 ===== * Clip window group during startup animation [Jasper; #696323] diff -Nru gnome-shell-3.8.1/config/ltmain.sh gnome-shell-3.8.2/config/ltmain.sh --- gnome-shell-3.8.1/config/ltmain.sh 2013-04-16 15:50:25.000000000 +0000 +++ gnome-shell-3.8.2/config/ltmain.sh 2013-05-13 23:36:57.000000000 +0000 @@ -82,6 +82,7 @@ PACKAGE=libtool VERSION=2.4.2 TIMESTAMP="" +: ${DD=dd} package_revision=1.3337 # Be Bourne compatible @@ -1224,6 +1225,21 @@ ## Main. ## ## ----------- ## +# func_try_sizelim file n +# try to write at most the first N bytes from FILE to the standard output when +# possible, otherwise put whole file +func_try_sizelim () +{ + if test -n "$DD"; then + $DD if="$1" bs=$2 count=1 2>/dev/null + if test $? -eq 127; then + cat "$1" 2>/dev/null + fi + else + cat "$1" 2>/dev/null + fi +} + # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out @@ -1231,7 +1247,7 @@ func_lalib_p () { test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ + func_try_sizelim "$1" 4096 | $SED -e 4q 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } diff -Nru gnome-shell-3.8.1/configure gnome-shell-3.8.2/configure --- gnome-shell-3.8.1/configure 2013-04-16 19:26:09.000000000 +0000 +++ gnome-shell-3.8.2/configure 2013-05-13 23:37:06.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for gnome-shell 3.8.1. +# Generated by GNU Autoconf 2.69 for gnome-shell 3.8.2. # # Report bugs to . # @@ -591,8 +591,8 @@ # Identity of this package. PACKAGE_NAME='gnome-shell' PACKAGE_TARNAME='gnome-shell' -PACKAGE_VERSION='3.8.1' -PACKAGE_STRING='gnome-shell 3.8.1' +PACKAGE_VERSION='3.8.2' +PACKAGE_STRING='gnome-shell 3.8.2' PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell' PACKAGE_URL='' @@ -1499,7 +1499,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gnome-shell 3.8.1 to adapt to many kinds of systems. +\`configure' configures gnome-shell 3.8.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1569,7 +1569,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gnome-shell 3.8.1:";; + short | recursive ) echo "Configuration of gnome-shell 3.8.2:";; esac cat <<\_ACEOF @@ -1754,7 +1754,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gnome-shell configure 3.8.1 +gnome-shell configure 3.8.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2123,7 +2123,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gnome-shell $as_me 3.8.1, which was +It was created by gnome-shell $as_me 3.8.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2998,7 +2998,7 @@ # Define the identity of the package. PACKAGE='gnome-shell' - VERSION='3.8.1' + VERSION='3.8.2' cat >>confdefs.h <<_ACEOF @@ -15026,7 +15026,7 @@ CLUTTER_MIN_VERSION=1.13.4 GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 GJS_MIN_VERSION=1.35.4 -MUTTER_MIN_VERSION=3.8.1 +MUTTER_MIN_VERSION=3.8.2 GTK_MIN_VERSION=3.7.9 GIO_MIN_VERSION=2.35.0 LIBECAL_MIN_VERSION=3.5.3 @@ -17856,7 +17856,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gnome-shell $as_me 3.8.1, which was +This file was extended by gnome-shell $as_me 3.8.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17922,7 +17922,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -gnome-shell config.status 3.8.1 +gnome-shell config.status 3.8.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru gnome-shell-3.8.1/configure.ac gnome-shell-3.8.2/configure.ac --- gnome-shell-3.8.1/configure.ac 2013-04-16 19:24:38.000000000 +0000 +++ gnome-shell-3.8.2/configure.ac 2013-05-13 23:32:26.000000000 +0000 @@ -1,5 +1,5 @@ AC_PREREQ(2.63) -AC_INIT([gnome-shell],[3.8.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) +AC_INIT([gnome-shell],[3.8.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/shell-global.c]) @@ -63,7 +63,7 @@ CLUTTER_MIN_VERSION=1.13.4 GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 GJS_MIN_VERSION=1.35.4 -MUTTER_MIN_VERSION=3.8.1 +MUTTER_MIN_VERSION=3.8.2 GTK_MIN_VERSION=3.7.9 GIO_MIN_VERSION=2.35.0 LIBECAL_MIN_VERSION=3.5.3 diff -Nru gnome-shell-3.8.1/data/Makefile.am gnome-shell-3.8.2/data/Makefile.am --- gnome-shell-3.8.1/data/Makefile.am 2013-04-16 15:30:42.000000000 +0000 +++ gnome-shell-3.8.2/data/Makefile.am 2013-05-10 17:49:41.000000000 +0000 @@ -15,6 +15,7 @@ introspectiondir = $(datadir)/dbus-1/interfaces introspection_DATA = \ + org.gnome.Shell.Screencast.xml \ org.gnome.Shell.Screenshot.xml \ org.gnome.ShellSearchProvider.xml \ org.gnome.ShellSearchProvider2.xml diff -Nru gnome-shell-3.8.1/data/Makefile.in gnome-shell-3.8.2/data/Makefile.in --- gnome-shell-3.8.1/data/Makefile.in 2013-04-16 19:26:08.000000000 +0000 +++ gnome-shell-3.8.2/data/Makefile.in 2013-05-13 23:37:07.000000000 +0000 @@ -342,6 +342,7 @@ desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop introspectiondir = $(datadir)/dbus-1/interfaces introspection_DATA = \ + org.gnome.Shell.Screencast.xml \ org.gnome.Shell.Screenshot.xml \ org.gnome.ShellSearchProvider.xml \ org.gnome.ShellSearchProvider2.xml diff -Nru gnome-shell-3.8.1/data/org.gnome.Shell.Screencast.xml gnome-shell-3.8.2/data/org.gnome.Shell.Screencast.xml --- gnome-shell-3.8.1/data/org.gnome.Shell.Screencast.xml 1970-01-01 00:00:00.000000000 +0000 +++ gnome-shell-3.8.2/data/org.gnome.Shell.Screencast.xml 2013-05-10 21:44:14.000000000 +0000 @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru gnome-shell-3.8.1/data/theme/gnome-shell.css gnome-shell-3.8.2/data/theme/gnome-shell.css --- gnome-shell-3.8.1/data/theme/gnome-shell.css 2013-04-16 18:52:38.000000000 +0000 +++ gnome-shell-3.8.2/data/theme/gnome-shell.css 2013-05-13 22:43:35.000000000 +0000 @@ -2386,6 +2386,10 @@ height: .75em; } +.login-dialog-logo-bin { + padding: 24px 0px; +} + .login-dialog .modal-dialog-button-box { spacing: 3px; } diff -Nru gnome-shell-3.8.1/debian/changelog gnome-shell-3.8.2/debian/changelog --- gnome-shell-3.8.1/debian/changelog 2013-04-26 22:24:51.000000000 +0000 +++ gnome-shell-3.8.2/debian/changelog 2013-05-15 04:56:49.000000000 +0000 @@ -1,3 +1,11 @@ +gnome-shell (3.8.2-0ubuntu1~raring1) raring; urgency=low + + * New upstream release + * debian/patches/git_fix_evolution_calendar.patch, + Dropped, applied upstream + + -- Tim Lunn Wed, 15 May 2013 09:30:26 +1000 + gnome-shell (3.8.1-0ubuntu1~raring1.2) raring; urgency=medium [Gerhard Stein] diff -Nru gnome-shell-3.8.1/debian/control gnome-shell-3.8.2/debian/control --- gnome-shell-3.8.1/debian/control 2013-04-26 22:25:19.000000000 +0000 +++ gnome-shell-3.8.2/debian/control 2013-05-15 04:56:55.000000000 +0000 @@ -37,7 +37,7 @@ libgstreamer1.0-dev (>= 0.11.92), libgtk-3-dev (>= 3.7.9), libibus-1.0-dev, - libmutter-dev (>= 3.8.1), + libmutter-dev (>= 3.8.2), libnm-glib-dev (>= 0.9) [linux-any], libnm-glib-vpn-dev (>= 0.9) [linux-any], libnm-gtk-dev (>= 0.9.6), @@ -77,7 +77,7 @@ gir1.2-gnomedesktop-3.0 (>= 3.7.90), gir1.2-gtk-3.0, gir1.2-ibus-1.0 (>= 1.4), - gir1.2-mutter-3.0 (>= 3.8.1), + gir1.2-mutter-3.0 (>= 3.8.2), gir1.2-networkmanager-1.0 [linux-any], gir1.2-nmgtk-1.0, gir1.2-pango-1.0, diff -Nru gnome-shell-3.8.1/debian/control.in gnome-shell-3.8.2/debian/control.in --- gnome-shell-3.8.1/debian/control.in 2013-04-16 22:35:07.000000000 +0000 +++ gnome-shell-3.8.2/debian/control.in 2013-05-15 04:55:42.000000000 +0000 @@ -33,7 +33,7 @@ libgstreamer1.0-dev (>= 0.11.92), libgtk-3-dev (>= 3.7.9), libibus-1.0-dev, - libmutter-dev (>= 3.8.1), + libmutter-dev (>= 3.8.2), libnm-glib-dev (>= 0.9) [linux-any], libnm-glib-vpn-dev (>= 0.9) [linux-any], libnm-gtk-dev (>= 0.9.6), @@ -73,7 +73,7 @@ gir1.2-gnomedesktop-3.0 (>= 3.7.90), gir1.2-gtk-3.0, gir1.2-ibus-1.0 (>= 1.4), - gir1.2-mutter-3.0 (>= 3.8.1), + gir1.2-mutter-3.0 (>= 3.8.2), gir1.2-networkmanager-1.0 [linux-any], gir1.2-nmgtk-1.0, gir1.2-pango-1.0, diff -Nru gnome-shell-3.8.1/debian/patches/git_fix_evolution_calendar.patch gnome-shell-3.8.2/debian/patches/git_fix_evolution_calendar.patch --- gnome-shell-3.8.1/debian/patches/git_fix_evolution_calendar.patch 2013-04-26 09:12:28.000000000 +0000 +++ gnome-shell-3.8.2/debian/patches/git_fix_evolution_calendar.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - -m 8d3e28d67ae2c6804d57d83db1441869fbf6fdab Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Fri, 26 Apr 2013 16:35:22 +1000 -Subject: [PATCH] dateMenu: append .desktop to evolution strings - -Since that is what the actual app_id's are. ---- - js/ui/dateMenu.js | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js -index acb0418..2613e58 100644 ---- a/js/ui/dateMenu.js -+++ b/js/ui/dateMenu.js -@@ -221,8 +221,8 @@ const DateMenuButton = new Lang.Class({ - this.menu.close(); - - let app = Gio.AppInfo.get_default_for_type('text/calendar', false); -- if (app.get_id() == 'evolution') -- app = Gio.DesktopAppInfo.new('evolution-calendar'); -+ if (app.get_id() == 'evolution.desktop') -+ app = Gio.DesktopAppInfo.new('evolution-calendar.desktop'); - app.launch([], global.create_app_launch_context()); - }, - --- -1.8.1.2 diff -Nru gnome-shell-3.8.1/debian/patches/series gnome-shell-3.8.2/debian/patches/series --- gnome-shell-3.8.1/debian/patches/series 2013-04-26 21:28:56.000000000 +0000 +++ gnome-shell-3.8.2/debian/patches/series 2013-05-15 04:56:01.000000000 +0000 @@ -8,4 +8,3 @@ revert-suspend-break.patch 00-Revert-global-don-t-run-a-garbage-collection-on-twee.patch revert-power-dbus-name-update.patch -git_fix_evolution_calendar.patch diff -Nru gnome-shell-3.8.1/docs/reference/shell/html/api-index-full.html gnome-shell-3.8.2/docs/reference/shell/html/api-index-full.html --- gnome-shell-3.8.1/docs/reference/shell/html/api-index-full.html 2013-04-16 19:33:53.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/html/api-index-full.html 2013-05-13 23:41:25.000000000 +0000 @@ -467,10 +467,6 @@
-ShellKeyringPrompt::hide-prompt, object signal in shell-keyring-prompt -
-
-
ShellKeyringPrompt::show-confirm, object signal in shell-keyring-prompt
@@ -728,6 +724,10 @@
+ShellRecorder:draw-cursor, object property in shell-recorder +
+
+
ShellRecorder:file-template, object property in shell-recorder
diff -Nru gnome-shell-3.8.1/docs/reference/shell/html/index.html gnome-shell-3.8.2/docs/reference/shell/html/index.html --- gnome-shell-3.8.1/docs/reference/shell/html/index.html 2013-04-16 19:33:53.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/html/index.html 2013-05-13 23:41:25.000000000 +0000 @@ -15,7 +15,7 @@

- for Shell 3.8.1. + for Shell 3.8.2.

diff -Nru gnome-shell-3.8.1/docs/reference/shell/html/index.sgml gnome-shell-3.8.2/docs/reference/shell/html/index.sgml --- gnome-shell-3.8.1/docs/reference/shell/html/index.sgml 2013-04-16 19:33:53.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/html/index.sgml 2013-05-13 23:41:25.000000000 +0000 @@ -184,6 +184,7 @@ + diff -Nru gnome-shell-3.8.1/docs/reference/shell/html/shell-shell-recorder.html gnome-shell-3.8.2/docs/reference/shell/html/shell-shell-recorder.html --- gnome-shell-3.8.1/docs/reference/shell/html/shell-shell-recorder.html 2013-04-16 19:33:53.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/html/shell-shell-recorder.html 2013-05-13 23:41:25.000000000 +0000 @@ -48,7 +48,8 @@ const char *file_template); void shell_recorder_set_pipeline (ShellRecorder *recorder, const char *pipeline); -gboolean shell_recorder_record (ShellRecorder *recorder); +gboolean shell_recorder_record (ShellRecorder *recorder, + char **filename_used); void shell_recorder_close (ShellRecorder *recorder); void shell_recorder_pause (ShellRecorder *recorder); gboolean shell_recorder_is_recording (ShellRecorder *recorder); @@ -66,6 +67,7 @@

Properties

+  "draw-cursor"              gboolean              : Read / Write
   "file-template"            gchar*                : Read / Write
   "framerate"                gint                  : Read / Write
   "pipeline"                 gchar*                : Read / Write
@@ -224,7 +226,8 @@
 

shell_recorder_record ()

-
gboolean            shell_recorder_record               (ShellRecorder *recorder);
+
gboolean            shell_recorder_record               (ShellRecorder *recorder,
+                                                         char **filename_used);

Starts recording, Starting the recording may fail if the output file cannot be opened, or if the output stream cannot be created @@ -251,6 +254,11 @@ +

filename_used :

+actual filename used for recording. [out][allow-none] + + +

Returns :

TRUE if recording was succesfully started @@ -319,6 +327,13 @@

Property Details

+

The "draw-cursor" property

+
  "draw-cursor"              gboolean              : Read / Write
+

Whether to record the cursor.

+

Default value: TRUE

+
+
+

The "file-template" property

  "file-template"            gchar*                : Read / Write

The filename template to use for output files.

diff -Nru gnome-shell-3.8.1/docs/reference/shell/html/shell.devhelp2 gnome-shell-3.8.2/docs/reference/shell/html/shell.devhelp2 --- gnome-shell-3.8.1/docs/reference/shell/html/shell.devhelp2 2013-04-16 19:33:53.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/html/shell.devhelp2 2013-05-13 23:41:25.000000000 +0000 @@ -142,6 +142,7 @@ + diff -Nru gnome-shell-3.8.1/docs/reference/shell/shell-docs.sgml gnome-shell-3.8.2/docs/reference/shell/shell-docs.sgml --- gnome-shell-3.8.1/docs/reference/shell/shell-docs.sgml 2013-04-16 19:33:15.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/shell/shell-docs.sgml 2013-05-13 23:37:14.000000000 +0000 @@ -8,7 +8,7 @@ Shell Reference Manual - for Shell 3.8.1. + for Shell 3.8.2. diff -Nru gnome-shell-3.8.1/docs/reference/st/html/StEntry.html gnome-shell-3.8.2/docs/reference/st/html/StEntry.html --- gnome-shell-3.8.1/docs/reference/st/html/StEntry.html 2013-04-16 19:34:12.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/html/StEntry.html 2013-05-13 23:41:25.000000000 +0000 @@ -55,6 +55,12 @@ void st_entry_set_hint_text (StEntry *entry, const gchar *text); const gchar * st_entry_get_hint_text (StEntry *entry); +void st_entry_set_input_purpose (StEntry *entry, + GtkInputPurpose purpose); +GtkInputPurpose st_entry_get_input_purpose (StEntry *entry); +void st_entry_set_input_hints (StEntry *entry, + GtkInputHints hints); +GtkInputHints st_entry_get_input_hints (StEntry *entry); void st_entry_set_primary_icon (StEntry *entry, ClutterActor *icon); void st_entry_set_secondary_icon (StEntry *entry, @@ -82,6 +88,8 @@
   "clutter-text"             ClutterText*          : Read
   "hint-text"                gchar*                : Read / Write
+  "input-hints"              GtkInputHints         : Read / Write
+  "input-purpose"            GtkInputPurpose       : Read / Write
   "text"                     gchar*                : Read / Write
 
@@ -295,6 +303,99 @@

+

st_entry_set_input_purpose ()

+
void                st_entry_set_input_purpose          (StEntry *entry,
+                                                         GtkInputPurpose purpose);
+

+Sets the "input-purpose" property which +can be used by on-screen keyboards and other input +methods to adjust their behaviour. +

+
++++ + + + + + + + + + + +

entry :

a StEntry +

purpose :

the purpose
+
+
+
+

st_entry_get_input_purpose ()

+
GtkInputPurpose     st_entry_get_input_purpose          (StEntry *entry);
+

+Gets the value of the "input-purpose" property. +

+
++++ + + + + +

entry :

a StEntry +
+
+
+
+

st_entry_set_input_hints ()

+
void                st_entry_set_input_hints            (StEntry *entry,
+                                                         GtkInputHints hints);
+

+Sets the "input-hints" property, which +allows input methods to fine-tune their behaviour. +

+
++++ + + + + + + + + + + +

entry :

a StEntry +

hints :

the hints
+
+
+
+

st_entry_get_input_hints ()

+
GtkInputHints       st_entry_get_input_hints            (StEntry *entry);
+

+Gets the value of the "input-hints" property. +

+
++++ + + + + +

entry :

a StEntry +
+
+
+

st_entry_set_primary_icon ()

void                st_entry_set_primary_icon           (StEntry *entry,
                                                          ClutterActor *icon);
@@ -364,6 +465,19 @@

+

The "input-hints" property

+
  "input-hints"              GtkInputHints         : Read / Write
+

Hints for the text field behaviour.

+
+
+
+

The "input-purpose" property

+
  "input-purpose"            GtkInputPurpose       : Read / Write
+

Purpose of the text field.

+

Default value: GTK_INPUT_PURPOSE_FREE_FORM

+
+
+

The "text" property

  "text"                     gchar*                : Read / Write

Text of the entry.

diff -Nru gnome-shell-3.8.1/docs/reference/st/html/api-index-full.html gnome-shell-3.8.2/docs/reference/st/html/api-index-full.html --- gnome-shell-3.8.1/docs/reference/st/html/api-index-full.html 2013-04-16 19:34:12.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/html/api-index-full.html 2013-05-13 23:41:25.000000000 +0000 @@ -431,6 +431,14 @@
+StEntry:input-hints, object property in StEntry +
+
+
+StEntry:input-purpose, object property in StEntry +
+
+
StEntry:text, object property in StEntry
@@ -447,6 +455,14 @@
+st_entry_get_input_hints, function in StEntry +
+
+
+st_entry_get_input_purpose, function in StEntry +
+
+
st_entry_get_text, function in StEntry
@@ -459,6 +475,14 @@
+st_entry_set_input_hints, function in StEntry +
+
+
+st_entry_set_input_purpose, function in StEntry +
+
+
st_entry_set_primary_icon, function in StEntry
@@ -578,15 +602,35 @@
+StIMText:input-hints, object property in StIMText +
+
+
+StIMText:input-purpose, object property in StIMText +
+
+
StIMTextClass, struct in StIMText
+st_im_text_get_input_hints, function in StIMText +
+
+
+st_im_text_get_input_purpose, function in StIMText +
+
+
st_im_text_new, function in StIMText
-st_im_text_set_autoshow_im, function in StIMText +st_im_text_set_input_hints, function in StIMText +
+
+
+st_im_text_set_input_purpose, function in StIMText

L

diff -Nru gnome-shell-3.8.1/docs/reference/st/html/index.html gnome-shell-3.8.2/docs/reference/st/html/index.html --- gnome-shell-3.8.1/docs/reference/st/html/index.html 2013-04-16 19:34:12.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/html/index.html 2013-05-13 23:41:25.000000000 +0000 @@ -15,7 +15,7 @@

- for St 3.8.1. + for St 3.8.2.

diff -Nru gnome-shell-3.8.1/docs/reference/st/html/index.sgml gnome-shell-3.8.2/docs/reference/st/html/index.sgml --- gnome-shell-3.8.1/docs/reference/st/html/index.sgml 2013-04-16 19:34:11.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/html/index.sgml 2013-05-13 23:41:25.000000000 +0000 @@ -140,11 +140,17 @@ + + + + + + diff -Nru gnome-shell-3.8.1/docs/reference/st/html/st.devhelp2 gnome-shell-3.8.2/docs/reference/st/html/st.devhelp2 --- gnome-shell-3.8.1/docs/reference/st/html/st.devhelp2 2013-04-16 19:34:11.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/html/st.devhelp2 2013-05-13 23:41:25.000000000 +0000 @@ -128,10 +128,16 @@ + + + + + + diff -Nru gnome-shell-3.8.1/docs/reference/st/st-docs.sgml gnome-shell-3.8.2/docs/reference/st/st-docs.sgml --- gnome-shell-3.8.1/docs/reference/st/st-docs.sgml 2013-04-16 19:33:15.000000000 +0000 +++ gnome-shell-3.8.2/docs/reference/st/st-docs.sgml 2013-05-13 23:37:14.000000000 +0000 @@ -8,7 +8,7 @@ St Reference Manual - for St 3.8.1. + for St 3.8.2. diff -Nru gnome-shell-3.8.1/js/Makefile.am gnome-shell-3.8.2/js/Makefile.am --- gnome-shell-3.8.1/js/Makefile.am 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/Makefile.am 2013-05-13 22:43:35.000000000 +0000 @@ -78,6 +78,7 @@ ui/popupMenu.js \ ui/remoteSearch.js \ ui/runDialog.js \ + ui/screencast.js \ ui/screenshot.js \ ui/screenShield.js \ ui/scripting.js \ diff -Nru gnome-shell-3.8.1/js/Makefile.in gnome-shell-3.8.2/js/Makefile.in --- gnome-shell-3.8.1/js/Makefile.in 2013-04-16 19:26:08.000000000 +0000 +++ gnome-shell-3.8.2/js/Makefile.in 2013-05-13 23:37:07.000000000 +0000 @@ -399,6 +399,7 @@ ui/popupMenu.js \ ui/remoteSearch.js \ ui/runDialog.js \ + ui/screencast.js \ ui/screenshot.js \ ui/screenShield.js \ ui/scripting.js \ diff -Nru gnome-shell-3.8.1/js/gdm/loginDialog.js gnome-shell-3.8.2/js/gdm/loginDialog.js --- gnome-shell-3.8.1/js/gdm/loginDialog.js 2013-04-16 18:52:38.000000000 +0000 +++ gnome-shell-3.8.2/js/gdm/loginDialog.js 2013-05-10 12:32:09.000000000 +0000 @@ -28,6 +28,7 @@ const Meta = imports.gi.Meta; const Lang = imports.lang; const Pango = imports.gi.Pango; +const Realmd = imports.gdm.realmd; const Signals = imports.signals; const Shell = imports.gi.Shell; const St = imports.gi.St; @@ -39,7 +40,6 @@ const Lightbox = imports.ui.lightbox; const Main = imports.ui.main; const ModalDialog = imports.ui.modalDialog; -const Panel = imports.ui.panel; const PanelMenu = imports.ui.panelMenu; const Tweener = imports.ui.tweener; const UserMenu = imports.ui.userMenu; @@ -48,44 +48,10 @@ const _FADE_ANIMATION_TIME = 0.25; const _SCROLL_ANIMATION_TIME = 0.5; const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0; -const _LOGO_ICON_HEIGHT = 16; - -const WORK_SPINNER_ICON_SIZE = 24; -const WORK_SPINNER_ANIMATION_DELAY = 1.0; -const WORK_SPINNER_ANIMATION_TIME = 0.3; +const _LOGO_ICON_HEIGHT = 48; let _loginDialog = null; -const LogoMenuButton = new Lang.Class({ - Name: 'LogoMenuButton', - Extends: PanelMenu.Button, - - _init: function() { - this.parent(0.0, null, true); - - this._settings = new Gio.Settings({ schema: GdmUtil.LOGIN_SCREEN_SCHEMA }); - this._settings.connect('changed::' + GdmUtil.LOGO_KEY, - Lang.bind(this, this._updateLogo)); - - this._iconBin = new St.Bin(); - this.actor.add_actor(this._iconBin); - - this._updateLogo(); - }, - - _updateLogo: function() { - let path = this._settings.get_string(GdmUtil.LOGO_KEY); - let icon = null; - - if (path) { - let file = Gio.file_new_for_path(path); - let cache = St.TextureCache.get_default(); - icon = cache.load_uri_async(file.get_uri(), -1, _LOGO_ICON_HEIGHT); - } - this._iconBin.set_child(icon); - } -}); - const UserListItem = new Lang.Class({ Name: 'UserListItem', @@ -552,6 +518,12 @@ Lang.bind(this, this._updateBanner)); this._settings.connect('changed::' + GdmUtil.DISABLE_USER_LIST_KEY, Lang.bind(this, this._updateDisableUserList)); + this._settings.connect('changed::' + GdmUtil.LOGO_KEY, + Lang.bind(this, this._updateLogo)); + + this._textureCache = St.TextureCache.get_default(); + this._textureCache.connect('texture-file-changed', + Lang.bind(this, this._updateLogoTexture)); this._userSelectionBox = new St.BoxLayout({ style_class: 'login-dialog-user-selection-box', vertical: true }); @@ -609,7 +581,6 @@ this._promptBox.add(this._promptLoginHint); this._signInButton = null; - this._workSpinner = null; this._sessionList = new SessionList(); this._sessionList.connect('session-activated', @@ -644,6 +615,11 @@ x_align: St.Align.START, x_fill: true }); + this._logoBin = new St.Bin({ style_class: 'login-dialog-logo-bin', y_expand: true }); + this._logoBin.set_y_align(Clutter.ActorAlign.END); + this.backgroundStack.add_actor(this._logoBin); + this._updateLogo(); + if (!this._userManager.is_loaded) this._userManagerLoadedId = this._userManager.connect('notify::is-loaded', Lang.bind(this, function() { @@ -690,6 +666,24 @@ } }, + _updateLogoTexture: function(cache, uri) { + if (this._logoFileUri != uri) + return; + + let icon = null; + if (this._logoFileUri) + icon = this._textureCache.load_uri_async(this._logoFileUri, + -1, _LOGO_ICON_HEIGHT); + this._logoBin.set_child(icon); + }, + + _updateLogo: function() { + let path = this._settings.get_string(GdmUtil.LOGO_KEY); + + this._logoFileUri = path ? Gio.file_new_for_path(path).get_uri() : null; + this._updateLogoTexture(this._textureCache, this._logoFileUri); + }, + _reset: function() { this._userVerifier.clear(); @@ -708,7 +702,7 @@ this._promptEntry.text = ''; this._updateSensitivity(true); - this._setWorking(false); + this.setWorking(false); }, _onDefaultSessionChanged: function(client, sessionId) { @@ -774,11 +768,6 @@ }, _prepareDialog: function(forSecret, hold) { - let spinnerIcon = global.datadir + '/theme/process-working.svg'; - this._workSpinner = new Panel.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE); - this._workSpinner.actor.opacity = 0; - this._workSpinner.actor.show(); - this.buttonLayout.visible = true; this.clearButtons(); @@ -791,12 +780,11 @@ y_fill: false, x_align: St.Align.START, y_align: St.Align.MIDDLE }); - this.buttonLayout.add(this._workSpinner.actor, - { expand: false, - x_fill: false, - y_fill: false, - x_align: St.Align.END, - y_align: St.Align.MIDDLE }); + this.placeSpinner({ expand: false, + x_fill: false, + y_fill: false, + x_align: St.Align.END, + y_align: St.Align.MIDDLE }); this._signInButton = this.addButton({ action: Lang.bind(this, function() { hold.release(); }), @@ -849,7 +837,7 @@ this._promptEntryActivateId = 0; } - this._setWorking(false); + this.setWorking(false); this._promptBox.hide(); this._promptLoginHint.hide(); @@ -862,36 +850,9 @@ this._promptLoginHint.hide(); this.clearButtons(); - this._workSpinner = null; this._signInButton = null; }, - _setWorking: function(working) { - if (!this._workSpinner) - return; - - if (working) { - this._workSpinner.play(); - Tweener.addTween(this._workSpinner.actor, - { opacity: 255, - delay: WORK_SPINNER_ANIMATION_DELAY, - time: WORK_SPINNER_ANIMATION_TIME, - transition: 'linear' - }); - } else { - Tweener.addTween(this._workSpinner.actor, - { opacity: 0, - time: WORK_SPINNER_ANIMATION_TIME, - transition: 'linear', - onCompleteScope: this, - onComplete: function() { - if (this._workSpinner) - this._workSpinner.stop(); - } - }); - } - }, - _askQuestion: function(verifier, serviceName, question, passwordChar) { this._promptLabel.set_text(question); @@ -906,7 +867,7 @@ function() { let text = this._promptEntry.get_text(); this._updateSensitivity(false); - this._setWorking(true); + this.setWorking(true); this._userVerifier.answerQuery(serviceName, text); }]; @@ -914,17 +875,40 @@ return batch.run(); }, + _showRealmLoginHint: function(realmManager, hint) { + if (!hint) + return; + + hint = hint.replace(/%U/g, 'user'); + hint = hint.replace(/%D/g, 'DOMAIN'); + hint = hint.replace(/%[^UD]/g, ''); + + // Translators: this message is shown below the username entry field + // to clue the user in on how to login to the local network realm + this._showLoginHint(null, _("(e.g., user or %s)").format(hint)); + }, + _askForUsernameAndLogIn: function() { this._promptLabel.set_text(_("Username: ")); this._promptEntry.set_text(''); this._promptEntry.clutter_text.set_password_char(''); + let realmManager = new Realmd.Manager(); + let signalId = realmManager.connect('login-format-changed', + Lang.bind(this, this._showRealmLoginHint)); + this._showRealmLoginHint(realmManager.loginFormat); + let tasks = [this._showPrompt, function() { let userName = this._promptEntry.get_text(); this._promptEntry.reactive = false; return this._beginVerificationForUser(userName); + }, + + function() { + realmManager.disconnect(signalId) + realmManager.release(); }]; let batch = new Batch.ConsecutiveBatch(this, tasks); diff -Nru gnome-shell-3.8.1/js/gdm/realmd.js gnome-shell-3.8.2/js/gdm/realmd.js --- gnome-shell-3.8.1/js/gdm/realmd.js 2013-02-22 14:42:43.000000000 +0000 +++ gnome-shell-3.8.2/js/gdm/realmd.js 2013-05-07 18:51:32.000000000 +0000 @@ -63,7 +63,7 @@ Lang.bind(this, this._reloadRealms)) this._realms = {}; - this._aggregateProvider.connect('g-properties-changed', + this._signalId = this._aggregateProvider.connect('g-properties-changed', Lang.bind(this, function(proxy, properties) { if ('Realms' in properties.deep_unpack()) this._reloadRealms(); @@ -106,7 +106,7 @@ realm.connect('g-properties-changed', Lang.bind(this, function(proxy, properties) { if ('Configured' in properties.deep_unpack()) - this._reloadRealm(); + this._reloadRealm(realm); })); }, @@ -134,6 +134,18 @@ this._updateLoginFormat(); return this._loginFormat; + }, + + release: function() { + Service(Gio.DBus.system, + 'org.freedesktop.realmd', + '/org/freedesktop/realmd', + function(service) { + service.ReleaseRemote(); + }); + this._aggregateProvider.disconnect(this._signalId); + this._realms = { }; + this._updateLoginFormat(); } }); Signals.addSignalMethods(Manager.prototype) diff -Nru gnome-shell-3.8.1/js/gdm/util.js gnome-shell-3.8.2/js/gdm/util.js --- gnome-shell-3.8.1/js/gdm/util.js 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/gdm/util.js 2013-05-07 18:51:32.000000000 +0000 @@ -9,7 +9,6 @@ const Batch = imports.gdm.batch; const Fprint = imports.gdm.fingerprint; -const Realmd = imports.gdm.realmd; const Main = imports.ui.main; const Params = imports.misc.params; const Tweener = imports.ui.tweener; @@ -117,7 +116,6 @@ this._settings = new Gio.Settings({ schema: LOGIN_SCREEN_SCHEMA }); this._fprintManager = new Fprint.FprintManager(); - this._realmManager = new Realmd.Manager(); this._messageQueue = []; this._messageQueueTimeoutId = 0; this.hasPendingMessages = false; @@ -377,30 +375,11 @@ this._queueMessage(problem, 'login-dialog-message-warning'); }, - _showRealmLoginHint: function() { - if (this._realmManager.loginFormat) { - let hint = this._realmManager.loginFormat; - - hint = hint.replace(/%U/g, 'user'); - hint = hint.replace(/%D/g, 'DOMAIN'); - hint = hint.replace(/%[^UD]/g, ''); - - // Translators: this message is shown below the username entry field - // to clue the user in on how to login to the local network realm - this.emit('show-login-hint', - _("(e.g., user or %s)").format(hint)); - } - }, - _onInfoQuery: function(client, serviceName, question) { // We only expect questions to come from the main auth service if (serviceName != PASSWORD_SERVICE_NAME) return; - this._showRealmLoginHint(); - this._realmLoginHintSignalId = this._realmManager.connect('login-format-changed', - Lang.bind(this, this._showRealmLoginHint)); - this.emit('ask-question', serviceName, question, ''); }, @@ -476,11 +455,6 @@ } this.emit('hide-login-hint'); - - if (this._realmLoginHintSignalId) { - this._realmManager.disconnect(this._realmLoginHintSignalId); - this._realmLoginHintSignalId = 0; - } }, }); Signals.addSignalMethods(ShellUserVerifier.prototype); diff -Nru gnome-shell-3.8.1/js/misc/config.js gnome-shell-3.8.2/js/misc/config.js --- gnome-shell-3.8.1/js/misc/config.js 2013-04-16 19:33:24.000000000 +0000 +++ gnome-shell-3.8.2/js/misc/config.js 2013-05-13 23:38:09.000000000 +0000 @@ -3,7 +3,7 @@ /* The name of this package (not localized) */ const PACKAGE_NAME = 'gnome-shell'; /* The version of this package */ -const PACKAGE_VERSION = '3.8.1'; +const PACKAGE_VERSION = '3.8.2'; /* 1 if gnome-bluetooth is available, 0 otherwise */ const HAVE_BLUETOOTH = 1; /* gettext package */ diff -Nru gnome-shell-3.8.1/js/ui/appDisplay.js gnome-shell-3.8.2/js/ui/appDisplay.js --- gnome-shell-3.8.1/js/ui/appDisplay.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/appDisplay.js 2013-05-13 22:43:35.000000000 +0000 @@ -625,10 +625,24 @@ this._boxPointer.actor.bind_property('opacity', closeButton, 'opacity', GObject.BindingFlags.SYNC_CREATE); + global.focus_manager.add_group(this.actor); + source.actor.connect('destroy', Lang.bind(this, function() { this.actor.destroy(); })); + this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress)); + }, + + _onKeyPress: function(actor, event) { + if (!this._isOpen) + return false; + + if (event.get_key_symbol() != Clutter.KEY_Escape) + return false; + + this.popdown(); + return true; }, toggle: function() { @@ -643,6 +657,7 @@ return; this.actor.show(); + this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); this._boxPointer.setArrowActor(this._source.actor); this._boxPointer.show(BoxPointer.PopupAnimation.FADE | diff -Nru gnome-shell-3.8.1/js/ui/backgroundMenu.js gnome-shell-3.8.2/js/ui/backgroundMenu.js --- gnome-shell-3.8.1/js/ui/backgroundMenu.js 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/backgroundMenu.js 2013-04-30 21:30:42.000000000 +0000 @@ -46,8 +46,10 @@ clickAction.connect('long-press', function(action, actor, state) { if (state == Clutter.LongPressState.QUERY) return action.get_button() == 1 && !actor._backgroundMenu.isOpen; - if (state == Clutter.LongPressState.ACTIVATE) + if (state == Clutter.LongPressState.ACTIVATE) { openMenu(); + actor._backgroundManager.ignoreRelease(); + } return true; }); clickAction.connect('clicked', function(action) { diff -Nru gnome-shell-3.8.1/js/ui/components/keyring.js gnome-shell-3.8.2/js/ui/components/keyring.js --- gnome-shell-3.8.1/js/ui/components/keyring.js 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/components/keyring.js 2013-05-10 12:32:09.000000000 +0000 @@ -25,7 +25,7 @@ this.prompt = new Shell.KeyringPrompt(); this.prompt.connect('show-password', Lang.bind(this, this._onShowPassword)); this.prompt.connect('show-confirm', Lang.bind(this, this._onShowConfirm)); - this.prompt.connect('hide-prompt', Lang.bind(this, this._onHidePrompt)); + this.prompt.connect('prompt-close', Lang.bind(this, this._onHidePrompt)); let mainContentBox = new St.BoxLayout({ style_class: 'prompt-dialog-main-layout', vertical: false }); @@ -63,11 +63,17 @@ this._cancelButton = this.addButton({ label: '', action: Lang.bind(this, this._onCancelButton), - key: Clutter.Escape }); + key: Clutter.Escape }, + { expand: true, x_fill: false, x_align: St.Align.START }); + this.placeSpinner({ expand: false, + x_fill: false, + y_fill: false, + x_align: St.Align.END, + y_align: St.Align.MIDDLE }); this._continueButton = this.addButton({ label: '', action: Lang.bind(this, this._onContinueButton), default: true }, - { expand: true, x_fill: false, x_align: St.Align.END }); + { expand: false, x_fill: false, x_align: St.Align.END }); this.prompt.bind_property('cancel-label', this._cancelButton, 'label', GObject.BindingFlags.SYNC_CREATE); this.prompt.bind_property('continue-label', this._continueButton, 'label', GObject.BindingFlags.SYNC_CREATE); @@ -143,11 +149,19 @@ }, _updateSensitivity: function(sensitive) { - this._passwordEntry.reactive = sensitive; - this._passwordEntry.clutter_text.editable = sensitive; + if (this._passwordEntry) { + this._passwordEntry.reactive = sensitive; + this._passwordEntry.clutter_text.editable = sensitive; + } + + if (this._confirmEntry) { + this._confirmEntry.reactive = sensitive; + this._confirmEntry.clutter_text.editable = sensitive; + } this._continueButton.can_focus = sensitive; this._continueButton.reactive = sensitive; + this.setWorking(!sensitive); }, _ensureOpen: function() { diff -Nru gnome-shell-3.8.1/js/ui/components/polkitAgent.js gnome-shell-3.8.2/js/ui/components/polkitAgent.js --- gnome-shell-3.8.1/js/ui/components/polkitAgent.js 2013-03-14 19:02:38.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/components/polkitAgent.js 2013-05-13 18:43:20.000000000 +0000 @@ -31,7 +31,6 @@ this.message = message; this.userNames = userNames; this._wasDismissed = false; - this._completed = false; let mainContentBox = new St.BoxLayout({ style_class: 'prompt-dialog-main-layout', vertical: false }); @@ -161,26 +160,32 @@ this._cancelButton = this.addButton({ label: _("Cancel"), action: Lang.bind(this, this.cancel), - key: Clutter.Escape }); + key: Clutter.Escape }, + { expand: true, x_fill: false, x_align: St.Align.START }); + this.placeSpinner({ expand: false, + x_fill: false, + y_fill: false, + x_align: St.Align.END, + y_align: St.Align.MIDDLE }); this._okButton = this.addButton({ label: _("Authenticate"), action: Lang.bind(this, this._onAuthenticateButtonPressed), default: true }, - { expand: true, x_fill: false, x_align: St.Align.END }); + { expand: false, x_fill: false, x_align: St.Align.END }); this._doneEmitted = false; this._identityToAuth = Polkit.UnixUser.new_for_name(userName); this._cookie = cookie; + }, + performAuthentication: function() { + this.destroySession(); this._session = new PolkitAgent.Session({ identity: this._identityToAuth, cookie: this._cookie }); this._session.connect('completed', Lang.bind(this, this._onSessionCompleted)); this._session.connect('request', Lang.bind(this, this._onSessionRequest)); this._session.connect('show-error', Lang.bind(this, this._onSessionShowError)); this._session.connect('show-info', Lang.bind(this, this._onSessionShowInfo)); - }, - - startAuthentication: function() { this._session.initiate(); }, @@ -202,14 +207,14 @@ log('polkitAuthenticationAgent: Failed to show modal dialog.' + ' Dismissing authentication request for action-id ' + this.actionId + ' cookie ' + this._cookie); - this._emitDone(false, true); + this._emitDone(true); } }, - _emitDone: function(keepVisible, dismissed) { + _emitDone: function(dismissed) { if (!this._doneEmitted) { this._doneEmitted = true; - this.emit('done', keepVisible, dismissed); + this.emit('done', dismissed); } }, @@ -219,6 +224,7 @@ this._okButton.can_focus = sensitive; this._okButton.reactive = sensitive; + this.setWorking(!sensitive); }, _onEntryActivate: function() { @@ -237,12 +243,16 @@ }, _onSessionCompleted: function(session, gainedAuthorization) { - if (this._completed) + if (this._completed || this._doneEmitted) return; this._completed = true; - if (!gainedAuthorization) { + /* Yay, all done */ + if (gainedAuthorization) { + this._emitDone(false); + + } else { /* Unless we are showing an existing error message from the PAM * module (the PAM module could be reporting the authentication * error providing authentication-method specific information), @@ -258,8 +268,10 @@ this._infoMessageLabel.hide(); this._nullMessageLabel.hide(); } + + /* Try and authenticate again */ + this.performAuthentication(); } - this._emitDone(!gainedAuthorization, false); }, _onSessionRequest: function(session, request, echo_on) { @@ -303,6 +315,7 @@ if (this._session) { if (!this._completed) this._session.cancel(); + this._completed = false; this._session = null; } }, @@ -317,7 +330,7 @@ cancel: function() { this._wasDismissed = true; this.close(global.get_current_time()); - this._emitDone(false, true); + this._emitDone(true); }, }); Signals.addSignalMethods(AuthenticationDialog.prototype); @@ -327,7 +340,6 @@ _init: function() { this._currentDialog = null; - this._isCompleting = false; this._handle = null; this._native = new Shell.PolkitAuthenticationAgent(); this._native.connect('initiate', Lang.bind(this, this._onInitiate)); @@ -364,45 +376,24 @@ // discussion. this._currentDialog.connect('done', Lang.bind(this, this._onDialogDone)); - this._currentDialog.startAuthentication(); + this._currentDialog.performAuthentication(); }, _onCancel: function(nativeAgent) { - this._completeRequest(false, false); + this._completeRequest(false); }, - _onDialogDone: function(dialog, keepVisible, dismissed) { - this._completeRequest(keepVisible, dismissed); + _onDialogDone: function(dialog, dismissed) { + this._completeRequest(dismissed); }, - _reallyCompleteRequest: function(dismissed) { + _completeRequest: function(dismissed) { this._currentDialog.close(); this._currentDialog.destroySession(); this._currentDialog = null; - this._isCompleting = false; - this._native.complete(dismissed) + this._native.complete(dismissed); }, - - _completeRequest: function(keepVisible, wasDismissed) { - if (this._isCompleting) - return; - - this._isCompleting = true; - - if (keepVisible) { - // Give the user 2 seconds to read 'Authentication Failure' before - // dismissing the dialog - Mainloop.timeout_add(2000, - Lang.bind(this, - function() { - this._reallyCompleteRequest(wasDismissed); - return false; - })); - } else { - this._reallyCompleteRequest(wasDismissed); - } - } }); const Component = AuthenticationAgent; diff -Nru gnome-shell-3.8.1/js/ui/ctrlAltTab.js gnome-shell-3.8.2/js/ui/ctrlAltTab.js --- gnome-shell-3.8.1/js/ui/ctrlAltTab.js 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/ctrlAltTab.js 2013-05-10 12:36:28.000000000 +0000 @@ -89,19 +89,25 @@ let items = this._items.filter(function (item) { return item.proxy.mapped; }); // And add the windows metacity would show in its Ctrl-Alt-Tab list - if (!Main.overview.visible) { + if (Main.sessionMode.hasWindows && !Main.overview.visible) { let screen = global.screen; let display = screen.get_display(); let windows = display.get_tab_list(Meta.TabList.DOCKS, screen, screen.get_active_workspace ()); let windowTracker = Shell.WindowTracker.get_default(); let textureCache = St.TextureCache.get_default(); for (let i = 0; i < windows.length; i++) { - let icon; - let app = windowTracker.get_window_app(windows[i]); - if (app) - icon = app.create_icon_texture(POPUP_APPICON_SIZE); - else - icon = textureCache.bind_pixbuf_property(windows[i], 'icon'); + let icon = null; + let iconName = null; + if (windows[i].get_window_type () == Meta.WindowType.DESKTOP) { + iconName = 'video-display-symbolic'; + } else { + let app = windowTracker.get_window_app(windows[i]); + if (app) + icon = app.create_icon_texture(POPUP_APPICON_SIZE); + else + icon = textureCache.bind_pixbuf_property(windows[i], 'icon'); + } + items.push({ name: windows[i].title, proxy: windows[i].get_compositor_private(), focusCallback: Lang.bind(windows[i], @@ -109,6 +115,7 @@ Main.activateWindow(this, timestamp); }), iconActor: icon, + iconName: iconName, sortGroup: SortGroup.MIDDLE }); } } diff -Nru gnome-shell-3.8.1/js/ui/dateMenu.js gnome-shell-3.8.2/js/ui/dateMenu.js --- gnome-shell-3.8.1/js/ui/dateMenu.js 2013-03-26 21:05:03.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/dateMenu.js 2013-05-13 22:43:35.000000000 +0000 @@ -100,7 +100,6 @@ Shell.AppSystem.get_default().connect('installed-changed', Lang.bind(this, this._appInstalledChanged)); - this._appInstalledChanged(); item = this.menu.addSettingsAction(_("Date & Time Settings"), 'gnome-datetime-panel.desktop'); if (item) { @@ -157,14 +156,16 @@ }, _appInstalledChanged: function() { - let app = Shell.AppSystem.get_default().lookup_app('gnome-clocks.desktop'); - this._openClocksItem.actor.visible = app !== null; + this._calendarApp = undefined; + this._updateEventsVisibility(); }, _updateEventsVisibility: function() { let visible = this._eventSource.hasCalendars; - this._openCalendarItem.actor.visible = visible; - this._openClocksItem.actor.visible = visible; + this._openCalendarItem.actor.visible = visible && + (this._getCalendarApp() != null); + this._openClocksItem.actor.visible = visible && + (this._getClockApp() != null); this._separator.visible = visible; if (visible) { let alignment = 0.25; @@ -217,18 +218,34 @@ this._date.set_text(displayDate.toLocaleFormat(dateFormat)); }, + _getCalendarApp: function() { + if (this._calendarApp !== undefined) + return this._calendarApp; + + let apps = Gio.AppInfo.get_recommended_for_type('text/calendar'); + if (apps && (apps.length > 0)) + this._calendarApp = apps[0]; + else + this._calendarApp = null; + return this._calendarApp; + }, + + _getClockApp: function() { + return Shell.AppSystem.get_default().lookup_app('gnome-clocks.desktop'); + }, + _onOpenCalendarActivate: function() { this.menu.close(); - let app = Gio.AppInfo.get_default_for_type('text/calendar', false); - if (app.get_id() == 'evolution') - app = Gio.DesktopAppInfo.new('evolution-calendar'); + let app = this._getCalendarApp(); + if (app.get_id() == 'evolution.desktop') + app = Gio.DesktopAppInfo.new('evolution-calendar.desktop'); app.launch([], global.create_app_launch_context()); }, _onOpenClocksActivate: function() { this.menu.close(); - let app = Shell.AppSystem.get_default().lookup_app('gnome-clocks.desktop'); + let app = this._getClockApp(); app.activate(); } }); diff -Nru gnome-shell-3.8.1/js/ui/layout.js gnome-shell-3.8.2/js/ui/layout.js --- gnome-shell-3.8.1/js/ui/layout.js 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/layout.js 2013-05-13 22:43:35.000000000 +0000 @@ -1092,12 +1092,21 @@ } if (size > 0) { - this._verticalBarrier = new Meta.Barrier({ display: global.display, - x1: this._x, x2: this._x, y1: this._y, y2: this._y + size, - directions: Meta.BarrierDirection.POSITIVE_X }); - this._horizontalBarrier = new Meta.Barrier({ display: global.display, - x1: this._x, x2: this._x + size, y1: this._y, y2: this._y, - directions: Meta.BarrierDirection.POSITIVE_Y }); + if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) { + this._verticalBarrier = new Meta.Barrier({ display: global.display, + x1: this._x, x2: this._x, y1: this._y, y2: this._y + size, + directions: Meta.BarrierDirection.NEGATIVE_X }); + this._horizontalBarrier = new Meta.Barrier({ display: global.display, + x1: this._x - size, x2: this._x, y1: this._y, y2: this._y, + directions: Meta.BarrierDirection.POSITIVE_Y }); + } else { + this._verticalBarrier = new Meta.Barrier({ display: global.display, + x1: this._x, x2: this._x, y1: this._y, y2: this._y + size, + directions: Meta.BarrierDirection.POSITIVE_X }); + this._horizontalBarrier = new Meta.Barrier({ display: global.display, + x1: this._x, x2: this._x + size, y1: this._y, y2: this._y, + directions: Meta.BarrierDirection.POSITIVE_Y }); + } this._pressureBarrier.addBarrier(this._verticalBarrier); this._pressureBarrier.addBarrier(this._horizontalBarrier); diff -Nru gnome-shell-3.8.1/js/ui/modalDialog.js gnome-shell-3.8.2/js/ui/modalDialog.js --- gnome-shell-3.8.1/js/ui/modalDialog.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/modalDialog.js 2013-05-13 22:43:35.000000000 +0000 @@ -22,6 +22,10 @@ const OPEN_AND_CLOSE_TIME = 0.1; const FADE_OUT_DIALOG_TIME = 1.0; +const WORK_SPINNER_ICON_SIZE = 24; +const WORK_SPINNER_ANIMATION_DELAY = 1.0; +const WORK_SPINNER_ANIMATION_TIME = 0.3; + const State = { OPENED: 0, CLOSED: 1, @@ -65,7 +69,9 @@ this._group.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent)); this._group.connect('key-release-event', Lang.bind(this, this._onKeyReleaseEvent)); - this._backgroundBin = new St.Bin(); + this.backgroundStack = new St.Widget({ layout_manager: new Clutter.BinLayout() }); + this._backgroundBin = new St.Bin({ child: this.backgroundStack, + x_fill: true, y_fill: true }); this._monitorConstraint = new Layout.MonitorConstraint(); this._backgroundBin.add_constraint(this._monitorConstraint); this._group.add_actor(this._backgroundBin); @@ -81,15 +87,10 @@ { inhibitEvents: true }); this._lightbox.highlight(this._backgroundBin); - let stack = new Shell.Stack(); - this._backgroundBin.child = stack; - this._eventBlocker = new Clutter.Actor({ reactive: true }); - stack.add_actor(this._eventBlocker); - stack.add_actor(this.dialogLayout); - } else { - this._backgroundBin.child = this.dialogLayout; + this.backgroundStack.add_actor(this._eventBlocker); } + this.backgroundStack.add_actor(this.dialogLayout); this.contentLayout = new St.BoxLayout({ vertical: true }); @@ -110,6 +111,8 @@ this._initialKeyFocus = this.dialogLayout; this._initialKeyFocusDestroyId = 0; this._savedKeyFocus = null; + + this._workSpinner = null; }, destroy: function() { @@ -183,6 +186,44 @@ return button; }, + placeSpinner: function(layoutInfo) { + /* This is here because of recursive imports */ + const Panel = imports.ui.panel; + let spinnerIcon = global.datadir + '/theme/process-working.svg'; + this._workSpinner = new Panel.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE); + this._workSpinner.actor.opacity = 0; + this._workSpinner.actor.show(); + + this.buttonLayout.add(this._workSpinner.actor, layoutInfo); + }, + + setWorking: function(working) { + if (!this._workSpinner) + return; + + Tweener.removeTweens(this._workSpinner.actor); + if (working) { + this._workSpinner.play(); + Tweener.addTween(this._workSpinner.actor, + { opacity: 255, + delay: WORK_SPINNER_ANIMATION_DELAY, + time: WORK_SPINNER_ANIMATION_TIME, + transition: 'linear' + }); + } else { + Tweener.addTween(this._workSpinner.actor, + { opacity: 0, + time: WORK_SPINNER_ANIMATION_TIME, + transition: 'linear', + onCompleteScope: this, + onComplete: function() { + if (this._workSpinner) + this._workSpinner.stop(); + } + }); + } + }, + _onKeyPressEvent: function(object, event) { this._pressedKey = event.get_key_symbol(); }, diff -Nru gnome-shell-3.8.1/js/ui/osdWindow.js gnome-shell-3.8.2/js/ui/osdWindow.js --- gnome-shell-3.8.1/js/ui/osdWindow.js 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/osdWindow.js 2013-05-07 19:35:47.000000000 +0000 @@ -8,6 +8,7 @@ const Main = imports.ui.main; const Mainloop = imports.mainloop; const Tweener = imports.ui.tweener; +const Meta = imports.gi.Meta; const HIDE_TIMEOUT = 1500; const FADE_TIME = 0.1; @@ -71,6 +72,7 @@ Name: 'OsdWindow', _init: function() { + this._popupSize = 0; this.actor = new St.Widget({ x_expand: true, y_expand: true, x_align: Clutter.ActorAlign.CENTER, @@ -80,6 +82,15 @@ vertical: true }); this.actor.add_actor(this._box); + this._box.connect('style-changed', Lang.bind(this, this._onStyleChanged)); + this._box.connect('notify::height', Lang.bind(this, + function() { + Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, + function() { + this._box.width = this._box.height; + })); + })); + this._icon = new St.Icon(); this._box.add(this._icon, { expand: true }); @@ -169,11 +180,25 @@ let scalew = monitor.width / 640.0; let scaleh = monitor.height / 480.0; let scale = Math.min(scalew, scaleh); - let size = 110 * Math.max(1, scale); + this._popupSize = 110 * Math.max(1, scale); - this._box.set_size(size, size); this._box.translation_y = monitor.height / 4; + this._icon.icon_size = this._popupSize / 2; + this._box.style_changed(); + }, + + _onStyleChanged: function() { + let themeNode = this._box.get_theme_node(); + let horizontalPadding = themeNode.get_horizontal_padding(); + let verticalPadding = themeNode.get_vertical_padding(); + let topBorder = themeNode.get_border_width(St.Side.TOP); + let bottomBorder = themeNode.get_border_width(St.Side.BOTTOM); + let leftBorder = themeNode.get_border_width(St.Side.LEFT); + let rightBorder = themeNode.get_border_width(St.Side.RIGHT); + + let minWidth = this._popupSize - verticalPadding - leftBorder - rightBorder; + let minHeight = this._popupSize - horizontalPadding - topBorder - bottomBorder; - this._icon.icon_size = size / 2; + this._box.style = 'min-height: %dpx;'.format(Math.max(minWidth, minHeight)); } }); diff -Nru gnome-shell-3.8.1/js/ui/panel.js gnome-shell-3.8.2/js/ui/panel.js --- gnome-shell-3.8.1/js/ui/panel.js 2013-04-16 18:52:38.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/panel.js 2013-05-13 22:43:35.000000000 +0000 @@ -289,10 +289,10 @@ this._visible = !Main.overview.visible; if (!this._visible) this.actor.hide(); - Main.overview.connect('hiding', Lang.bind(this, function () { + this._overviewHidingId = Main.overview.connect('hiding', Lang.bind(this, function () { this.show(); })); - Main.overview.connect('showing', Lang.bind(this, function () { + this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, function () { this.hide(); })); @@ -302,10 +302,12 @@ let tracker = Shell.WindowTracker.get_default(); let appSys = Shell.AppSystem.get_default(); - tracker.connect('notify::focus-app', Lang.bind(this, this._focusAppChanged)); - appSys.connect('app-state-changed', Lang.bind(this, this._onAppStateChanged)); - - global.window_manager.connect('switch-workspace', Lang.bind(this, this._sync)); + this._focusAppNotifyId = + tracker.connect('notify::focus-app', Lang.bind(this, this._focusAppChanged)); + this._appStateChangedSignalId = + appSys.connect('app-state-changed', Lang.bind(this, this._onAppStateChanged)); + this._switchWorkspaceNotifyId = + global.window_manager.connect('switch-workspace', Lang.bind(this, this._sync)); this._sync(); }, @@ -637,6 +639,33 @@ this.setMenu(menu); this._menuManager.addMenu(menu); + }, + + destroy: function() { + if (this._appStateChangedSignalId > 0) { + let appSys = Shell.AppSystem.get_default(); + appSys.disconnect(this._appStateChangedSignalId); + this._appStateChangedSignalId = 0; + } + if (this._focusAppNotifyId > 0) { + let tracker = Shell.WindowTracker.get_default(); + tracker.disconnect(this._focusAppNotifyId); + this._focusAppNotifyId = 0; + } + if (this._overviewHidingId > 0) { + Main.overview.disconnect(this._overviewHidingId); + this._overviewHidingId = 0; + } + if (this._overviewShowingId > 0) { + Main.overview.disconnect(this._overviewShowingId); + this._overviewShowingId = 0; + } + if (this._switchWorkspaceNotifyId > 0) { + global.window_manager.disconnect(this._switchWorkspaceNotifyId); + this._switchWorkspaceNotifyId = 0; + } + + this.parent(); } }); @@ -894,7 +923,6 @@ 'volume': imports.ui.status.volume.Indicator, 'battery': imports.ui.status.power.Indicator, 'lockScreen': imports.ui.status.lockScreenMenu.Indicator, - 'logo': imports.gdm.loginDialog.LogoMenuButton, 'keyboard': imports.ui.status.keyboard.InputSourceIndicator, 'powerMenu': imports.gdm.powerMenu.PowerMenuButton, 'userMenu': imports.ui.userMenu.UserMenuButton @@ -923,7 +951,7 @@ this.statusArea = {}; - this.menuManager = new PopupMenu.PopupMenuManager(this); + this.menuManager = new PopupMenu.PopupMenuManager(this, { keybindingMode: Shell.KeyBindingMode.TOPBAR_POPUP }); this._leftBox = new St.BoxLayout({ name: 'panelLeft' }); this.actor.add_actor(this._leftBox); @@ -1077,17 +1105,18 @@ return true; }, - openAppMenu: function() { + toggleAppMenu: function() { let indicator = this.statusArea.appMenu; if (!indicator) // appMenu not supported by current session mode return; let menu = indicator.menu; - if (!indicator.actor.reactive || menu.isOpen) + if (!indicator.actor.reactive) return; - menu.open(); - menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); + menu.toggle(); + if (menu.isOpen) + menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); }, set boxOpacity(value) { diff -Nru gnome-shell-3.8.1/js/ui/popupMenu.js gnome-shell-3.8.2/js/ui/popupMenu.js --- gnome-shell-3.8.1/js/ui/popupMenu.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/popupMenu.js 2013-05-13 22:43:35.000000000 +0000 @@ -2052,9 +2052,9 @@ const PopupMenuManager = new Lang.Class({ Name: 'PopupMenuManager', - _init: function(owner) { + _init: function(owner, grabParams) { this._owner = owner; - this._grabHelper = new GrabHelper.GrabHelper(owner.actor); + this._grabHelper = new GrabHelper.GrabHelper(owner.actor, grabParams); this._menus = []; }, @@ -2124,6 +2124,8 @@ _onMenuOpenState: function(menu, open) { if (open) { + if (this.activeMenu) + this.activeMenu.close(BoxPointer.PopupAnimation.FADE); this._grabHelper.grab({ actor: menu.actor, modal: true, focus: menu.sourceActor, onUngrab: Lang.bind(this, this._closeMenu, menu) }); } else { @@ -2140,13 +2142,8 @@ }, _changeMenu: function(newMenu) { - let oldMenu = this.activeMenu; - if (oldMenu) { - oldMenu.close(BoxPointer.PopupAnimation.FADE); - newMenu.open(BoxPointer.PopupAnimation.FADE); - } else { - newMenu.open(BoxPointer.PopupAnimation.FULL); - } + newMenu.open(this.activeMenu ? BoxPointer.PopupAnimation.FADE + : BoxPointer.PopupAnimation.FULL); }, _onMenuSourceEnter: function(menu) { diff -Nru gnome-shell-3.8.1/js/ui/screenShield.js gnome-shell-3.8.2/js/ui/screenShield.js --- gnome-shell-3.8.1/js/ui/screenShield.js 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/screenShield.js 2013-05-13 22:43:35.000000000 +0000 @@ -1115,6 +1115,9 @@ deactivate: function(animate) { this._hideLockScreen(animate, 0); + if (this._hasLockScreen) + this._clearLockScreen(); + if (Main.sessionMode.currentMode == 'lock-screen') Main.sessionMode.popMode('lock-screen'); if (Main.sessionMode.currentMode == 'unlock-dialog') @@ -1131,9 +1134,6 @@ }, _completeDeactivate: function() { - if (this._hasLockScreen) - this._clearLockScreen(); - if (this._dialog && !this._isGreeter) { this._dialog.destroy(); this._dialog = null; diff -Nru gnome-shell-3.8.1/js/ui/screencast.js gnome-shell-3.8.2/js/ui/screencast.js --- gnome-shell-3.8.1/js/ui/screencast.js 1970-01-01 00:00:00.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/screencast.js 2013-05-10 17:49:41.000000000 +0000 @@ -0,0 +1,138 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Lang = imports.lang; +const Shell = imports.gi.Shell; + +const Hash = imports.misc.hash; +const Main = imports.ui.main; + +const ScreencastIface = + + + + + + + + + + + + + + + + + + + +; + +const ScreencastService = new Lang.Class({ + Name: 'ScreencastService', + + _init: function() { + this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(ScreencastIface, this); + this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell/Screencast'); + + Gio.DBus.session.own_name('org.gnome.Shell.Screencast', Gio.BusNameOwnerFlags.REPLACE, null, null); + + this._recorders = new Hash.Map(); + + Main.sessionMode.connect('updated', + Lang.bind(this, this._sessionModeChanged)); + }, + + _ensureRecorderForSender: function(sender) { + let recorder = this._recorders.get(sender); + if (!recorder) { + recorder = new Shell.Recorder({ stage: global.stage }); + recorder._watchNameId = + Gio.bus_watch_name(Gio.BusType.SESSION, sender, 0, null, + Lang.bind(this, this._onNameVanished)); + this._recorders.set(sender, recorder); + } + return recorder; + }, + + _sessionModeChanged: function() { + if (Main.sessionMode.allowScreencast) + return; + + for (let sender in this._recorders.keys()) + this._recorders.delete(sender); + }, + + _onNameVanished: function(connection, name) { + this._stopRecordingForSender(name); + }, + + _stopRecordingForSender: function(sender) { + let recorder = this._recorders.get(sender); + if (!recorder) + return false; + + Gio.bus_unwatch_name(recorder._watchNameId); + recorder.close(); + this._recorders.delete(sender); + + return true; + }, + + _applyOptionalParameters: function(recorder, options) { + for (let option in options) + options[option] = options[option].deep_unpack(); + + if (options['pipeline']) + recorder.set_pipeline(options['pipeline']); + if (options['framerate']) + recorder.set_framerate(options['framerate']); + if (options['draw-cursor']) + recorder.set_draw_cursor(options['draw-cursor']); + }, + + ScreencastAsync: function(params, invocation) { + let returnValue = [false, '']; + if (!Main.sessionMode.allowScreencast) + invocation.return_value(GLib.Variant.new('(bs)', returnValue)); + + let sender = invocation.get_sender(); + let recorder = this._ensureRecorderForSender(sender); + if (!recorder.is_recording()) { + let [fileTemplate, options] = params; + + recorder.set_file_template(fileTemplate); + this._applyOptionalParameters(recorder, options); + returnValue = recorder.record(); + } + + invocation.return_value(GLib.Variant.new('(bs)', returnValue)); + }, + + ScreencastAreaAsync: function(params, invocation) { + let returnValue = [false, '']; + if (!Main.sessionMode.allowScreencast) + invocation.return_value(GLib.Variant.new('(bs)', returnValue)); + + let sender = invocation.get_sender(); + let recorder = this._ensureRecorderForSender(sender); + + if (!recorder.is_recording()) { + let [x, y, width, height, fileTemplate, options] = params; + + recorder.set_file_template(fileTemplate); + recorder.set_area(x, y, width, height); + this._applyOptionalParameters(recorder, options); + returnValue = recorder.record(); + } + + invocation.return_value(GLib.Variant.new('(bs)', returnValue)); + }, + + StopScreencastAsync: function(params, invocation) { + let success = this._stopRecordingForSender(invocation.get_sender()); + invocation.return_value(GLib.Variant.new('(b)', [success])); + } +}); diff -Nru gnome-shell-3.8.1/js/ui/sessionMode.js gnome-shell-3.8.2/js/ui/sessionMode.js --- gnome-shell-3.8.1/js/ui/sessionMode.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/sessionMode.js 2013-05-13 22:43:35.000000000 +0000 @@ -45,7 +45,7 @@ unlockDialog: imports.gdm.loginDialog.LoginDialog, components: ['polkitAgent'], panel: { - left: ['logo'], + left: [], center: ['dateMenu'], right: ['a11yGreeter', 'display', 'keyboard', 'volume', 'battery', 'powerMenu'] @@ -195,6 +195,10 @@ return this._modeStack[this._modeStack.length - 1]; }, + get allowScreencast() { + return this.components.indexOf('recorder') != -1; + }, + _sync: function() { let params = this._modes[this.currentMode]; let defaults; diff -Nru gnome-shell-3.8.1/js/ui/shellDBus.js gnome-shell-3.8.2/js/ui/shellDBus.js --- gnome-shell-3.8.1/js/ui/shellDBus.js 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/shellDBus.js 2013-05-13 22:43:35.000000000 +0000 @@ -12,6 +12,7 @@ const ExtensionUtils = imports.misc.extensionUtils; const Hash = imports.misc.hash; const Main = imports.ui.main; +const Screencast = imports.ui.screencast; const Screenshot = imports.ui.screenshot; const GnomeShellIface = @@ -70,6 +71,7 @@ this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell'); this._extensionsService = new GnomeShellExtensions(); + this._screencastService = new Screencast.ScreencastService(); this._screenshotService = new Screenshot.ScreenshotService(); this._grabbedAccelerators = new Hash.Map(); @@ -97,7 +99,7 @@ */ Eval: function(code) { if (!global.settings.get_boolean('development-tools')) - return [false, null]; + return [false, '']; let returnValue; let success; diff -Nru gnome-shell-3.8.1/js/ui/shellEntry.js gnome-shell-3.8.2/js/ui/shellEntry.js --- gnome-shell-3.8.1/js/ui/shellEntry.js 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/shellEntry.js 2013-05-13 22:43:47.000000000 +0000 @@ -14,9 +14,7 @@ Name: 'ShellEntryMenu', Extends: PopupMenu.PopupMenu, - _init: function(entry, params) { - params = Params.parse (params, { isPassword: false }); - + _init: function(entry) { this.parent(entry, 0, St.Side.TOP); this.actor.add_style_class_name('entry-context-menu'); @@ -37,8 +35,6 @@ this._pasteItem = item; this._passwordItem = null; - if (params.isPassword) - this._makePasswordItem(); Main.uiGroup.add_actor(this.actor); this.actor.hide(); @@ -53,19 +49,21 @@ }, get isPassword() { - return this._passwordItem != null; + return this._passwordItem != null; }, set isPassword(v) { - if (v == this.isPassword) - return; + if (v == this.isPassword) + return; - if (v) - this._makePasswordItem(); - else { - this._passwordItem.destroy(); - this._passwordItem = null; - } + if (v) { + this._makePasswordItem(); + this._entry.input_purpose = Gtk.InputPurpose.PASSWORD; + } else { + this._passwordItem.destroy(); + this._passwordItem = null; + this._entry.input_purpose = Gtk.InputPurpose.FREE_FORM; + } }, open: function(animate) { @@ -155,7 +153,10 @@ if (entry.menu) return; - entry.menu = new EntryMenu(entry, params); + params = Params.parse (params, { isPassword: false }); + + entry.menu = new EntryMenu(entry); + entry.menu.isPassword = params.isPassword; entry._menuManager = new PopupMenu.PopupMenuManager({ actor: entry }); entry._menuManager.addMenu(entry.menu); diff -Nru gnome-shell-3.8.1/js/ui/status/keyboard.js gnome-shell-3.8.2/js/ui/status/keyboard.js --- gnome-shell-3.8.1/js/ui/status/keyboard.js 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/status/keyboard.js 2013-05-13 22:43:47.000000000 +0000 @@ -45,26 +45,24 @@ this._readyCallback = readyCallback; this._candidatePopup = new IBusCandidatePopup.CandidatePopup(); - this._ibus = null; this._panelService = null; this._engines = {}; this._ready = false; this._registerPropertiesId = 0; this._currentEngineName = null; - this._nameWatcherId = Gio.DBus.session.watch_name(IBus.SERVICE_IBUS, - Gio.BusNameWatcherFlags.NONE, - Lang.bind(this, this._onNameAppeared), - Lang.bind(this, this._clear)); + this._ibus = IBus.Bus.new_async(); + this._ibus.connect('connected', Lang.bind(this, this._onConnected)); + this._ibus.connect('disconnected', Lang.bind(this, this._clear)); + // Need to set this to get 'global-engine-changed' emitions + this._ibus.set_watch_ibus_signal(true); + this._ibus.connect('global-engine-changed', Lang.bind(this, this._engineChanged)); }, _clear: function() { if (this._panelService) this._panelService.destroy(); - if (this._ibus) - this._ibus.destroy(); - this._ibus = null; this._panelService = null; this._candidatePopup.setPanelService(null); this._engines = {}; @@ -76,18 +74,12 @@ this._readyCallback(false); }, - _onNameAppeared: function() { - this._ibus = IBus.Bus.new_async(); - this._ibus.connect('connected', Lang.bind(this, this._onConnected)); - }, - _onConnected: function() { this._ibus.list_engines_async(-1, null, Lang.bind(this, this._initEngines)); this._ibus.request_name_async(IBus.SERVICE_PANEL, IBus.BusNameFlag.REPLACE_EXISTING, -1, null, Lang.bind(this, this._initPanelService)); - this._ibus.connect('disconnected', Lang.bind(this, this._clear)); }, _initEngines: function(ibus, result) { @@ -109,9 +101,6 @@ this._panelService = new IBus.PanelService({ connection: this._ibus.get_connection(), object_path: IBus.PATH_PANEL }); this._candidatePopup.setPanelService(this._panelService); - // Need to set this to get 'global-engine-changed' emitions - this._ibus.set_watch_ibus_signal(true); - this._ibus.connect('global-engine-changed', Lang.bind(this, this._engineChanged)); this._panelService.connect('update-property', Lang.bind(this, this._updateProperty)); // If an engine is already active we need to get its properties this._ibus.get_global_engine_async(-1, null, Lang.bind(this, function(i, result) { @@ -140,6 +129,9 @@ }, _engineChanged: function(bus, engineName) { + if (!this._ready) + return; + this._currentEngineName = engineName; if (this._registerPropertiesId != 0) diff -Nru gnome-shell-3.8.1/js/ui/status/network.js gnome-shell-3.8.2/js/ui/status/network.js --- gnome-shell-3.8.1/js/ui/status/network.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/status/network.js 2013-05-13 22:43:35.000000000 +0000 @@ -2047,6 +2047,7 @@ let default_ip4 = null; let default_ip6 = null; let active_vpn = null; + let active_any = null; for (let i = 0; i < this._activeConnections.length; i++) { let a = this._activeConnections[i]; @@ -2077,10 +2078,15 @@ if (a.default6) default_ip6 = a; - if (a._type == 'vpn') - active_vpn = a; - else if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING) + if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING) activating = a; + else if (a.state == NetworkManager.ActiveConnectionState.ACTIVE) + active_any = a; + + if (a._type == 'vpn' && + (a.state == NetworkManager.ActiveConnectionState.ACTIVATING || + a.state == NetworkManager.ActiveConnectionState.ACTIVE)) + active_vpn = a; if (!a._primaryDevice) { if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) { @@ -2108,7 +2114,7 @@ } } - this._mainConnection = activating || default_ip4 || default_ip6 || this._activeConnections[0] || null; + this._mainConnection = activating || default_ip4 || default_ip6 || active_any || null; this._vpnConnection = active_vpn; }, diff -Nru gnome-shell-3.8.1/js/ui/unlockDialog.js gnome-shell-3.8.2/js/ui/unlockDialog.js --- gnome-shell-3.8.1/js/ui/unlockDialog.js 2013-04-16 18:52:38.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/unlockDialog.js 2013-05-10 12:32:09.000000000 +0000 @@ -91,10 +91,6 @@ this._promptLoginHint.hide(); this.contentLayout.add_actor(this._promptLoginHint); - let spinnerIcon = global.datadir + '/theme/process-working.svg'; - this._workSpinner = new Panel.AnimatedIcon(spinnerIcon, LoginDialog.WORK_SPINNER_ICON_SIZE); - this._workSpinner.actor.opacity = 0; - this.allowCancel = false; this.buttonLayout.visible = true; this.addButton({ label: _("Cancel"), @@ -105,12 +101,11 @@ y_fill: false, x_align: St.Align.START, y_align: St.Align.MIDDLE }); - this.buttonLayout.add(this._workSpinner.actor, - { expand: false, - x_fill: false, - y_fill: false, - x_align: St.Align.END, - y_align: St.Align.MIDDLE }); + this.placeSpinner({ expand: false, + x_fill: false, + y_fill: false, + x_align: St.Align.END, + y_align: St.Align.MIDDLE }); this._okButton = this.addButton({ label: _("Unlock"), action: Lang.bind(this, this._doUnlock), default: true }, @@ -164,28 +159,6 @@ this._okButton.can_focus = sensitive; }, - _setWorking: function(working) { - if (working) { - this._workSpinner.play(); - Tweener.addTween(this._workSpinner.actor, - { opacity: 255, - delay: LoginDialog.WORK_SPINNER_ANIMATION_DELAY, - time: LoginDialog.WORK_SPINNER_ANIMATION_TIME, - transition: 'linear' - }); - } else { - Tweener.addTween(this._workSpinner.actor, - { opacity: 0, - time: LoginDialog.WORK_SPINNER_ANIMATION_TIME, - transition: 'linear', - onCompleteScope: this, - onComplete: function() { - this._workSpinner.stop(); - } - }); - } - }, - _showMessage: function(userVerifier, message, styleClass) { if (message) { this._promptMessage.text = message; @@ -216,7 +189,7 @@ this._currentQuery = serviceName; this._updateSensitivity(true); - this._setWorking(false); + this.setWorking(false); }, _showLoginHint: function(verifier, message) { @@ -235,7 +208,7 @@ // the actual reply to GDM will be sent as soon as asked this._firstQuestionAnswer = this._promptEntry.text; this._updateSensitivity(false); - this._setWorking(true); + this.setWorking(true); return; } @@ -246,7 +219,7 @@ this._currentQuery = null; this._updateSensitivity(false); - this._setWorking(true); + this.setWorking(true); this._userVerifier.answerQuery(query, this._promptEntry.text); }, @@ -286,7 +259,7 @@ this._promptEntry.menu.isPassword = true; this._updateSensitivity(false); - this._setWorking(false); + this.setWorking(false); }, _escape: function() { diff -Nru gnome-shell-3.8.1/js/ui/windowManager.js gnome-shell-3.8.2/js/ui/windowManager.js --- gnome-shell-3.8.1/js/ui/windowManager.js 2013-04-16 18:52:32.000000000 +0000 +++ gnome-shell-3.8.2/js/ui/windowManager.js 2013-05-13 22:43:35.000000000 +0000 @@ -172,8 +172,9 @@ this.addKeybinding('open-application-menu', new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), Meta.KeyBindingFlags.NONE, - Shell.KeyBindingMode.NORMAL, - Lang.bind(this, this._openAppMenu)); + Shell.KeyBindingMode.NORMAL | + Shell.KeyBindingMode.TOPBAR_POPUP, + Lang.bind(this, this._toggleAppMenu)); Main.overview.connect('showing', Lang.bind(this, function() { for (let i = 0; i < this._dimmedWindows.length; i++) @@ -679,8 +680,8 @@ Main.ctrlAltTabManager.popup(backwards, binding.get_name(), binding.get_mask()); }, - _openAppMenu : function(display, screen, window, event, binding) { - Main.panel.openAppMenu(); + _toggleAppMenu : function(display, screen, window, event, binding) { + Main.panel.toggleAppMenu(); }, _showWorkspaceSwitcher : function(display, screen, window, binding) { diff -Nru gnome-shell-3.8.1/po/LINGUAS gnome-shell-3.8.2/po/LINGUAS --- gnome-shell-3.8.1/po/LINGUAS 2013-03-26 21:05:03.000000000 +0000 +++ gnome-shell-3.8.2/po/LINGUAS 2013-04-30 21:30:42.000000000 +0000 @@ -28,6 +28,7 @@ he hi hu +ia id it ja diff -Nru gnome-shell-3.8.1/po/ia.po gnome-shell-3.8.2/po/ia.po --- gnome-shell-3.8.1/po/ia.po 1970-01-01 00:00:00.000000000 +0000 +++ gnome-shell-3.8.2/po/ia.po 2013-05-13 22:43:35.000000000 +0000 @@ -0,0 +1,1938 @@ +# Interlingua translations for gnome-shell package. +# Copyright (C) 2013 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnome-shell package. +# Nik Kalach , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-shell 3.8\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2013-04-19 21:48+0000\n" +"PO-Revision-Date: 2013-04-23 08:00+0400\n" +"Last-Translator: Nik Kalach \n" +"Language-Team: Interlingua \n" +"Language: ia\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/50-gnome-shell-screenshot.xml.in.h:1 +msgid "Screenshots" +msgstr "Capturas de schermo" + +#: ../data/50-gnome-shell-screenshot.xml.in.h:2 +msgid "Record a screencast" +msgstr "Registrar un video de schermo" + +#: ../data/50-gnome-shell-system.xml.in.h:1 +msgid "System" +msgstr "Systema" + +#: ../data/50-gnome-shell-system.xml.in.h:2 +msgid "Show the message tray" +msgstr "Monstrar le tiratorio de messages" + +#: ../data/50-gnome-shell-system.xml.in.h:3 +msgid "Focus the active notification" +msgstr "Mitter foco al notificationes active" + +#: ../data/50-gnome-shell-system.xml.in.h:4 +msgid "Show all applications" +msgstr "Monstrar tote le applicationes" + +#: ../data/50-gnome-shell-system.xml.in.h:5 +msgid "Open the application menu" +msgstr "Aperir le menu de applicationes" + +#: ../data/gnome-shell.desktop.in.in.h:1 +msgid "GNOME Shell" +msgstr "GNOME Shell" + +#: ../data/gnome-shell.desktop.in.in.h:2 +msgid "Window management and application launching" +msgstr "Gestion de fenestras e lanceamento de applicationes" + +#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1 +#: ../js/extensionPrefs/main.js:153 +msgid "GNOME Shell Extension Preferences" +msgstr "Preferentias pro le extensiones GNOME Shell" + +#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2 +msgid "Configure GNOME Shell Extensions" +msgstr "Configurar le extensiones GNOME Shell" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:1 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" +"Permitter le accesso via Alt-F2 al instrumentos interne que es utile pro " +"disveloppatores e probatores" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:2 +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" +"Permitter le accesso via le dialog de lanceamento de applicationes (Alt-F2) " +"al instrumentos interne que es utile pro eliminar defectos de software e " +"facer le surveliantia" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:3 +msgid "Uuids of extensions to enable" +msgstr "Identificatores UUID del extensiones a activar" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:4 +msgid "" +"GNOME Shell extensions have a uuid property; this key lists extensions which " +"should be loaded. Any extension that wants to be loaded needs to be in this " +"list. You can also manipulate this list with the EnableExtension and " +"DisableExtension DBus methods on org.gnome.Shell." +msgstr "" +"Le extensiones GNOME Shell ha un proprietate UUID. Iste clave enumera le " +"extensiones que debe ser cargate. Tote le extensiones que vole ser cargate " +"debe adjungar se a iste lista. Il pote anque manipular iste lista con le " +"methodos DBus EnableExtension e DisableExtension de org.gnome.Shell." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:5 +msgid "Whether to collect stats about applications usage" +msgstr "Colliger statisticas super le utilisation de applicationes" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:6 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" +"Normalmente GNOME Shell survelia le applicationes active a fin de presentar " +"le plus utilisate (per ex. in le lanceatores). Ben que le datos se guarda in " +"privato, on pote disactivar iste functionalitate per le ration de " +"confidentialitate. Remarca que iste disactivation non removera le datos jam " +"registrate." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:7 +msgid "List of desktop file IDs for favorite applications" +msgstr "" +"Lista de identificatores de files desktop pro le applicationes favorite" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:8 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" +"Le applicationes que corresponde a iste identificatores essera monstrate in " +"le area de favoritos." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:9 +msgid "List of categories that should be displayed as folders" +msgstr "Lista de categorias que deberea ser monstrate como dossiers" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:10 +msgid "" +"Each category name in this list will be represented as folder in the " +"application view, rather than being displayed inline in the main view." +msgstr "" +"Cata nomine de categoria in iste lista sera representate como un dossier in " +"le vista de applicationes, plus tosto que de esser alineate in le vista " +"principal." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:11 +msgid "History for command (Alt-F2) dialog" +msgstr "Historia del dialogo de commandos (Alt-F2)" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:12 +msgid "History for the looking glass dialog" +msgstr "Historia del dialogo de inspection" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:13 +msgid "" +"Internally used to store the last IM presence explicitly set by the user. " +"The value here is from the TpConnectionPresenceType enumeration." +msgstr "" +"Illo se utilisa internemente pro registrar le ultime stato de presentia que " +"es definite explicitemente per le usator in le systema de messages instante. " +"Le valor hic es del enumeration TpConnectionPresenceType." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:14 +msgid "" +"Internally used to store the last session presence status for the user. The " +"value here is from the GsmPresenceStatus enumeration." +msgstr "" +"Illo se utilisa internemente pro registrar le ultime stato de session del " +"usator. Le valor hic es del enumeration GsmPresenceStatus." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:15 +msgid "Always show the 'Log out' menuitem in the user menu." +msgstr "" +"Sempre monstrar le elemento de menu 'Clauder le session' in le menu de " +"usator." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 +msgid "" +"This key overrides the automatic hiding of the 'Log out' menuitem in single-" +"user, single-session situations." +msgstr "" +"Iste clave supplanta le celamento automatic del elemento de menu 'Clauder le " +"session' in situationes con singule usator o singule session." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 +msgid "" +"Whether to remember password for mounting encrypted or remote filesystems" +msgstr "" +"Si memorar le contrasigno pro montar le systemas de files cifrate o remote" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 +msgid "" +"The shell will request a password when an encrypted device or a remote " +"filesystem is mounted. If the password can be saved for future use a " +"'Remember Password' checkbox will be present. This key sets the default " +"state of the checkbox." +msgstr "" +"Le shell demandara un contrasigno pro montar un dispositivo cifrate o un " +"systema de files remote. Si le contrasigno pote ser retenite pro uso futur " +"un quadrato de selection 'Memorar le contrasigno' sera monstrate. Iste clave " +"defini le stato predefinite del quadrato de selection." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:19 +msgid "Show the week date in the calendar" +msgstr "Monstrar le numeration de septimanas in le calendario" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:20 +msgid "If true, display the ISO week date in the calendar." +msgstr "Si ver, monstrar le numero de septimana ISO in le calendario." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 +msgid "Keybinding to open the application menu" +msgstr "Association de claves pro aperir le menu de applicationes" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:22 +msgid "Keybinding to open the application menu." +msgstr "Association de claves pro aperir le menu de applicationes." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +msgid "Keybinding to open the \"Show Applications\" view" +msgstr "Association de claves pro aperir le vista \"Monstrar applicationes\"" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:24 +msgid "" +"Keybinding to open the \"Show Applications\" view of the Activities Overview." +msgstr "" +"Association de claves pro aperir le vista \"Monstrar applicationes\" del " +"panorama de activitates." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 +msgid "Keybinding to toggle the visibility of the message tray" +msgstr "" +"Association de claves pro commutar le visibilitate del tiratorio de messages" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 +msgid "Keybinding to toggle the visibility of the message tray." +msgstr "" +"Association de claves pro commutar le visibilitate del tiratorio de messages." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:27 +msgid "Keybinding to focus the active notification" +msgstr "Association de claves pro mitter foco al notificationes active" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:28 +msgid "Keybinding to focus the active notification." +msgstr "Association de claves pro mitter foco al notificationes active." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:29 +msgid "Keybinding to toggle the screen recorder" +msgstr "Association de claves pro commutar le registrator de schermo" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:30 +msgid "Keybinding to start/stop the builtin screen recorder." +msgstr "Association de claves pro initiar/arrestar le registration de schermo." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 +msgid "Which keyboard to use" +msgstr "Que claviero usar" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:32 +msgid "The type of keyboard to use." +msgstr "Le typo de claviero a usar." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:33 +msgid "Framerate used for recording screencasts." +msgstr "Rata de quadros usate pro registrar le video de schermo." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:34 +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" +"Le numero de imagines per secunda in le video de schermo registrate per le " +"registrator incorporate in GNOME Shell." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:35 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "Le catena usante per gstreamer pro codificar video de schermo" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:37 +#, no-c-format +msgid "" +"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " +"used for gst-launch. The pipeline should have an unconnected sink pad where " +"the recorded video is recorded. It will normally have a unconnected source " +"pad; output from that pad will be written into the output file. However the " +"pipeline can also take care of its own output - this might be used to send " +"the output to an icecast server via shout2send or similar. When unset or set " +"to an empty value, the default pipeline will be used. This is currently " +"'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 " +"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is " +"used as a placeholder for a guess at the optimal thread count on the system." +msgstr "" +"Le definition del catena usante per GStreamer pro codificar videos. Le " +"syntaxe es identic al syntaxe usate per gst-launch. Le catena deberea haber " +"un puncto de egresso disconnectite a ubi le video se scribe. Generalmente " +"illo va haber un puncto de origine disconnectite; le egresso de iste puncto " +"se scribera in le file de resultato. Totevia, le catena anque pote custodiar " +"su proprie egresso - isto pote ser usate pro inviar le resultato a un " +"servitor icecast via shout2send o simile. Quando le valor non es definite o " +"vacue, le catena predefinite se usa. Isto es actualmente 'vp8enc " +"min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! " +"queue ! webmmux' e registra in WEBM usante le codec VP8. %T designa le " +"numero de filos optimal pro le systema." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:38 +msgid "File extension used for storing the screencast" +msgstr "Extension de file a usar pro slaveguardar le video de schermo" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:39 +msgid "" +"The filename for recorded screencasts will be a unique filename based on the " +"current date, and use this extension. It should be changed when recording to " +"a different container format." +msgstr "" +"Le nomine de file del video registrate es unic. Illo se basa super le data " +"currente e iste extension. Illo deberea esser modificate si le formato de " +"container usate pro registar le video es differente." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:40 +msgid "The application icon mode." +msgstr "Le modo de icone in le selector de applicationes." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:41 +msgid "" +"Configures how the windows are shown in the switcher. Valid possibilities " +"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +"only' (shows only the application icon) or 'both'." +msgstr "" +"Le configuration del maniera como le fenestras es monstrate in le selector. " +"Le possibilitates valide es 'thumbnail-only' (monstrar un miniatura del " +"fenestra), 'app-icon-only' (monstrar solmente un icone del application) o " +"'both' (monstrar tote le duo)." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:42 +msgid "Attach modal dialog to the parent window" +msgstr "Attaccar le dialogo modal al fenestra parental" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:43 +msgid "" +"This key overrides the key in org.gnome.mutter when running GNOME Shell." +msgstr "" +"Iste clave supplanta le clave in org.gnome.mutter quando GNOME Shell es " +"lanceate." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:44 +msgid "Arrangement of buttons on the titlebar" +msgstr "Arrangiamento de buttones sur le barra de titulo" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:45 +msgid "" +"This key overrides the key in org.gnome.desktop.wm.preferences when running " +"GNOME Shell." +msgstr "" +"Iste clave supplanta le clave in org.gnome.desktop.wm.preferences quando " +"GNOME Shell es lanceate." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:46 +msgid "Enable edge tiling when dropping windows on screen edges" +msgstr "Activar le tegulage de fenestras depositate sur le bordos del schermo" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:47 +msgid "Workspaces are managed dynamically" +msgstr "Le spatios de travalio se gere dynamicamente" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:48 +msgid "Workspaces only on primary monitor" +msgstr "Le spatios de travalio es solmente sur le schermo principal" + +#: ../js/extensionPrefs/main.js:125 +#, c-format +msgid "There was an error loading the preferences dialog for %s:" +msgstr "Il ha un error al cargamento del dialogo de preferentias pro %s:" + +#: ../js/extensionPrefs/main.js:165 +msgid "Extension" +msgstr "Extension" + +#: ../js/extensionPrefs/main.js:189 +msgid "Select an extension to configure using the combobox above." +msgstr "Selige un extension que configurar usante le lista combinate in alto." + +#: ../js/gdm/loginDialog.js:405 +msgid "Session…" +msgstr "Session…" + +#. translators: this message is shown below the user list on the +#. login screen. It can be activated to reveal an entry for +#. manually entering the username. +#: ../js/gdm/loginDialog.js:630 +msgid "Not listed?" +msgstr "Esque le nomine non es in le lista?" + +#: ../js/gdm/loginDialog.js:787 ../js/ui/components/networkAgent.js:137 +#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:376 +#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 +#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:100 +#: ../js/ui/userMenu.js:938 +msgid "Cancel" +msgstr "Annullar" + +#: ../js/gdm/loginDialog.js:803 +msgctxt "button" +msgid "Sign In" +msgstr "Connecter se" + +#: ../js/gdm/loginDialog.js:803 +msgid "Next" +msgstr "Sequente" + +#. TTLS and PEAP are actually much more complicated, but this complication +#. is not visible here since we only care about phase2 authentication +#. (and don't even care of which one) +#: ../js/gdm/loginDialog.js:918 ../js/ui/components/networkAgent.js:260 +#: ../js/ui/components/networkAgent.js:278 +msgid "Username: " +msgstr "Nomine de usator:" + +#: ../js/gdm/loginDialog.js:1174 +msgid "Login Window" +msgstr "Fenestra de connexion" + +#. Translators: accessible name of the power menu in the login screen +#: ../js/gdm/powerMenu.js:36 +msgid "Power" +msgstr "Energia" + +#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700 +#: ../js/ui/userMenu.js:816 +msgid "Suspend" +msgstr "Suspender" + +#: ../js/gdm/powerMenu.js:98 +msgid "Restart" +msgstr "Reinitiar" + +#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698 +#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942 +msgid "Power Off" +msgstr "Extinguer" + +#: ../js/gdm/util.js:249 +msgid "Authentication error" +msgstr "Error de authentication" + +#. Translators: this message is shown below the password entry field +#. to indicate the user can swipe their finger instead +#: ../js/gdm/util.js:366 +msgid "(or swipe finger)" +msgstr "(o passa le digito trans le lector de impressiones)" + +#: ../js/gdm/util.js:391 +#, c-format +msgid "(e.g., user or %s)" +msgstr "(per ex., usator o %s)" + +#: ../js/misc/util.js:97 +msgid "Command not found" +msgstr "Commando non trovate" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:130 +msgid "Could not parse command:" +msgstr "Impossibile de analysar le commando:" + +#: ../js/misc/util.js:138 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Falta al execution de '%s':" + +#: ../js/ui/appDisplay.js:349 +msgid "Frequent" +msgstr "Frequente" + +#: ../js/ui/appDisplay.js:356 +msgid "All" +msgstr "Tote" + +#: ../js/ui/appDisplay.js:914 +msgid "New Window" +msgstr "Nove fenestra" + +#: ../js/ui/appDisplay.js:917 ../js/ui/dash.js:284 +msgid "Remove from Favorites" +msgstr "Remover del favoritos" + +#: ../js/ui/appDisplay.js:918 +msgid "Add to Favorites" +msgstr "Adder al favoritos" + +#: ../js/ui/appFavorites.js:87 +#, c-format +msgid "%s has been added to your favorites." +msgstr "%s ha essite addite al favoritos." + +#: ../js/ui/appFavorites.js:121 +#, c-format +msgid "%s has been removed from your favorites." +msgstr "%s ha essite removite del favoritos." + +#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789 +msgid "Settings" +msgstr "Parametros" + +#: ../js/ui/backgroundMenu.js:21 +msgid "Change Background…" +msgstr "Cambiar le fundo…" + +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:62 +msgctxt "event list time" +msgid "All Day" +msgstr "Jornata" + +#. Translators: Shown in calendar event list, if 24h format, +#. \u2236 is a ratio character, similar to : +#: ../js/ui/calendar.js:68 +msgctxt "event list time" +msgid "%H\\u2236%M" +msgstr "%H\\u2236%M" + +#. Translators: Shown in calendar event list, if 12h format, +#. \u2236 is a ratio character, similar to : and \u2009 is +#. a thin space +#: ../js/ui/calendar.js:77 +msgctxt "event list time" +msgid "%l\\u2236%M\\u2009%p" +msgstr "%l\\u2236%M\\u2009%p" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:108 +msgctxt "grid sunday" +msgid "S" +msgstr "D" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:110 +msgctxt "grid monday" +msgid "M" +msgstr "L" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:112 +msgctxt "grid tuesday" +msgid "T" +msgstr "M" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:114 +msgctxt "grid wednesday" +msgid "W" +msgstr "M" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:116 +msgctxt "grid thursday" +msgid "T" +msgstr "J" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:118 +msgctxt "grid friday" +msgid "F" +msgstr "V" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:120 +msgctxt "grid saturday" +msgid "S" +msgstr "S" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:133 +msgctxt "list sunday" +msgid "Su" +msgstr "Do" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:135 +msgctxt "list monday" +msgid "M" +msgstr "Lu" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:137 +msgctxt "list tuesday" +msgid "T" +msgstr "Ma" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:139 +msgctxt "list wednesday" +msgid "W" +msgstr "Me" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:141 +msgctxt "list thursday" +msgid "Th" +msgstr "Jo" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:143 +msgctxt "list friday" +msgid "F" +msgstr "Ve" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:145 +msgctxt "list saturday" +msgid "S" +msgstr "Sa" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:720 +msgid "Nothing Scheduled" +msgstr "Nihil planate" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:736 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, le %d de %B" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:739 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, le %d de %B %Y" + +#: ../js/ui/calendar.js:749 +msgid "Today" +msgstr "Hodie" + +#: ../js/ui/calendar.js:753 +msgid "Tomorrow" +msgstr "Deman" + +#: ../js/ui/calendar.js:764 +msgid "This week" +msgstr "Iste septimana" + +#: ../js/ui/calendar.js:772 +msgid "Next week" +msgstr "Le septimana proxime" + +#: ../js/ui/components/automountManager.js:90 +msgid "External drive connected" +msgstr "Disco externe connectite" + +#: ../js/ui/components/automountManager.js:101 +msgid "External drive disconnected" +msgstr "Disco externe disconnectite" + +#: ../js/ui/components/autorunManager.js:294 +msgid "Removable Devices" +msgstr "Dispositivo removibile" + +#: ../js/ui/components/autorunManager.js:594 +#, c-format +msgid "Open with %s" +msgstr "Aperir con %s" + +#: ../js/ui/components/autorunManager.js:620 +msgid "Eject" +msgstr "Ejacular" + +#: ../js/ui/components/keyring.js:82 ../js/ui/components/polkitAgent.js:268 +msgid "Password:" +msgstr "Contrasigno:" + +#: ../js/ui/components/keyring.js:101 +msgid "Type again:" +msgstr "Introduce de novo:" + +#: ../js/ui/components/networkAgent.js:132 +msgid "Connect" +msgstr "Connecter" + +#. Cisco LEAP +#: ../js/ui/components/networkAgent.js:223 +#: ../js/ui/components/networkAgent.js:235 +#: ../js/ui/components/networkAgent.js:262 +#: ../js/ui/components/networkAgent.js:282 +#: ../js/ui/components/networkAgent.js:292 +msgid "Password: " +msgstr "Contrasigno: " + +#. static WEP +#: ../js/ui/components/networkAgent.js:228 +msgid "Key: " +msgstr "Clave: " + +#: ../js/ui/components/networkAgent.js:266 +msgid "Identity: " +msgstr "Identitate: " + +#: ../js/ui/components/networkAgent.js:268 +msgid "Private key password: " +msgstr "Contrasigno del clave private: " + +#: ../js/ui/components/networkAgent.js:280 +msgid "Service: " +msgstr "Servicio: " + +#: ../js/ui/components/networkAgent.js:309 +msgid "Authentication required by wireless network" +msgstr "Le authentication es requirite per le rete sin filo" + +#: ../js/ui/components/networkAgent.js:310 +#, c-format +msgid "" +"Passwords or encryption keys are required to access the wireless network " +"'%s'." +msgstr "" +"Contrasignos o claves de ciframento es necessari pro acceder al rete sin " +"filo '%s'." + +#: ../js/ui/components/networkAgent.js:314 +msgid "Wired 802.1X authentication" +msgstr "Authentication 802.1X pro rete con filo" + +#: ../js/ui/components/networkAgent.js:316 +msgid "Network name: " +msgstr "Nomine de rete: " + +#: ../js/ui/components/networkAgent.js:321 +msgid "DSL authentication" +msgstr "Authentication DSL" + +#: ../js/ui/components/networkAgent.js:328 +msgid "PIN code required" +msgstr "Codice PIN es necessari" + +#: ../js/ui/components/networkAgent.js:329 +msgid "PIN code is needed for the mobile broadband device" +msgstr "Un codice PIN es necessari pro le dispositivo mobile" + +#: ../js/ui/components/networkAgent.js:330 +msgid "PIN: " +msgstr "PIN: " + +#: ../js/ui/components/networkAgent.js:336 +msgid "Mobile broadband network password" +msgstr "Contrasigno del rete mobile" + +#: ../js/ui/components/networkAgent.js:337 +#, c-format +msgid "A password is required to connect to '%s'." +msgstr "Un contrasigno es necessari pro connecter a '%s'." + +#: ../js/ui/components/polkitAgent.js:55 +msgid "Authentication Required" +msgstr "Authentication necessari" + +#: ../js/ui/components/polkitAgent.js:93 +msgid "Administrator" +msgstr "Administrator" + +#: ../js/ui/components/polkitAgent.js:165 +msgid "Authenticate" +msgstr "Authenticar se" + +#. Translators: "that didn't work" refers to the fact that the +#. * requested authentication was not gained; this can happen +#. * because of an authentication error (like invalid password), +#. * for instance. +#: ../js/ui/components/polkitAgent.js:256 ../js/ui/shellMountOperation.js:383 +msgid "Sorry, that didn't work. Please try again." +msgstr "Error de authentication. Tenta de novo." + +#. Translators: this is a filename used for screencast recording +#: ../js/ui/components/recorder.js:47 +#, no-c-format +msgid "Screencast from %d %t" +msgstr "Video de schermo %d %t" + +#. FIXME: We don't have a 'chat room' icon (bgo #653737) use +#. system-users for now as Empathy does. +#: ../js/ui/components/telepathyClient.js:238 +msgid "Invitation" +msgstr "Invitation" + +#. We got the TpContact +#: ../js/ui/components/telepathyClient.js:298 +msgid "Call" +msgstr "Appello" + +#. We got the TpContact +#: ../js/ui/components/telepathyClient.js:314 +msgid "File Transfer" +msgstr "Transferentia de files" + +#: ../js/ui/components/telepathyClient.js:418 +msgid "Chat" +msgstr "Discussion" + +#: ../js/ui/components/telepathyClient.js:480 +msgid "Unmute" +msgstr "Facer non silente" + +#: ../js/ui/components/telepathyClient.js:480 +msgid "Mute" +msgstr "Silentiar" + +#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30" +#: ../js/ui/components/telepathyClient.js:942 +#, no-c-format +msgid "Yesterday, %H:%M" +msgstr "Heri, %H:%M" + +#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30 +#: ../js/ui/components/telepathyClient.js:948 +#, no-c-format +msgid "%A, %H:%M" +msgstr "%A, %H:%M" + +#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30" +#: ../js/ui/components/telepathyClient.js:953 +#, no-c-format +msgid "%B %d, %H:%M" +msgstr "%d de %B, %H:%M" + +#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30" +#: ../js/ui/components/telepathyClient.js:957 +#, no-c-format +msgid "%B %d %Y, %H:%M " +msgstr "%d de %B %Y, %H:%M " + +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/components/telepathyClient.js:985 +#, c-format +msgid "%s is now known as %s" +msgstr "%s es ora cognite como %s" + +#. translators: argument is a room name like +#. * room@jabber.org for example. +#: ../js/ui/components/telepathyClient.js:1088 +#, c-format +msgid "Invitation to %s" +msgstr "Invitation a %s" + +#. translators: first argument is the name of a contact and the second +#. * one the name of a room. "Alice is inviting you to join room@jabber.org +#. * for example. +#: ../js/ui/components/telepathyClient.js:1096 +#, c-format +msgid "%s is inviting you to join %s" +msgstr "%s te es inviante a %s" + +#: ../js/ui/components/telepathyClient.js:1098 +#: ../js/ui/components/telepathyClient.js:1137 +#: ../js/ui/components/telepathyClient.js:1177 +#: ../js/ui/components/telepathyClient.js:1240 +msgid "Decline" +msgstr "Declinar" + +#: ../js/ui/components/telepathyClient.js:1099 +#: ../js/ui/components/telepathyClient.js:1178 +#: ../js/ui/components/telepathyClient.js:1241 +msgid "Accept" +msgstr "Acceptar" + +#. translators: argument is a contact name like Alice for example. +#: ../js/ui/components/telepathyClient.js:1129 +#, c-format +msgid "Video call from %s" +msgstr "Appello video de %s" + +#. translators: argument is a contact name like Alice for example. +#: ../js/ui/components/telepathyClient.js:1132 +#, c-format +msgid "Call from %s" +msgstr "Appello de %s" + +#. translators: this is a button label (verb), not a noun +#: ../js/ui/components/telepathyClient.js:1139 +msgid "Answer" +msgstr "Responder" + +#. To translators: The first parameter is +#. * the contact's alias and the second one is the +#. * file name. The string will be something +#. * like: "Alice is sending you test.ogg" +#. +#: ../js/ui/components/telepathyClient.js:1171 +#, c-format +msgid "%s is sending you %s" +msgstr "%s te es inviante %s" + +#. To translators: The parameter is the contact's alias +#: ../js/ui/components/telepathyClient.js:1206 +#, c-format +msgid "%s would like permission to see when you are online" +msgstr "%s sollicita le permission de vider quando tu es in linea" + +#: ../js/ui/components/telepathyClient.js:1298 +msgid "Network error" +msgstr "Error de rete" + +#: ../js/ui/components/telepathyClient.js:1300 +msgid "Authentication failed" +msgstr "Falta de authentication" + +#: ../js/ui/components/telepathyClient.js:1302 +msgid "Encryption error" +msgstr "Error de ciframento" + +#: ../js/ui/components/telepathyClient.js:1304 +msgid "Certificate not provided" +msgstr "Certificato non fornite" + +#: ../js/ui/components/telepathyClient.js:1306 +msgid "Certificate untrusted" +msgstr "Certificato indigne de fide" + +#: ../js/ui/components/telepathyClient.js:1308 +msgid "Certificate expired" +msgstr "Certificato perimite" + +#: ../js/ui/components/telepathyClient.js:1310 +msgid "Certificate not activated" +msgstr "Certificato non activate" + +#: ../js/ui/components/telepathyClient.js:1312 +msgid "Certificate hostname mismatch" +msgstr "Discordantia de nomine de host del certificato" + +#: ../js/ui/components/telepathyClient.js:1314 +msgid "Certificate fingerprint mismatch" +msgstr "Discordantia de impression digital del certificato" + +#: ../js/ui/components/telepathyClient.js:1316 +msgid "Certificate self-signed" +msgstr "Certificato autofirmate" + +#: ../js/ui/components/telepathyClient.js:1318 +msgid "Status is set to offline" +msgstr "Le stato es disconnexe" + +#: ../js/ui/components/telepathyClient.js:1320 +msgid "Encryption is not available" +msgstr "Le ciframento non es disponibile" + +#: ../js/ui/components/telepathyClient.js:1322 +msgid "Certificate is invalid" +msgstr "Le certificato non es valide" + +#: ../js/ui/components/telepathyClient.js:1324 +msgid "Connection has been refused" +msgstr "Le connexion ha essite refusate" + +#: ../js/ui/components/telepathyClient.js:1326 +msgid "Connection can't be established" +msgstr "Le connexion non pote ser establite" + +#: ../js/ui/components/telepathyClient.js:1328 +msgid "Connection has been lost" +msgstr "Le connexion se ha perdite" + +#: ../js/ui/components/telepathyClient.js:1330 +msgid "This account is already connected to the server" +msgstr "Iste conto jam es connectite al servitor" + +#: ../js/ui/components/telepathyClient.js:1332 +msgid "" +"Connection has been replaced by a new connection using the same resource" +msgstr "" +"Le connexion ha essite substituite per un nove connexion usante le mesme " +"ressource" + +#: ../js/ui/components/telepathyClient.js:1334 +msgid "The account already exists on the server" +msgstr "Le conto jam existe sur le servitor" + +#: ../js/ui/components/telepathyClient.js:1336 +msgid "Server is currently too busy to handle the connection" +msgstr "Actualmente le servitor es troppo occupate pro tractar le connexion" + +#: ../js/ui/components/telepathyClient.js:1338 +msgid "Certificate has been revoked" +msgstr "Le certificato ha essite revocate" + +#: ../js/ui/components/telepathyClient.js:1340 +msgid "" +"Certificate uses an insecure cipher algorithm or is cryptographically weak" +msgstr "" +"Le certificato usa un algorithmo de ciframento insecur o es " +"cryptographicamente debile" + +#: ../js/ui/components/telepathyClient.js:1342 +msgid "" +"The length of the server certificate, or the depth of the server certificate " +"chain, exceed the limits imposed by the cryptography library" +msgstr "" +"Le longitude del certificato de servitor o le profunditate del catena de " +"certificatos de servitor excede le limites imponite per le bibliotheca de " +"cryptographia" + +#: ../js/ui/components/telepathyClient.js:1344 +msgid "Internal error" +msgstr "Error interne" + +#. translators: argument is the account name, like +#. * name@jabber.org for example. +#: ../js/ui/components/telepathyClient.js:1354 +#, c-format +msgid "Unable to connect to %s" +msgstr "Impossibile de connecter a %s" + +#: ../js/ui/components/telepathyClient.js:1359 +msgid "View account" +msgstr "Examinar le conto" + +#: ../js/ui/components/telepathyClient.js:1398 +msgid "Unknown reason" +msgstr "Causa incognite" + +#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96 +msgid "Windows" +msgstr "Fenestras" + +#: ../js/ui/dash.js:248 ../js/ui/dash.js:286 +msgid "Show Applications" +msgstr "Monstrar applicationes" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/dash.js:435 +msgid "Dash" +msgstr "Pannello" + +#: ../js/ui/dateMenu.js:91 +msgid "Open Calendar" +msgstr "Aperir calendario" + +#: ../js/ui/dateMenu.js:96 +msgid "Open Clocks" +msgstr "Aperir horologios" + +#: ../js/ui/dateMenu.js:105 +msgid "Date & Time Settings" +msgstr "Parametros de data e hora" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:215 +msgid "%A %B %e, %Y" +msgstr "%A, %e de %B %Y" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgctxt "title" +msgid "Log Out %s" +msgstr "Clauder le session de %s" + +#: ../js/ui/endSessionDialog.js:64 +msgctxt "title" +msgid "Log Out" +msgstr "Clauder le session" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Clicca sur 'Clauder le session' pro quitar iste applicationes e sortir del " +"systema." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "%s will be logged out automatically in %d second." +msgid_plural "%s will be logged out automatically in %d seconds." +msgstr[0] "Le session de %s sera terminate automaticamente in %d secunda." +msgstr[1] "Le session de %s sera terminate automaticamente in %d secundas." + +#: ../js/ui/endSessionDialog.js:72 +#, c-format +msgid "You will be logged out automatically in %d second." +msgid_plural "You will be logged out automatically in %d seconds." +msgstr[0] "Le session sera terminate automaticamente in %d secunda." +msgstr[1] "Le session sera terminate automaticamente in %d secundas." + +#: ../js/ui/endSessionDialog.js:76 +msgid "Logging out of the system." +msgstr "Clausura del session." + +#: ../js/ui/endSessionDialog.js:78 +msgctxt "button" +msgid "Log Out" +msgstr "Clauder le session" + +#: ../js/ui/endSessionDialog.js:83 +msgctxt "title" +msgid "Power Off" +msgstr "Extinguer" + +#: ../js/ui/endSessionDialog.js:84 +msgid "Click Power Off to quit these applications and power off the system." +msgstr "" +"Clicca sur 'Extinguer' pro quitar iste applicationes e extinguer le systema." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will power off automatically in %d second." +msgid_plural "The system will power off automatically in %d seconds." +msgstr[0] "Le systema se extinguera automaticamente in %d secunda." +msgstr[1] "Le systema se extinguera automaticamente in %d secundas." + +#: ../js/ui/endSessionDialog.js:90 +msgid "Powering off the system." +msgstr "Extinction del systema." + +#: ../js/ui/endSessionDialog.js:92 ../js/ui/endSessionDialog.js:109 +msgctxt "button" +msgid "Restart" +msgstr "Reinitiar" + +#: ../js/ui/endSessionDialog.js:94 +msgctxt "button" +msgid "Power Off" +msgstr "Extinguer" + +#: ../js/ui/endSessionDialog.js:100 +msgctxt "title" +msgid "Restart" +msgstr "Reinitiar" + +#: ../js/ui/endSessionDialog.js:101 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Clicca sur 'Reinitiar' pro quitar iste applicationes e reinitiar le systema." + +#: ../js/ui/endSessionDialog.js:103 +#, c-format +msgid "The system will restart automatically in %d second." +msgid_plural "The system will restart automatically in %d seconds." +msgstr[0] "Le systema se reinitiara automaticamente in %d secunda." +msgstr[1] "Le systema se reinitiara automaticamente in %d secundas." + +#: ../js/ui/endSessionDialog.js:107 +msgid "Restarting the system." +msgstr "Reinitio del systema." + +#: ../js/ui/extensionDownloader.js:199 +msgid "Install" +msgstr "Installar" + +#: ../js/ui/extensionDownloader.js:204 +#, c-format +msgid "Download and install '%s' from extensions.gnome.org?" +msgstr "Discargar e installar '%s' de extensions.gnome.org?" + +#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:314 +#: ../js/ui/status/power.js:211 +msgid "Keyboard" +msgstr "Claviero" + +#: ../js/ui/lookingGlass.js:693 +msgid "No extensions installed" +msgstr "Necun extensiones installate" + +#. Translators: argument is an extension UUID. +#: ../js/ui/lookingGlass.js:747 +#, c-format +msgid "%s has not emitted any errors." +msgstr "%s non ha emittite alicun errores." + +#: ../js/ui/lookingGlass.js:753 +msgid "Hide Errors" +msgstr "Occultar errores" + +#: ../js/ui/lookingGlass.js:757 ../js/ui/lookingGlass.js:817 +msgid "Show Errors" +msgstr "Monstrar errores" + +#: ../js/ui/lookingGlass.js:766 +msgid "Enabled" +msgstr "Activate" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:769 ../src/gvc/gvc-mixer-control.c:1830 +msgid "Disabled" +msgstr "Disactivate" + +#: ../js/ui/lookingGlass.js:771 +msgid "Error" +msgstr "Error" + +#: ../js/ui/lookingGlass.js:773 +msgid "Out of date" +msgstr "Perempte" + +#: ../js/ui/lookingGlass.js:775 +msgid "Downloading" +msgstr "Discargamento" + +#: ../js/ui/lookingGlass.js:799 +msgid "View Source" +msgstr "Monstrar le fonte" + +#: ../js/ui/lookingGlass.js:808 +msgid "Web Page" +msgstr "Pagina web" + +#: ../js/ui/messageTray.js:1182 +msgid "Open" +msgstr "Aperir" + +#: ../js/ui/messageTray.js:1189 +msgid "Remove" +msgstr "Remover" + +#: ../js/ui/messageTray.js:1501 +msgid "Clear Messages" +msgstr "Expunger messages" + +#: ../js/ui/messageTray.js:1528 +msgid "Notification Settings" +msgstr "Parametros de notificationes" + +#: ../js/ui/messageTray.js:1709 +msgid "No Messages" +msgstr "Necun message" + +#: ../js/ui/messageTray.js:1785 +msgid "Message Tray" +msgstr "Tiratorio de messages" + +#: ../js/ui/messageTray.js:2813 +msgid "System Information" +msgstr "Information de systema" + +#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:374 +msgctxt "program" +msgid "Unknown" +msgstr "Incognite" + +#: ../js/ui/overviewControls.js:463 ../js/ui/screenShield.js:149 +#, c-format +msgid "%d new message" +msgid_plural "%d new messages" +msgstr[0] "%d nove message" +msgstr[1] "%d nove messages" + +#: ../js/ui/overview.js:84 +msgid "Undo" +msgstr "Disfacer" + +#: ../js/ui/overview.js:129 +msgid "Overview" +msgstr "Panorama" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/overview.js:271 +msgid "Type to search…" +msgstr "Scribe pro cercar…" + +#: ../js/ui/panel.js:633 +msgid "Quit" +msgstr "Quitar" + +#. Translators: If there is no suitable word for "Activities" +#. in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:657 +msgid "Activities" +msgstr "Activitates" + +#: ../js/ui/panel.js:954 +msgid "Top Bar" +msgstr "Barra superior" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "ON" and "OFF") or "toggle-switch-intl" (for toggle +#. switches containing "◯" and "|"). Other values will +#. simply result in invisible toggle switches. +#: ../js/ui/popupMenu.js:727 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" + +#: ../js/ui/runDialog.js:74 +msgid "Enter a Command" +msgstr "Introduce un commando" + +#: ../js/ui/runDialog.js:110 +msgid "Close" +msgstr "Clauder" + +#. Translators: This is a time format for a date in +#. long format +#: ../js/ui/screenShield.js:86 +msgid "%A, %B %d" +msgstr "%A, %d de %B" + +#: ../js/ui/screenShield.js:151 +#, c-format +msgid "%d new notification" +msgid_plural "%d new notifications" +msgstr[0] "%d nove notification" +msgstr[1] "%d nove notificationes" + +#: ../js/ui/screenShield.js:438 ../js/ui/userMenu.js:807 +msgid "Lock" +msgstr "Serrar" + +#: ../js/ui/screenShield.js:641 +msgid "GNOME needs to lock the screen" +msgstr "GNOME ha besonio de serrar le schermo" + +#. We could not become modal, so we can't activate the +#. screenshield. The user is probably very upset at this +#. point, but any application using global grabs is broken +#. Just tell him to stop using this app +#. +#. XXX: another option is to kick the user into the gdm login +#. screen, where we're not affected by grabs +#: ../js/ui/screenShield.js:762 ../js/ui/screenShield.js:1198 +msgid "Unable to lock" +msgstr "Impossibile de serrar" + +#: ../js/ui/screenShield.js:763 ../js/ui/screenShield.js:1199 +msgid "Lock was blocked by an application" +msgstr "Le serramento ha essite impedite per un application" + +#: ../js/ui/searchDisplay.js:453 +msgid "Searching…" +msgstr "Cerca…" + +#: ../js/ui/searchDisplay.js:497 +msgid "No results." +msgstr "Necun resultato." + +#: ../js/ui/shellEntry.js:29 +msgid "Copy" +msgstr "Copiar" + +#: ../js/ui/shellEntry.js:34 +msgid "Paste" +msgstr "Collar" + +#: ../js/ui/shellEntry.js:101 +msgid "Show Text" +msgstr "Monstrar texto" + +#: ../js/ui/shellEntry.js:103 +msgid "Hide Text" +msgstr "Occultar texto" + +#: ../js/ui/shellMountOperation.js:370 +msgid "Password" +msgstr "Contrasigno" + +#: ../js/ui/shellMountOperation.js:391 +msgid "Remember Password" +msgstr "Recordar contrasigno" + +#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:114 +msgid "Unlock" +msgstr "Disserrar" + +#: ../js/ui/status/accessibility.js:36 +msgid "Accessibility" +msgstr "Accessibilitate" + +#: ../js/ui/status/accessibility.js:41 +msgid "Zoom" +msgstr "Aggrandimento" + +#: ../js/ui/status/accessibility.js:48 +msgid "Screen Reader" +msgstr "Lector de schermo" + +#: ../js/ui/status/accessibility.js:52 +msgid "Screen Keyboard" +msgstr "Claviero visual" + +#: ../js/ui/status/accessibility.js:56 +msgid "Visual Alerts" +msgstr "Allerta visual" + +#: ../js/ui/status/accessibility.js:59 +msgid "Sticky Keys" +msgstr "Claves remanente" + +#: ../js/ui/status/accessibility.js:62 +msgid "Slow Keys" +msgstr "Claves lente" + +#: ../js/ui/status/accessibility.js:65 +msgid "Bounce Keys" +msgstr "Claves saltante" + +#: ../js/ui/status/accessibility.js:68 +msgid "Mouse Keys" +msgstr "Claves del mus imitate" + +#: ../js/ui/status/accessibility.js:72 +msgid "Universal Access Settings" +msgstr "Parametros del accesso universal" + +#: ../js/ui/status/accessibility.js:129 +msgid "High Contrast" +msgstr "Contrasto elevate" + +#: ../js/ui/status/accessibility.js:178 +msgid "Large Text" +msgstr "Texto grande" + +#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32 +#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321 +#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388 +#: ../js/ui/status/network.js:826 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:45 +msgid "Visibility" +msgstr "Visibile" + +#: ../js/ui/status/bluetooth.js:59 +msgid "Send Files to Device…" +msgstr "Inviar files al dispositivo…" + +#: ../js/ui/status/bluetooth.js:60 +msgid "Set Up a New Device…" +msgstr "Configurar un nove dispositivo…" + +#: ../js/ui/status/bluetooth.js:84 +msgid "Bluetooth Settings" +msgstr "Parametros Bluetooth" + +#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill +#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:178 +msgid "hardware disabled" +msgstr "disactivate physicamente" + +#: ../js/ui/status/bluetooth.js:197 +msgid "Connection" +msgstr "Connexion" + +#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:460 +msgid "disconnecting..." +msgstr "disconnexion…" + +#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:466 +#: ../js/ui/status/network.js:1546 +msgid "connecting..." +msgstr "connexion…" + +#: ../js/ui/status/bluetooth.js:239 +msgid "Send Files…" +msgstr "Inviar files…" + +#: ../js/ui/status/bluetooth.js:246 +msgid "Keyboard Settings" +msgstr "Parametros de claviero" + +#: ../js/ui/status/bluetooth.js:249 +msgid "Mouse Settings" +msgstr "Parametros de mus" + +#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316 +msgid "Sound Settings" +msgstr "Parametros de sono" + +#: ../js/ui/status/bluetooth.js:322 +#, c-format +msgid "Authorization request from %s" +msgstr "Requesta de authorisation de %s" + +#: ../js/ui/status/bluetooth.js:328 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Le dispositivo %s vole acceder al servicio '%s'" + +#: ../js/ui/status/bluetooth.js:330 +msgid "Always grant access" +msgstr "Conceder accesso sempre" + +#: ../js/ui/status/bluetooth.js:331 +msgid "Grant this time only" +msgstr "Conceder accesso solmente in iste vice" + +#: ../js/ui/status/bluetooth.js:332 +msgid "Reject" +msgstr "Rejectar" + +#. Translators: argument is the device short name +#: ../js/ui/status/bluetooth.js:359 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Confirmation del association con %s" + +#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Le dispositivo %s vole associar se con iste computator" + +#: ../js/ui/status/bluetooth.js:366 +#, c-format +msgid "Please confirm whether the PIN '%06d' matches the one on the device." +msgstr "Confirma que le PIN '%06d' corresponde a illo sur le dispositivo." + +#. Translators: this is the verb, not the noun +#: ../js/ui/status/bluetooth.js:369 +msgid "Matches" +msgstr "Corresponde" + +#: ../js/ui/status/bluetooth.js:370 +msgid "Does not match" +msgstr "Non corresponde" + +#: ../js/ui/status/bluetooth.js:389 +#, c-format +msgid "Pairing request for %s" +msgstr "Requesta del association con %s" + +#: ../js/ui/status/bluetooth.js:397 +msgid "Please enter the PIN mentioned on the device." +msgstr "Introduce le PIN mentionate sur le dispositivo." + +#: ../js/ui/status/bluetooth.js:414 +msgid "OK" +msgstr "Validar" + +#: ../js/ui/status/keyboard.js:368 +msgid "Show Keyboard Layout" +msgstr "Monstrar le disposition de claviero" + +#: ../js/ui/status/keyboard.js:373 +msgid "Region & Language Settings" +msgstr "Parametros de region e de lingua" + +#: ../js/ui/status/lockScreenMenu.js:43 +msgid "Volume, network, battery" +msgstr "Volumine, rete, accumulator" + +#: ../js/ui/status/network.js:104 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:200 +msgid "disabled" +msgstr "disactivate" + +#. Translators: this is for network devices that are physically present but are not +#. under NetworkManager's control (and thus cannot be used in the menu) +#: ../js/ui/status/network.js:458 +msgid "unmanaged" +msgstr "foras de gestion" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1549 +msgid "authentication required" +msgstr "necessita authentication" + +#. Translators: this is for devices that require some kind of firmware or kernel +#. module, which is missing +#: ../js/ui/status/network.js:479 +msgid "firmware missing" +msgstr "firmware mancante" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:486 +msgid "cable unplugged" +msgstr "cablo disconnectite" + +#. Translators: this is for a network device that cannot be activated (for example it +#. is disabled by rfkill, or it has no coverage +#: ../js/ui/status/network.js:491 +msgid "unavailable" +msgstr "non disponibile" + +#: ../js/ui/status/network.js:493 ../js/ui/status/network.js:1551 +msgid "connection failed" +msgstr "falta de connexion" + +#: ../js/ui/status/network.js:552 ../js/ui/status/network.js:1435 +#: ../js/ui/status/network.js:1627 +msgid "More…" +msgstr "Plus…" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1365 +msgid "Connected (private)" +msgstr "Connectite (private)" + +#: ../js/ui/status/network.js:667 +msgid "Wired" +msgstr "Via filo" + +#: ../js/ui/status/network.js:668 +msgid "Auto Ethernet" +msgstr "Ethernet automatic" + +#: ../js/ui/status/network.js:695 +msgid "Mobile broadband" +msgstr "Banda large mobile" + +#: ../js/ui/status/network.js:728 +msgid "Auto broadband" +msgstr "Banda large automatic" + +#: ../js/ui/status/network.js:731 +msgid "Auto dial-up" +msgstr "Telephonic automatic" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:861 ../js/ui/status/network.js:1382 +#, c-format +msgid "Auto %s" +msgstr "%s automatic" + +#: ../js/ui/status/network.js:863 +msgid "Auto bluetooth" +msgstr "Bluetooth automatic" + +#: ../js/ui/status/network.js:1384 +msgid "Auto wireless" +msgstr "Sin filo automatic" + +#: ../js/ui/status/network.js:1729 +msgid "Enable networking" +msgstr "Activar le rete" + +#: ../js/ui/status/network.js:1771 +msgid "Wi-Fi" +msgstr "Wi-Fi" + +#: ../js/ui/status/network.js:1790 +msgid "Network Settings" +msgstr "Parametros de rete" + +#: ../js/ui/status/network.js:1807 +msgid "Network Manager" +msgstr "Gerente de rete" + +#: ../js/ui/status/network.js:1897 +msgid "Connection failed" +msgstr "Falta de connexion" + +#: ../js/ui/status/network.js:1898 +msgid "Activation of network connection failed" +msgstr "Falta de activation del connexion de rete" + +#: ../js/ui/status/network.js:2276 +msgid "Networking is disabled" +msgstr "Le rete es disactivate" + +#: ../js/ui/status/power.js:55 +msgid "Battery" +msgstr "Accumulator" + +#: ../js/ui/status/power.js:81 +msgid "Power Settings" +msgstr "Preferentias del gestion de energia" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:99 +msgid "Estimating…" +msgstr "Estimation…" + +#: ../js/ui/status/power.js:106 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d hora restante" +msgstr[1] "%d horas restante" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:109 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s restante" + +#: ../js/ui/status/power.js:111 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../js/ui/status/power.js:111 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuta" +msgstr[1] "minutas" + +#: ../js/ui/status/power.js:114 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minuta restante" +msgstr[1] "%d minutas restante" + +#: ../js/ui/status/power.js:117 ../js/ui/status/power.js:191 +#, c-format +msgctxt "percent of battery remaining" +msgid "%d%%" +msgstr "%d%%" + +#: ../js/ui/status/power.js:201 +msgid "AC Adapter" +msgstr "Adaptor de currente" + +#: ../js/ui/status/power.js:203 +msgid "Laptop Battery" +msgstr "Accumulator del computator" + +#: ../js/ui/status/power.js:205 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:207 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:209 +msgid "Mouse" +msgstr "Mouse" + +#: ../js/ui/status/power.js:213 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:215 +msgid "Cell Phone" +msgstr "Telephono cellular" + +#: ../js/ui/status/power.js:217 +msgid "Media Player" +msgstr "Lector de multimedia" + +#: ../js/ui/status/power.js:219 +msgid "Tablet" +msgstr "Tabletta" + +#: ../js/ui/status/power.js:221 +msgid "Computer" +msgstr "Computator" + +#: ../js/ui/status/power.js:223 +msgctxt "device" +msgid "Unknown" +msgstr "Incognite" + +#: ../js/ui/status/volume.js:124 +msgid "Volume changed" +msgstr "Volumine modificate" + +#. Translators: This is the label for audio volume +#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297 +msgid "Volume" +msgstr "Volumine" + +#: ../js/ui/status/volume.js:258 +msgid "Microphone" +msgstr "Microphono" + +#: ../js/ui/unlockDialog.js:125 +msgid "Log in as another user" +msgstr "Initiar session como altere usator" + +#: ../js/ui/unlockDialog.js:146 +msgid "Unlock Window" +msgstr "Fenestra de disserramento" + +#: ../js/ui/userMenu.js:193 +msgid "Available" +msgstr "Disponibile" + +#: ../js/ui/userMenu.js:196 +msgid "Busy" +msgstr "Occupate" + +#: ../js/ui/userMenu.js:199 +msgid "Invisible" +msgstr "Invisibile" + +#: ../js/ui/userMenu.js:202 +msgid "Away" +msgstr "Absente" + +#: ../js/ui/userMenu.js:205 +msgid "Idle" +msgstr "Inactive" + +#: ../js/ui/userMenu.js:208 +msgid "Offline" +msgstr "Disconnexe" + +#: ../js/ui/userMenu.js:781 +msgid "Notifications" +msgstr "Notificationes" + +#: ../js/ui/userMenu.js:797 +msgid "Switch User" +msgstr "Cambiar de usator" + +#: ../js/ui/userMenu.js:802 +msgid "Log Out" +msgstr "Clauder le session" + +#: ../js/ui/userMenu.js:822 +msgid "Install Updates & Restart" +msgstr "Installar actualisationes e reinitiar" + +#: ../js/ui/userMenu.js:840 +msgid "Your chat status will be set to busy" +msgstr "Le stato de chat sera definite como 'occupate'" + +#: ../js/ui/userMenu.js:841 +msgid "" +"Notifications are now disabled, including chat messages. Your online status " +"has been adjusted to let others know that you might not see their messages." +msgstr "" +"Le notificationes es ora disactivate, includente le messages de chat. Le " +"stato in linea se ha adjustate pro facer saper al alteres que lor messages " +"pote non esser notate." + +#: ../js/ui/userMenu.js:888 +msgid "Other users are logged in." +msgstr "Altere usatores son connexe." + +#: ../js/ui/userMenu.js:893 +msgid "Shutting down might cause them to lose unsaved work." +msgstr "Le extinction poterea causar le perdita de obras non salveguardate." + +#. Translators: Remote here refers to a remote session, like a ssh login +#: ../js/ui/userMenu.js:921 +#, c-format +msgid "%s (remote)" +msgstr "%s (remote)" + +#. Translators: Console here refers to a tty like a VT console +#: ../js/ui/userMenu.js:924 +#, c-format +msgid "%s (console)" +msgstr "%s (consola)" + +#: ../js/ui/viewSelector.js:100 +msgid "Applications" +msgstr "Applicationes" + +#: ../js/ui/viewSelector.js:104 +msgid "Search" +msgstr "Cerca" + +#: ../js/ui/wanda.js:77 +#, c-format +msgid "" +"Sorry, no wisdom for you today:\n" +"%s" +msgstr "" +"Il ha necun sagessa hodie:\n" +"%s" + +#: ../js/ui/wanda.js:81 +#, c-format +msgid "%s the Oracle says" +msgstr "%s le oraculo dice" + +#: ../js/ui/windowAttentionHandler.js:19 +#, c-format +msgid "'%s' is ready" +msgstr "'%s' es preste" + +#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 +msgid "Evolution Calendar" +msgstr "Calendario de Evolution" + +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1837 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u egresso" +msgstr[1] "%u egressos" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1847 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u ingresso" +msgstr[1] "%u ingressos" + +#: ../src/gvc/gvc-mixer-control.c:2371 +msgid "System Sounds" +msgstr "Sonos de systema" + +#: ../src/main.c:347 +msgid "Print version" +msgstr "Monstrar le version" + +#: ../src/main.c:353 +msgid "Mode used by GDM for login screen" +msgstr "Modo usate per GDM pro le schermo de accesso" + +#: ../src/main.c:359 +msgid "Use a specific mode, e.g. \"gdm\" for login screen" +msgstr "Usar un modo specific, per ex. \"gdm\" pro le schermo de accesso" + +#: ../src/main.c:365 +msgid "List possible modes" +msgstr "Monstrar le lista del modos possibile" + +#: ../src/shell-app.c:622 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Impossibile de lancear '%s'" + +#: ../src/shell-keyring-prompt.c:708 +msgid "Passwords do not match." +msgstr "Le contrasignos non corresponde." + +#: ../src/shell-keyring-prompt.c:716 +msgid "Password cannot be blank" +msgstr "Le contrasigno non pote esser vacue" + +#: ../src/shell-polkit-authentication-agent.c:343 +msgid "Authentication dialog was dismissed by the user" +msgstr "Le dialogo de authentication era dimittite per le usator" diff -Nru gnome-shell-3.8.1/po/lt.po gnome-shell-3.8.2/po/lt.po --- gnome-shell-3.8.1/po/lt.po 2013-03-26 21:05:03.000000000 +0000 +++ gnome-shell-3.8.2/po/lt.po 2013-05-07 18:51:32.000000000 +0000 @@ -461,7 +461,7 @@ #: ../js/ui/appDisplay.js:349 msgid "Frequent" -msgstr "Dažniausios" +msgstr "Dažnai naudojamos" #: ../js/ui/appDisplay.js:356 msgid "All" @@ -1262,7 +1262,7 @@ #. characters. #: ../js/ui/overview.js:271 msgid "Type to search…" -msgstr "Rašykite ko ieškote…" +msgstr "Rašykite, ko ieškote…" #: ../js/ui/panel.js:612 msgid "Quit" @@ -1299,7 +1299,7 @@ #. long format #: ../js/ui/screenShield.js:86 msgid "%A, %B %d" -msgstr "%A, %B %d" +msgstr "%A, %B %d d." #: ../js/ui/screenShield.js:151 #, c-format diff -Nru gnome-shell-3.8.1/po/nb.po gnome-shell-3.8.2/po/nb.po --- gnome-shell-3.8.1/po/nb.po 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/po/nb.po 2013-05-13 22:43:35.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gnome-shell 3.8.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-03 13:31+0200\n" +"POT-Creation-Date: 2013-05-13 09:47+0200\n" "PO-Revision-Date: 2013-04-03 13:31+0200\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian bokmål \n" @@ -335,43 +335,50 @@ msgid "Select an extension to configure using the combobox above." msgstr "Velg en utvidelse som skal konfigureres med komboboksen over." -#: ../js/gdm/loginDialog.js:405 +#: ../js/gdm/loginDialog.js:371 msgid "Session…" msgstr "Økt …" #. translators: this message is shown below the user list on the #. login screen. It can be activated to reveal an entry for #. manually entering the username. -#: ../js/gdm/loginDialog.js:630 +#: ../js/gdm/loginDialog.js:601 msgid "Not listed?" msgstr "Ikke listet?" -#: ../js/gdm/loginDialog.js:786 ../js/ui/components/networkAgent.js:137 -#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:375 +#: ../js/gdm/loginDialog.js:776 ../js/ui/components/networkAgent.js:137 +#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:376 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 -#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:99 +#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:96 #: ../js/ui/userMenu.js:938 msgid "Cancel" msgstr "Avbryt" -#: ../js/gdm/loginDialog.js:802 +#: ../js/gdm/loginDialog.js:791 msgctxt "button" msgid "Sign In" msgstr "Logg inn" -#: ../js/gdm/loginDialog.js:802 +#: ../js/gdm/loginDialog.js:791 msgid "Next" msgstr "Neste" +#. Translators: this message is shown below the username entry field +#. to clue the user in on how to login to the local network realm +#: ../js/gdm/loginDialog.js:888 +#, c-format +msgid "(e.g., user or %s)" +msgstr "(f.eks. bruker eller %s)" + #. TTLS and PEAP are actually much more complicated, but this complication #. is not visible here since we only care about phase2 authentication #. (and don't even care of which one) -#: ../js/gdm/loginDialog.js:917 ../js/ui/components/networkAgent.js:260 +#: ../js/gdm/loginDialog.js:892 ../js/ui/components/networkAgent.js:260 #: ../js/ui/components/networkAgent.js:278 msgid "Username: " msgstr "Brukernavn: " -#: ../js/gdm/loginDialog.js:1173 +#: ../js/gdm/loginDialog.js:1158 msgid "Login Window" msgstr "Innloggingsvindu" @@ -394,21 +401,16 @@ msgid "Power Off" msgstr "Slå av" -#: ../js/gdm/util.js:249 +#: ../js/gdm/util.js:247 msgid "Authentication error" msgstr "Autentiseringsfeil" #. Translators: this message is shown below the password entry field #. to indicate the user can swipe their finger instead -#: ../js/gdm/util.js:366 +#: ../js/gdm/util.js:364 msgid "(or swipe finger)" msgstr "(eller dra finger)" -#: ../js/gdm/util.js:391 -#, c-format -msgid "(e.g., user or %s)" -msgstr "(f.eks. bruker eller %s)" - #: ../js/misc/util.js:97 msgid "Command not found" msgstr "Kommando ikke funnet" @@ -632,11 +634,11 @@ msgid "Eject" msgstr "Løs ut" -#: ../js/ui/components/keyring.js:82 ../js/ui/components/polkitAgent.js:268 +#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:275 msgid "Password:" msgstr "Passord:" -#: ../js/ui/components/keyring.js:101 +#: ../js/ui/components/keyring.js:107 msgid "Type again:" msgstr "Skriv på nytt:" @@ -724,7 +726,7 @@ msgid "Administrator" msgstr "Administrator" -#: ../js/ui/components/polkitAgent.js:165 +#: ../js/ui/components/polkitAgent.js:171 msgid "Authenticate" msgstr "Autentiser" @@ -732,12 +734,12 @@ #. * requested authentication was not gained; this can happen #. * because of an authentication error (like invalid password), #. * for instance. -#: ../js/ui/components/polkitAgent.js:256 ../js/ui/shellMountOperation.js:383 +#: ../js/ui/components/polkitAgent.js:263 ../js/ui/shellMountOperation.js:383 msgid "Sorry, that didn't work. Please try again." msgstr "Beklager, det virket ikke. Vennligst prøv igjen." #. Translators: this is a filename used for screencast recording -#: ../js/ui/components/recorder.js:48 +#: ../js/ui/components/recorder.js:47 #, no-c-format msgid "Screencast from %d %t" msgstr "Skjermvideo fra %d %t" @@ -1003,14 +1005,14 @@ msgid "Open Clocks" msgstr "Åpne Klokker" -#: ../js/ui/dateMenu.js:105 +#: ../js/ui/dateMenu.js:104 msgid "Date & Time Settings" msgstr "Innstillinger for dato og klokkeslett" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:215 +#: ../js/ui/dateMenu.js:216 msgid "%A %B %e, %Y" msgstr "%a %e %B, %Y" @@ -1188,11 +1190,11 @@ msgid "No Messages" msgstr "Ingen meldinger" -#: ../js/ui/messageTray.js:1782 +#: ../js/ui/messageTray.js:1785 msgid "Message Tray" msgstr "Meldingstrau" -#: ../js/ui/messageTray.js:2810 +#: ../js/ui/messageTray.js:2813 msgid "System Information" msgstr "Systeminformasjon" @@ -1224,17 +1226,17 @@ msgid "Type to search…" msgstr "Skriv for å søke …" -#: ../js/ui/panel.js:612 +#: ../js/ui/panel.js:635 msgid "Quit" msgstr "Avslutt" #. Translators: If there is no suitable word for "Activities" #. in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:636 +#: ../js/ui/panel.js:686 msgid "Activities" msgstr "Aktiviteter" -#: ../js/ui/panel.js:933 +#: ../js/ui/panel.js:982 msgid "Top Bar" msgstr "Topp-panel" @@ -1247,11 +1249,11 @@ msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:73 +#: ../js/ui/runDialog.js:74 msgid "Enter a Command" msgstr "Oppgi en kommando" -#: ../js/ui/runDialog.js:109 +#: ../js/ui/runDialog.js:110 msgid "Close" msgstr "Lukk" @@ -1272,7 +1274,7 @@ msgid "Lock" msgstr "Lås" -#: ../js/ui/screenShield.js:640 +#: ../js/ui/screenShield.js:641 msgid "GNOME needs to lock the screen" msgstr "GNOME må låse skjermen" @@ -1283,11 +1285,11 @@ #. #. XXX: another option is to kick the user into the gdm login #. screen, where we're not affected by grabs -#: ../js/ui/screenShield.js:761 ../js/ui/screenShield.js:1197 +#: ../js/ui/screenShield.js:762 ../js/ui/screenShield.js:1198 msgid "Unable to lock" msgstr "Kan ikke låse" -#: ../js/ui/screenShield.js:762 ../js/ui/screenShield.js:1198 +#: ../js/ui/screenShield.js:763 ../js/ui/screenShield.js:1199 msgid "Lock was blocked by an application" msgstr "Låsing ble stoppet av et program" @@ -1307,11 +1309,11 @@ msgid "Paste" msgstr "Lim inn" -#: ../js/ui/shellEntry.js:106 +#: ../js/ui/shellEntry.js:101 msgid "Show Text" msgstr "Vis tekst" -#: ../js/ui/shellEntry.js:108 +#: ../js/ui/shellEntry.js:103 msgid "Hide Text" msgstr "Skjul tekst" @@ -1323,7 +1325,7 @@ msgid "Remember Password" msgstr "Husk passord" -#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:113 +#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:109 msgid "Unlock" msgstr "Lås opp" @@ -1614,7 +1616,7 @@ msgid "Activation of network connection failed" msgstr "Aktivering av nettverkstilkobling feilet" -#: ../js/ui/status/network.js:2276 +#: ../js/ui/status/network.js:2282 msgid "Networking is disabled" msgstr "Nettverk er slått av" @@ -1728,11 +1730,11 @@ msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/unlockDialog.js:124 +#: ../js/ui/unlockDialog.js:120 msgid "Log in as another user" msgstr "Logg inn som en annen bruker" -#: ../js/ui/unlockDialog.js:145 +#: ../js/ui/unlockDialog.js:141 msgid "Unlock Window" msgstr "Lås opp vindu" @@ -1885,11 +1887,11 @@ msgid "Failed to launch '%s'" msgstr "Klarte ikke å starte «%s»" -#: ../src/shell-keyring-prompt.c:708 +#: ../src/shell-keyring-prompt.c:714 msgid "Passwords do not match." msgstr "Passordene er ikke like." -#: ../src/shell-keyring-prompt.c:716 +#: ../src/shell-keyring-prompt.c:722 msgid "Password cannot be blank" msgstr "Passordet kan ikke være tomt" diff -Nru gnome-shell-3.8.1/po/tr.po gnome-shell-3.8.2/po/tr.po --- gnome-shell-3.8.1/po/tr.po 2013-04-16 19:34:13.000000000 +0000 +++ gnome-shell-3.8.2/po/tr.po 2013-04-30 21:30:42.000000000 +0000 @@ -4,22 +4,56 @@ # # Baris Cicek , 2009. # ercin , 2011. -# Muhammet Kara , 2011, 2012. +# Osman Karagöz , 2013. +# Muhammet Kara , 2011, 2012, 2013. +# msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-12-26 13:34+0000\n" -"PO-Revision-Date: 2012-01-02 09:32+0000\n" -"Last-Translator: Muhammet Kara \n" +"POT-Creation-Date: 2013-04-19 17:55+0000\n" +"PO-Revision-Date: 2013-04-18 20:26+0300\n" +"Last-Translator: Muhammet Kara \n" "Language-Team: Turkish \n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Lokalize 1.2\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: ../data/50-gnome-shell-screenshot.xml.in.h:1 +msgid "Screenshots" +msgstr "Ekran Görüntüleri" + +#: ../data/50-gnome-shell-screenshot.xml.in.h:2 +msgid "Record a screencast" +msgstr "Ekranı kaydet" + +#: ../data/50-gnome-shell-system.xml.in.h:1 +msgid "System" +msgstr "Sistem" + +#: ../data/50-gnome-shell-system.xml.in.h:2 +msgid "Show the message tray" +msgstr "Mesaj tepsisini göster" + +#: ../data/50-gnome-shell-system.xml.in.h:3 +msgid "Focus the active notification" +msgstr "Etkin bildirime odaklan" + +#: ../data/50-gnome-shell-system.xml.in.h:4 +msgid "Show the overview" +msgstr "" + +#: ../data/50-gnome-shell-system.xml.in.h:5 +msgid "Show all applications" +msgstr "Tüm uygulamaları göster" + +#: ../data/50-gnome-shell-system.xml.in.h:6 +msgid "Open the application menu" +msgstr "Uygulama menüsünü aç" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" @@ -29,7 +63,21 @@ msgid "Window management and application launching" msgstr "Pencere yönetimi ve uygulama başlatma" -#: ../data/org.gnome.shell.gschema.xml.in.h:1 +#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1 +#: ../js/extensionPrefs/main.js:153 +msgid "GNOME Shell Extension Preferences" +msgstr "GNOME Kabuğu Eklenti Tercihleri" + +#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2 +msgid "Configure GNOME Shell Extensions" +msgstr "GNOME Kabuğu Eklentilerini Ayarla" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:1 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" +"Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:2 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." @@ -37,20 +85,11 @@ "Alt-F2 kutucuğu ile bütünleşik hata ayıklama ve izleme uygulamalarına erişim " "sağlar." -#: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "" -"Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir" - -#: ../data/org.gnome.shell.gschema.xml.in.h:3 -msgid "File extension used for storing the screencast" -msgstr "Ekran kaydı için kullanılacak dosya uzantısı" - -#: ../data/org.gnome.shell.gschema.xml.in.h:4 -msgid "Framerate used for recording screencasts." -msgstr "Ekran kaydı için kullanılacak kare/saniye." +#: ../data/org.gnome.shell.gschema.xml.in.in.h:3 +msgid "Uuids of extensions to enable" +msgstr "Etkinleştirilecek uzantıların Uuid'si" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:4 #, fuzzy #| msgid "" #| "GNOME Shell extensions have a uuid property; this key lists extensions " @@ -64,31 +103,169 @@ "GNOME Kabuğu uzantılarının uuid'si vardır; bu anahtar yüklenmemesi " "gerekenleri listeler." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:5 +msgid "Whether to collect stats about applications usage" +msgstr "Uygulamaların kullanımı hakkında istatistik toplanıp toplanmayacağı" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:6 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:7 +msgid "List of desktop file IDs for favorite applications" +msgstr "Sık kullanılan uygulamalar için masa üstü dosyalarının ID listesi" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:8 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" +"Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:9 +msgid "List of categories that should be displayed as folders" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:10 +msgid "" +"Each category name in this list will be represented as folder in the " +"application view, rather than being displayed inline in the main view." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:11 msgid "History for command (Alt-F2) dialog" msgstr "Komut kutucuğu (Alt-F2) geçmişi" -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:12 msgid "History for the looking glass dialog" msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "If true, display date in the clock, in addition to time." -msgstr "Doğru ise saatin yanında tarihide göster." - -#: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "If true, display seconds in time." -msgstr "Doğru ise saatte saniyeyi de göster." +#: ../data/org.gnome.shell.gschema.xml.in.in.h:13 +msgid "" +"Internally used to store the last IM presence explicitly set by the user. " +"The value here is from the TpConnectionPresenceType enumeration." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:14 +msgid "" +"Internally used to store the last session presence status for the user. The " +"value here is from the GsmPresenceStatus enumeration." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:15 +msgid "Always show the 'Log out' menuitem in the user menu." +msgstr "Kullanıcı menüsünde \"Oturumu Kapat\" menü ögesini daima göster." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 +msgid "" +"This key overrides the automatic hiding of the 'Log out' menuitem in single-" +"user, single-session situations." +msgstr "" +"Bu ayar tek kullanıcı oturum açtığında \"Oturumu Kapat\" menü ögesinin " +"gizlenmesini önler." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 +msgid "" +"Whether to remember password for mounting encrypted or remote filesystems" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 +msgid "" +"The shell will request a password when an encrypted device or a remote " +"filesystem is mounted. If the password can be saved for future use a " +"'Remember Password' checkbox will be present. This key sets the default " +"state of the checkbox." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:19 +msgid "Show the week date in the calendar" +msgstr "Hafta tarihini takvimde göster" -#: ../data/org.gnome.shell.gschema.xml.in.h:10 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:20 msgid "If true, display the ISO week date in the calendar." msgstr "Doğru ise ISO hafta tarihini takvimde göster." -#: ../data/org.gnome.shell.gschema.xml.in.h:11 -msgid "List of desktop file IDs for favorite applications" -msgstr "Sık kullanılan uygulamalar için masa üstü dosyalarının ID listesi" +#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 +msgid "Keybinding to open the application menu" +msgstr "Uygulama menüsünü açmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:22 +msgid "Keybinding to open the application menu." +msgstr "Uygulama menüsünü açmak için klavye kısayolu." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +msgid "Keybinding to open the \"Show Applications\" view" +msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:24 +#, fuzzy +msgid "" +"Keybinding to open the \"Show Applications\" view of the Activities Overview." +msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 +#, fuzzy +#| msgid "Keybinding to open the \"Show Applications\" view" +msgid "Keybinding to open the overview" +msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 +#, fuzzy +#| msgid "Keybinding to open the \"Show Applications\" view" +msgid "Keybinding to open the Activities Overview." +msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:27 +msgid "Keybinding to toggle the visibility of the message tray" +msgstr "Mesaj tepsisinin görünürlüğünü değiştirmek için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:28 +msgid "Keybinding to toggle the visibility of the message tray." +msgstr "Mesaj tepsisinin görünürlüğünü değiştirmek için klavye kısayolu." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:29 +msgid "Keybinding to focus the active notification" +msgstr "Etkin bildirime odaklanmak için klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:30 +msgid "Keybinding to focus the active notification." +msgstr "Etkin bildirime odaklanmak için klavye kısayolu." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 +msgid "Keybinding to toggle the screen recorder" +msgstr "Ekran kaydedicinin durumunu değiştirme klavye kısayolu" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:32 +msgid "Keybinding to start/stop the builtin screen recorder." +msgstr "Ekran kaydediciyi başlat/durdur klavye kısayolu." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:33 +msgid "Which keyboard to use" +msgstr "Hangi klavyenin kullanılacağı" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:34 +msgid "The type of keyboard to use." +msgstr "Kullanılacak klavye türü." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:35 +msgid "Framerate used for recording screencasts." +msgstr "Ekran kaydı için kullanılacak kare/saniye." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:36 +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:37 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:39 #, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " @@ -98,162 +275,185 @@ "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " -"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " -"at the optimal thread count on the system." +"'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 " +"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is " +"used as a placeholder for a guess at the optimal thread count on the system." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:14 -msgid "Show date in clock" -msgstr "Saatte tarihi göster" - -#: ../data/org.gnome.shell.gschema.xml.in.h:15 -msgid "Show the week date in the calendar" -msgstr "Hafta tarihini takvimde göster" - -#: ../data/org.gnome.shell.gschema.xml.in.h:16 -msgid "Show time with seconds" -msgstr "Saati saniye ile birlikte göster" - -#: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "" -"The applications corresponding to these identifiers will be displayed in the " -"favorites area." -msgstr "" -"Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek." +#: ../data/org.gnome.shell.gschema.xml.in.in.h:40 +msgid "File extension used for storing the screencast" +msgstr "Ekran kaydı için kullanılacak dosya uzantısı" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:41 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:42 +msgid "The application icon mode." +msgstr "Uygulama simge kipi." + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:43 msgid "" -"The framerate of the resulting screencast recordered by GNOME Shell's " -"screencast recorder in frames-per-second." +"Configures how the windows are shown in the switcher. Valid possibilities " +"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +"only' (shows only the application icon) or 'both'." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 -msgid "The gstreamer pipeline used to encode the screencast" +#: ../data/org.gnome.shell.gschema.xml.in.in.h:44 +#, fuzzy +msgid "Attach modal dialog to the parent window" +msgstr "iletişim kutularını üst pencereye ekle" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:45 +msgid "" +"This key overrides the key in org.gnome.mutter when running GNOME Shell." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.in.h:46 +msgid "Arrangement of buttons on the titlebar" msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.in.h:47 msgid "" -"The shell normally monitors active applications in order to present the most " -"used ones (e.g. in launchers). While this data will be kept private, you may " -"want to disable this for privacy reasons. Please note that doing so won't " -"remove already saved data." +"This key overrides the key in org.gnome.desktop.wm.preferences when running " +"GNOME Shell." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "The type of keyboard to use." -msgstr "Kullanılacak klavye türü." +#: ../data/org.gnome.shell.gschema.xml.in.in.h:48 +msgid "Enable edge tiling when dropping windows on screen edges" +msgstr "" +"Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir." -#: ../data/org.gnome.shell.gschema.xml.in.h:23 -msgid "Uuids of extensions to enable" -msgstr "Etkinleştirilecek uzantıların Uuid'si" +#: ../data/org.gnome.shell.gschema.xml.in.in.h:49 +msgid "Workspaces are managed dynamically" +msgstr "Çalışma alanları dinamik olarak yönetilir" -#: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "Whether to collect stats about applications usage" -msgstr "Uygulamaların kullanımı hakkında istatistik toplanıp toplanmayacağı" +#: ../data/org.gnome.shell.gschema.xml.in.in.h:50 +msgid "Workspaces only on primary monitor" +msgstr "Çalışma alanları sadece birincil ekranda" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "Which keyboard to use" -msgstr "Hangi klavyenin kullanılacağı" +#: ../js/extensionPrefs/main.js:125 +#, c-format +msgid "There was an error loading the preferences dialog for %s:" +msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 -msgid "disabled OpenSearch providers" -msgstr "OpenSearch sağlayıcıları devre dışı bırakıldı" - -#: ../js/gdm/loginDialog.js:623 -msgid "Session..." -msgstr "Oturum..." +#: ../js/extensionPrefs/main.js:165 +msgid "Extension" +msgstr "Eklenti" -#: ../js/gdm/loginDialog.js:785 -msgctxt "title" -msgid "Sign In" -msgstr "Oturum Aç" +#: ../js/extensionPrefs/main.js:189 +msgid "Select an extension to configure using the combobox above." +msgstr "Ayarlamak için yukarıdaki açılan kutudan bir eklenti seçin." -#. Translators: this message is shown below the password entry field -#. to indicate the user can swipe their finger instead -#: ../js/gdm/loginDialog.js:830 -msgid "(or swipe finger)" -msgstr "(ya da parmak izi okutun)" +#: ../js/gdm/loginDialog.js:405 +msgid "Session…" +msgstr "Oturum…" #. translators: this message is shown below the user list on the #. login screen. It can be activated to reveal an entry for #. manually entering the username. -#: ../js/gdm/loginDialog.js:851 +#: ../js/gdm/loginDialog.js:630 msgid "Not listed?" msgstr "Listede yok mu?" -#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:418 -#: ../js/ui/extensionSystem.js:516 ../js/ui/networkAgent.js:145 -#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462 +#: ../js/gdm/loginDialog.js:787 ../js/ui/components/networkAgent.js:137 +#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:376 +#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 +#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:100 +#: ../js/ui/userMenu.js:938 msgid "Cancel" msgstr "İptal" -#: ../js/gdm/loginDialog.js:1024 +#: ../js/gdm/loginDialog.js:803 msgctxt "button" msgid "Sign In" msgstr "Giriş" -#: ../js/gdm/loginDialog.js:1376 +#: ../js/gdm/loginDialog.js:803 +msgid "Next" +msgstr "Sonraki" + +#. TTLS and PEAP are actually much more complicated, but this complication +#. is not visible here since we only care about phase2 authentication +#. (and don't even care of which one) +#: ../js/gdm/loginDialog.js:918 ../js/ui/components/networkAgent.js:260 +#: ../js/ui/components/networkAgent.js:278 +msgid "Username: " +msgstr "Kullanıcı Adı: " + +#: ../js/gdm/loginDialog.js:1174 msgid "Login Window" msgstr "Oturum Açma Penceresi" -#: ../js/gdm/powerMenu.js:113 ../js/ui/userMenu.js:578 -#: ../js/ui/userMenu.js:580 ../js/ui/userMenu.js:649 +#. Translators: accessible name of the power menu in the login screen +#: ../js/gdm/powerMenu.js:36 +msgid "Power" +msgstr "Kapat" + +#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700 +#: ../js/ui/userMenu.js:816 msgid "Suspend" msgstr "Beklet" -#: ../js/gdm/powerMenu.js:118 +#: ../js/gdm/powerMenu.js:98 msgid "Restart" msgstr "Yeniden Başlat" -#: ../js/gdm/powerMenu.js:123 +#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698 +#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942 msgid "Power Off" msgstr "Kapat" -#: ../js/misc/util.js:92 +#: ../js/gdm/util.js:249 +msgid "Authentication error" +msgstr "Kimlik doğrulama hatası" + +#. Translators: this message is shown below the password entry field +#. to indicate the user can swipe their finger instead +#: ../js/gdm/util.js:366 +msgid "(or swipe finger)" +msgstr "(ya da parmak izi okutun)" + +#: ../js/gdm/util.js:391 +#, c-format +msgid "(e.g., user or %s)" +msgstr "(örneğin, kullanıcı veya %s)" + +#: ../js/misc/util.js:97 msgid "Command not found" msgstr "Komut bulunamadı" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:119 +#: ../js/misc/util.js:130 msgid "Could not parse command:" msgstr "Komut işlenemedi:" -#: ../js/misc/util.js:127 +#: ../js/misc/util.js:138 #, c-format msgid "Execution of '%s' failed:" msgstr "'%s' çalıştırılması başarısız:" -#. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:251 +#: ../js/ui/appDisplay.js:349 +msgid "Frequent" +msgstr "Sık sık" + +#: ../js/ui/appDisplay.js:356 msgid "All" msgstr "Hepsi" -#: ../js/ui/appDisplay.js:310 -msgid "APPLICATIONS" -msgstr "UYGULAMALAR" - -#: ../js/ui/appDisplay.js:366 -msgid "SETTINGS" -msgstr "AYARLAR" - -#: ../js/ui/appDisplay.js:666 +#: ../js/ui/appDisplay.js:914 msgid "New Window" msgstr "Yeni Pencere" -#: ../js/ui/appDisplay.js:669 +#: ../js/ui/appDisplay.js:917 ../js/ui/dash.js:284 msgid "Remove from Favorites" msgstr "Sık Kullanılanlardan Çıkar" -#: ../js/ui/appDisplay.js:670 +#: ../js/ui/appDisplay.js:918 msgid "Add to Favorites" msgstr "Sık Kullanılanlara Ekle" @@ -262,23 +462,18 @@ msgid "%s has been added to your favorites." msgstr "%s sık kullanılanlarınıza eklendi." -#: ../js/ui/appFavorites.js:118 +#: ../js/ui/appFavorites.js:121 #, c-format msgid "%s has been removed from your favorites." msgstr "%s sık kullanılanlarınızdan çıkarıldı." -#: ../js/ui/autorunManager.js:265 -msgid "Removable Devices" -msgstr "Çıkarılabilir Aygıtlar" - -#: ../js/ui/autorunManager.js:560 -#, c-format -msgid "Open with %s" -msgstr "%s ile Aç" - -#: ../js/ui/autorunManager.js:586 -msgid "Eject" -msgstr "Çıkart" +#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789 +msgid "Settings" +msgstr "Ayarlar" + +#: ../js/ui/backgroundMenu.js:21 +msgid "Change Background…" +msgstr "Arkaplanı Değiştir…" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters @@ -288,60 +483,63 @@ msgid "All Day" msgstr "Tüm Gün" -#. Translators: Shown in calendar event list, if 24h format -#: ../js/ui/calendar.js:67 +#. Translators: Shown in calendar event list, if 24h format, +#. \u2236 is a ratio character, similar to : +#: ../js/ui/calendar.js:68 msgctxt "event list time" -msgid "%H:%M" -msgstr "%H:%M" +msgid "%H\\u2236%M" +msgstr "%H\\u2236%M" -#. Transators: Shown in calendar event list, if 12h format -#: ../js/ui/calendar.js:74 +#. Translators: Shown in calendar event list, if 12h format, +#. \u2236 is a ratio character, similar to : and \u2009 is +#. a thin space +#: ../js/ui/calendar.js:77 msgctxt "event list time" -msgid "%l:%M %p" -msgstr "%l:%M %p" +msgid "%l\\u2236%M\\u2009%p" +msgstr "%l\\u2236%M\\u2009%p" #. Translators: Calendar grid abbreviation for Sunday. #. * #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: ../js/ui/calendar.js:114 +#: ../js/ui/calendar.js:108 msgctxt "grid sunday" msgid "S" msgstr "P" #. Translators: Calendar grid abbreviation for Monday -#: ../js/ui/calendar.js:116 +#: ../js/ui/calendar.js:110 msgctxt "grid monday" msgid "M" msgstr "P" #. Translators: Calendar grid abbreviation for Tuesday -#: ../js/ui/calendar.js:118 +#: ../js/ui/calendar.js:112 msgctxt "grid tuesday" msgid "T" msgstr "S" #. Translators: Calendar grid abbreviation for Wednesday -#: ../js/ui/calendar.js:120 +#: ../js/ui/calendar.js:114 msgctxt "grid wednesday" msgid "W" msgstr "Ç" #. Translators: Calendar grid abbreviation for Thursday -#: ../js/ui/calendar.js:122 +#: ../js/ui/calendar.js:116 msgctxt "grid thursday" msgid "T" msgstr "P" #. Translators: Calendar grid abbreviation for Friday -#: ../js/ui/calendar.js:124 +#: ../js/ui/calendar.js:118 msgctxt "grid friday" msgid "F" msgstr "C" #. Translators: Calendar grid abbreviation for Saturday -#: ../js/ui/calendar.js:126 +#: ../js/ui/calendar.js:120 msgctxt "grid saturday" msgid "S" msgstr "C" @@ -352,1335 +550,1507 @@ #. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * both be 'T'). #. -#: ../js/ui/calendar.js:139 +#: ../js/ui/calendar.js:133 msgctxt "list sunday" msgid "Su" msgstr "Pa" #. Translators: Event list abbreviation for Monday -#: ../js/ui/calendar.js:141 +#: ../js/ui/calendar.js:135 msgctxt "list monday" msgid "M" msgstr "Pz" #. Translators: Event list abbreviation for Tuesday -#: ../js/ui/calendar.js:143 +#: ../js/ui/calendar.js:137 msgctxt "list tuesday" msgid "T" msgstr "S" #. Translators: Event list abbreviation for Wednesday -#: ../js/ui/calendar.js:145 +#: ../js/ui/calendar.js:139 msgctxt "list wednesday" msgid "W" msgstr "Ç" #. Translators: Event list abbreviation for Thursday -#: ../js/ui/calendar.js:147 +#: ../js/ui/calendar.js:141 msgctxt "list thursday" msgid "Th" msgstr "Pe" #. Translators: Event list abbreviation for Friday -#: ../js/ui/calendar.js:149 +#: ../js/ui/calendar.js:143 msgctxt "list friday" msgid "F" msgstr "C" #. Translators: Event list abbreviation for Saturday -#: ../js/ui/calendar.js:151 +#: ../js/ui/calendar.js:145 msgctxt "list saturday" msgid "S" msgstr "Ct" #. Translators: Text to show if there are no events -#: ../js/ui/calendar.js:681 +#: ../js/ui/calendar.js:720 msgid "Nothing Scheduled" msgstr "Planınız Boş" #. Translators: Shown on calendar heading when selected day occurs on current year -#: ../js/ui/calendar.js:697 +#: ../js/ui/calendar.js:736 msgctxt "calendar heading" msgid "%A, %B %d" msgstr "%A, %B %d" #. Translators: Shown on calendar heading when selected day occurs on different year -#: ../js/ui/calendar.js:700 +#: ../js/ui/calendar.js:739 msgctxt "calendar heading" msgid "%A, %B %d, %Y" msgstr "%A, %B %d, %Y" -#: ../js/ui/calendar.js:710 +#: ../js/ui/calendar.js:749 msgid "Today" msgstr "Bugün" -#: ../js/ui/calendar.js:714 +#: ../js/ui/calendar.js:753 msgid "Tomorrow" msgstr "Yarın" -#: ../js/ui/calendar.js:723 +#: ../js/ui/calendar.js:764 msgid "This week" msgstr "Bu hafta" -#: ../js/ui/calendar.js:731 +#: ../js/ui/calendar.js:772 msgid "Next week" msgstr "Gelecek hafta" -#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:466 -#: ../js/ui/status/power.js:215 ../src/shell-app.c:394 -msgid "Unknown" -msgstr "Bilinmeyen" +#: ../js/ui/components/automountManager.js:90 +msgid "External drive connected" +msgstr "Harici sürücü bağlandı" + +#: ../js/ui/components/automountManager.js:101 +msgid "External drive disconnected" +msgstr "Harici sürücü ayrıldı" -#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127 -msgid "Available" -msgstr "Ulaşılabilir" +#: ../js/ui/components/autorunManager.js:294 +msgid "Removable Devices" +msgstr "Çıkarılabilir Aygıtlar" -#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136 -msgid "Away" -msgstr "Uzakta" +#: ../js/ui/components/autorunManager.js:594 +#, c-format +msgid "Open with %s" +msgstr "%s ile Aç" -#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130 -msgid "Busy" -msgstr "Meşgul" +#: ../js/ui/components/autorunManager.js:620 +msgid "Eject" +msgstr "Çıkart" -#: ../js/ui/contactDisplay.js:97 -msgid "Offline" -msgstr "Çevrimdışı" +#: ../js/ui/components/keyring.js:82 ../js/ui/components/polkitAgent.js:268 +msgid "Password:" +msgstr "Parola:" -#: ../js/ui/contactDisplay.js:141 -msgid "CONTACTS" -msgstr "BAĞLANTILAR" +#: ../js/ui/components/keyring.js:101 +msgid "Type again:" +msgstr "Terkar yazın:" -#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204 -msgid "Remove" -msgstr "Sil" +#: ../js/ui/components/networkAgent.js:132 +msgid "Connect" +msgstr "Bağlan" -#: ../js/ui/dateMenu.js:96 -msgid "Date and Time Settings" -msgstr "Tarih ve Saat Ayarları" +#. Cisco LEAP +#: ../js/ui/components/networkAgent.js:223 +#: ../js/ui/components/networkAgent.js:235 +#: ../js/ui/components/networkAgent.js:262 +#: ../js/ui/components/networkAgent.js:282 +#: ../js/ui/components/networkAgent.js:292 +msgid "Password: " +msgstr "Parola: " -#: ../js/ui/dateMenu.js:122 -msgid "Open Calendar" -msgstr "Takvimi Aç" +#. static WEP +#: ../js/ui/components/networkAgent.js:228 +msgid "Key: " +msgstr "Anahtar: " + +#: ../js/ui/components/networkAgent.js:266 +msgid "Identity: " +msgstr "Kimlik: " -#. Translators: This is the time format with date used -#. in 24-hour mode. -#: ../js/ui/dateMenu.js:180 -msgid "%a %b %e, %R:%S" -msgstr "%a %b %e, %R:%S" - -#: ../js/ui/dateMenu.js:181 -msgid "%a %b %e, %R" -msgstr "%a %b %e, %R" - -#. Translators: This is the time format without date used -#. in 24-hour mode. -#: ../js/ui/dateMenu.js:185 -msgid "%a %R:%S" -msgstr "%a %R:%S" - -#: ../js/ui/dateMenu.js:186 -msgid "%a %R" -msgstr "%a %R" - -#. Translators: This is a time format with date used -#. for AM/PM. -#: ../js/ui/dateMenu.js:193 -msgid "%a %b %e, %l:%M:%S %p" -msgstr "%a %b %e, %l:%M:%S %p" - -#: ../js/ui/dateMenu.js:194 -msgid "%a %b %e, %l:%M %p" -msgstr "%a %b %e, %l:%M %p" - -#. Translators: This is a time format without date used -#. for AM/PM. -#: ../js/ui/dateMenu.js:198 -msgid "%a %l:%M:%S %p" -msgstr "%a %l:%M:%S %p" - -#: ../js/ui/dateMenu.js:199 -msgid "%a %l:%M %p" -msgstr "%a %l:%M %p" +#: ../js/ui/components/networkAgent.js:268 +msgid "Private key password: " +msgstr "Özel anahtar parolası: " -#. Translators: This is the date format to use when the calendar popup is -#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). -#. -#: ../js/ui/dateMenu.js:210 -msgid "%A %B %e, %Y" -msgstr "%A %B %e, %Y" +#: ../js/ui/components/networkAgent.js:280 +msgid "Service: " +msgstr "Hizmet: " -#: ../js/ui/docDisplay.js:13 -msgid "RECENT ITEMS" -msgstr "SON KULLANILAN BELGELER" +#: ../js/ui/components/networkAgent.js:309 +msgid "Authentication required by wireless network" +msgstr "Kablosuz ağ için kimlik doğrulama gerekiyor" -#: ../js/ui/endSessionDialog.js:61 +#: ../js/ui/components/networkAgent.js:310 #, c-format -msgctxt "title" -msgid "Log Out %s" -msgstr "%s Oturumunu Kapat" +msgid "" +"Passwords or encryption keys are required to access the wireless network " +"'%s'." +msgstr "" +"'%s' kablosuz ağına erişmek için parolalar veya şifreleme anahtarları " +"gerekiyor." -#: ../js/ui/endSessionDialog.js:62 -msgctxt "title" -msgid "Log Out" -msgstr "Oturumu Kapat" +#: ../js/ui/components/networkAgent.js:314 +msgid "Wired 802.1X authentication" +msgstr "Kablolu 802.1X kimlik doğrulaması" -#: ../js/ui/endSessionDialog.js:63 -msgid "Click Log Out to quit these applications and log out of the system." -msgstr "Açık uygulamalardan ve sistemden çıkmak için Çıkış' a tıklayın." +#: ../js/ui/components/networkAgent.js:316 +msgid "Network name: " +msgstr "Ağ adı: " -#: ../js/ui/endSessionDialog.js:65 -#, c-format -msgid "%s will be logged out automatically in %d second." -msgid_plural "%s will be logged out automatically in %d seconds." -msgstr[0] "%s oturumu %d saniye içinde kendiliğinden kapatılacak." +#: ../js/ui/components/networkAgent.js:321 +msgid "DSL authentication" +msgstr "DSL kimlik doğrulama" -#: ../js/ui/endSessionDialog.js:70 -#, c-format -msgid "You will be logged out automatically in %d second." -msgid_plural "You will be logged out automatically in %d seconds." -msgstr[0] "%d saniye içinde oturumunuz kendiliğinden kapatılacak." +#: ../js/ui/components/networkAgent.js:328 +msgid "PIN code required" +msgstr "PIN kodu gerekli" + +#: ../js/ui/components/networkAgent.js:329 +msgid "PIN code is needed for the mobile broadband device" +msgstr "Mobil geniş bant aygıtı için PIN kodu gerekli" + +#: ../js/ui/components/networkAgent.js:330 +msgid "PIN: " +msgstr "PIN: " + +#: ../js/ui/components/networkAgent.js:336 +msgid "Mobile broadband network password" +msgstr "Mobil geniş bant ağ parolası" + +#: ../js/ui/components/networkAgent.js:337 +#, c-format +msgid "A password is required to connect to '%s'." +msgstr "'%s'e bağlanmak için parola gerekli." + +#: ../js/ui/components/polkitAgent.js:55 +msgid "Authentication Required" +msgstr "Kimlik Doğrulaması Gerekli" + +#: ../js/ui/components/polkitAgent.js:93 +msgid "Administrator" +msgstr "Yönetici" + +#: ../js/ui/components/polkitAgent.js:165 +msgid "Authenticate" +msgstr "Doğrula" + +#. Translators: "that didn't work" refers to the fact that the +#. * requested authentication was not gained; this can happen +#. * because of an authentication error (like invalid password), +#. * for instance. +#: ../js/ui/components/polkitAgent.js:256 ../js/ui/shellMountOperation.js:383 +msgid "Sorry, that didn't work. Please try again." +msgstr "Üzgünüm ama işe yaramadı. Lütfen tekrar deneyin." + +#. Translators: this is a filename used for screencast recording +#: ../js/ui/components/recorder.js:47 +#, no-c-format +msgid "Screencast from %d %t" +msgstr "Ekran kaydı %d %t" + +#. FIXME: We don't have a 'chat room' icon (bgo #653737) use +#. system-users for now as Empathy does. +#: ../js/ui/components/telepathyClient.js:238 +msgid "Invitation" +msgstr "Davet" + +#. We got the TpContact +#: ../js/ui/components/telepathyClient.js:298 +msgid "Call" +msgstr "Çağrı" + +#. We got the TpContact +#: ../js/ui/components/telepathyClient.js:314 +msgid "File Transfer" +msgstr "Dosya Aktarımı" + +#: ../js/ui/components/telepathyClient.js:418 +msgid "Chat" +msgstr "Sohbet" + +#: ../js/ui/components/telepathyClient.js:480 +msgid "Unmute" +msgstr "Sesi Aç" + +#: ../js/ui/components/telepathyClient.js:480 +msgid "Mute" +msgstr "Sesi Kapat" + +#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30" +#: ../js/ui/components/telepathyClient.js:942 +#, no-c-format +msgid "Yesterday, %H:%M" +msgstr "Dün, %H:%M" + +#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30 +#: ../js/ui/components/telepathyClient.js:948 +#, no-c-format +msgid "%A, %H:%M" +msgstr "%A,%H:%M" + +#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30" +#: ../js/ui/components/telepathyClient.js:953 +#, no-c-format +msgid "%B %d, %H:%M" +msgstr "%d %B, %H:%M" + +#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30" +#: ../js/ui/components/telepathyClient.js:957 +#, no-c-format +msgid "%B %d %Y, %H:%M " +msgstr "%d %B %Y, %H:%M " + +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/components/telepathyClient.js:985 +#, c-format +msgid "%s is now known as %s" +msgstr "%s, şimdi %s olarak biliniyor" + +#. translators: argument is a room name like +#. * room@jabber.org for example. +#: ../js/ui/components/telepathyClient.js:1088 +#, c-format +msgid "Invitation to %s" +msgstr "%s'e Davet" + +#. translators: first argument is the name of a contact and the second +#. * one the name of a room. "Alice is inviting you to join room@jabber.org +#. * for example. +#: ../js/ui/components/telepathyClient.js:1096 +#, c-format +msgid "%s is inviting you to join %s" +msgstr "%s, sizi %s'e katılmanız için davet ediyor" + +#: ../js/ui/components/telepathyClient.js:1098 +#: ../js/ui/components/telepathyClient.js:1137 +#: ../js/ui/components/telepathyClient.js:1177 +#: ../js/ui/components/telepathyClient.js:1240 +msgid "Decline" +msgstr "Reddet" + +#: ../js/ui/components/telepathyClient.js:1099 +#: ../js/ui/components/telepathyClient.js:1178 +#: ../js/ui/components/telepathyClient.js:1241 +msgid "Accept" +msgstr "Kabul Et" + +#. translators: argument is a contact name like Alice for example. +#: ../js/ui/components/telepathyClient.js:1129 +#, c-format +msgid "Video call from %s" +msgstr "%s'den görüntülü arama" + +#. translators: argument is a contact name like Alice for example. +#: ../js/ui/components/telepathyClient.js:1132 +#, c-format +msgid "Call from %s" +msgstr "%s'den çağrı" + +#. translators: this is a button label (verb), not a noun +#: ../js/ui/components/telepathyClient.js:1139 +msgid "Answer" +msgstr "Cevapla" + +#. To translators: The first parameter is +#. * the contact's alias and the second one is the +#. * file name. The string will be something +#. * like: "Alice is sending you test.ogg" +#. +#: ../js/ui/components/telepathyClient.js:1171 +#, c-format +msgid "%s is sending you %s" +msgstr "%s, size %s dosyasını gönderiyor" + +#. To translators: The parameter is the contact's alias +#: ../js/ui/components/telepathyClient.js:1206 +#, c-format +msgid "%s would like permission to see when you are online" +msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor" + +#: ../js/ui/components/telepathyClient.js:1298 +msgid "Network error" +msgstr "Ağ hatası" + +#: ../js/ui/components/telepathyClient.js:1300 +msgid "Authentication failed" +msgstr "Kimlik doğrulama başarısız" + +#: ../js/ui/components/telepathyClient.js:1302 +msgid "Encryption error" +msgstr "Şifreleme hatası" + +#: ../js/ui/components/telepathyClient.js:1304 +msgid "Certificate not provided" +msgstr "Sertifika sağlanmamış" + +#: ../js/ui/components/telepathyClient.js:1306 +msgid "Certificate untrusted" +msgstr "Sertifika güvenilmez" + +#: ../js/ui/components/telepathyClient.js:1308 +msgid "Certificate expired" +msgstr "Sertifikanın süresi dolmuş" + +#: ../js/ui/components/telepathyClient.js:1310 +msgid "Certificate not activated" +msgstr "Sertifika etkinleştirilmemiş" + +#: ../js/ui/components/telepathyClient.js:1312 +msgid "Certificate hostname mismatch" +msgstr "Sertifikanın makine adı uyuşmuyor" + +#: ../js/ui/components/telepathyClient.js:1314 +msgid "Certificate fingerprint mismatch" +msgstr "Sertifikanın parmak izi uyuşmuyor" + +#: ../js/ui/components/telepathyClient.js:1316 +msgid "Certificate self-signed" +msgstr "Sertifika kendinden-imzalı" + +#: ../js/ui/components/telepathyClient.js:1318 +msgid "Status is set to offline" +msgstr "Durum çevrimdışına ayarlı" + +#: ../js/ui/components/telepathyClient.js:1320 +msgid "Encryption is not available" +msgstr "Şifreleme kullanılabilir değil" + +#: ../js/ui/components/telepathyClient.js:1322 +msgid "Certificate is invalid" +msgstr "Sertifika geçersiz" + +#: ../js/ui/components/telepathyClient.js:1324 +msgid "Connection has been refused" +msgstr "Bağlantı reddedildi" + +#: ../js/ui/components/telepathyClient.js:1326 +msgid "Connection can't be established" +msgstr "Bağlantı kurulamıyor" + +#: ../js/ui/components/telepathyClient.js:1328 +msgid "Connection has been lost" +msgstr "Bağlantı koptu" + +#: ../js/ui/components/telepathyClient.js:1330 +msgid "This account is already connected to the server" +msgstr "Bu hesap zaten sunucuya bağlı" + +#: ../js/ui/components/telepathyClient.js:1332 +msgid "" +"Connection has been replaced by a new connection using the same resource" +msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi" + +#: ../js/ui/components/telepathyClient.js:1334 +msgid "The account already exists on the server" +msgstr "Sunucuda böyle bir hesap zaten var" + +#: ../js/ui/components/telepathyClient.js:1336 +msgid "Server is currently too busy to handle the connection" +msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul" + +#: ../js/ui/components/telepathyClient.js:1338 +msgid "Certificate has been revoked" +msgstr "Sertifika hükümsüz kılınmış" + +#: ../js/ui/components/telepathyClient.js:1340 +msgid "" +"Certificate uses an insecure cipher algorithm or is cryptographically weak" +msgstr "" +"Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik " +"olarak zayıf" + +#: ../js/ui/components/telepathyClient.js:1342 +msgid "" +"The length of the server certificate, or the depth of the server certificate " +"chain, exceed the limits imposed by the cryptography library" +msgstr "" +"Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin " +"derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor" + +#: ../js/ui/components/telepathyClient.js:1344 +msgid "Internal error" +msgstr "İç hata" + +#. translators: argument is the account name, like +#. * name@jabber.org for example. +#: ../js/ui/components/telepathyClient.js:1354 +#, c-format +msgid "Unable to connect to %s" +msgstr "%s bağlantısı sağlanamadı" + +#: ../js/ui/components/telepathyClient.js:1359 +msgid "View account" +msgstr "Hesabı göster" + +#: ../js/ui/components/telepathyClient.js:1398 +msgid "Unknown reason" +msgstr "Bilinmeyen sebep" -#: ../js/ui/endSessionDialog.js:74 +#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96 +msgid "Windows" +msgstr "Pencereler" + +#: ../js/ui/dash.js:248 ../js/ui/dash.js:286 +msgid "Show Applications" +msgstr "Uygulamaları Göster" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/dash.js:435 +msgid "Dash" +msgstr "Konsol" + +#: ../js/ui/dateMenu.js:91 +msgid "Open Calendar" +msgstr "Takvimi Aç" + +#: ../js/ui/dateMenu.js:96 +msgid "Open Clocks" +msgstr "Saati Aç" + +#: ../js/ui/dateMenu.js:105 +msgid "Date & Time Settings" +msgstr "Tarih ve Saat Ayarları" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:215 +msgid "%A %B %e, %Y" +msgstr "%A %B %e, %Y" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgctxt "title" +msgid "Log Out %s" +msgstr "%s Oturumunu Kapat" + +#: ../js/ui/endSessionDialog.js:64 +msgctxt "title" +msgid "Log Out" +msgstr "Oturumu Kapat" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "Açık uygulamalardan ve sistemden çıkmak için Çıkış' a tıklayın." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "%s will be logged out automatically in %d second." +msgid_plural "%s will be logged out automatically in %d seconds." +msgstr[0] "%s oturumu %d saniye içinde kendiliğinden kapatılacak." + +#: ../js/ui/endSessionDialog.js:72 +#, c-format +msgid "You will be logged out automatically in %d second." +msgid_plural "You will be logged out automatically in %d seconds." +msgstr[0] "%d saniye içinde oturumunuz kendiliğinden kapatılacak." + +#: ../js/ui/endSessionDialog.js:76 msgid "Logging out of the system." msgstr "Sistemden çıkılıyor." -#: ../js/ui/endSessionDialog.js:76 +#: ../js/ui/endSessionDialog.js:78 msgctxt "button" msgid "Log Out" msgstr "Çıkış" -#: ../js/ui/endSessionDialog.js:81 +#: ../js/ui/endSessionDialog.js:83 msgctxt "title" msgid "Power Off" msgstr "Bilgisayarı Kapat" -#: ../js/ui/endSessionDialog.js:82 +#: ../js/ui/endSessionDialog.js:84 msgid "Click Power Off to quit these applications and power off the system." msgstr "" "Açık uygulamalardan ve sistemden çıkarak sistemi kapatmak için Kapat' a " "tıklayın." -#: ../js/ui/endSessionDialog.js:84 +#: ../js/ui/endSessionDialog.js:86 #, c-format msgid "The system will power off automatically in %d second." msgid_plural "The system will power off automatically in %d seconds." msgstr[0] "Sistem %d saniye içinde kendiliğinden kapanacak." -#: ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:90 msgid "Powering off the system." msgstr "Sistem kapatılıyor." -#: ../js/ui/endSessionDialog.js:90 ../js/ui/endSessionDialog.js:107 +#: ../js/ui/endSessionDialog.js:92 ../js/ui/endSessionDialog.js:109 msgctxt "button" msgid "Restart" msgstr "Yeniden Başlat" -#: ../js/ui/endSessionDialog.js:92 +#: ../js/ui/endSessionDialog.js:94 msgctxt "button" msgid "Power Off" msgstr "Kapat" -#: ../js/ui/endSessionDialog.js:98 +#: ../js/ui/endSessionDialog.js:100 msgctxt "title" msgid "Restart" msgstr "Bilgisayarı Yeniden Başlat" -#: ../js/ui/endSessionDialog.js:99 +#: ../js/ui/endSessionDialog.js:101 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Açık uygulamalardan çıkarak sistemi yeniden başlatmak için Yeniden Başlat'a " "tıklayın." -#: ../js/ui/endSessionDialog.js:101 +#: ../js/ui/endSessionDialog.js:103 #, c-format msgid "The system will restart automatically in %d second." msgid_plural "The system will restart automatically in %d seconds." msgstr[0] "Sistem %d saniye içinde kendiliğinden yeniden başlayacak." -#: ../js/ui/endSessionDialog.js:105 +#: ../js/ui/endSessionDialog.js:107 msgid "Restarting the system." msgstr "Sisten yeniden başlatılıyor." -#: ../js/ui/extensionSystem.js:520 +#: ../js/ui/extensionDownloader.js:199 msgid "Install" msgstr "Kur" -#: ../js/ui/extensionSystem.js:524 +#: ../js/ui/extensionDownloader.js:204 #, c-format msgid "Download and install '%s' from extensions.gnome.org?" msgstr "extensions.gnome.org adresinden '%s' indirilip kurulsun mu?" -#: ../js/ui/keyboard.js:322 -msgid "tray" -msgstr "tepsi" - -#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203 +#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:314 +#: ../js/ui/status/power.js:211 msgid "Keyboard" msgstr "Klavye" -#: ../js/ui/lookingGlass.js:724 +#: ../js/ui/lookingGlass.js:693 msgid "No extensions installed" msgstr "Herhangi bir uzantı kurulu değil" #. Translators: argument is an extension UUID. -#: ../js/ui/lookingGlass.js:779 +#: ../js/ui/lookingGlass.js:747 #, c-format msgid "%s has not emitted any errors." msgstr "%s, herhangi bir hata vermedi." -#: ../js/ui/lookingGlass.js:785 +#: ../js/ui/lookingGlass.js:753 msgid "Hide Errors" msgstr "Hataları Gizle" -#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840 +#: ../js/ui/lookingGlass.js:757 ../js/ui/lookingGlass.js:817 msgid "Show Errors" msgstr "Hataları Göster" -#: ../js/ui/lookingGlass.js:798 +#: ../js/ui/lookingGlass.js:766 msgid "Enabled" msgstr "Etkin" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093 +#: ../js/ui/lookingGlass.js:769 ../src/gvc/gvc-mixer-control.c:1830 msgid "Disabled" msgstr "Devre dışı" -#: ../js/ui/lookingGlass.js:803 +#: ../js/ui/lookingGlass.js:771 msgid "Error" msgstr "Hata" -#: ../js/ui/lookingGlass.js:805 +#: ../js/ui/lookingGlass.js:773 msgid "Out of date" msgstr "Güncel değil" -#: ../js/ui/lookingGlass.js:807 +#: ../js/ui/lookingGlass.js:775 msgid "Downloading" msgstr "İndiriliyor" -#: ../js/ui/lookingGlass.js:828 +#: ../js/ui/lookingGlass.js:799 msgid "View Source" msgstr "Kaynağı Görüntüle" -#: ../js/ui/lookingGlass.js:834 +#: ../js/ui/lookingGlass.js:808 msgid "Web Page" msgstr "Web Sayfası" -#: ../js/ui/messageTray.js:1197 +#: ../js/ui/messageTray.js:1182 msgid "Open" msgstr "Aç" -#: ../js/ui/messageTray.js:1214 -#| msgid "minute" -#| msgid_plural "minutes" -msgid "Unmute" -msgstr "Sesi Aç" +#: ../js/ui/messageTray.js:1189 +msgid "Remove" +msgstr "Sil" -#: ../js/ui/messageTray.js:1214 -#| msgid "Mouse" -msgid "Mute" -msgstr "Sesi Kapat" +#: ../js/ui/messageTray.js:1501 +msgid "Clear Messages" +msgstr "Mesajları Temizle" + +#: ../js/ui/messageTray.js:1528 +msgid "Notification Settings" +msgstr "Bildirim Ayarları" + +#: ../js/ui/messageTray.js:1710 +msgid "No Messages" +msgstr "Mesaj Yok" + +#: ../js/ui/messageTray.js:1783 +msgid "Message Tray" +msgstr "Mesaj Tepsisi" -#: ../js/ui/messageTray.js:2444 +#: ../js/ui/messageTray.js:2801 msgid "System Information" msgstr "Sistem Bilgisi" -#: ../js/ui/networkAgent.js:140 -msgid "Connect" -msgstr "Bağlan" - -#. Cisco LEAP -#: ../js/ui/networkAgent.js:235 ../js/ui/networkAgent.js:247 -#: ../js/ui/networkAgent.js:274 ../js/ui/networkAgent.js:294 -#: ../js/ui/networkAgent.js:304 -msgid "Password: " -msgstr "Parola: " - -#. static WEP -#: ../js/ui/networkAgent.js:240 -msgid "Key: " -msgstr "Anahtar: " - -#. TTLS and PEAP are actually much more complicated, but this complication -#. is not visible here since we only care about phase2 authentication -#. (and don't even care of which one) -#: ../js/ui/networkAgent.js:272 ../js/ui/networkAgent.js:290 -msgid "Username: " -msgstr "Kullanıcı Adı: " - -#: ../js/ui/networkAgent.js:278 -msgid "Identity: " -msgstr "Kimlik: " - -#: ../js/ui/networkAgent.js:280 -msgid "Private key password: " -msgstr "Özel anahtar parolası: " - -#: ../js/ui/networkAgent.js:292 -msgid "Service: " -msgstr "Hizmet: " - -#: ../js/ui/networkAgent.js:321 -msgid "Authentication required by wireless network" -msgstr "Kablosuz ağ için kimlik doğrulama gerekiyor" - -#: ../js/ui/networkAgent.js:322 -#, c-format -msgid "" -"Passwords or encryption keys are required to access the wireless network '%" -"s'." -msgstr "" -"'%s' kablosuz ağına erişmek için parolalar veya şifreleme anahtarları " -"gerekiyor." - -#: ../js/ui/networkAgent.js:326 -msgid "Wired 802.1X authentication" -msgstr "Kablolu 802.1X kimlik doğrulaması" - -#: ../js/ui/networkAgent.js:328 -msgid "Network name: " -msgstr "Ağ adı: " - -#: ../js/ui/networkAgent.js:333 -msgid "DSL authentication" -msgstr "DSL kimlik doğrulama" - -#: ../js/ui/networkAgent.js:340 -msgid "PIN code required" -msgstr "PIN kodu gerekli" - -#: ../js/ui/networkAgent.js:341 -msgid "PIN code is needed for the mobile broadband device" -msgstr "Mobil geniş bant aygıtı için PIN kodu gerekli" - -#: ../js/ui/networkAgent.js:342 -msgid "PIN: " -msgstr "PIN: " - -#: ../js/ui/networkAgent.js:348 -#| msgid "Mobile broadband" -msgid "Mobile broadband network password" -msgstr "Mobil geniş bant ağ parolası" +#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:378 +msgctxt "program" +msgid "Unknown" +msgstr "Bilinmeyen" -#: ../js/ui/networkAgent.js:349 +#: ../js/ui/overviewControls.js:463 ../js/ui/screenShield.js:149 #, c-format -#| msgid "You're now connected to '%s'" -msgid "A password is required to connect to '%s'." -msgstr "'%s'e bağlanmak için parola gerekli." +msgid "%d new message" +msgid_plural "%d new messages" +msgstr[0] "%d yeni mesaj" -#: ../js/ui/overview.js:90 +#: ../js/ui/overview.js:84 msgid "Undo" msgstr "Geri Al" -#: ../js/ui/overview.js:199 -msgid "Windows" -msgstr "Pencereler" - -#: ../js/ui/overview.js:202 -msgid "Applications" -msgstr "Uygulamalar" +#: ../js/ui/overview.js:129 +#, fuzzy +msgid "Overview" +msgstr "Önizleme" -#. Translators: this is the name of the dock/favorites area on -#. the left of the overview -#: ../js/ui/overview.js:226 -msgid "Dash" -msgstr "Konsol" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/overview.js:271 +msgid "Type to search…" +msgstr "Aramak için buraya yazın..." -#: ../js/ui/panel.js:564 -#| msgid "Quit %s" +#: ../js/ui/panel.js:639 msgid "Quit" msgstr "Kapat" #. Translators: If there is no suitable word for "Activities" #. in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:595 +#: ../js/ui/panel.js:663 msgid "Activities" msgstr "Etkinlikler" -#: ../js/ui/panel.js:982 +#: ../js/ui/panel.js:960 msgid "Top Bar" msgstr "Tepe Çubuğu" -#: ../js/ui/placeDisplay.js:115 -#, c-format -msgid "Failed to unmount '%s'" -msgstr "'%s'i çıkarma başarısız oldu" - -#: ../js/ui/placeDisplay.js:118 -msgid "Retry" -msgstr "Tekrar dene" - -#: ../js/ui/placeDisplay.js:156 -msgid "Connect to..." -msgstr "Bağlan..." - -#: ../js/ui/placeDisplay.js:364 -msgid "PLACES & DEVICES" -msgstr "YERLER ve AYGITLAR" - -#: ../js/ui/polkitAuthenticationAgent.js:71 -msgid "Authentication Required" -msgstr "Kimlik Doğrulaması Gerekli" - -#: ../js/ui/polkitAuthenticationAgent.js:109 -msgid "Administrator" -msgstr "Yönetici" - -#: ../js/ui/polkitAuthenticationAgent.js:179 -msgid "Authenticate" -msgstr "Doğrula" - -#. Translators: "that didn't work" refers to the fact that the -#. * requested authentication was not gained; this can happen -#. * because of an authentication error (like invalid password), -#. * for instance. -#: ../js/ui/polkitAuthenticationAgent.js:260 -msgid "Sorry, that didn't work. Please try again." -msgstr "Üzgünüm ama işe yaramadı. Lütfen tekrar deneyin." - -#: ../js/ui/polkitAuthenticationAgent.js:272 -msgid "Password:" -msgstr "Parola:" - #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle #. switches containing "◯" and "|"). Other values will #. simply result in invisible toggle switches. -#: ../js/ui/popupMenu.js:719 +#: ../js/ui/popupMenu.js:727 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:205 -msgid "Please enter a command:" -msgstr "Lütfen komut girin:" - -#: ../js/ui/searchDisplay.js:333 -msgid "Searching..." -msgstr "Aranıyor..." - -#: ../js/ui/searchDisplay.js:356 -msgid "No matching results." -msgstr "Eşleşen sonuç yok." +#: ../js/ui/runDialog.js:74 +msgid "Enter a Command" +msgstr "Komut Girin" + +#: ../js/ui/runDialog.js:110 +msgid "Close" +msgstr "Kapat" + +#. Translators: This is a time format for a date in +#. long format +#: ../js/ui/screenShield.js:86 +msgid "%A, %B %d" +msgstr "%d %B, %A" + +#: ../js/ui/screenShield.js:151 +#, c-format +msgid "%d new notification" +msgid_plural "%d new notifications" +msgstr[0] "%d yeni bildirim" + +#: ../js/ui/screenShield.js:438 ../js/ui/userMenu.js:807 +msgid "Lock" +msgstr "Kilitle" + +#: ../js/ui/screenShield.js:641 +#, fuzzy +msgid "GNOME needs to lock the screen" +msgstr "GNOME ekranı kilitlemek gerekiyor" + +#. We could not become modal, so we can't activate the +#. screenshield. The user is probably very upset at this +#. point, but any application using global grabs is broken +#. Just tell him to stop using this app +#. +#. XXX: another option is to kick the user into the gdm login +#. screen, where we're not affected by grabs +#: ../js/ui/screenShield.js:762 ../js/ui/screenShield.js:1198 +msgid "Unable to lock" +msgstr "Kilitlenemedi" + +#: ../js/ui/screenShield.js:763 ../js/ui/screenShield.js:1199 +msgid "Lock was blocked by an application" +msgstr "Kilitleme bir uygulama tarafından engellendi" + +#: ../js/ui/searchDisplay.js:453 +msgid "Searching…" +msgstr "Aranıyor…" + +#: ../js/ui/searchDisplay.js:497 +msgid "No results." +msgstr "Sonuç yok." -#: ../js/ui/shellEntry.js:26 +#: ../js/ui/shellEntry.js:29 msgid "Copy" msgstr "Kopyala" -#: ../js/ui/shellEntry.js:31 +#: ../js/ui/shellEntry.js:34 msgid "Paste" msgstr "Yapıştır" -#: ../js/ui/shellEntry.js:77 +#: ../js/ui/shellEntry.js:101 msgid "Show Text" msgstr "Metni Göster" -#: ../js/ui/shellEntry.js:79 +#: ../js/ui/shellEntry.js:103 msgid "Hide Text" msgstr "Metni Gizle" -#: ../js/ui/shellMountOperation.js:269 -msgid "Wrong password, please try again" -msgstr "Yanlış parola, lütfen tekrar deneyin" +#: ../js/ui/shellMountOperation.js:370 +msgid "Password" +msgstr "Parola" + +#: ../js/ui/shellMountOperation.js:391 +msgid "Remember Password" +msgstr "Parolayı Hatırla" + +#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:114 +msgid "Unlock" +msgstr "Kilit Aç" + +#: ../js/ui/status/accessibility.js:36 +msgid "Accessibility" +msgstr "Erişilebilirlik" -#: ../js/ui/status/accessibility.js:52 +#: ../js/ui/status/accessibility.js:41 msgid "Zoom" msgstr "Yakınlaştırma" -#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, -#. 'screen-reader-enabled'); -#. this.menu.addMenuItem(screenReader); -#: ../js/ui/status/accessibility.js:63 +#: ../js/ui/status/accessibility.js:48 +msgid "Screen Reader" +msgstr "Ekran Okuyucu" + +#: ../js/ui/status/accessibility.js:52 msgid "Screen Keyboard" msgstr "Ekran Klavyesi" -#: ../js/ui/status/accessibility.js:67 +#: ../js/ui/status/accessibility.js:56 msgid "Visual Alerts" msgstr "Görsel Uyarılar" -#: ../js/ui/status/accessibility.js:70 +#: ../js/ui/status/accessibility.js:59 msgid "Sticky Keys" msgstr "Yapışkan Tuşlar" -#: ../js/ui/status/accessibility.js:73 +#: ../js/ui/status/accessibility.js:62 msgid "Slow Keys" msgstr "Yavaş Tuşlar" -#: ../js/ui/status/accessibility.js:76 +#: ../js/ui/status/accessibility.js:65 msgid "Bounce Keys" msgstr "Zıplayan Tuşlar" -#: ../js/ui/status/accessibility.js:79 +#: ../js/ui/status/accessibility.js:68 msgid "Mouse Keys" msgstr "Fare Tuşları" -#: ../js/ui/status/accessibility.js:83 +#: ../js/ui/status/accessibility.js:72 msgid "Universal Access Settings" msgstr "Evrensel Erişim Ayarları" -#: ../js/ui/status/accessibility.js:117 +#: ../js/ui/status/accessibility.js:129 msgid "High Contrast" msgstr "Yüksek Karşıtlık" -#: ../js/ui/status/accessibility.js:154 +#: ../js/ui/status/accessibility.js:178 msgid "Large Text" msgstr "Büyük Yazı" -#: ../js/ui/status/bluetooth.js:35 ../js/ui/status/bluetooth.js:258 -#: ../js/ui/status/bluetooth.js:341 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:436 -#: ../js/ui/status/network.js:892 +#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32 +#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321 +#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388 +#: ../js/ui/status/network.js:826 msgid "Bluetooth" msgstr "Bluetooth" -#: ../js/ui/status/bluetooth.js:48 +#: ../js/ui/status/bluetooth.js:45 msgid "Visibility" msgstr "Görünürlük" -#: ../js/ui/status/bluetooth.js:62 -msgid "Send Files to Device..." -msgstr "Aygıta Dosya Gönder..." - -#: ../js/ui/status/bluetooth.js:63 -msgid "Set up a New Device..." -msgstr "Yeni Aygıt Kur..." +#: ../js/ui/status/bluetooth.js:59 +msgid "Send Files to Device…" +msgstr "Aygıta Dosya Gönder…" + +#: ../js/ui/status/bluetooth.js:60 +msgid "Set Up a New Device…" +msgstr "Yeni Aygıt Kur…" -#: ../js/ui/status/bluetooth.js:87 +#: ../js/ui/status/bluetooth.js:84 msgid "Bluetooth Settings" msgstr "Bluetooth Ayarları" #. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill -#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/network.js:255 +#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:178 msgid "hardware disabled" msgstr "donanım devre dışı" -#: ../js/ui/status/bluetooth.js:203 +#: ../js/ui/status/bluetooth.js:197 msgid "Connection" msgstr "Bağlantı" -#: ../js/ui/status/bluetooth.js:214 ../js/ui/status/network.js:490 +#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:460 msgid "disconnecting..." msgstr "bağlantı kesiliyor..." -#: ../js/ui/status/bluetooth.js:227 ../js/ui/status/network.js:496 +#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:466 +#: ../js/ui/status/network.js:1546 msgid "connecting..." msgstr "bağlanıyor..." -#: ../js/ui/status/bluetooth.js:245 -msgid "Send Files..." -msgstr "Dosya Gönder..." - -#: ../js/ui/status/bluetooth.js:250 -msgid "Browse Files..." -msgstr "Dosyalara Gözat..." - -#: ../js/ui/status/bluetooth.js:259 -msgid "Error browsing device" -msgstr "Aygıta gözatmada hata" +#: ../js/ui/status/bluetooth.js:239 +msgid "Send Files…" +msgstr "Dosya Gönder…" -#: ../js/ui/status/bluetooth.js:260 -#, c-format -msgid "The requested device cannot be browsed, error is '%s'" -msgstr "İstenen aygıta gözatılamıyor, hata '%s'" - -#: ../js/ui/status/bluetooth.js:268 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Klavye Ayarları" -#: ../js/ui/status/bluetooth.js:271 +#: ../js/ui/status/bluetooth.js:249 msgid "Mouse Settings" msgstr "Fare Ayarları" -#: ../js/ui/status/bluetooth.js:276 ../js/ui/status/volume.js:58 +#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316 msgid "Sound Settings" msgstr "Ses Ayarları" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:322 #, c-format msgid "Authorization request from %s" msgstr "%s 'den yetkilendirme isteği" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:328 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "%s aygıtı '%s' hizmetine erişmek istiyor" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:330 msgid "Always grant access" msgstr "Her zaman erişim izni ver" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:331 msgid "Grant this time only" msgstr "Sadece bu seferlik izin ver" -#: ../js/ui/status/bluetooth.js:382 ../js/ui/telepathyClient.js:1168 +#: ../js/ui/status/bluetooth.js:332 msgid "Reject" msgstr "Reddet" -#: ../js/ui/status/bluetooth.js:408 +#. Translators: argument is the device short name +#: ../js/ui/status/bluetooth.js:359 #, c-format msgid "Pairing confirmation for %s" msgstr "%s için eşleşme onayı" -#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396 #, c-format msgid "Device %s wants to pair with this computer" msgstr "%s aygıtı bu bilgisayarla eşleşmek istiyor" -#: ../js/ui/status/bluetooth.js:415 +#: ../js/ui/status/bluetooth.js:366 #, c-format -msgid "Please confirm whether the PIN '%s' matches the one on the device." -msgstr "Lütfen '%s' PIN numarasının aygıtla aynı olduğunu doğrulayın." +msgid "Please confirm whether the PIN '%06d' matches the one on the device." +msgstr "Lütfen '%06d' PIN numarasının aygıttakiyle aynı olduğunu doğrulayın." -#: ../js/ui/status/bluetooth.js:417 +#. Translators: this is the verb, not the noun +#: ../js/ui/status/bluetooth.js:369 msgid "Matches" msgstr "Eşleşiyor" -#: ../js/ui/status/bluetooth.js:418 +#: ../js/ui/status/bluetooth.js:370 msgid "Does not match" msgstr "Eşleşmiyor" -#: ../js/ui/status/bluetooth.js:437 +#: ../js/ui/status/bluetooth.js:389 #, c-format msgid "Pairing request for %s" msgstr "%s için eşleşme isteği" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:397 msgid "Please enter the PIN mentioned on the device." msgstr "Lütfen cihazdaki PIN numarasını girin." -#: ../js/ui/status/bluetooth.js:461 +#: ../js/ui/status/bluetooth.js:414 msgid "OK" msgstr "TAMAM" -#: ../js/ui/status/keyboard.js:68 +#: ../js/ui/status/keyboard.js:368 msgid "Show Keyboard Layout" msgstr "Klavye Düzenini Göster" -#: ../js/ui/status/keyboard.js:73 -msgid "Region and Language Settings" +#: ../js/ui/status/keyboard.js:373 +msgid "Region & Language Settings" msgstr "Bölge ve Dil Ayarları" -#: ../js/ui/status/network.js:96 +#: ../js/ui/status/lockScreenMenu.js:43 +msgid "Volume, network, battery" +msgstr "Ses, ağ, pil" + +#: ../js/ui/status/network.js:104 msgid "" msgstr "" #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch -#: ../js/ui/status/network.js:277 +#: ../js/ui/status/network.js:200 msgid "disabled" msgstr "devre dışı" #. Translators: this is for network devices that are physically present but are not #. under NetworkManager's control (and thus cannot be used in the menu) -#: ../js/ui/status/network.js:488 +#: ../js/ui/status/network.js:458 msgid "unmanaged" msgstr "yönetilmeyen" #. Translators: this is for network connections that require some kind of key or password -#: ../js/ui/status/network.js:499 +#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1549 msgid "authentication required" msgstr "kimlik doğrulaması gerekli" #. Translators: this is for devices that require some kind of firmware or kernel #. module, which is missing -#: ../js/ui/status/network.js:509 +#: ../js/ui/status/network.js:479 msgid "firmware missing" msgstr "ürün bilgisi eksik" #. Translators: this is for wired network devices that are physically disconnected -#: ../js/ui/status/network.js:516 +#: ../js/ui/status/network.js:486 msgid "cable unplugged" msgstr "kablo takılı değil" #. Translators: this is for a network device that cannot be activated (for example it #. is disabled by rfkill, or it has no coverage -#: ../js/ui/status/network.js:521 +#: ../js/ui/status/network.js:491 msgid "unavailable" msgstr "ulaşılamaz" -#: ../js/ui/status/network.js:523 +#: ../js/ui/status/network.js:493 ../js/ui/status/network.js:1551 msgid "connection failed" msgstr "bağlantı başarısız" -#: ../js/ui/status/network.js:584 ../js/ui/status/network.js:1504 -msgid "More..." -msgstr "Daha..." +#: ../js/ui/status/network.js:552 ../js/ui/status/network.js:1435 +#: ../js/ui/status/network.js:1627 +msgid "More…" +msgstr "Daha…" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) -#: ../js/ui/status/network.js:620 ../js/ui/status/network.js:1439 +#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1365 msgid "Connected (private)" msgstr "Bağlı (özel)" -#: ../js/ui/status/network.js:695 +#: ../js/ui/status/network.js:667 +msgid "Wired" +msgstr "Kablolu" + +#: ../js/ui/status/network.js:668 msgid "Auto Ethernet" msgstr "Otomatik Kablolu Ağ Bağlantısı" -#: ../js/ui/status/network.js:756 +#: ../js/ui/status/network.js:695 +msgid "Mobile broadband" +msgstr "Mobil geniş bant" + +#: ../js/ui/status/network.js:728 msgid "Auto broadband" msgstr "Otomatik Genişbant Bağlantısı" -#: ../js/ui/status/network.js:759 +#: ../js/ui/status/network.js:731 msgid "Auto dial-up" msgstr "Otomatik Çevirmeli Bağlantı" #. TRANSLATORS: this the automatic wireless connection name (including the network name) -#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1451 +#: ../js/ui/status/network.js:861 ../js/ui/status/network.js:1382 #, c-format msgid "Auto %s" msgstr "Otomatik %s" -#: ../js/ui/status/network.js:880 +#: ../js/ui/status/network.js:863 msgid "Auto bluetooth" msgstr "Otomatik Bluetooth" -#: ../js/ui/status/network.js:1453 +#: ../js/ui/status/network.js:1384 msgid "Auto wireless" msgstr "Otomatik Kablosuz Ağ Bağlantısı" -#: ../js/ui/status/network.js:1547 +#: ../js/ui/status/network.js:1729 msgid "Enable networking" msgstr "Ağı etkinleştir" -#: ../js/ui/status/network.js:1559 -msgid "Wired" -msgstr "Kablolu" - -#: ../js/ui/status/network.js:1570 -msgid "Wireless" -msgstr "Kablosuz" - -#: ../js/ui/status/network.js:1580 -msgid "Mobile broadband" -msgstr "Mobil geniş bant" - -#: ../js/ui/status/network.js:1590 -msgid "VPN Connections" -msgstr "VPN Bağlantıları" +#: ../js/ui/status/network.js:1771 +msgid "Wi-Fi" +msgstr "Wi-Fi" -#: ../js/ui/status/network.js:1601 +#: ../js/ui/status/network.js:1790 msgid "Network Settings" msgstr "Ağ Ayarları" -#: ../js/ui/status/network.js:1738 +#: ../js/ui/status/network.js:1807 +msgid "Network Manager" +msgstr "Ağ Yöneticisi" + +#: ../js/ui/status/network.js:1897 msgid "Connection failed" msgstr "Bağlantı başarısız oldu" -#: ../js/ui/status/network.js:1739 +#: ../js/ui/status/network.js:1898 msgid "Activation of network connection failed" msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu" -#: ../js/ui/status/network.js:1989 +#: ../js/ui/status/network.js:2276 msgid "Networking is disabled" msgstr "Ağ bağlantısı devre dışı" -#: ../js/ui/status/network.js:2113 -msgid "Network Manager" -msgstr "Ağ Yöneticisi" +#: ../js/ui/status/power.js:55 +msgid "Battery" +msgstr "Pil" -#: ../js/ui/status/power.js:77 +#: ../js/ui/status/power.js:81 msgid "Power Settings" msgstr "Güç Ayarları" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:98 -msgid "Estimating..." -msgstr "Tahmin ediliyor..." +#: ../js/ui/status/power.js:99 +msgid "Estimating…" +msgstr "Tahmin ediliyor…" -#: ../js/ui/status/power.js:105 +#: ../js/ui/status/power.js:106 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "%d saat kaldı" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:108 +#: ../js/ui/status/power.js:109 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s kaldı" -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "hour" msgid_plural "hours" msgstr[0] "saat" -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "minute" msgid_plural "minutes" msgstr[0] "dakika" -#: ../js/ui/status/power.js:113 +#: ../js/ui/status/power.js:114 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d dakika kaldı" -#: ../js/ui/status/power.js:116 ../js/ui/status/power.js:186 +#: ../js/ui/status/power.js:117 ../js/ui/status/power.js:191 #, c-format msgctxt "percent of battery remaining" msgid "%d%%" msgstr "%%%d" -#: ../js/ui/status/power.js:193 -msgid "AC adapter" -msgstr "AC adaptörü" - -#: ../js/ui/status/power.js:195 -msgid "Laptop battery" -msgstr "Dizüstü pili" +#: ../js/ui/status/power.js:201 +msgid "AC Adapter" +msgstr "AC Adaptörü" + +#: ../js/ui/status/power.js:203 +msgid "Laptop Battery" +msgstr "Dizüstü Pili" -#: ../js/ui/status/power.js:197 +#: ../js/ui/status/power.js:205 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:199 +#: ../js/ui/status/power.js:207 msgid "Monitor" msgstr "Monitör" -#: ../js/ui/status/power.js:201 +#: ../js/ui/status/power.js:209 msgid "Mouse" msgstr "Fare" -#: ../js/ui/status/power.js:205 +#: ../js/ui/status/power.js:213 msgid "PDA" msgstr "Cep Bilgisayarı" -#: ../js/ui/status/power.js:207 -msgid "Cell phone" -msgstr "Cep telefonu" - -#: ../js/ui/status/power.js:209 -msgid "Media player" -msgstr "Ortam oynatıcısı" +#: ../js/ui/status/power.js:215 +msgid "Cell Phone" +msgstr "Cep Telefonu" + +#: ../js/ui/status/power.js:217 +msgid "Media Player" +msgstr "Ortam Oynatıcısı" -#: ../js/ui/status/power.js:211 +#: ../js/ui/status/power.js:219 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:213 +#: ../js/ui/status/power.js:221 msgid "Computer" msgstr "Bilgisayar" -#: ../js/ui/status/volume.js:38 +#: ../js/ui/status/power.js:223 +msgctxt "device" +msgid "Unknown" +msgstr "Bilinmeyen" + +#: ../js/ui/status/volume.js:124 +msgid "Volume changed" +msgstr "Ses değişti" + +#. Translators: This is the label for audio volume +#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297 msgid "Volume" msgstr "Ses" -#: ../js/ui/status/volume.js:50 +#: ../js/ui/status/volume.js:258 msgid "Microphone" msgstr "Mikrofon" -#. We got the TpContact -#. FIXME: We don't have a 'chat room' icon (bgo #653737) use -#. system-users for now as Empathy does. -#: ../js/ui/telepathyClient.js:267 -msgid "Invitation" -msgstr "Davet" +#: ../js/ui/unlockDialog.js:125 +msgid "Log in as another user" +msgstr "Başka kullanıcı olarak oturum aç" + +#: ../js/ui/unlockDialog.js:146 +msgid "Unlock Window" +msgstr "Kilit Açma Penceresi" -#. We got the TpContact -#: ../js/ui/telepathyClient.js:335 -msgid "Call" -msgstr "Çağrı" +#: ../js/ui/userMenu.js:193 +msgid "Available" +msgstr "Ulaşılabilir" -#. We got the TpContact -#: ../js/ui/telepathyClient.js:365 -msgid "File Transfer" -msgstr "Dosya Aktarımı" +#: ../js/ui/userMenu.js:196 +msgid "Busy" +msgstr "Meşgul" -#: ../js/ui/telepathyClient.js:446 -msgid "Subscription request" -msgstr "Abonelik talebi" +#: ../js/ui/userMenu.js:199 +msgid "Invisible" +msgstr "Görünmez" -#: ../js/ui/telepathyClient.js:482 -msgid "Connection error" -msgstr "Bağlantı hatası" +#: ../js/ui/userMenu.js:202 +msgid "Away" +msgstr "Uzakta" -#: ../js/ui/telepathyClient.js:740 -#, c-format -msgid "%s is online." -msgstr "%s çevrimiçi." +#: ../js/ui/userMenu.js:205 +msgid "Idle" +msgstr "Boşta" -#: ../js/ui/telepathyClient.js:745 -#, c-format -msgid "%s is offline." -msgstr "%s çevrimdışı." +#: ../js/ui/userMenu.js:208 +msgid "Offline" +msgstr "Çevrimdışı" -#: ../js/ui/telepathyClient.js:748 -#, c-format -msgid "%s is away." -msgstr "%s uzakta." +#: ../js/ui/userMenu.js:781 +msgid "Notifications" +msgstr "Bildirimler" -#: ../js/ui/telepathyClient.js:751 -#, c-format -msgid "%s is busy." -msgstr "%s meşgul." +#: ../js/ui/userMenu.js:797 +msgid "Switch User" +msgstr "Kullanıcı Değiştir" -#. Translators: this is a time format string followed by a date. -#. If applicable, replace %X with a strftime format valid for your -#. locale, without seconds. -#: ../js/ui/telepathyClient.js:964 -#, no-c-format -#| msgid "Sent at %X on %A" -msgid "Sent at %X on %A" -msgstr "%A tarihinde saat %X'de gönderildi" - -#. Translators: this is a time format in the style of "Wednesday, May 25", -#. shown when you get a chat message in the same year. -#: ../js/ui/telepathyClient.js:970 -#, no-c-format -msgid "Sent on %A, %B %d" +#: ../js/ui/userMenu.js:802 +msgid "Log Out" +msgstr "Oturumu Kapat" + +#: ../js/ui/userMenu.js:822 +msgid "Install Updates & Restart" +msgstr "Güncelleştirmeleri Kur ve Yeniden Başlat" + +#: ../js/ui/userMenu.js:840 +msgid "Your chat status will be set to busy" +msgstr "Sohbet durumunuz meşgul olarak ayarlanacak" + +#: ../js/ui/userMenu.js:841 +msgid "" +"Notifications are now disabled, including chat messages. Your online status " +"has been adjusted to let others know that you might not see their messages." msgstr "" +"Sohbet mesajları da dahil, bildirimler kapatıldı. Diğer kullanıcılara meşgul " +"olduğunuz bildirildi ve mesajlarını göremeyebileceğinizi biliyorlar." -#. Translators: this is a time format in the style of "Wednesday, May 25, 2012", -#. shown when you get a chat message in a different year. -#: ../js/ui/telepathyClient.js:975 -#, no-c-format -msgid "Sent on %A, %B %d, %Y" +#: ../js/ui/userMenu.js:888 +msgid "Other users are logged in." +msgstr "Diğer kullanıcılar oturum açmış" + +#: ../js/ui/userMenu.js:893 +msgid "Shutting down might cause them to lose unsaved work." msgstr "" +"Sistemi kapatmak onların kaydedilmemiş verilerini kaybetlerine sebep " +"olabilir." -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: ../js/ui/telepathyClient.js:1017 +#. Translators: Remote here refers to a remote session, like a ssh login +#: ../js/ui/userMenu.js:921 #, c-format -msgid "%s is now known as %s" -msgstr "%s, şimdi %s olarak biliniyor" +msgid "%s (remote)" +msgstr "%s (uzak)" -#. translators: argument is a room name like -#. * room@jabber.org for example. -#: ../js/ui/telepathyClient.js:1119 +#. Translators: Console here refers to a tty like a VT console +#: ../js/ui/userMenu.js:924 #, c-format -msgid "Invitation to %s" -msgstr "%s'e Davet" +msgid "%s (console)" +msgstr "%s (uçbirim)" -#. translators: first argument is the name of a contact and the second -#. * one the name of a room. "Alice is inviting you to join room@jabber.org -#. * for example. -#: ../js/ui/telepathyClient.js:1127 -#, c-format -msgid "%s is inviting you to join %s" -msgstr "%s, sizi %s'e katılmanız için davet ediyor" +#: ../js/ui/viewSelector.js:100 +msgid "Applications" +msgstr "Uygulamalar" -#: ../js/ui/telepathyClient.js:1129 ../js/ui/telepathyClient.js:1209 -#: ../js/ui/telepathyClient.js:1307 -msgid "Decline" -msgstr "Reddet" +#: ../js/ui/viewSelector.js:104 +msgid "Search" +msgstr "Ara" -#: ../js/ui/telepathyClient.js:1130 ../js/ui/telepathyClient.js:1210 -#: ../js/ui/telepathyClient.js:1308 -msgid "Accept" -msgstr "Kabul Et" +#: ../js/ui/wanda.js:77 +#, c-format +msgid "" +"Sorry, no wisdom for you today:\n" +"%s" +msgstr "" -#. translators: argument is a contact name like Alice for example. -#: ../js/ui/telepathyClient.js:1160 +#: ../js/ui/wanda.js:81 #, c-format -msgid "Video call from %s" -msgstr "%s'den görüntülü arama" +msgid "%s the Oracle says" +msgstr "" -#. translators: argument is a contact name like Alice for example. -#: ../js/ui/telepathyClient.js:1163 +#: ../js/ui/windowAttentionHandler.js:19 #, c-format -msgid "Call from %s" -msgstr "%s'den çağrı" +msgid "'%s' is ready" +msgstr "'%s' hazır" -#. translators: this is a button label (verb), not a noun -#: ../js/ui/telepathyClient.js:1170 -msgid "Answer" -msgstr "Cevapla" +#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 +msgid "Evolution Calendar" +msgstr "Evolution Takvim" -#. To translators: The first parameter is -#. * the contact's alias and the second one is the -#. * file name. The string will be something -#. * like: "Alice is sending you test.ogg" -#. -#: ../js/ui/telepathyClient.js:1203 +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1837 #, c-format -msgid "%s is sending you %s" -msgstr "%s, size %s dosyasını gönderiyor" +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u Çıktı" -#. To translators: The parameter is the contact's alias -#: ../js/ui/telepathyClient.js:1272 +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1847 #, c-format -msgid "%s would like permission to see when you are online" -msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor" +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u Girdi" -#: ../js/ui/telepathyClient.js:1365 -#| msgid "Network Manager" -msgid "Network error" -msgstr "Ağ hatası" +#: ../src/gvc/gvc-mixer-control.c:2371 +msgid "System Sounds" +msgstr "Sistem Sesleri" -#: ../js/ui/telepathyClient.js:1367 -#| msgid "Authentication Required" -msgid "Authentication failed" -msgstr "Kimlik doğrulama başarısız" +#: ../src/main.c:347 +msgid "Print version" +msgstr "Sürümü yazdır" -#: ../js/ui/telepathyClient.js:1369 -msgid "Encryption error" -msgstr "Şifreleme hatası" +#: ../src/main.c:353 +msgid "Mode used by GDM for login screen" +msgstr "Oturum açma ekranında GDM tarafından kullanılan kip" -#: ../js/ui/telepathyClient.js:1371 -msgid "Certificate not provided" -msgstr "Sertifika sağlanmamış" +#: ../src/main.c:359 +msgid "Use a specific mode, e.g. \"gdm\" for login screen" +msgstr "Oturum açma için -\"gdm\" gibi- özel bir kip kullan" + +#: ../src/main.c:365 +msgid "List possible modes" +msgstr "Mevcut kipleri listele" -#: ../js/ui/telepathyClient.js:1373 -msgid "Certificate untrusted" -msgstr "Sertifika güvenilmez" +#: ../src/shell-app.c:626 +#, c-format +msgid "Failed to launch '%s'" +msgstr "'%s' başlatılamadı" -#: ../js/ui/telepathyClient.js:1375 -msgid "Certificate expired" -msgstr "Sertifikanın süresi dolmuş" +#: ../src/shell-keyring-prompt.c:708 +msgid "Passwords do not match." +msgstr "Parolalar eşleşmiyor." + +#: ../src/shell-keyring-prompt.c:716 +msgid "Password cannot be blank" +msgstr "Parola boş bırakılamaz" -#: ../js/ui/telepathyClient.js:1377 -msgid "Certificate not activated" -msgstr "Sertifika etkinleştirilmemiş" +#: ../src/shell-polkit-authentication-agent.c:343 +msgid "Authentication dialog was dismissed by the user" +msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı" -#: ../js/ui/telepathyClient.js:1379 -msgid "Certificate hostname mismatch" -msgstr "Sertifikanın makine adı uyuşmuyor" +#~ msgid "If true, display date in the clock, in addition to time." +#~ msgstr "Doğru ise saatin yanında tarihide göster." -#: ../js/ui/telepathyClient.js:1381 -msgid "Certificate fingerprint mismatch" -msgstr "Sertifikanın parmak izi uyuşmuyor" +#~ msgid "If true, display seconds in time." +#~ msgstr "Doğru ise saatte saniyeyi de göster." -#: ../js/ui/telepathyClient.js:1383 -msgid "Certificate self-signed" -msgstr "Sertifika kendinden-imzalı" +#~ msgid "Show date in clock" +#~ msgstr "Saatte tarihi göster" -#: ../js/ui/telepathyClient.js:1385 -#| msgid "%s is offline." -msgid "Status is set to offline" -msgstr "Durum çevrimdışına ayarlı" +#~ msgid "Show time with seconds" +#~ msgstr "Saati saniye ile birlikte göster" -#: ../js/ui/telepathyClient.js:1387 -msgid "Encryption is not available" -msgstr "Şifreleme kullanılabilir değil" +#~ msgid "disabled OpenSearch providers" +#~ msgstr "OpenSearch sağlayıcıları devre dışı bırakıldı" -#: ../js/ui/telepathyClient.js:1389 -msgid "Certificate is invalid" -msgstr "Sertifika geçersiz" +#~ msgctxt "title" +#~ msgid "Sign In" +#~ msgstr "Oturum Aç" -#: ../js/ui/telepathyClient.js:1391 -#| msgid "Connection established" -msgid "Connection has been refused" -msgstr "Bağlantı reddedildi" +#~ msgid "APPLICATIONS" +#~ msgstr "UYGULAMALAR" -#: ../js/ui/telepathyClient.js:1393 -#| msgid "Connection established" -msgid "Connection can't be established" -msgstr "Bağlantı kurulamıyor" +#~ msgid "SETTINGS" +#~ msgstr "AYARLAR" -#: ../js/ui/telepathyClient.js:1395 -#| msgid "Connection established" -msgid "Connection has been lost" -msgstr "Bağlantı koptu" +#~ msgctxt "event list time" +#~ msgid "%H:%M" +#~ msgstr "%H:%M" -#: ../js/ui/telepathyClient.js:1397 -msgid "This resource is already connected to the server" -msgstr "Bu kaynak zaten sunucuya bağlı" +#~ msgctxt "event list time" +#~ msgid "%l:%M %p" +#~ msgstr "%l:%M %p" -#: ../js/ui/telepathyClient.js:1399 -msgid "" -"Connection has been replaced by a new connection using the same resource" -msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi" +#~ msgid "CONTACTS" +#~ msgstr "BAĞLANTILAR" -#: ../js/ui/telepathyClient.js:1401 -msgid "The account already exists on the server" -msgstr "Sunucuda böyle bir hesap zaten var" +#~ msgid "%a %b %e, %R:%S" +#~ msgstr "%a %b %e, %R:%S" -#: ../js/ui/telepathyClient.js:1403 -msgid "Server is currently too busy to handle the connection" -msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul" +#~ msgid "%a %b %e, %R" +#~ msgstr "%a %b %e, %R" -#: ../js/ui/telepathyClient.js:1405 -msgid "Certificate has been revoked" -msgstr "Sertifika hükümsüz kılınmış" +#~ msgid "%a %R:%S" +#~ msgstr "%a %R:%S" -#: ../js/ui/telepathyClient.js:1407 -msgid "" -"Certificate uses an insecure cipher algorithm or is cryptographically weak" -msgstr "" -"Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik " -"olarak zayıf" +#~ msgid "%a %R" +#~ msgstr "%a %R" -#: ../js/ui/telepathyClient.js:1409 -msgid "" -"The length of the server certificate, or the depth of the server certificate " -"chain, exceed the limits imposed by the cryptography library" -msgstr "" -"Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin derinliği, " -"şifreleme kütüphanesi tarafından koyulan sınırları aşıyor" +#~ msgid "%a %b %e, %l:%M:%S %p" +#~ msgstr "%a %b %e, %l:%M:%S %p" -#. translators: argument is the account name, like -#. * name@jabber.org for example. -#: ../js/ui/telepathyClient.js:1419 -#, c-format -#| msgid "connection failed" -msgid "Connection to %s failed" -msgstr "%s'e bağlantı başarısız" - -#: ../js/ui/telepathyClient.js:1428 -#| msgid "Reject" -msgid "Reconnect" -msgstr "Yeniden Bağlan" - -#: ../js/ui/telepathyClient.js:1429 -#| msgid "My Account" -msgid "Edit account" -msgstr "Hesabı düzenle" +#~ msgid "%a %b %e, %l:%M %p" +#~ msgstr "%a %b %e, %l:%M %p" -#: ../js/ui/telepathyClient.js:1475 -msgid "Unknown reason" -msgstr "Bilinmeyen sebep" +#~ msgid "%a %l:%M:%S %p" +#~ msgstr "%a %l:%M:%S %p" -#: ../js/ui/userMenu.js:133 -msgid "Hidden" -msgstr "Gizli" +#~ msgid "%a %l:%M %p" +#~ msgstr "%a %l:%M %p" -#: ../js/ui/userMenu.js:139 -msgid "Idle" -msgstr "Boşta" +#~ msgid "RECENT ITEMS" +#~ msgstr "SON KULLANILAN BELGELER" -#: ../js/ui/userMenu.js:142 -msgid "Unavailable" -msgstr "Müsait Değil" - -#: ../js/ui/userMenu.js:576 ../js/ui/userMenu.js:580 ../js/ui/userMenu.js:650 -msgid "Power Off..." -msgstr "Kapat..." +#~ msgid "tray" +#~ msgstr "tepsi" -#: ../js/ui/userMenu.js:612 -msgid "Notifications" -msgstr "Bildirimler" +#~ msgid "Failed to unmount '%s'" +#~ msgstr "'%s'i çıkarma başarısız oldu" -#: ../js/ui/userMenu.js:620 -msgid "Online Accounts" -msgstr "Çevrimiçi Hesaplar" - -#: ../js/ui/userMenu.js:624 -msgid "System Settings" -msgstr "Sistem Ayarları" - -#: ../js/ui/userMenu.js:631 -msgid "Lock Screen" -msgstr "Ekranı Kilitle" +#~ msgid "Retry" +#~ msgstr "Tekrar dene" -#: ../js/ui/userMenu.js:636 -msgid "Switch User" -msgstr "Kullanıcı Değiştir" +#~ msgid "Connect to..." +#~ msgstr "Bağlan..." -#: ../js/ui/userMenu.js:641 -msgid "Log Out..." -msgstr "Çıkış..." +#~ msgid "PLACES & DEVICES" +#~ msgstr "YERLER ve AYGITLAR" -#: ../js/ui/userMenu.js:669 -msgid "Your chat status will be set to busy" -msgstr "Sohbet durumunuz meşgul olarak ayarlanacak" +#~ msgid "Wrong password, please try again" +#~ msgstr "Yanlış parola, lütfen tekrar deneyin" -#: ../js/ui/userMenu.js:670 -msgid "" -"Notifications are now disabled, including chat messages. Your online status " -"has been adjusted to let others know that you might not see their messages." -msgstr "" +#~ msgid "Browse Files..." +#~ msgstr "Dosyalara Gözat..." -#. Translators: this is the text displayed -#. in the search entry when no search is -#. active; it should not exceed ~30 -#. characters. -#: ../js/ui/viewSelector.js:113 -msgid "Type to search..." -msgstr "Aramak için buraya yazın..." +#~ msgid "Error browsing device" +#~ msgstr "Aygıta gözatmada hata" -#: ../js/ui/viewSelector.js:131 ../src/shell-util.c:244 -msgid "Search" -msgstr "Ara" +#~ msgid "The requested device cannot be browsed, error is '%s'" +#~ msgstr "İstenen aygıta gözatılamıyor, hata '%s'" -#: ../js/ui/wanda.js:124 -#, c-format -msgid "" -"Sorry, no wisdom for you today:\n" -"%s" -msgstr "" +#~ msgid "More..." +#~ msgstr "Daha..." -#: ../js/ui/wanda.js:128 -#, c-format -msgid "%s the Oracle says" -msgstr "" +#~ msgid "Wireless" +#~ msgstr "Kablosuz" -#: ../js/ui/wanda.js:168 -msgid "Your favorite Easter Egg" -msgstr "" +#~ msgid "VPN Connections" +#~ msgstr "VPN Bağlantıları" -#: ../js/ui/windowAttentionHandler.js:33 -#, c-format -msgid "'%s' is ready" -msgstr "'%s' hazır" +#~ msgid "Subscription request" +#~ msgstr "Abonelik talebi" -#. translators: -#. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1100 -#, c-format -msgid "%u Output" -msgid_plural "%u Outputs" -msgstr[0] "%u Çıktı" +#~ msgid "%s is online." +#~ msgstr "%s çevrimiçi." -#. translators: -#. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1110 -#, c-format -msgid "%u Input" -msgid_plural "%u Inputs" -msgstr[0] "%u Girdi" +#~ msgid "%s is offline." +#~ msgstr "%s çevrimdışı." -#: ../src/gvc/gvc-mixer-control.c:1408 -msgid "System Sounds" -msgstr "Sistem Sesleri" +#~ msgid "%s is away." +#~ msgstr "%s uzakta." -#: ../src/main.c:262 -msgid "Print version" -msgstr "Sürümü yazdır" +#~ msgid "%s is busy." +#~ msgstr "%s meşgul." -#: ../src/main.c:268 -msgid "Mode used by GDM for login screen" -msgstr "Oturum açma ekranında GDM tarafından kullanılan kip" +#~| msgid "connection failed" +#~ msgid "Connection to %s failed" +#~ msgstr "%s'e bağlantı başarısız" -#: ../src/shell-app.c:639 -#, c-format -msgid "Failed to launch '%s'" -msgstr "'%s' başlatılamadı" +#~| msgid "Reject" +#~ msgid "Reconnect" +#~ msgstr "Yeniden Bağlan" -#: ../src/shell-mobile-providers.c:80 -msgid "United Kingdom" -msgstr "Birleşik Krallık" - -#: ../src/shell-mobile-providers.c:526 -msgid "Default" -msgstr "Öntanımlı" +#~ msgid "Hidden" +#~ msgstr "Gizli" -#: ../src/shell-polkit-authentication-agent.c:334 -msgid "Authentication dialog was dismissed by the user" -msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı" +#~ msgid "Unavailable" +#~ msgstr "Müsait Değil" -#. Translators: this is the same string as the one found in -#. * nautilus -#: ../src/shell-util.c:89 -msgid "Home" -msgstr "Başlangıç" - -#. Translators: this is the same string as the one found in -#. * nautilus -#: ../src/shell-util.c:98 -msgid "File System" -msgstr "Dosya Sistemi" - -#. Translators: the first string is the name of a gvfs -#. * method, and the second string is a path. For -#. * example, "Trash: some-directory". It means that the -#. * directory called "some-directory" is in the trash. -#. -#: ../src/shell-util.c:294 -#, c-format -msgid "%1$s: %2$s" -msgstr "%1$s: %2$s" +#~ msgid "Power Off..." +#~ msgstr "Kapat..." + +#~ msgid "Online Accounts" +#~ msgstr "Çevrimiçi Hesaplar" + +#~ msgid "System Settings" +#~ msgstr "Sistem Ayarları" + +#~ msgid "Lock Screen" +#~ msgstr "Ekranı Kilitle" + +#~ msgid "Log Out..." +#~ msgstr "Çıkış..." + +#~ msgid "United Kingdom" +#~ msgstr "Birleşik Krallık" + +#~ msgid "Default" +#~ msgstr "Öntanımlı" + +#~ msgid "Home" +#~ msgstr "Başlangıç" + +#~ msgid "%1$s: %2$s" +#~ msgstr "%1$s: %2$s" #~ msgid "Localization Settings" #~ msgstr "Yerelleştirme Ayarları" diff -Nru gnome-shell-3.8.1/src/shell-enum-types.c gnome-shell-3.8.2/src/shell-enum-types.c --- gnome-shell-3.8.1/src/shell-enum-types.c 2013-03-22 23:43:07.000000000 +0000 +++ gnome-shell-3.8.2/src/shell-enum-types.c 2013-05-13 23:38:09.000000000 +0000 @@ -72,6 +72,7 @@ { SHELL_KEYBINDING_MODE_MESSAGE_TRAY, "SHELL_KEYBINDING_MODE_MESSAGE_TRAY", "message-tray" }, { SHELL_KEYBINDING_MODE_SYSTEM_MODAL, "SHELL_KEYBINDING_MODE_SYSTEM_MODAL", "system-modal" }, { SHELL_KEYBINDING_MODE_LOOKING_GLASS, "SHELL_KEYBINDING_MODE_LOOKING_GLASS", "looking-glass" }, + { SHELL_KEYBINDING_MODE_TOPBAR_POPUP, "SHELL_KEYBINDING_MODE_TOPBAR_POPUP", "topbar-popup" }, { SHELL_KEYBINDING_MODE_ALL, "SHELL_KEYBINDING_MODE_ALL", "all" }, { 0, NULL, NULL } }; diff -Nru gnome-shell-3.8.1/src/shell-keybinding-modes.h gnome-shell-3.8.2/src/shell-keybinding-modes.h --- gnome-shell-3.8.1/src/shell-keybinding-modes.h 2013-03-14 19:02:39.000000000 +0000 +++ gnome-shell-3.8.2/src/shell-keybinding-modes.h 2013-04-30 21:30:42.000000000 +0000 @@ -15,6 +15,8 @@ * @SHELL_KEYBINDING_MODE_SYSTEM_MODAL: allow keybinding when a system modal * dialog (e.g. authentification or session dialogs) is open * @SHELL_KEYBINDING_MODE_LOOKING_GLASS: allow keybinding in looking glass + * @SHELL_KEYBINDING_MODE_TOPBAR_POPUP: allow keybinding while a top bar menu + * is open * @SHELL_KEYBINDING_MODE_ALL: always allow keybinding * * Controls in which GNOME Shell states a keybinding should be handled. @@ -29,6 +31,7 @@ SHELL_KEYBINDING_MODE_MESSAGE_TRAY = 1 << 5, SHELL_KEYBINDING_MODE_SYSTEM_MODAL = 1 << 6, SHELL_KEYBINDING_MODE_LOOKING_GLASS = 1 << 7, + SHELL_KEYBINDING_MODE_TOPBAR_POPUP = 1 << 8, SHELL_KEYBINDING_MODE_ALL = ~0, } ShellKeyBindingMode; diff -Nru gnome-shell-3.8.1/src/shell-keyring-prompt.c gnome-shell-3.8.2/src/shell-keyring-prompt.c --- gnome-shell-3.8.1/src/shell-keyring-prompt.c 2012-10-12 19:19:13.000000000 +0000 +++ gnome-shell-3.8.2/src/shell-keyring-prompt.c 2013-05-10 12:32:10.000000000 +0000 @@ -100,7 +100,6 @@ enum { SIGNAL_SHOW_PASSWORD, SIGNAL_SHOW_CONFIRM, - SIGNAL_HIDE_PROMPT, SIGNAL_LAST }; @@ -258,10 +257,8 @@ { ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (obj); - if (self->shown) { - self->shown = FALSE; - g_signal_emit (self, signals[SIGNAL_HIDE_PROMPT], 0); - } + if (self->shown) + gcr_prompt_close (GCR_PROMPT (self)); if (self->async_result) shell_keyring_prompt_cancel (self); @@ -384,11 +381,6 @@ 0, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - - signals[SIGNAL_HIDE_PROMPT] = g_signal_new ("hide-prompt", G_TYPE_FROM_CLASS (klass), - 0, 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); } static void @@ -483,12 +475,26 @@ } static void +shell_keyring_prompt_close (GcrPrompt *prompt) +{ + ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt); + + /* + * We expect keyring.js to connect to this signal and do the + * actual work of closing the prompt. + */ + + self->shown = FALSE; +} + +static void shell_keyring_prompt_iface (GcrPromptIface *iface) { iface->prompt_password_async = shell_keyring_prompt_password_async; iface->prompt_password_finish = shell_keyring_prompt_password_finish; iface->prompt_confirm_async = shell_keyring_prompt_confirm_async; iface->prompt_confirm_finish = shell_keyring_prompt_confirm_finish; + iface->prompt_close = shell_keyring_prompt_close; } /** @@ -746,9 +752,19 @@ GSimpleAsyncResult *res; g_return_if_fail (SHELL_IS_KEYRING_PROMPT (self)); - g_return_if_fail (self->mode != PROMPTING_NONE); - g_return_if_fail (self->async_result != NULL); + /* + * If cancelled while not prompting, we should just close the prompt, + * the user wants it to go away. + */ + if (self->mode == PROMPTING_NONE) + { + if (self->shown) + gcr_prompt_close (GCR_PROMPT (self)); + return; + } + + g_return_if_fail (self->async_result != NULL); self->last_reply = GCR_PROMPT_REPLY_CANCEL; res = self->async_result; diff -Nru gnome-shell-3.8.1/src/shell-recorder.c gnome-shell-3.8.2/src/shell-recorder.c --- gnome-shell-3.8.1/src/shell-recorder.c 2013-03-22 18:36:23.000000000 +0000 +++ gnome-shell-3.8.2/src/shell-recorder.c 2013-05-10 17:49:41.000000000 +0000 @@ -50,6 +50,8 @@ RecorderState state; ClutterStage *stage; + gboolean custom_area; + cairo_rectangle_int_t area; int stage_width; int stage_height; @@ -66,6 +68,7 @@ CoglHandle recording_icon; /* icon shown while playing */ + gboolean draw_cursor; cairo_surface_t *cursor_image; int cursor_hot_x; int cursor_hot_y; @@ -110,6 +113,8 @@ const char *pipeline); static void recorder_set_file_template (ShellRecorder *recorder, const char *file_template); +static void recorder_set_draw_cursor (ShellRecorder *recorder, + gboolean draw_cursor); static void recorder_pipeline_set_caps (RecorderPipeline *pipeline); static void recorder_pipeline_closed (RecorderPipeline *pipeline); @@ -119,7 +124,8 @@ PROP_STAGE, PROP_FRAMERATE, PROP_PIPELINE, - PROP_FILE_TEMPLATE + PROP_FILE_TEMPLATE, + PROP_DRAW_CURSOR }; G_DEFINE_TYPE(ShellRecorder, shell_recorder, G_TYPE_OBJECT); @@ -273,6 +279,7 @@ recorder->state = RECORDER_STATE_CLOSED; recorder->framerate = DEFAULT_FRAMES_PER_SECOND; + recorder->draw_cursor = TRUE; } static void @@ -429,10 +436,10 @@ /* We don't show a cursor unless the hot spot is in the frame; this * means that sometimes we aren't going to draw a cursor even when * there is a little bit overlapping within the stage */ - if (recorder->pointer_x < 0 || - recorder->pointer_y < 0 || - recorder->pointer_x >= recorder->stage_width || - recorder->pointer_y >= recorder->stage_height) + if (recorder->pointer_x < recorder->area.x || + recorder->pointer_y < recorder->area.y || + recorder->pointer_x >= recorder->area.x + recorder->area.width || + recorder->pointer_y >= recorder->area.y + recorder->area.height) return; if (!recorder->cursor_image) @@ -444,15 +451,15 @@ gst_buffer_map (buffer, &info, GST_MAP_WRITE); surface = cairo_image_surface_create_for_data (info.data, CAIRO_FORMAT_ARGB32, - recorder->stage_width, - recorder->stage_height, - recorder->stage_width * 4); + recorder->area.width, + recorder->area.height, + recorder->area.width * 4); cr = cairo_create (surface); cairo_set_source_surface (cr, recorder->cursor_image, - recorder->pointer_x - recorder->cursor_hot_x, - recorder->pointer_y - recorder->cursor_hot_y); + recorder->pointer_x - recorder->cursor_hot_x - recorder->area.x, + recorder->pointer_y - recorder->cursor_hot_y - recorder->area.y); cairo_paint (cr); cairo_destroy (cr); @@ -555,12 +562,13 @@ recorder->last_frame_time = now; - size = recorder->stage_width * recorder->stage_height * 4; + size = recorder->area.width * recorder->area.height * 4; - data = g_malloc (recorder->stage_width * 4 * recorder->stage_height); - cogl_read_pixels (0, 0, /* x/y */ - recorder->stage_width, - recorder->stage_height, + data = g_malloc (recorder->area.width * 4 * recorder->area.height); + cogl_read_pixels (recorder->area.x, + recorder->area.y, + recorder->area.width, + recorder->area.height, COGL_READ_PIXELS_COLOR_BUFFER, CLUTTER_CAIRO_FORMAT_ARGB32, data); @@ -572,7 +580,8 @@ GST_BUFFER_PTS(buffer) = now - recorder->start_time; - recorder_draw_cursor (recorder, buffer); + if (recorder->draw_cursor) + recorder_draw_cursor (recorder, buffer); shell_recorder_src_add_buffer (SHELL_RECORDER_SRC (recorder->current_pipeline->src), buffer); gst_buffer_unref (buffer); @@ -616,6 +625,14 @@ clutter_actor_get_allocation_box (CLUTTER_ACTOR (recorder->stage), &allocation); recorder->stage_width = (int)(0.5 + allocation.x2 - allocation.x1); recorder->stage_height = (int)(0.5 + allocation.y2 - allocation.y1); + + if (!recorder->custom_area) + { + recorder->area.x = 0; + recorder->area.y = 0; + recorder->area.width = recorder->stage_width; + recorder->area.height = recorder->stage_height; + } } static void @@ -1007,6 +1024,18 @@ } static void +recorder_set_draw_cursor (ShellRecorder *recorder, + gboolean draw_cursor) +{ + if (draw_cursor == recorder->draw_cursor) + return; + + recorder->draw_cursor = draw_cursor; + + g_object_notify (G_OBJECT (recorder), "draw-cursor"); +} + +static void shell_recorder_set_property (GObject *object, guint prop_id, const GValue *value, @@ -1028,6 +1057,9 @@ case PROP_FILE_TEMPLATE: recorder_set_file_template (recorder, g_value_get_string (value)); break; + case PROP_DRAW_CURSOR: + recorder_set_draw_cursor (recorder, g_value_get_boolean (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1056,6 +1088,9 @@ case PROP_FILE_TEMPLATE: g_value_set_string (value, recorder->file_template); break; + case PROP_DRAW_CURSOR: + g_value_set_boolean (value, recorder->draw_cursor); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1104,6 +1139,14 @@ "The filename template to use for output files", NULL, G_PARAM_READWRITE)); + + g_object_class_install_property (gobject_class, + PROP_DRAW_CURSOR, + g_param_spec_boolean ("draw-cursor", + "Draw Cursor", + "Whether to record the cursor", + TRUE, + G_PARAM_READWRITE)); } /* Sets the GstCaps (video format, in this case) on the stream @@ -1126,8 +1169,8 @@ "bpp", G_TYPE_INT, 32, "depth", G_TYPE_INT, 24, "framerate", GST_TYPE_FRACTION, pipeline->recorder->framerate, 1, - "width", G_TYPE_INT, pipeline->recorder->stage_width, - "height", G_TYPE_INT, pipeline->recorder->stage_height, + "width", G_TYPE_INT, pipeline->recorder->area.width, + "height", G_TYPE_INT, pipeline->recorder->area.height, NULL); g_object_set (pipeline->src, "caps", caps, NULL); gst_caps_unref (caps); @@ -1678,6 +1721,15 @@ } +void +shell_recorder_set_draw_cursor (ShellRecorder *recorder, + gboolean draw_cursor) +{ + g_return_if_fail (SHELL_IS_RECORDER (recorder)); + + recorder_set_draw_cursor (recorder, draw_cursor); +} + /** * shell_recorder_set_pipeline: * @recorder: the #ShellRecorder @@ -1705,9 +1757,35 @@ recorder_set_pipeline (recorder, pipeline); } +void +shell_recorder_set_area (ShellRecorder *recorder, + int x, + int y, + int width, + int height) +{ + g_return_if_fail (SHELL_IS_RECORDER (recorder)); + + recorder->custom_area = TRUE; + recorder->area.x = CLAMP (x, 0, recorder->stage_width); + recorder->area.y = CLAMP (y, 0, recorder->stage_height); + recorder->area.width = CLAMP (width, + 0, recorder->stage_width - recorder->area.x); + recorder->area.height = CLAMP (height, + 0, recorder->stage_height - recorder->area.y); + + /* This breaks the recording but tweaking the GStreamer pipeline a bit + * might make it work, at least if the codec can handle a stream where + * the frame size changes in the middle. + */ + if (recorder->current_pipeline) + recorder_pipeline_set_caps (recorder->current_pipeline); +} + /** * shell_recorder_record: * @recorder: the #ShellRecorder + * @filename_used: (out) (allow-none): actual filename used for recording * * Starts recording, Starting the recording may fail if the output file * cannot be opened, or if the output stream cannot be created @@ -1724,7 +1802,8 @@ * Return value: %TRUE if recording was succesfully started */ gboolean -shell_recorder_record (ShellRecorder *recorder) +shell_recorder_record (ShellRecorder *recorder, + char **filename_used) { g_return_val_if_fail (SHELL_IS_RECORDER (recorder), FALSE); g_return_val_if_fail (recorder->stage != NULL, FALSE); @@ -1733,6 +1812,9 @@ if (!recorder_open_pipeline (recorder)) return FALSE; + if (filename_used) + *filename_used = g_strdup (recorder->current_pipeline->filename); + recorder_connect_stage_callbacks (recorder); recorder->start_time = get_wall_time(); diff -Nru gnome-shell-3.8.1/src/shell-recorder.h gnome-shell-3.8.2/src/shell-recorder.h --- gnome-shell-3.8.1/src/shell-recorder.h 2013-03-14 19:02:39.000000000 +0000 +++ gnome-shell-3.8.2/src/shell-recorder.h 2013-05-10 17:49:41.000000000 +0000 @@ -36,7 +36,15 @@ const char *file_template); void shell_recorder_set_pipeline (ShellRecorder *recorder, const char *pipeline); -gboolean shell_recorder_record (ShellRecorder *recorder); +void shell_recorder_set_draw_cursor (ShellRecorder *recorder, + gboolean draw_cursor); +void shell_recorder_set_area (ShellRecorder *recorder, + int x, + int y, + int width, + int height); +gboolean shell_recorder_record (ShellRecorder *recorder, + char **filename_used); void shell_recorder_close (ShellRecorder *recorder); void shell_recorder_pause (ShellRecorder *recorder); gboolean shell_recorder_is_recording (ShellRecorder *recorder); diff -Nru gnome-shell-3.8.1/src/st/st-entry.c gnome-shell-3.8.2/src/st/st-entry.c --- gnome-shell-3.8.1/src/st/st-entry.c 2013-04-16 17:10:45.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-entry.c 2013-05-13 22:43:47.000000000 +0000 @@ -82,6 +82,8 @@ PROP_CLUTTER_TEXT, PROP_HINT_TEXT, PROP_TEXT, + PROP_INPUT_PURPOSE, + PROP_INPUT_HINTS, }; /* signals */ @@ -136,6 +138,14 @@ st_entry_set_text (entry, g_value_get_string (value)); break; + case PROP_INPUT_PURPOSE: + st_entry_set_input_purpose (entry, g_value_get_enum (value)); + break; + + case PROP_INPUT_HINTS: + st_entry_set_input_hints (entry, g_value_get_flags (value)); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); break; @@ -164,6 +174,14 @@ g_value_set_string (value, clutter_text_get_text (CLUTTER_TEXT (priv->entry))); break; + case PROP_INPUT_PURPOSE: + g_value_set_enum (value, st_im_text_get_input_purpose (ST_IM_TEXT (priv->entry))); + break; + + case PROP_INPUT_HINTS: + g_value_set_flags (value, st_im_text_get_input_hints (ST_IM_TEXT (priv->entry))); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); break; @@ -759,6 +777,26 @@ NULL, G_PARAM_READWRITE); g_object_class_install_property (gobject_class, PROP_TEXT, pspec); + pspec = g_param_spec_enum ("input-purpose", + "Purpose", + "Purpose of the text field", + GTK_TYPE_INPUT_PURPOSE, + GTK_INPUT_PURPOSE_FREE_FORM, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (gobject_class, + PROP_INPUT_PURPOSE, + pspec); + + pspec = g_param_spec_flags ("input-hints", + "hints", + "Hints for the text field behaviour", + GTK_TYPE_INPUT_HINTS, + GTK_INPUT_HINT_NONE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (gobject_class, + PROP_INPUT_HINTS, + pspec); + /* signals */ /** * StEntry::primary-icon-clicked: @@ -966,6 +1004,87 @@ return entry->priv->hint; } +/** + * st_entry_set_input_purpose: + * @entry: a #StEntry + * @purpose: the purpose + * + * Sets the #StEntry:input-purpose property which + * can be used by on-screen keyboards and other input + * methods to adjust their behaviour. + */ +void +st_entry_set_input_purpose (StEntry *entry, + GtkInputPurpose purpose) +{ + StIMText *imtext; + + g_return_if_fail (ST_IS_ENTRY (entry)); + + imtext = ST_IM_TEXT (entry->priv->entry); + + if (st_im_text_get_input_purpose (imtext) != purpose) + { + st_im_text_set_input_purpose (imtext, purpose); + + g_object_notify (G_OBJECT (entry), "input-purpose"); + } +} + +/** + * st_entry_get_input_purpose: + * @entry: a #StEntry + * + * Gets the value of the #StEntry:input-purpose property. + */ +GtkInputPurpose +st_entry_get_input_purpose (StEntry *entry) +{ + g_return_val_if_fail (ST_IS_ENTRY (entry), GTK_INPUT_PURPOSE_FREE_FORM); + + return st_im_text_get_input_purpose (ST_IM_TEXT (entry->priv->entry)); +} + +/** + * st_entry_set_input_hints: + * @entry: a #StEntry + * @hints: the hints + * + * Sets the #StEntry:input-hints property, which + * allows input methods to fine-tune their behaviour. + */ +void +st_entry_set_input_hints (StEntry *entry, + GtkInputHints hints) +{ + StIMText *imtext; + + g_return_if_fail (ST_IS_ENTRY (entry)); + + imtext = ST_IM_TEXT (entry->priv->entry); + + if (st_im_text_get_input_hints (imtext) != hints) + { + st_im_text_set_input_hints (imtext, hints); + + g_object_notify (G_OBJECT (entry), "input-hints"); + } +} + +/** + * st_entry_get_input_hints: + * @entry: a #StEntry + * + * Gets the value of the #StEntry:input-hints property. + */ +GtkInputHints +st_entry_get_input_hints (StEntry *entry) +{ + g_return_val_if_fail (ST_IS_ENTRY (entry), GTK_INPUT_HINT_NONE); + + return st_im_text_get_input_hints (ST_IM_TEXT (entry->priv->entry)); +} + static gboolean _st_entry_icon_press_cb (ClutterActor *actor, ClutterButtonEvent *event, diff -Nru gnome-shell-3.8.1/src/st/st-entry.h gnome-shell-3.8.2/src/st/st-entry.h --- gnome-shell-3.8.1/src/st/st-entry.h 2012-10-12 19:19:13.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-entry.h 2013-05-13 22:43:47.000000000 +0000 @@ -64,20 +64,27 @@ GType st_entry_get_type (void) G_GNUC_CONST; -StWidget * st_entry_new (const gchar *text); -const gchar * st_entry_get_text (StEntry *entry); -void st_entry_set_text (StEntry *entry, - const gchar *text); -ClutterActor* st_entry_get_clutter_text (StEntry *entry); - -void st_entry_set_hint_text (StEntry *entry, - const gchar *text); -const gchar * st_entry_get_hint_text (StEntry *entry); - -void st_entry_set_primary_icon (StEntry *entry, - ClutterActor *icon); -void st_entry_set_secondary_icon (StEntry *entry, - ClutterActor *icon); +StWidget *st_entry_new (const gchar *text); +const gchar *st_entry_get_text (StEntry *entry); +void st_entry_set_text (StEntry *entry, + const gchar *text); +ClutterActor *st_entry_get_clutter_text (StEntry *entry); + +void st_entry_set_hint_text (StEntry *entry, + const gchar *text); +const gchar *st_entry_get_hint_text (StEntry *entry); + +void st_entry_set_input_purpose (StEntry *entry, + GtkInputPurpose purpose); +GtkInputPurpose st_entry_get_input_purpose (StEntry *entry); +void st_entry_set_input_hints (StEntry *entry, + GtkInputHints hints); +GtkInputHints st_entry_get_input_hints (StEntry *entry); + +void st_entry_set_primary_icon (StEntry *entry, + ClutterActor *icon); +void st_entry_set_secondary_icon (StEntry *entry, + ClutterActor *icon); G_END_DECLS diff -Nru gnome-shell-3.8.1/src/st/st-icon.c gnome-shell-3.8.2/src/st/st-icon.c --- gnome-shell-3.8.1/src/st/st-icon.c 2013-04-16 17:10:45.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-icon.c 2013-05-13 22:43:35.000000000 +0000 @@ -249,11 +249,6 @@ clutter_actor_get_allocation_box (priv->icon_texture, &allocation); clutter_actor_box_get_size (&allocation, &width, &height); - allocation.x1 = (width - priv->shadow_width) / 2; - allocation.y1 = (height - priv->shadow_height) / 2; - allocation.x2 = allocation.x1 + priv->shadow_width; - allocation.y2 = allocation.y1 + priv->shadow_height; - _st_paint_shadow_with_opacity (priv->shadow_spec, priv->shadow_material, &allocation, @@ -410,8 +405,8 @@ st_icon_update_shadow_material (icon); /* "pixbuf-change" is actually a misnomer for "texture-changed" */ - g_signal_connect (priv->icon_texture, "pixbuf-change", - G_CALLBACK (on_pixbuf_changed), icon); + g_signal_connect_object (priv->icon_texture, "pixbuf-change", + G_CALLBACK (on_pixbuf_changed), icon, 0); } } @@ -469,7 +464,7 @@ else { /* Will be shown when fully loaded */ - priv->opacity_handler_id = g_signal_connect (priv->pending_texture, "notify::opacity", G_CALLBACK (opacity_changed_cb), icon); + priv->opacity_handler_id = g_signal_connect_object (priv->pending_texture, "notify::opacity", G_CALLBACK (opacity_changed_cb), icon, 0); } } else if (priv->icon_texture) diff -Nru gnome-shell-3.8.1/src/st/st-im-text.c gnome-shell-3.8.2/src/st/st-im-text.c --- gnome-shell-3.8.1/src/st/st-im-text.c 2013-04-16 15:30:46.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-im-text.c 2013-05-13 22:43:47.000000000 +0000 @@ -50,6 +50,15 @@ #include "st-im-text.h" +/* properties */ +enum +{ + PROP_0, + + PROP_INPUT_PURPOSE, + PROP_INPUT_HINTS, +}; + #define ST_IM_TEXT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ST_TYPE_IM_TEXT, StIMTextPrivate)) @@ -405,15 +414,66 @@ } static void +st_im_text_set_property (GObject *gobject, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + StIMText *imtext = ST_IM_TEXT (gobject); + + switch (prop_id) + { + case PROP_INPUT_PURPOSE: + st_im_text_set_input_purpose (imtext, g_value_get_enum (value)); + break; + + case PROP_INPUT_HINTS: + st_im_text_set_input_hints (imtext, g_value_get_flags (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } +} + +static void +st_im_text_get_property (GObject *gobject, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + StIMText *imtext = ST_IM_TEXT (gobject); + + switch (prop_id) + { + case PROP_INPUT_PURPOSE: + g_value_set_enum (value, st_im_text_get_input_purpose (imtext)); + break; + + case PROP_INPUT_HINTS: + g_value_set_flags (value, st_im_text_get_input_hints (imtext)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } +} + +static void st_im_text_class_init (StIMTextClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); ClutterTextClass *text_class = CLUTTER_TEXT_CLASS (klass); + GParamSpec *pspec; g_type_class_add_private (klass, sizeof (StIMTextPrivate)); object_class->dispose = st_im_text_dispose; + object_class->set_property = st_im_text_set_property; + object_class->get_property = st_im_text_get_property; actor_class->get_paint_volume = st_im_text_get_paint_volume; actor_class->realize = st_im_text_realize; @@ -425,6 +485,26 @@ actor_class->key_focus_out = st_im_text_key_focus_out; text_class->cursor_event = st_im_text_cursor_event; + + pspec = g_param_spec_enum ("input-purpose", + "Purpose", + "Purpose of the text field", + GTK_TYPE_INPUT_PURPOSE, + GTK_INPUT_PURPOSE_FREE_FORM, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (object_class, + PROP_INPUT_PURPOSE, + pspec); + + pspec = g_param_spec_flags ("input-hints", + "hints", + "Hints for the text field behaviour", + GTK_TYPE_INPUT_HINTS, + GTK_INPUT_HINT_NONE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property (object_class, + PROP_INPUT_HINTS, + pspec); } static void @@ -460,3 +540,96 @@ "text", text, NULL); } + +/** + * st_im_text_set_input_purpose: + * @imtext: a #StIMText + * @purpose: the purpose + * + * Sets the #StIMText:input-purpose property which + * can be used by on-screen keyboards and other input + * methods to adjust their behaviour. + */ +void +st_im_text_set_input_purpose (StIMText *imtext, + GtkInputPurpose purpose) +{ + g_return_if_fail (ST_IS_IM_TEXT (imtext)); + + if (st_im_text_get_input_purpose (imtext) != purpose) + { + g_object_set (G_OBJECT (imtext->priv->im_context), + "input-purpose", purpose, + NULL); + + g_object_get (G_OBJECT (imtext->priv->im_context), + "input-purpose", &purpose, + NULL); + + g_object_notify (G_OBJECT (imtext), "input-purpose"); + } +} + +/** + * st_im_text_get_input_purpose: + * @imtext: a #StIMText + * + * Gets the value of the #StIMText:input-purpose property. + */ +GtkInputPurpose +st_im_text_get_input_purpose (StIMText *imtext) +{ + GtkInputPurpose purpose; + + g_return_val_if_fail (ST_IS_IM_TEXT (imtext), GTK_INPUT_PURPOSE_FREE_FORM); + + g_object_get (G_OBJECT (imtext->priv->im_context), + "input-purpose", &purpose, + NULL); + + return purpose; +} + +/** + * st_im_text_set_input_hints: + * @imtext: a #StIMText + * @hints: the hints + * + * Sets the #StIMText:input-hints property, which + * allows input methods to fine-tune their behaviour. + */ +void +st_im_text_set_input_hints (StIMText *imtext, + GtkInputHints hints) +{ + g_return_if_fail (ST_IS_IM_TEXT (imtext)); + + if (st_im_text_get_input_hints (imtext) != hints) + { + g_object_set (G_OBJECT (imtext->priv->im_context), + "input-hints", hints, + NULL); + + g_object_notify (G_OBJECT (imtext), "input-hints"); + } +} + +/** + * st_im_text_get_input_hints: + * @imtext: a #StIMText + * + * Gets the value of the #StIMText:input-hints property. + */ +GtkInputHints +st_im_text_get_input_hints (StIMText *imtext) +{ + GtkInputHints hints; + + g_return_val_if_fail (ST_IS_IM_TEXT (imtext), GTK_INPUT_HINT_NONE); + + g_object_get (G_OBJECT (imtext->priv->im_context), + "input-hints", &hints, + NULL); + + return hints; +} diff -Nru gnome-shell-3.8.1/src/st/st-im-text.h gnome-shell-3.8.2/src/st/st-im-text.h --- gnome-shell-3.8.1/src/st/st-im-text.h 2012-10-12 19:19:13.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-im-text.h 2013-05-13 22:43:47.000000000 +0000 @@ -60,9 +60,13 @@ GType st_im_text_get_type (void) G_GNUC_CONST; -ClutterActor *st_im_text_new (const gchar *text); -void st_im_text_set_autoshow_im (StIMText *self, - gboolean autoshow); +ClutterActor *st_im_text_new (const gchar *text); +void st_im_text_set_input_purpose (StIMText *imtext, + GtkInputPurpose purpose); +GtkInputPurpose st_im_text_get_input_purpose (StIMText *imtext); +void st_im_text_set_input_hints (StIMText *imtext, + GtkInputHints hints); +GtkInputHints st_im_text_get_input_hints (StIMText *imtext); G_END_DECLS diff -Nru gnome-shell-3.8.1/src/st/st-label.c gnome-shell-3.8.2/src/st/st-label.c --- gnome-shell-3.8.1/src/st/st-label.c 2013-04-16 17:10:45.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-label.c 2013-05-10 12:32:10.000000000 +0000 @@ -218,10 +218,6 @@ clutter_actor_get_allocation_box (priv->label, &allocation); clutter_actor_box_get_size (&allocation, &width, &height); - allocation.x1 = allocation.y1 = 0; - allocation.x2 = width; - allocation.y2 = height; - if (priv->text_shadow_material == COGL_INVALID_HANDLE || width != priv->shadow_width || height != priv->shadow_height) diff -Nru gnome-shell-3.8.1/src/st/st-private.c gnome-shell-3.8.2/src/st/st-private.c --- gnome-shell-3.8.1/src/st/st-private.c 2013-03-14 19:02:39.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-private.c 2013-05-10 12:32:10.000000000 +0000 @@ -511,6 +511,7 @@ cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0); cogl_push_framebuffer (offscreen); cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR); + cogl_translate (-box.x1, -box.y1, 0); cogl_ortho (0, width, height, 0, 0, 1.0); clutter_actor_paint (actor); cogl_pop_framebuffer (); diff -Nru gnome-shell-3.8.1/src/st/st-shadow.c gnome-shell-3.8.2/src/st/st-shadow.c --- gnome-shell-3.8.1/src/st/st-shadow.c 2012-10-12 19:19:13.000000000 +0000 +++ gnome-shell-3.8.2/src/st/st-shadow.c 2013-05-10 12:32:10.000000000 +0000 @@ -292,11 +292,6 @@ clutter_actor_box_get_size (actor_box, &width, &height); - allocation.x1 = (width - helper->width) / 2; - allocation.y1 = (height - helper->height) / 2; - allocation.x2 = allocation.x1 + helper->width; - allocation.y2 = allocation.y1 + helper->height; - _st_paint_shadow_with_opacity (helper->shadow, helper->material, &allocation, diff -Nru gnome-shell-3.8.1/src/test-recorder.c gnome-shell-3.8.2/src/test-recorder.c --- gnome-shell-3.8.1/src/test-recorder.c 2013-03-14 19:02:39.000000000 +0000 +++ gnome-shell-3.8.2/src/test-recorder.c 2013-05-10 17:49:41.000000000 +0000 @@ -48,7 +48,7 @@ { recorder = shell_recorder_new (CLUTTER_STAGE (stage)); shell_recorder_set_file_template (recorder, "test-recorder.webm"); - shell_recorder_record (recorder); + shell_recorder_record (recorder, NULL); } int main (int argc, char **argv)