Compare commits
	
		
			4 Commits
		
	
	
		
			3.19.92
			...
			matthiasc/
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					39f974358c | ||
| 
						 | 
					0fb98606ef | ||
| 
						 | 
					dd0d5a757c | ||
| 
						 | 
					0bbb226faf | 
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -17,8 +17,10 @@ config.status
 | 
			
		||||
config
 | 
			
		||||
configure
 | 
			
		||||
data/50-gnome-shell-*.xml
 | 
			
		||||
data/org.gnome.Shell.desktop
 | 
			
		||||
data/org.gnome.Shell.desktop.in
 | 
			
		||||
data/gnome-shell.desktop
 | 
			
		||||
data/gnome-shell.desktop.in
 | 
			
		||||
data/gnome-shell-wayland.desktop
 | 
			
		||||
data/gnome-shell-wayland.desktop.in
 | 
			
		||||
data/gnome-shell-extension-prefs.desktop
 | 
			
		||||
data/gnome-shell-extension-prefs.desktop.in
 | 
			
		||||
data/gnome-shell-theme.gresource
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										144
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										144
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,147 +1,3 @@
 | 
			
		||||
3.19.92
 | 
			
		||||
=======
 | 
			
		||||
* Update location dialog according to latest mockups [Zeeshan; #762480]
 | 
			
		||||
* Fix deleting chat notifications in calendar [Florian; #747991]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Zeeshan Ali (Khattak), Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Rūdolfs Mazurs [lv], Changwoo Ryu [ko], Matej Urbančič [sl],
 | 
			
		||||
  Justin van Steijn [nl], Fabio Tomat [fur], Kris Thomsen [da],
 | 
			
		||||
  Marek Černocký [cs], Piotr Drąg [pl], Dušan Kazik [sk],
 | 
			
		||||
  Мирослав Николић [sr, sr@latin], Balázs Úr [hu], Yosef Or Boczko [he],
 | 
			
		||||
  Daniel Mustieles [es], Fran Dieguez [gl], Bernd Homuth [de],
 | 
			
		||||
  Tom Tryfonidis [el], Jiri Grönroos [fi], Gil Forcada [ca],
 | 
			
		||||
  Artur Morais [pt_BR], Aurimas Černius [lt], Stas Solovey [ru]
 | 
			
		||||
 | 
			
		||||
3.19.91
 | 
			
		||||
=======
 | 
			
		||||
* location: Ask user only once [Zeeshan; #762559]
 | 
			
		||||
* Fix jiggling when auto-hiding legacy tray [Florian; #747957]
 | 
			
		||||
* Misc. bug fixes [Florian, Michael, Ting-Wei; #762475, #762507, #755659]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Zeeshan Ali (Khattak), Michael Catanzaro, Ting-Wei Lan, Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Мирослав Николић [sr, sr@latin], Piotr Drąg [pl], A S Alam [pa],
 | 
			
		||||
  Artur de Aquino Morais [pt_BR], Daniel Mustieles [es],
 | 
			
		||||
  Chao-Hsiung Liao [zh_TW], Daniel Korostil [uk], Fran Dieguez [gl],
 | 
			
		||||
  Tom Tryfonidis [el], Bernd Homuth [de], Sebastian Rasmussen [sv],
 | 
			
		||||
  Jordi Mas [ca], Piotr Drąg [ga], Cédric Valmary [oc], Gábor Kelemen [hu],
 | 
			
		||||
  Baurzhan Muftakhidinov [kk], Friedel Wolff [af], Marek Černocký [cs],
 | 
			
		||||
  Mingye Wang (Arthur2e5) [zh_CN], Aron Xu [zh_CN], Khaled Hosny [ar],
 | 
			
		||||
  Aurimas Černius [lt], Stas Solovey [ru], Yosef Or Boczko [he]
 | 
			
		||||
 | 
			
		||||
3.19.90
 | 
			
		||||
=======
 | 
			
		||||
* Correctly identify VPN secret requests [Lubomir; #760999]
 | 
			
		||||
* Improve week number presentation [Jakub; #683245]
 | 
			
		||||
* Add audio device selection dialog [Florian; #760284]
 | 
			
		||||
* Add media controls to the time and date drop down [Florian; #756491]
 | 
			
		||||
* Fix IBus candidate popup position under wayland [Rui; #753476]
 | 
			
		||||
* Ask user to grant applications access to location [Zeeshan; #762119]
 | 
			
		||||
* Misc. bug fixes [Mario, Jakub, Florian; #761208, #761772, #762270]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Zeeshan Ali (Khattak), Michael Catanzaro, Rui Matos, Florian Müllner,
 | 
			
		||||
  Lubomir Rintel, Mario Sanchez Prada, Jakub Steiner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Alexander Shopov [bg], Balázs Meskó [hu], Fabio Tomat [fur],
 | 
			
		||||
  Dušan Kazik [sk], Piotr Drąg [pl], Alexandre Franke [fr],
 | 
			
		||||
  Mario Blättermann [de], Milo Casagrande [it], Jordi Mas [ca]
 | 
			
		||||
 | 
			
		||||
3.19.4
 | 
			
		||||
======
 | 
			
		||||
* gdm: Do not allow bypassing disabled Sign In button [Michael; #746180]
 | 
			
		||||
* Style week numbers in calendar [Jakub; #683245]
 | 
			
		||||
* Misc. bug fixes [Christophe, Jakub, Rui; #759708, #760577, #760945]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Michael Catanzaro, Marek Černocký, Christophe Fergeau, Rui Matos,
 | 
			
		||||
  Jakub Steiner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Aurimas Černius [lt], Enrico Nicoletto [pt_BR], Andika Triwidada [id],
 | 
			
		||||
  Mario Blättermann [de], Marek Černocký [cs], Kjartan Maraas [nb],
 | 
			
		||||
  Muhammet Kara [tr], Stas Solovey [ru]
 | 
			
		||||
 | 
			
		||||
3.19.3
 | 
			
		||||
======
 | 
			
		||||
* Fix thumbnail scaling in window switcher on HiDPI [Florian; #758676]
 | 
			
		||||
* Update animated backgrounds on timezone changes [Florian; #758939]
 | 
			
		||||
* loginDialog: Update user list on user changes [Michael; #758568]
 | 
			
		||||
* Fix touch interaction on wayland [Carlos; #756748]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Michael Catanzaro, Carlos Garnacho, Kalev Lember, Florian Müllner
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Daniel Korostil [uk], Muhammet Kara [tr], Dušan Kazik [sk],
 | 
			
		||||
  Baurzhan Muftakhidinov [kk], Marek Černocký [cs]
 | 
			
		||||
 | 
			
		||||
3.19.2
 | 
			
		||||
======
 | 
			
		||||
* Make gnome-shell DBus activatable [Ray; #741666]
 | 
			
		||||
* Fix browser plugin crash in Firefox [Carlos; #737932, #757940]
 | 
			
		||||
* Optionally show battery percentage in system status area [Bastien; #735771]
 | 
			
		||||
* Misc. bug fixes [Kalev, Florian, Bastien; #757418, #757668, #757779, #757816,
 | 
			
		||||
  #745626, #758220]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Michael Biebl, Michael Catanzaro, Piotr Drąg, Carlos Garcia Campos,
 | 
			
		||||
  Kalev Lember, Florian Müllner, Bastien Nocera, Ray Strode
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Pedro Albuquerque [pt], liushuyu [zh_CN], Yosef Or Boczko [he],
 | 
			
		||||
  Jiri Grönroos [fi], Kjartan Maraas [nb], GNOME Translation Robot [gd],
 | 
			
		||||
  Daniel Mustieles [es], Marek Černocký [cs], Kristjan SCHMIDT [eo],
 | 
			
		||||
  Stas Solovey [ru]
 | 
			
		||||
 | 
			
		||||
3.19.1
 | 
			
		||||
======
 | 
			
		||||
* Respect text-scaling factor under wayland [Owen; #756447]
 | 
			
		||||
* Show the Bluetooth submenu when there were setup devices [Bastien; #723848]
 | 
			
		||||
* Misc. bug fixes [Florian, Cosimo, Rui, Ray, Owen, Jakub, Bastien;
 | 
			
		||||
  #756697, #756714, #756605, #754814, #738942, #756983, #756925,
 | 
			
		||||
  #757011, #673235, #757150]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Cosimo Cecchi, Rui Matos, Florian Müllner, Bastien Nocera, Jakub Steiner,
 | 
			
		||||
  Ray Strode, Owen W. Taylor
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Kjartan Maraas [nb], Khaled Hosny [ar], Balázs Meskó [hu],
 | 
			
		||||
  Daniel Șerbănescu [ro], Marek Černocký [cs]
 | 
			
		||||
 | 
			
		||||
3.18.1
 | 
			
		||||
======
 | 
			
		||||
* Fix screen freezes when a notification is pushed [Carlos; #755425]
 | 
			
		||||
* Fix overzealous ellipsization in system status menu [Adel, Florian; #708472]
 | 
			
		||||
* Hide app menu when disabled by setting [Florian; #745919]
 | 
			
		||||
* Fix lightbox effect when animations are disabled [Rui; #755827]
 | 
			
		||||
* Do not mark hotplug notifications as critical [Florian; #657923]
 | 
			
		||||
* Fix icons getting cut off in dash [Florian; #745649]
 | 
			
		||||
* Animate fullscreen/unfullscreen operations [Cosimo; #707248]
 | 
			
		||||
* Misc. bug fixes [Florian, Owen; #748919, #674799, #754581]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Emmanuele Bassi, Michael Catanzaro, Cosimo Cecchi, Matthias Clasen,
 | 
			
		||||
  Adel Gadllah, Carlos Garnacho, Ekaterina Gerasimova, Rui Matos,
 | 
			
		||||
  Florian Müllner, Owen W. Taylor
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
  Марко Костић [sr], Милош Поповић [sr@latin], Khaled Hosny [ar],
 | 
			
		||||
  Trần Ngọc Quân [vi], Petr Kovar [cs], Alexandre Franke [fr],
 | 
			
		||||
  Fran Dieguez [gl], Anders Jonsson [sv], Piotr Drąg [pl], Dušan Kazik [sk],
 | 
			
		||||
  Milo Casagrande [it], Changwoo Ryu [ko], Stas Solovey [ru],
 | 
			
		||||
  Rafael Fontenelle [pt_BR], Tom Tryfonidis [el], Aurimas Černius [lt],
 | 
			
		||||
  Seán de Búrca [ga], Christian Kirbach [de], Jiri Grönroos [fi],
 | 
			
		||||
  Pedro Albuquerque [pt], Baurzhan Muftakhidinov [kk], Daniel Mustieles [es],
 | 
			
		||||
  Marek Černocký [cs], Ask Hjorth Larsen [da], Inaki Larranaga Murgoitio [eu]
 | 
			
		||||
 | 
			
		||||
3.18.0
 | 
			
		||||
======
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,10 +3,7 @@ mozillalibdir = $(BROWSER_PLUGIN_DIR)
 | 
			
		||||
 | 
			
		||||
mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la
 | 
			
		||||
 | 
			
		||||
# Browsers can unload and reload the module while browsing, which is not supported by GObject.
 | 
			
		||||
# We pass -Wl,-z,nodelete to the linker to ensure the module is never unloaded.
 | 
			
		||||
# https://bugzilla.gnome.org/show_bug.cgi?id=737932
 | 
			
		||||
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,-z,nodelete
 | 
			
		||||
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined
 | 
			
		||||
 | 
			
		||||
libgnome_shell_browser_plugin_la_LIBADD = 	\
 | 
			
		||||
	$(BROWSER_PLUGIN_LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,16 +33,20 @@
 | 
			
		||||
#include <json-glib/json-glib.h>
 | 
			
		||||
 | 
			
		||||
#define ORIGIN "extensions.gnome.org"
 | 
			
		||||
#define PLUGIN_NAME "GNOME Shell Integration"
 | 
			
		||||
#define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \
 | 
			
		||||
#define PLUGIN_NAME "Gnome Shell Integration"
 | 
			
		||||
#define PLUGIN_DESCRIPTION "This plugin provides integration with Gnome Shell " \
 | 
			
		||||
      "for live extension enabling and disabling. " \
 | 
			
		||||
      "It can be used only by extensions.gnome.org"
 | 
			
		||||
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type";
 | 
			
		||||
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type";
 | 
			
		||||
 | 
			
		||||
#define PLUGIN_API_VERSION 5
 | 
			
		||||
 | 
			
		||||
#define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation"
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
  GDBusProxy *proxy;
 | 
			
		||||
} PluginData;
 | 
			
		||||
 | 
			
		||||
static NPNetscapeFuncs funcs;
 | 
			
		||||
 | 
			
		||||
static inline gchar *
 | 
			
		||||
@@ -141,6 +145,121 @@ check_origin_and_protocol (NPP instance)
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* =============== public entry points =================== */
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
 | 
			
		||||
{
 | 
			
		||||
  /* global initialization routine, called once when plugin
 | 
			
		||||
     is loaded */
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin loaded");
 | 
			
		||||
 | 
			
		||||
  memcpy (&funcs, pfuncs, sizeof (funcs));
 | 
			
		||||
 | 
			
		||||
  plugin->size = sizeof(NPPluginFuncs);
 | 
			
		||||
  plugin->newp = NPP_New;
 | 
			
		||||
  plugin->destroy = NPP_Destroy;
 | 
			
		||||
  plugin->getvalue = NPP_GetValue;
 | 
			
		||||
  plugin->setwindow = NPP_SetWindow;
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_Shutdown(void)
 | 
			
		||||
{
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char*
 | 
			
		||||
NP_GetMIMEDescription(void)
 | 
			
		||||
{
 | 
			
		||||
  return PLUGIN_MIME_STRING;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_GetValue(void         *instance,
 | 
			
		||||
            NPPVariable   variable,
 | 
			
		||||
            void         *value)
 | 
			
		||||
{
 | 
			
		||||
  switch (variable) {
 | 
			
		||||
  case NPPVpluginNameString:
 | 
			
		||||
    *(char**)value = PLUGIN_NAME;
 | 
			
		||||
    break;
 | 
			
		||||
  case NPPVpluginDescriptionString:
 | 
			
		||||
    *(char**)value = PLUGIN_DESCRIPTION;
 | 
			
		||||
    break;
 | 
			
		||||
  default:
 | 
			
		||||
    ;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NPP_New(NPMIMEType    mimetype,
 | 
			
		||||
        NPP           instance,
 | 
			
		||||
        uint16_t      mode,
 | 
			
		||||
        int16_t       argc,
 | 
			
		||||
        char        **argn,
 | 
			
		||||
        char        **argv,
 | 
			
		||||
        NPSavedData  *saved)
 | 
			
		||||
{
 | 
			
		||||
  /* instance initialization function */
 | 
			
		||||
  PluginData *data;
 | 
			
		||||
  GError *error = NULL;
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin created");
 | 
			
		||||
 | 
			
		||||
  if (!check_origin_and_protocol (instance))
 | 
			
		||||
    return NPERR_GENERIC_ERROR;
 | 
			
		||||
 | 
			
		||||
  data = g_slice_new (PluginData);
 | 
			
		||||
  instance->pdata = data;
 | 
			
		||||
 | 
			
		||||
  data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
 | 
			
		||||
                                               G_DBUS_PROXY_FLAGS_NONE,
 | 
			
		||||
                                               NULL, /* interface info */
 | 
			
		||||
                                               "org.gnome.Shell",
 | 
			
		||||
                                               "/org/gnome/Shell",
 | 
			
		||||
                                               "org.gnome.Shell.Extensions",
 | 
			
		||||
                                               NULL, /* GCancellable */
 | 
			
		||||
                                               &error);
 | 
			
		||||
  if (!data->proxy)
 | 
			
		||||
    {
 | 
			
		||||
      /* ignore error if the shell is not running, otherwise warn */
 | 
			
		||||
      if (error->domain != G_DBUS_ERROR ||
 | 
			
		||||
          error->code != G_DBUS_ERROR_NAME_HAS_NO_OWNER)
 | 
			
		||||
        {
 | 
			
		||||
          g_warning ("Failed to set up Shell proxy: %s", error->message);
 | 
			
		||||
        }
 | 
			
		||||
      g_clear_error (&error);
 | 
			
		||||
      return NPERR_GENERIC_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin created successfully");
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NPP_Destroy(NPP           instance,
 | 
			
		||||
	    NPSavedData **saved)
 | 
			
		||||
{
 | 
			
		||||
  /* instance finalization function */
 | 
			
		||||
 | 
			
		||||
  PluginData *data = instance->pdata;
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin destroyed");
 | 
			
		||||
 | 
			
		||||
  g_object_unref (data->proxy);
 | 
			
		||||
 | 
			
		||||
  g_slice_free (PluginData, data);
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* =================== scripting interface =================== */
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
@@ -211,18 +330,45 @@ static NPObject *
 | 
			
		||||
plugin_object_allocate (NPP      instance,
 | 
			
		||||
                        NPClass *klass)
 | 
			
		||||
{
 | 
			
		||||
  PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject));
 | 
			
		||||
  PluginData *data = instance->pdata;
 | 
			
		||||
  PluginObject *obj = g_slice_new0 (PluginObject);
 | 
			
		||||
 | 
			
		||||
  memset (obj, 0, sizeof (PluginObject));
 | 
			
		||||
  obj->instance = instance;
 | 
			
		||||
  obj->proxy = g_object_ref (data->proxy);
 | 
			
		||||
  obj->settings = g_settings_new (SHELL_SCHEMA);
 | 
			
		||||
  obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
 | 
			
		||||
                                     G_CALLBACK (on_shell_signal), obj);
 | 
			
		||||
 | 
			
		||||
  return (NPObject*) obj;
 | 
			
		||||
  obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
 | 
			
		||||
                                         "org.gnome.Shell",
 | 
			
		||||
                                         G_BUS_NAME_WATCHER_FLAGS_NONE,
 | 
			
		||||
                                         on_shell_appeared,
 | 
			
		||||
                                         NULL,
 | 
			
		||||
                                         obj,
 | 
			
		||||
                                         NULL);
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin object created");
 | 
			
		||||
 | 
			
		||||
  return (NPObject*)obj;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
plugin_object_deallocate (NPObject *npobj)
 | 
			
		||||
{
 | 
			
		||||
  funcs.memfree (npobj);
 | 
			
		||||
  PluginObject *obj = (PluginObject*)npobj;
 | 
			
		||||
 | 
			
		||||
  g_signal_handler_disconnect (obj->proxy, obj->signal_id);
 | 
			
		||||
  g_object_unref (obj->proxy);
 | 
			
		||||
 | 
			
		||||
  if (obj->listener)
 | 
			
		||||
    funcs.releaseobject (obj->listener);
 | 
			
		||||
 | 
			
		||||
  if (obj->watch_name_id)
 | 
			
		||||
    g_bus_unwatch_name (obj->watch_name_id);
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin object destroyed");
 | 
			
		||||
 | 
			
		||||
  g_slice_free (PluginObject, obj);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline gboolean
 | 
			
		||||
@@ -873,149 +1019,6 @@ init_methods_and_properties (void)
 | 
			
		||||
  onextension_changed_id = funcs.getstringidentifier ("onchange");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* =============== public entry points =================== */
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
 | 
			
		||||
{
 | 
			
		||||
  /* global initialization routine, called once when plugin
 | 
			
		||||
     is loaded */
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin loaded");
 | 
			
		||||
 | 
			
		||||
  memcpy (&funcs, pfuncs, sizeof (funcs));
 | 
			
		||||
 | 
			
		||||
  plugin->size = sizeof(NPPluginFuncs);
 | 
			
		||||
  plugin->newp = NPP_New;
 | 
			
		||||
  plugin->destroy = NPP_Destroy;
 | 
			
		||||
  plugin->getvalue = NPP_GetValue;
 | 
			
		||||
  plugin->setwindow = NPP_SetWindow;
 | 
			
		||||
  plugin->event = NPP_HandleEvent;
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_Shutdown(void)
 | 
			
		||||
{
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char*
 | 
			
		||||
NP_GetMIMEDescription(void)
 | 
			
		||||
{
 | 
			
		||||
  return PLUGIN_MIME_STRING;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_GetValue(void         *instance,
 | 
			
		||||
            NPPVariable   variable,
 | 
			
		||||
            void         *value)
 | 
			
		||||
{
 | 
			
		||||
  switch (variable) {
 | 
			
		||||
  case NPPVpluginNameString:
 | 
			
		||||
    *(char**)value = PLUGIN_NAME;
 | 
			
		||||
    break;
 | 
			
		||||
  case NPPVpluginDescriptionString:
 | 
			
		||||
    *(char**)value = PLUGIN_DESCRIPTION;
 | 
			
		||||
    break;
 | 
			
		||||
  default:
 | 
			
		||||
    ;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NPP_New(NPMIMEType    mimetype,
 | 
			
		||||
        NPP           instance,
 | 
			
		||||
        uint16_t      mode,
 | 
			
		||||
        int16_t       argc,
 | 
			
		||||
        char        **argn,
 | 
			
		||||
        char        **argv,
 | 
			
		||||
        NPSavedData  *saved)
 | 
			
		||||
{
 | 
			
		||||
  /* instance initialization function */
 | 
			
		||||
  PluginObject *obj;
 | 
			
		||||
  GError *error = NULL;
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin created");
 | 
			
		||||
 | 
			
		||||
  if (!check_origin_and_protocol (instance))
 | 
			
		||||
    return NPERR_GENERIC_ERROR;
 | 
			
		||||
 | 
			
		||||
  /* set windowless mode */
 | 
			
		||||
  funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
 | 
			
		||||
 | 
			
		||||
  g_debug ("creating scriptable object");
 | 
			
		||||
  init_methods_and_properties ();
 | 
			
		||||
  obj = (PluginObject *) funcs.createobject (instance, &plugin_class);
 | 
			
		||||
  instance->pdata = obj;
 | 
			
		||||
 | 
			
		||||
  obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
 | 
			
		||||
                                              G_DBUS_PROXY_FLAGS_NONE,
 | 
			
		||||
                                              NULL, /* interface info */
 | 
			
		||||
                                              "org.gnome.Shell",
 | 
			
		||||
                                              "/org/gnome/Shell",
 | 
			
		||||
                                              "org.gnome.Shell.Extensions",
 | 
			
		||||
                                              NULL, /* GCancellable */
 | 
			
		||||
                                              &error);
 | 
			
		||||
  if (!obj->proxy)
 | 
			
		||||
    {
 | 
			
		||||
      /* ignore error if the shell is not running, otherwise warn */
 | 
			
		||||
      if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER))
 | 
			
		||||
        {
 | 
			
		||||
          g_warning ("Failed to set up Shell proxy: %s", error->message);
 | 
			
		||||
        }
 | 
			
		||||
      g_clear_error (&error);
 | 
			
		||||
      return NPERR_GENERIC_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  obj->settings = g_settings_new (SHELL_SCHEMA);
 | 
			
		||||
  obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
 | 
			
		||||
                                     G_CALLBACK (on_shell_signal), obj);
 | 
			
		||||
  obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
 | 
			
		||||
                                         "org.gnome.Shell",
 | 
			
		||||
                                         G_BUS_NAME_WATCHER_FLAGS_NONE,
 | 
			
		||||
                                         on_shell_appeared,
 | 
			
		||||
                                         NULL,
 | 
			
		||||
                                         obj,
 | 
			
		||||
                                         NULL);
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin created successfully");
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NPP_Destroy(NPP           instance,
 | 
			
		||||
	    NPSavedData **saved)
 | 
			
		||||
{
 | 
			
		||||
  /* instance finalization function */
 | 
			
		||||
  PluginObject *obj = (PluginObject *) instance->pdata;
 | 
			
		||||
 | 
			
		||||
  if (!obj)
 | 
			
		||||
    return NPERR_INVALID_INSTANCE_ERROR;
 | 
			
		||||
 | 
			
		||||
  g_debug ("plugin destroyed");
 | 
			
		||||
 | 
			
		||||
  g_signal_handler_disconnect (obj->proxy, obj->signal_id);
 | 
			
		||||
  g_object_unref (obj->proxy);
 | 
			
		||||
 | 
			
		||||
  if (obj->listener)
 | 
			
		||||
    funcs.releaseobject (obj->listener);
 | 
			
		||||
 | 
			
		||||
  if (obj->restart_listener)
 | 
			
		||||
    funcs.releaseobject (obj->restart_listener);
 | 
			
		||||
 | 
			
		||||
  if (obj->watch_name_id)
 | 
			
		||||
    g_bus_unwatch_name (obj->watch_name_id);
 | 
			
		||||
 | 
			
		||||
  funcs.releaseobject((NPObject *)obj);
 | 
			
		||||
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NPP_GetValue(NPP          instance,
 | 
			
		||||
	     NPPVariable  variable,
 | 
			
		||||
@@ -1026,10 +1029,13 @@ NPP_GetValue(NPP          instance,
 | 
			
		||||
  switch (variable) {
 | 
			
		||||
  case NPPVpluginScriptableNPObject:
 | 
			
		||||
    g_debug ("creating scriptable object");
 | 
			
		||||
    if (!instance->pdata)
 | 
			
		||||
      return NPERR_INVALID_INSTANCE_ERROR;
 | 
			
		||||
    init_methods_and_properties ();
 | 
			
		||||
 | 
			
		||||
    *(NPObject**)value = instance->pdata;
 | 
			
		||||
    *(NPObject**)value = funcs.createobject (instance, &plugin_class);
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
  case NPPVpluginNeedsXEmbed:
 | 
			
		||||
    *(bool *)value = TRUE;
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
  default:
 | 
			
		||||
@@ -1047,11 +1053,3 @@ NPP_SetWindow(NPP          instance,
 | 
			
		||||
{
 | 
			
		||||
  return NPERR_NO_ERROR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int16_t
 | 
			
		||||
NPP_HandleEvent(NPP   instance,
 | 
			
		||||
                void *event)
 | 
			
		||||
{
 | 
			
		||||
  /* Ignore the event */
 | 
			
		||||
  return FALSE;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
AC_PREREQ(2.63)
 | 
			
		||||
AC_INIT([gnome-shell],[3.19.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
AC_INIT([gnome-shell],[3.18.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
AX_IS_RELEASE([git-directory])
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_HEADERS([config.h])
 | 
			
		||||
@@ -77,7 +77,7 @@ AC_MSG_RESULT($enable_systemd)
 | 
			
		||||
CLUTTER_MIN_VERSION=1.21.5
 | 
			
		||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
 | 
			
		||||
GJS_MIN_VERSION=1.39.0
 | 
			
		||||
MUTTER_MIN_VERSION=3.19.92
 | 
			
		||||
MUTTER_MIN_VERSION=3.18.0
 | 
			
		||||
GTK_MIN_VERSION=3.15.0
 | 
			
		||||
GIO_MIN_VERSION=2.45.3
 | 
			
		||||
LIBECAL_MIN_VERSION=3.5.3
 | 
			
		||||
@@ -117,9 +117,9 @@ PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
 | 
			
		||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
 | 
			
		||||
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
 | 
			
		||||
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
 | 
			
		||||
PKG_CHECK_MODULES(TRAY, clutter-1.0 gtk+-3.0)
 | 
			
		||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
 | 
			
		||||
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
 | 
			
		||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.19.2)
 | 
			
		||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.13.1)
 | 
			
		||||
 | 
			
		||||
AC_ARG_ENABLE(browser-plugin,
 | 
			
		||||
              [AS_HELP_STRING([--enable-browser-plugin],
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ CLEANFILES =
 | 
			
		||||
NULL =
 | 
			
		||||
 | 
			
		||||
desktopdir=$(datadir)/applications
 | 
			
		||||
desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop
 | 
			
		||||
desktop_DATA = gnome-shell.desktop gnome-shell-wayland.desktop  gnome-shell-extension-prefs.desktop
 | 
			
		||||
 | 
			
		||||
if HAVE_NETWORKMANAGER
 | 
			
		||||
desktop_DATA += org.gnome.Shell.PortalHelper.desktop
 | 
			
		||||
@@ -104,7 +104,8 @@ convertdir = $(datadir)/GConf/gsettings
 | 
			
		||||
convert_DATA = gnome-shell-overrides.convert
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST =						\
 | 
			
		||||
	org.gnome.Shell.desktop.in.in			\
 | 
			
		||||
	gnome-shell.desktop.in.in			\
 | 
			
		||||
	gnome-shell-wayland.desktop.in.in		\
 | 
			
		||||
	gnome-shell-extension-prefs.desktop.in.in	\
 | 
			
		||||
	$(introspection_DATA)				\
 | 
			
		||||
	$(menu_DATA)					\
 | 
			
		||||
@@ -120,7 +121,8 @@ EXTRA_DIST =						\
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
CLEANFILES +=						\
 | 
			
		||||
	org.gnome.Shell.desktop.in			\
 | 
			
		||||
	gnome-shell.desktop.in				\
 | 
			
		||||
	gnome-shell-wayland.desktop.in			\
 | 
			
		||||
	gnome-shell-extension-prefs.in			\
 | 
			
		||||
	$(desktop_DATA)					\
 | 
			
		||||
	$(keys_DATA)					\
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								data/gnome-shell-wayland.desktop.in.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								data/gnome-shell-wayland.desktop.in.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Type=Application
 | 
			
		||||
_Name=GNOME Shell (wayland compositor)
 | 
			
		||||
_Comment=Window management and application launching
 | 
			
		||||
Exec=@bindir@/gnome-shell --wayland --display-server
 | 
			
		||||
X-GNOME-Bugzilla-Bugzilla=GNOME
 | 
			
		||||
X-GNOME-Bugzilla-Product=gnome-shell
 | 
			
		||||
X-GNOME-Bugzilla-Component=general
 | 
			
		||||
X-GNOME-Bugzilla-Version=@VERSION@
 | 
			
		||||
Categories=GNOME;GTK;Core;
 | 
			
		||||
OnlyShowIn=GNOME;
 | 
			
		||||
NoDisplay=true
 | 
			
		||||
X-GNOME-Autostart-Phase=DisplayServer
 | 
			
		||||
X-GNOME-Autostart-Notify=true
 | 
			
		||||
X-GNOME-AutoRestart=false
 | 
			
		||||
@@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@
 | 
			
		||||
Categories=GNOME;GTK;Core;
 | 
			
		||||
OnlyShowIn=GNOME;
 | 
			
		||||
NoDisplay=true
 | 
			
		||||
X-GNOME-Autostart-Phase=DisplayServer
 | 
			
		||||
X-GNOME-Autostart-Phase=WindowManager
 | 
			
		||||
X-GNOME-Provides=panel;windowmanager;
 | 
			
		||||
X-GNOME-Autostart-Notify=true
 | 
			
		||||
X-GNOME-AutoRestart=false
 | 
			
		||||
@@ -72,16 +72,6 @@
 | 
			
		||||
        This key sets the default state of the checkbox.
 | 
			
		||||
      </_description>
 | 
			
		||||
    </key>
 | 
			
		||||
    <key name="had-bluetooth-devices-setup" type="b">
 | 
			
		||||
      <default>false</default>
 | 
			
		||||
      <_summary>Whether the default Bluetooth adapter had set up devices associated to it</_summary>
 | 
			
		||||
      <_description>
 | 
			
		||||
        The shell will only show a Bluetooth menu item if a Bluetooth
 | 
			
		||||
        adapter is powered, or if there were devices set up associated
 | 
			
		||||
        with the default adapter. This will be reset if the default
 | 
			
		||||
        adapter is ever seen not to have devices associated to it.
 | 
			
		||||
      </_description>
 | 
			
		||||
    </key>
 | 
			
		||||
    <child name="calendar" schema="org.gnome.shell.calendar"/>
 | 
			
		||||
    <child name="keybindings" schema="org.gnome.shell.keybindings"/>
 | 
			
		||||
    <child name="keyboard" schema="org.gnome.shell.keyboard"/>
 | 
			
		||||
 
 | 
			
		||||
@@ -199,7 +199,7 @@ StScrollBar {
 | 
			
		||||
  border-radius: 9px;
 | 
			
		||||
  color: #eeeeec;
 | 
			
		||||
  background-color: rgba(23, 25, 26, 0.95);
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
  border: 3px solid rgba(238, 238, 236, 0.5); }
 | 
			
		||||
  .modal-dialog .modal-dialog-content-box {
 | 
			
		||||
    padding: 24px; }
 | 
			
		||||
  .modal-dialog .run-dialog-entry {
 | 
			
		||||
@@ -224,7 +224,7 @@ StScrollBar {
 | 
			
		||||
/* End Session Dialog */
 | 
			
		||||
.end-session-dialog {
 | 
			
		||||
  spacing: 42px;
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
  border: 3px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
 | 
			
		||||
.end-session-dialog-list {
 | 
			
		||||
  padding-top: 20px; }
 | 
			
		||||
@@ -399,54 +399,6 @@ StScrollBar {
 | 
			
		||||
  width: 48px;
 | 
			
		||||
  height: 48px; }
 | 
			
		||||
 | 
			
		||||
/* Audio selection dialog */
 | 
			
		||||
.audio-device-selection-dialog {
 | 
			
		||||
  spacing: 30px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-content {
 | 
			
		||||
  spacing: 20px;
 | 
			
		||||
  padding: 24px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-title {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  text-align: center; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-box {
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device {
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2);
 | 
			
		||||
  border-radius: 12px; }
 | 
			
		||||
  .audio-selection-device:active, .audio-selection-device:hover, .audio-selection-device:focus {
 | 
			
		||||
    background-color: #215d9c; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device-box {
 | 
			
		||||
  padding: 20px;
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device-icon {
 | 
			
		||||
  icon-size: 64px; }
 | 
			
		||||
 | 
			
		||||
/* Geolocation Dialog */
 | 
			
		||||
.geolocation-dialog {
 | 
			
		||||
  spacing: 30px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-main-layout {
 | 
			
		||||
  spacing: 12px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-content {
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-icon {
 | 
			
		||||
  icon-size: 48px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-title {
 | 
			
		||||
  font-weight: bold; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-reason {
 | 
			
		||||
  color: #999999;
 | 
			
		||||
  font-weight: bold; }
 | 
			
		||||
 | 
			
		||||
/* Network Agent Dialog */
 | 
			
		||||
.network-dialog-secret-table {
 | 
			
		||||
  spacing-rows: 15px;
 | 
			
		||||
@@ -456,9 +408,9 @@ StScrollBar {
 | 
			
		||||
  spacing-rows: 15px;
 | 
			
		||||
  spacing-columns: 1em; }
 | 
			
		||||
 | 
			
		||||
/* Popovers/Menus */
 | 
			
		||||
/* Popvers/Menus */
 | 
			
		||||
.popup-menu {
 | 
			
		||||
  min-width: 15em; }
 | 
			
		||||
  min-width: 200px; }
 | 
			
		||||
  .popup-menu .popup-sub-menu {
 | 
			
		||||
    background-color: black;
 | 
			
		||||
    box-shadow: inset 0 -1px 0px #0d0d0d; }
 | 
			
		||||
@@ -673,8 +625,6 @@ StScrollBar {
 | 
			
		||||
  #panel .panel-status-indicators-box,
 | 
			
		||||
  #panel .panel-status-menu-box {
 | 
			
		||||
    spacing: 2px; }
 | 
			
		||||
  #panel .power-status.panel-status-indicators-box {
 | 
			
		||||
    spacing: 0; }
 | 
			
		||||
  #panel .screencast-indicator {
 | 
			
		||||
    color: #f57900; }
 | 
			
		||||
 | 
			
		||||
@@ -800,20 +750,9 @@ StScrollBar {
 | 
			
		||||
  color: rgba(255, 255, 255, 0.15);
 | 
			
		||||
  opacity: 0.5; }
 | 
			
		||||
 | 
			
		||||
.calendar-week-number {
 | 
			
		||||
  font-size: 70%;
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  width: 2.3em;
 | 
			
		||||
  height: 1.8em;
 | 
			
		||||
  border-radius: 2px;
 | 
			
		||||
  padding: 0.5em 0 0;
 | 
			
		||||
  margin: 6px;
 | 
			
		||||
  background-color: rgba(255, 255, 255, 0.3);
 | 
			
		||||
  color: #000; }
 | 
			
		||||
 | 
			
		||||
/* Message list */
 | 
			
		||||
.message-list {
 | 
			
		||||
  width: 31.5em; }
 | 
			
		||||
  width: 420px; }
 | 
			
		||||
 | 
			
		||||
.message-list-sections {
 | 
			
		||||
  spacing: 1.5em; }
 | 
			
		||||
@@ -869,23 +808,6 @@ StScrollBar {
 | 
			
		||||
  padding: 8px;
 | 
			
		||||
  font-size: .9em; }
 | 
			
		||||
 | 
			
		||||
.message-media-control {
 | 
			
		||||
  padding: 6px; }
 | 
			
		||||
  .message-media-control:last-child:ltr {
 | 
			
		||||
    padding-right: 18px; }
 | 
			
		||||
  .message-media-control:last-child:rtl {
 | 
			
		||||
    padding-left: 18px; }
 | 
			
		||||
 | 
			
		||||
.media-message-cover-icon {
 | 
			
		||||
  icon-size: 32px; }
 | 
			
		||||
  .media-message-cover-icon.fallback {
 | 
			
		||||
    color: #1a1a1a;
 | 
			
		||||
    background-color: #000;
 | 
			
		||||
    border: 2px solid #000;
 | 
			
		||||
    border-radius: 2px;
 | 
			
		||||
    icon-size: 16px;
 | 
			
		||||
    padding: 8px; }
 | 
			
		||||
 | 
			
		||||
.system-switch-user-submenu-icon.user-icon {
 | 
			
		||||
  icon-size: 20px;
 | 
			
		||||
  padding: 0 2px; }
 | 
			
		||||
@@ -901,7 +823,7 @@ StScrollBar {
 | 
			
		||||
    color: transparent; }
 | 
			
		||||
 | 
			
		||||
.aggregate-menu {
 | 
			
		||||
  min-width: 21em; }
 | 
			
		||||
  width: 360px; }
 | 
			
		||||
  .aggregate-menu .popup-menu-icon {
 | 
			
		||||
    padding: 0 4px; }
 | 
			
		||||
 | 
			
		||||
@@ -1038,14 +960,10 @@ StScrollBar {
 | 
			
		||||
.search-entry {
 | 
			
		||||
  width: 320px;
 | 
			
		||||
  padding: 7px 9px;
 | 
			
		||||
  border-radius: 6px;
 | 
			
		||||
  border-color: #747467;
 | 
			
		||||
  color: #eeeeec;
 | 
			
		||||
  background-color: #2e3436; }
 | 
			
		||||
  border-radius: 6px; }
 | 
			
		||||
  .search-entry:focus {
 | 
			
		||||
    padding: 6px 8px;
 | 
			
		||||
    border-width: 2px;
 | 
			
		||||
    border-color: #215d9c; }
 | 
			
		||||
    border-width: 2px; }
 | 
			
		||||
  .search-entry .search-entry-icon {
 | 
			
		||||
    icon-size: 1em;
 | 
			
		||||
    padding: 0 4px;
 | 
			
		||||
 
 | 
			
		||||
 Submodule data/theme/gnome-shell-sass updated: 6ccc180811...034d0b775b
									
								
							@@ -199,7 +199,7 @@ StScrollBar {
 | 
			
		||||
  border-radius: 9px;
 | 
			
		||||
  color: #eeeeec;
 | 
			
		||||
  background-color: rgba(23, 25, 26, 0.95);
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
  border: 3px solid rgba(238, 238, 236, 0.5); }
 | 
			
		||||
  .modal-dialog .modal-dialog-content-box {
 | 
			
		||||
    padding: 24px; }
 | 
			
		||||
  .modal-dialog .run-dialog-entry {
 | 
			
		||||
@@ -224,7 +224,7 @@ StScrollBar {
 | 
			
		||||
/* End Session Dialog */
 | 
			
		||||
.end-session-dialog {
 | 
			
		||||
  spacing: 42px;
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
  border: 3px solid rgba(238, 238, 236, 0.2); }
 | 
			
		||||
 | 
			
		||||
.end-session-dialog-list {
 | 
			
		||||
  padding-top: 20px; }
 | 
			
		||||
@@ -399,54 +399,6 @@ StScrollBar {
 | 
			
		||||
  width: 48px;
 | 
			
		||||
  height: 48px; }
 | 
			
		||||
 | 
			
		||||
/* Audio selection dialog */
 | 
			
		||||
.audio-device-selection-dialog {
 | 
			
		||||
  spacing: 30px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-content {
 | 
			
		||||
  spacing: 20px;
 | 
			
		||||
  padding: 24px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-title {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  text-align: center; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-box {
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device {
 | 
			
		||||
  border: 1px solid rgba(238, 238, 236, 0.2);
 | 
			
		||||
  border-radius: 12px; }
 | 
			
		||||
  .audio-selection-device:active, .audio-selection-device:hover, .audio-selection-device:focus {
 | 
			
		||||
    background-color: #215d9c; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device-box {
 | 
			
		||||
  padding: 20px;
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.audio-selection-device-icon {
 | 
			
		||||
  icon-size: 64px; }
 | 
			
		||||
 | 
			
		||||
/* Geolocation Dialog */
 | 
			
		||||
.geolocation-dialog {
 | 
			
		||||
  spacing: 30px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-main-layout {
 | 
			
		||||
  spacing: 12px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-content {
 | 
			
		||||
  spacing: 20px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-icon {
 | 
			
		||||
  icon-size: 48px; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-title {
 | 
			
		||||
  font-weight: bold; }
 | 
			
		||||
 | 
			
		||||
.geolocation-dialog-reason {
 | 
			
		||||
  color: #8e8e80;
 | 
			
		||||
  font-weight: bold; }
 | 
			
		||||
 | 
			
		||||
/* Network Agent Dialog */
 | 
			
		||||
.network-dialog-secret-table {
 | 
			
		||||
  spacing-rows: 15px;
 | 
			
		||||
@@ -456,9 +408,9 @@ StScrollBar {
 | 
			
		||||
  spacing-rows: 15px;
 | 
			
		||||
  spacing-columns: 1em; }
 | 
			
		||||
 | 
			
		||||
/* Popovers/Menus */
 | 
			
		||||
/* Popvers/Menus */
 | 
			
		||||
.popup-menu {
 | 
			
		||||
  min-width: 15em; }
 | 
			
		||||
  min-width: 200px; }
 | 
			
		||||
  .popup-menu .popup-sub-menu {
 | 
			
		||||
    background-color: #343a3a;
 | 
			
		||||
    box-shadow: inset 0 -1px 0px #282c2c; }
 | 
			
		||||
@@ -673,8 +625,6 @@ StScrollBar {
 | 
			
		||||
  #panel .panel-status-indicators-box,
 | 
			
		||||
  #panel .panel-status-menu-box {
 | 
			
		||||
    spacing: 2px; }
 | 
			
		||||
  #panel .power-status.panel-status-indicators-box {
 | 
			
		||||
    spacing: 0; }
 | 
			
		||||
  #panel .screencast-indicator {
 | 
			
		||||
    color: #f57900; }
 | 
			
		||||
 | 
			
		||||
@@ -800,20 +750,9 @@ StScrollBar {
 | 
			
		||||
  color: rgba(238, 238, 236, 0.15);
 | 
			
		||||
  opacity: 0.5; }
 | 
			
		||||
 | 
			
		||||
.calendar-week-number {
 | 
			
		||||
  font-size: 70%;
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  width: 2.3em;
 | 
			
		||||
  height: 1.8em;
 | 
			
		||||
  border-radius: 2px;
 | 
			
		||||
  padding: 0.5em 0 0;
 | 
			
		||||
  margin: 6px;
 | 
			
		||||
  background-color: rgba(238, 238, 236, 0.3);
 | 
			
		||||
  color: #393f3f; }
 | 
			
		||||
 | 
			
		||||
/* Message list */
 | 
			
		||||
.message-list {
 | 
			
		||||
  width: 31.5em; }
 | 
			
		||||
  width: 420px; }
 | 
			
		||||
 | 
			
		||||
.message-list-sections {
 | 
			
		||||
  spacing: 1.5em; }
 | 
			
		||||
@@ -869,23 +808,6 @@ StScrollBar {
 | 
			
		||||
  padding: 8px;
 | 
			
		||||
  font-size: .9em; }
 | 
			
		||||
 | 
			
		||||
.message-media-control {
 | 
			
		||||
  padding: 6px; }
 | 
			
		||||
  .message-media-control:last-child:ltr {
 | 
			
		||||
    padding-right: 18px; }
 | 
			
		||||
  .message-media-control:last-child:rtl {
 | 
			
		||||
    padding-left: 18px; }
 | 
			
		||||
 | 
			
		||||
.media-message-cover-icon {
 | 
			
		||||
  icon-size: 32px; }
 | 
			
		||||
  .media-message-cover-icon.fallback {
 | 
			
		||||
    color: #515a5a;
 | 
			
		||||
    background-color: #393f3f;
 | 
			
		||||
    border: 2px solid #393f3f;
 | 
			
		||||
    border-radius: 2px;
 | 
			
		||||
    icon-size: 16px;
 | 
			
		||||
    padding: 8px; }
 | 
			
		||||
 | 
			
		||||
.system-switch-user-submenu-icon.user-icon {
 | 
			
		||||
  icon-size: 20px;
 | 
			
		||||
  padding: 0 2px; }
 | 
			
		||||
@@ -901,7 +823,7 @@ StScrollBar {
 | 
			
		||||
    color: transparent; }
 | 
			
		||||
 | 
			
		||||
.aggregate-menu {
 | 
			
		||||
  min-width: 21em; }
 | 
			
		||||
  width: 280px; }
 | 
			
		||||
  .aggregate-menu .popup-menu-icon {
 | 
			
		||||
    padding: 0 4px; }
 | 
			
		||||
 | 
			
		||||
@@ -1038,14 +960,10 @@ StScrollBar {
 | 
			
		||||
.search-entry {
 | 
			
		||||
  width: 320px;
 | 
			
		||||
  padding: 7px 9px;
 | 
			
		||||
  border-radius: 6px;
 | 
			
		||||
  border-color: #747467;
 | 
			
		||||
  color: #eeeeec;
 | 
			
		||||
  background-color: #2e3436; }
 | 
			
		||||
  border-radius: 6px; }
 | 
			
		||||
  .search-entry:focus {
 | 
			
		||||
    padding: 6px 8px;
 | 
			
		||||
    border-width: 2px;
 | 
			
		||||
    border-color: #215d9c; }
 | 
			
		||||
    border-width: 2px; }
 | 
			
		||||
  .search-entry .search-entry-icon {
 | 
			
		||||
    icon-size: 1em;
 | 
			
		||||
    padding: 0 4px;
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,11 @@ const GnomeShellIface = '<node> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
 | 
			
		||||
const customCss = '.prefs-button { \
 | 
			
		||||
                       padding: 8px; \
 | 
			
		||||
                       border-radius: 20px; \
 | 
			
		||||
                   }';
 | 
			
		||||
 | 
			
		||||
const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface);
 | 
			
		||||
 | 
			
		||||
function stripPrefix(string, prefix) {
 | 
			
		||||
@@ -171,6 +176,21 @@ const Application = new Lang.Class({
 | 
			
		||||
        this._window.show_all();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _addCustomStyle: function() {
 | 
			
		||||
        let provider = new Gtk.CssProvider();
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            provider.load_from_data(customCss, -1);
 | 
			
		||||
        } catch(e) {
 | 
			
		||||
            log('Failed to add application style');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let screen = this._window.window.get_screen();
 | 
			
		||||
        let priority = Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION;
 | 
			
		||||
        Gtk.StyleContext.add_provider_for_screen(screen, provider, priority);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sortList: function(row1, row2) {
 | 
			
		||||
        let name1 = ExtensionUtils.extensions[row1.uuid].metadata.name;
 | 
			
		||||
        let name2 = ExtensionUtils.extensions[row2.uuid].metadata.name;
 | 
			
		||||
@@ -219,6 +239,7 @@ const Application = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    _onStartup: function(app) {
 | 
			
		||||
        this._buildUI(app);
 | 
			
		||||
        this._addCustomStyle();
 | 
			
		||||
        this._scanExtensions();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -295,7 +316,7 @@ const ExtensionRow = new Lang.Class({
 | 
			
		||||
        button.add(new Gtk.Image({ icon_name: 'emblem-system-symbolic',
 | 
			
		||||
                                   icon_size: Gtk.IconSize.BUTTON,
 | 
			
		||||
                                   visible: true }));
 | 
			
		||||
        button.get_style_context().add_class('circular');
 | 
			
		||||
        button.get_style_context().add_class('prefs-button');
 | 
			
		||||
        hbox.add(button);
 | 
			
		||||
 | 
			
		||||
        this.prefsButton = button;
 | 
			
		||||
 
 | 
			
		||||
@@ -189,8 +189,7 @@ const AuthPrompt = new Lang.Class({
 | 
			
		||||
                                             this._updateNextButtonSensitivity(this._entry.text.length > 0);
 | 
			
		||||
                                         }));
 | 
			
		||||
        this._entry.clutter_text.connect('activate', Lang.bind(this, function() {
 | 
			
		||||
            if (this.nextButton.reactive)
 | 
			
		||||
                this.emit('next');
 | 
			
		||||
            this.emit('next');
 | 
			
		||||
        }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,34 +16,6 @@
 | 
			
		||||
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * In order for transformation animations to look good, they need to be
 | 
			
		||||
 * incremental and have some order to them (e.g., fade out hidden items,
 | 
			
		||||
 * then shrink to close the void left over). Chaining animations in this way can
 | 
			
		||||
 * be error-prone and wordy using just Tweener callbacks.
 | 
			
		||||
 *
 | 
			
		||||
 * The classes in this file help with this:
 | 
			
		||||
 *
 | 
			
		||||
 * - Task.  encapsulates schedulable work to be run in a specific scope.
 | 
			
		||||
 *
 | 
			
		||||
 * - ConsecutiveBatch.  runs a series of tasks in order and completes
 | 
			
		||||
 *                      when the last in the series finishes.
 | 
			
		||||
 *
 | 
			
		||||
 * - ConcurrentBatch.  runs a set of tasks at the same time and completes
 | 
			
		||||
 *                     when the last to finish completes.
 | 
			
		||||
 *
 | 
			
		||||
 * - Hold.  prevents a batch from completing the pending task until
 | 
			
		||||
 *          the hold is released.
 | 
			
		||||
 *
 | 
			
		||||
 * The tasks associated with a batch are specified in a list at batch
 | 
			
		||||
 * construction time as either task objects or plain functions.
 | 
			
		||||
 * Batches are task objects, themselves, so they can be nested.
 | 
			
		||||
 *
 | 
			
		||||
 * These classes aren't specific to GDM, but were found to be unintuitive and so
 | 
			
		||||
 * are not used elsewhere. These APIs may ultimately get dropped entirely and
 | 
			
		||||
 * replaced by something else.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -96,7 +96,7 @@ const UserListItem = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
        this.user.disconnect(this._userChangedId);
 | 
			
		||||
        this._user.disconnect(this._userChangedId);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onClicked: function() {
 | 
			
		||||
@@ -212,10 +212,6 @@ const UserList = new Lang.Class({
 | 
			
		||||
        return item;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    containsUser: function(user) {
 | 
			
		||||
        return this._items[user.get_user_name()] != null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addUser: function(user) {
 | 
			
		||||
        if (!user.is_loaded)
 | 
			
		||||
            return;
 | 
			
		||||
@@ -928,7 +924,11 @@ const LoginDialog = new Lang.Class({
 | 
			
		||||
                           },
 | 
			
		||||
                           onUpdateScope: this,
 | 
			
		||||
                           onComplete: function() {
 | 
			
		||||
                               this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
 | 
			
		||||
                               let id = Mainloop.idle_add(Lang.bind(this, function() {
 | 
			
		||||
                                   this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
 | 
			
		||||
                                   return GLib.SOURCE_REMOVE;
 | 
			
		||||
                               }));
 | 
			
		||||
                               GLib.Source.set_name_by_id(id, '[gnome-shell] this._greeter.call_start_session_when_ready_sync');
 | 
			
		||||
                           },
 | 
			
		||||
                           onCompleteScope: this });
 | 
			
		||||
    },
 | 
			
		||||
@@ -1130,10 +1130,6 @@ const LoginDialog = new Lang.Class({
 | 
			
		||||
            this._userManager.disconnect(this._userRemovedId);
 | 
			
		||||
            this._userRemovedId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        if (this._userChangedId) {
 | 
			
		||||
            this._userManager.disconnect(this._userChangedId);
 | 
			
		||||
            this._userChangedId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        this._textureCache.disconnect(this._updateLogoTextureId);
 | 
			
		||||
        Main.layoutManager.disconnect(this._startupCompleteId);
 | 
			
		||||
        if (this._settings) {
 | 
			
		||||
@@ -1180,14 +1176,6 @@ const LoginDialog = new Lang.Class({
 | 
			
		||||
                                                            this._userList.removeUser(user);
 | 
			
		||||
                                                        }));
 | 
			
		||||
 | 
			
		||||
        this._userChangedId = this._userManager.connect('user-changed',
 | 
			
		||||
                                                        Lang.bind(this, function(userManager, user) {
 | 
			
		||||
                                                            if (this._userList.containsUser(user) && user.locked)
 | 
			
		||||
                                                                this._userList.removeUser(user);
 | 
			
		||||
                                                            else if (!this._userList.containsUser(user) && !user.locked)
 | 
			
		||||
                                                                this._userList.addUser(user);
 | 
			
		||||
                                                        }));
 | 
			
		||||
 | 
			
		||||
        return GLib.SOURCE_REMOVE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,6 @@
 | 
			
		||||
    <file>ui/animation.js</file>
 | 
			
		||||
    <file>ui/appDisplay.js</file>
 | 
			
		||||
    <file>ui/appFavorites.js</file>
 | 
			
		||||
    <file>ui/audioDeviceSelection.js</file>
 | 
			
		||||
    <file>ui/backgroundMenu.js</file>
 | 
			
		||||
    <file>ui/background.js</file>
 | 
			
		||||
    <file>ui/boxpointer.js</file>
 | 
			
		||||
@@ -63,9 +62,7 @@
 | 
			
		||||
    <file>ui/magnifierDBus.js</file>
 | 
			
		||||
    <file>ui/main.js</file>
 | 
			
		||||
    <file>ui/messageTray.js</file>
 | 
			
		||||
    <file>ui/messageList.js</file>
 | 
			
		||||
    <file>ui/modalDialog.js</file>
 | 
			
		||||
    <file>ui/mpris.js</file>
 | 
			
		||||
    <file>ui/notificationDaemon.js</file>
 | 
			
		||||
    <file>ui/osdWindow.js</file>
 | 
			
		||||
    <file>ui/osdMonitorLabeler.js</file>
 | 
			
		||||
 
 | 
			
		||||
@@ -448,6 +448,8 @@ const AppSwitcher = new Lang.Class({
 | 
			
		||||
            });
 | 
			
		||||
            if (appIcon.cachedWindows.length > 0)
 | 
			
		||||
                this._addIcon(appIcon);
 | 
			
		||||
            else if (workspace == null)
 | 
			
		||||
                throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name()));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._curApp = -1;
 | 
			
		||||
@@ -685,17 +687,15 @@ const WindowIcon = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this._icon.destroy_all_children();
 | 
			
		||||
 | 
			
		||||
        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
 | 
			
		||||
 | 
			
		||||
        switch (mode) {
 | 
			
		||||
            case AppIconMode.THUMBNAIL_ONLY:
 | 
			
		||||
                size = WINDOW_PREVIEW_SIZE;
 | 
			
		||||
                this._icon.add_actor(_createWindowClone(mutterWindow, size * scaleFactor));
 | 
			
		||||
                this._icon.add_actor(_createWindowClone(mutterWindow, WINDOW_PREVIEW_SIZE));
 | 
			
		||||
                break;
 | 
			
		||||
 | 
			
		||||
            case AppIconMode.BOTH:
 | 
			
		||||
                size = WINDOW_PREVIEW_SIZE;
 | 
			
		||||
                this._icon.add_actor(_createWindowClone(mutterWindow, size * scaleFactor));
 | 
			
		||||
                this._icon.add_actor(_createWindowClone(mutterWindow, WINDOW_PREVIEW_SIZE));
 | 
			
		||||
 | 
			
		||||
                if (this.app)
 | 
			
		||||
                    this._icon.add_actor(this._createAppIcon(this.app,
 | 
			
		||||
@@ -707,7 +707,7 @@ const WindowIcon = new Lang.Class({
 | 
			
		||||
                this._icon.add_actor(this._createAppIcon(this.app, size));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._icon.set_size(size * scaleFactor, size * scaleFactor);
 | 
			
		||||
        this._icon.set_size(size, size);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _createAppIcon: function(app, size) {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ const St = imports.gi.St;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
const Atk = imports.gi.Atk;
 | 
			
		||||
 | 
			
		||||
const ANIMATED_ICON_UPDATE_TIMEOUT = 16;
 | 
			
		||||
const ANIMATED_ICON_UPDATE_TIMEOUT = 14;
 | 
			
		||||
 | 
			
		||||
const Animation = new Lang.Class({
 | 
			
		||||
    Name: 'Animation',
 | 
			
		||||
@@ -33,7 +33,7 @@ const Animation = new Lang.Class({
 | 
			
		||||
            if (this._frame == 0)
 | 
			
		||||
                this._showFrame(0);
 | 
			
		||||
 | 
			
		||||
            this._timeoutId = GLib.timeout_add(GLib.PRIORITY_LOW, this._speed, Lang.bind(this, this._update));
 | 
			
		||||
            this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
 | 
			
		||||
            GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._update');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,18 +16,16 @@ const RENAMED_DESKTOP_IDS = {
 | 
			
		||||
    'glchess.desktop': 'gnome-chess.desktop',
 | 
			
		||||
    'glines.desktop': 'five-or-more.desktop',
 | 
			
		||||
    'gnect.desktop': 'four-in-a-row.desktop',
 | 
			
		||||
    'gnibbles.desktop': 'org.gnome.Nibbles.desktop',
 | 
			
		||||
    'gnibbles.desktop': 'gnome-nibbles.desktop',
 | 
			
		||||
    'gnobots2.desktop': 'gnome-robots.desktop',
 | 
			
		||||
    'gnome-boxes.desktop': 'org.gnome.Boxes.desktop',
 | 
			
		||||
    'gnome-clocks.desktop': 'org.gnome.clocks.desktop',
 | 
			
		||||
    'gnome-contacts.desktop': 'org.gnome.Contacts.desktop',
 | 
			
		||||
    'gnome-documents.desktop': 'org.gnome.Documents.desktop',
 | 
			
		||||
    'gnome-font-viewer.desktop': 'org.gnome.font-viewer.desktop',
 | 
			
		||||
    'gnome-nibbles.desktop': 'org.gnome.Nibbles.desktop',
 | 
			
		||||
    'gnome-photos.desktop': 'org.gnome.Photos.desktop',
 | 
			
		||||
    'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop',
 | 
			
		||||
    'gnome-software.desktop': 'org.gnome.Software.desktop',
 | 
			
		||||
    'gnome-terminal.desktop': 'org.gnome.Terminal.desktop',
 | 
			
		||||
    'gnome-weather.desktop': 'org.gnome.Weather.Application.desktop',
 | 
			
		||||
    'gnomine.desktop': 'gnome-mines.desktop',
 | 
			
		||||
    'gnotravex.desktop': 'gnome-tetravex.desktop',
 | 
			
		||||
 
 | 
			
		||||
@@ -1,216 +0,0 @@
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Meta = imports.gi.Meta;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const ModalDialog = imports.ui.modalDialog;
 | 
			
		||||
 | 
			
		||||
const AudioDevice = {
 | 
			
		||||
    HEADPHONES: 1 << 0,
 | 
			
		||||
    HEADSET:    1 << 1,
 | 
			
		||||
    MICROPHONE: 1 << 2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const AudioDeviceSelectionIface = '<node> \
 | 
			
		||||
<interface name="org.gnome.Shell.AudioDeviceSelection"> \
 | 
			
		||||
<method name="Open"> \
 | 
			
		||||
    <arg name="devices" direction="in" type="as" /> \
 | 
			
		||||
</method> \
 | 
			
		||||
<method name="Close"> \
 | 
			
		||||
</method> \
 | 
			
		||||
<signal name="DeviceSelected"> \
 | 
			
		||||
    <arg name="device" type="s" /> \
 | 
			
		||||
</signal> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
 | 
			
		||||
const AudioDeviceSelectionDialog = new Lang.Class({
 | 
			
		||||
    Name: 'AudioDeviceSelectionDialog',
 | 
			
		||||
    Extends: ModalDialog.ModalDialog,
 | 
			
		||||
 | 
			
		||||
    _init: function(devices) {
 | 
			
		||||
        this.parent({ styleClass: 'audio-device-selection-dialog' });
 | 
			
		||||
 | 
			
		||||
        this._deviceItems = {};
 | 
			
		||||
 | 
			
		||||
        this._buildLayout();
 | 
			
		||||
 | 
			
		||||
        if (devices & AudioDevice.HEADPHONES)
 | 
			
		||||
            this._addDevice(AudioDevice.HEADPHONES);
 | 
			
		||||
        if (devices & AudioDevice.HEADSET)
 | 
			
		||||
            this._addDevice(AudioDevice.HEADSET);
 | 
			
		||||
        if (devices & AudioDevice.MICROPHONE)
 | 
			
		||||
            this._addDevice(AudioDevice.MICROPHONE);
 | 
			
		||||
 | 
			
		||||
        if (this._selectionBox.get_n_children() < 2)
 | 
			
		||||
            throw new Error('Too few devices for a selection');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    destroy: function() {
 | 
			
		||||
        this.parent();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _buildLayout: function(devices) {
 | 
			
		||||
        let title = new St.Label({ style_class: 'audio-selection-title',
 | 
			
		||||
                                   text: _("Select Audio Device"),
 | 
			
		||||
                                   x_align: Clutter.ActorAlign.CENTER });
 | 
			
		||||
 | 
			
		||||
        this.contentLayout.style_class = 'audio-selection-content';
 | 
			
		||||
        this.contentLayout.add(title);
 | 
			
		||||
 | 
			
		||||
        this._selectionBox = new St.BoxLayout({ style_class: 'audio-selection-box' });
 | 
			
		||||
        this.contentLayout.add(this._selectionBox, { expand: true });
 | 
			
		||||
 | 
			
		||||
        this.addButton({ action: Lang.bind(this, this._openSettings),
 | 
			
		||||
                         label: _("Sound Settings") });
 | 
			
		||||
        this.addButton({ action: Lang.bind(this, this.close),
 | 
			
		||||
                         label: _("Cancel"),
 | 
			
		||||
                         key: Clutter.Escape });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _getDeviceLabel: function(device) {
 | 
			
		||||
        switch(device) {
 | 
			
		||||
            case AudioDevice.HEADPHONES:
 | 
			
		||||
                return _("Headphones");
 | 
			
		||||
            case AudioDevice.HEADSET:
 | 
			
		||||
                return _("Headset");
 | 
			
		||||
            case AudioDevice.MICROPHONE:
 | 
			
		||||
                return _("Microphone");
 | 
			
		||||
            default:
 | 
			
		||||
                return null;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _getDeviceIcon: function(device) {
 | 
			
		||||
        switch(device) {
 | 
			
		||||
            case AudioDevice.HEADPHONES:
 | 
			
		||||
                return 'audio-headphones-symbolic';
 | 
			
		||||
            case AudioDevice.HEADSET:
 | 
			
		||||
                return 'audio-headset-symbolic';
 | 
			
		||||
            case AudioDevice.MICROPHONE:
 | 
			
		||||
                return 'audio-input-microphone-symbolic';
 | 
			
		||||
            default:
 | 
			
		||||
                return null;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _addDevice: function(device) {
 | 
			
		||||
        let box = new St.BoxLayout({ style_class: 'audio-selection-device-box',
 | 
			
		||||
                                     vertical: true });
 | 
			
		||||
        box.connect('notify::height',
 | 
			
		||||
            function() {
 | 
			
		||||
                Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
 | 
			
		||||
                    function() {
 | 
			
		||||
                        box.width = box.height;
 | 
			
		||||
                    });
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        let icon = new St.Icon({ style_class: 'audio-selection-device-icon',
 | 
			
		||||
                                 icon_name: this._getDeviceIcon(device) });
 | 
			
		||||
        box.add(icon);
 | 
			
		||||
 | 
			
		||||
        let label = new St.Label({ style_class: 'audio-selection-device-label',
 | 
			
		||||
                                   text: this._getDeviceLabel(device),
 | 
			
		||||
                                   x_align: Clutter.ActorAlign.CENTER });
 | 
			
		||||
        box.add(label);
 | 
			
		||||
 | 
			
		||||
        let button = new St.Button({ style_class: 'audio-selection-device',
 | 
			
		||||
                                     can_focus: true,
 | 
			
		||||
                                     child: box });
 | 
			
		||||
        this._selectionBox.add(button);
 | 
			
		||||
 | 
			
		||||
        button.connect('clicked', Lang.bind(this,
 | 
			
		||||
            function() {
 | 
			
		||||
                this.emit('device-selected', device);
 | 
			
		||||
                this.close();
 | 
			
		||||
                Main.overview.hide();
 | 
			
		||||
            }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _openSettings: function() {
 | 
			
		||||
        let desktopFile = 'gnome-sound-panel.desktop'
 | 
			
		||||
        let app = Shell.AppSystem.get_default().lookup_app(desktopFile);
 | 
			
		||||
 | 
			
		||||
        if (!app) {
 | 
			
		||||
            log('Settings panel for desktop file ' + desktopFile + ' could not be loaded!');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.close();
 | 
			
		||||
        Main.overview.hide();
 | 
			
		||||
        app.activate();
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const AudioDeviceSelectionDBus = new Lang.Class({
 | 
			
		||||
    Name: 'AudioDeviceSelectionDBus',
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this._audioSelectionDialog = null;
 | 
			
		||||
 | 
			
		||||
        this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(AudioDeviceSelectionIface, this);
 | 
			
		||||
        this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell/AudioDeviceSelection');
 | 
			
		||||
 | 
			
		||||
        Gio.DBus.session.own_name('org.gnome.Shell.AudioDeviceSelection', Gio.BusNameOwnerFlags.REPLACE, null, null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDialogClosed: function() {
 | 
			
		||||
        this._audioSelectionDialog = null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDeviceSelected: function(dialog, device) {
 | 
			
		||||
        let connection = this._dbusImpl.get_connection();
 | 
			
		||||
        let info = this._dbusImpl.get_info();
 | 
			
		||||
        let deviceName = Object.keys(AudioDevice).filter(
 | 
			
		||||
            function(dev) {
 | 
			
		||||
                return AudioDevice[dev] == device;
 | 
			
		||||
            })[0].toLowerCase();
 | 
			
		||||
        connection.emit_signal(this._audioSelectionDialog._sender,
 | 
			
		||||
                               this._dbusImpl.get_object_path(),
 | 
			
		||||
                               info ? info.name : null,
 | 
			
		||||
                               'DeviceSelected',
 | 
			
		||||
                               GLib.Variant.new('(s)', [deviceName]));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    OpenAsync: function(params, invocation) {
 | 
			
		||||
        if (this._audioSelectionDialog) {
 | 
			
		||||
            invocation.return_value(null);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let [deviceNames] = params;
 | 
			
		||||
        let devices = 0;
 | 
			
		||||
        deviceNames.forEach(function(n) {
 | 
			
		||||
            devices |= AudioDevice[n.toUpperCase()];
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        let dialog;
 | 
			
		||||
        try {
 | 
			
		||||
            dialog = new AudioDeviceSelectionDialog(devices);
 | 
			
		||||
        } catch(e) {
 | 
			
		||||
            invocation.return_value(null);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        dialog._sender = invocation.get_sender();
 | 
			
		||||
 | 
			
		||||
        dialog.connect('closed', Lang.bind(this, this._onDialogClosed));
 | 
			
		||||
        dialog.connect('device-selected',
 | 
			
		||||
                       Lang.bind(this, this._onDeviceSelected));
 | 
			
		||||
        dialog.open();
 | 
			
		||||
 | 
			
		||||
        this._audioSelectionDialog = dialog;
 | 
			
		||||
        invocation.return_value(null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    CloseAsync: function(params, invocation) {
 | 
			
		||||
        if (this._audioSelectionDialog &&
 | 
			
		||||
            this._audioSelectionDialog._sender == invocation.get_sender())
 | 
			
		||||
            this._audioSelectionDialog.close();
 | 
			
		||||
 | 
			
		||||
        invocation.return_value(null);
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
@@ -247,13 +247,6 @@ const Background = new Lang.Class({
 | 
			
		||||
        this._cancellable = new Gio.Cancellable();
 | 
			
		||||
        this.isLoaded = false;
 | 
			
		||||
 | 
			
		||||
        this._clock = new GnomeDesktop.WallClock();
 | 
			
		||||
        this._timezoneChangedId = this._clock.connect('notify::timezone',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                if (this._animation)
 | 
			
		||||
                    this._loadAnimation(this._animation.file);
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._settingsChangedSignalId = this._settings.connect('changed', Lang.bind(this, function() {
 | 
			
		||||
                                            this.emit('changed');
 | 
			
		||||
                                        }));
 | 
			
		||||
@@ -272,10 +265,6 @@ const Background = new Lang.Class({
 | 
			
		||||
        }
 | 
			
		||||
        this._fileWatches = null;
 | 
			
		||||
 | 
			
		||||
        if (this._timezoneChangedId != 0)
 | 
			
		||||
            this._clock.disconnect(this._timezoneChangedId);
 | 
			
		||||
        this._timezoneChangedId = 0;
 | 
			
		||||
 | 
			
		||||
        if (this._settingsChangedSignalId != 0)
 | 
			
		||||
            this._settings.disconnect(this._settingsChangedSignalId);
 | 
			
		||||
        this._settingsChangedSignalId = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,23 @@
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Atk = imports.gi.Atk;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const GObject = imports.gi.GObject;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
const Pango = imports.gi.Pango;
 | 
			
		||||
const Gettext_gtk30 = imports.gettext.domain('gtk30');
 | 
			
		||||
const Mainloop = imports.mainloop;
 | 
			
		||||
const Meta = imports.gi.Meta;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const MessageList = imports.ui.messageList;
 | 
			
		||||
const MessageTray = imports.ui.messageTray;
 | 
			
		||||
const Mpris = imports.ui.mpris;
 | 
			
		||||
const Tweener = imports.ui.tweener;
 | 
			
		||||
const Util = imports.misc.util;
 | 
			
		||||
 | 
			
		||||
const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
 | 
			
		||||
@@ -22,24 +26,28 @@ const ELLIPSIS_CHAR = '\u2026';
 | 
			
		||||
 | 
			
		||||
const MESSAGE_ICON_SIZE = 32;
 | 
			
		||||
 | 
			
		||||
const MESSAGE_ANIMATION_TIME = 0.1;
 | 
			
		||||
 | 
			
		||||
const DEFAULT_EXPAND_LINES = 6;
 | 
			
		||||
 | 
			
		||||
// alias to prevent xgettext from picking up strings translated in GTK+
 | 
			
		||||
const gtk30_ = Gettext_gtk30.gettext;
 | 
			
		||||
const NC_ = function(context, str) { return context + '\u0004' + str; };
 | 
			
		||||
 | 
			
		||||
function sameYear(dateA, dateB) {
 | 
			
		||||
function _sameYear(dateA, dateB) {
 | 
			
		||||
    return (dateA.getYear() == dateB.getYear());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function sameMonth(dateA, dateB) {
 | 
			
		||||
    return sameYear(dateA, dateB) && (dateA.getMonth() == dateB.getMonth());
 | 
			
		||||
function _sameMonth(dateA, dateB) {
 | 
			
		||||
    return _sameYear(dateA, dateB) && (dateA.getMonth() == dateB.getMonth());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function sameDay(dateA, dateB) {
 | 
			
		||||
    return sameMonth(dateA, dateB) && (dateA.getDate() == dateB.getDate());
 | 
			
		||||
function _sameDay(dateA, dateB) {
 | 
			
		||||
    return _sameMonth(dateA, dateB) && (dateA.getDate() == dateB.getDate());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isToday(date) {
 | 
			
		||||
    return sameDay(new Date(), date);
 | 
			
		||||
function _isToday(date) {
 | 
			
		||||
    return _sameDay(new Date(), date);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _isWorkDay(date) {
 | 
			
		||||
@@ -90,6 +98,148 @@ function _getCalendarDayAbbreviation(dayNumber) {
 | 
			
		||||
    return Shell.util_translate_time_string(abbreviations[dayNumber]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fixMarkup(text, allowMarkup) {
 | 
			
		||||
    if (allowMarkup) {
 | 
			
		||||
        // Support &, ", ', < and >, escape all other
 | 
			
		||||
        // occurrences of '&'.
 | 
			
		||||
        let _text = text.replace(/&(?!amp;|quot;|apos;|lt;|gt;)/g, '&');
 | 
			
		||||
 | 
			
		||||
        // Support <b>, <i>, and <u>, escape anything else
 | 
			
		||||
        // so it displays as raw markup.
 | 
			
		||||
        _text = _text.replace(/<(?!\/?[biu]>)/g, '<');
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            Pango.parse_markup(_text, -1, '');
 | 
			
		||||
            return _text;
 | 
			
		||||
        } catch (e) {}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // !allowMarkup, or invalid markup
 | 
			
		||||
    return GLib.markup_escape_text(text, -1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const URLHighlighter = new Lang.Class({
 | 
			
		||||
    Name: 'URLHighlighter',
 | 
			
		||||
 | 
			
		||||
    _init: function(text, lineWrap, allowMarkup) {
 | 
			
		||||
        if (!text)
 | 
			
		||||
            text = '';
 | 
			
		||||
        this.actor = new St.Label({ reactive: true, style_class: 'url-highlighter',
 | 
			
		||||
                                    x_expand: true, x_align: Clutter.ActorAlign.START });
 | 
			
		||||
        this._linkColor = '#ccccff';
 | 
			
		||||
        this.actor.connect('style-changed', Lang.bind(this, function() {
 | 
			
		||||
            let [hasColor, color] = this.actor.get_theme_node().lookup_color('link-color', false);
 | 
			
		||||
            if (hasColor) {
 | 
			
		||||
                let linkColor = color.to_string().substr(0, 7);
 | 
			
		||||
                if (linkColor != this._linkColor) {
 | 
			
		||||
                    this._linkColor = linkColor;
 | 
			
		||||
                    this._highlightUrls();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.clutter_text.line_wrap = lineWrap;
 | 
			
		||||
        this.actor.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR;
 | 
			
		||||
 | 
			
		||||
        this.setMarkup(text, allowMarkup);
 | 
			
		||||
        this.actor.connect('button-press-event', Lang.bind(this, function(actor, event) {
 | 
			
		||||
            // Don't try to URL highlight when invisible.
 | 
			
		||||
            // The MessageTray doesn't actually hide us, so
 | 
			
		||||
            // we need to check for paint opacities as well.
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            // Keep Notification.actor from seeing this and taking
 | 
			
		||||
            // a pointer grab, which would block our button-release-event
 | 
			
		||||
            // handler, if an URL is clicked
 | 
			
		||||
            return this._findUrlAtPos(event) != -1;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('button-release-event', Lang.bind(this, function (actor, event) {
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            let urlId = this._findUrlAtPos(event);
 | 
			
		||||
            if (urlId != -1) {
 | 
			
		||||
                let url = this._urls[urlId].url;
 | 
			
		||||
                if (url.indexOf(':') == -1)
 | 
			
		||||
                    url = 'http://' + url;
 | 
			
		||||
 | 
			
		||||
                Gio.app_info_launch_default_for_uri(url, global.create_app_launch_context(0, -1));
 | 
			
		||||
                return Clutter.EVENT_STOP;
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('motion-event', Lang.bind(this, function(actor, event) {
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            let urlId = this._findUrlAtPos(event);
 | 
			
		||||
            if (urlId != -1 && !this._cursorChanged) {
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.POINTING_HAND);
 | 
			
		||||
                this._cursorChanged = true;
 | 
			
		||||
            } else if (urlId == -1) {
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.DEFAULT);
 | 
			
		||||
                this._cursorChanged = false;
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('leave-event', Lang.bind(this, function() {
 | 
			
		||||
            if (!this.actor.visible || this.actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            if (this._cursorChanged) {
 | 
			
		||||
                this._cursorChanged = false;
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.DEFAULT);
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setMarkup: function(text, allowMarkup) {
 | 
			
		||||
        text = text ? _fixMarkup(text, allowMarkup) : '';
 | 
			
		||||
        this._text = text;
 | 
			
		||||
 | 
			
		||||
        this.actor.clutter_text.set_markup(text);
 | 
			
		||||
        /* clutter_text.text contain text without markup */
 | 
			
		||||
        this._urls = Util.findUrls(this.actor.clutter_text.text);
 | 
			
		||||
        this._highlightUrls();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _highlightUrls: function() {
 | 
			
		||||
        // text here contain markup
 | 
			
		||||
        let urls = Util.findUrls(this._text);
 | 
			
		||||
        let markup = '';
 | 
			
		||||
        let pos = 0;
 | 
			
		||||
        for (let i = 0; i < urls.length; i++) {
 | 
			
		||||
            let url = urls[i];
 | 
			
		||||
            let str = this._text.substr(pos, url.pos - pos);
 | 
			
		||||
            markup += str + '<span foreground="' + this._linkColor + '"><u>' + url.url + '</u></span>';
 | 
			
		||||
            pos = url.pos + url.url.length;
 | 
			
		||||
        }
 | 
			
		||||
        markup += this._text.substr(pos);
 | 
			
		||||
        this.actor.clutter_text.set_markup(markup);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _findUrlAtPos: function(event) {
 | 
			
		||||
        let success;
 | 
			
		||||
        let [x, y] = event.get_coords();
 | 
			
		||||
        [success, x, y] = this.actor.transform_stage_point(x, y);
 | 
			
		||||
        let find_pos = -1;
 | 
			
		||||
        for (let i = 0; i < this.actor.clutter_text.text.length; i++) {
 | 
			
		||||
            let [success, px, py, line_height] = this.actor.clutter_text.position_to_coords(i);
 | 
			
		||||
            if (py > y || py + line_height < y || x < px)
 | 
			
		||||
                continue;
 | 
			
		||||
            find_pos = i;
 | 
			
		||||
        }
 | 
			
		||||
        if (find_pos != -1) {
 | 
			
		||||
            for (let i = 0; i < this._urls.length; i++)
 | 
			
		||||
            if (find_pos >= this._urls[i].pos &&
 | 
			
		||||
                this._urls[i].pos + this._urls[i].url.length > find_pos)
 | 
			
		||||
                return i;
 | 
			
		||||
        }
 | 
			
		||||
        return -1;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// Abstraction for an appointment/event in a calendar
 | 
			
		||||
 | 
			
		||||
const CalendarEvent = new Lang.Class({
 | 
			
		||||
@@ -394,7 +544,7 @@ const Calendar = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    // Sets the calendar to show a specific date
 | 
			
		||||
    setDate: function(date) {
 | 
			
		||||
        if (sameDay(date, this._selectedDate))
 | 
			
		||||
        if (_sameDay(date, this._selectedDate))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._selectedDate = date;
 | 
			
		||||
@@ -575,8 +725,7 @@ const Calendar = new Lang.Class({
 | 
			
		||||
        // nRows here means 6 weeks + one header + one navbar
 | 
			
		||||
        let nRows = 8;
 | 
			
		||||
        while (row < 8) {
 | 
			
		||||
            // xgettext:no-javascript-format
 | 
			
		||||
            let button = new St.Button({ label: iter.toLocaleFormat(C_("date day number format", "%d")),
 | 
			
		||||
            let button = new St.Button({ label: iter.getDate().toString(),
 | 
			
		||||
                                         can_focus: true });
 | 
			
		||||
            let rtl = button.get_text_direction() == Clutter.TextDirection.RTL;
 | 
			
		||||
 | 
			
		||||
@@ -607,7 +756,7 @@ const Calendar = new Lang.Class({
 | 
			
		||||
            if (leftMost)
 | 
			
		||||
                styleClass = 'calendar-day-left ' + styleClass;
 | 
			
		||||
 | 
			
		||||
            if (sameDay(now, iter))
 | 
			
		||||
            if (_sameDay(now, iter))
 | 
			
		||||
                styleClass += ' calendar-today';
 | 
			
		||||
            else if (iter.getMonth() != this._selectedDate.getMonth())
 | 
			
		||||
                styleClass += ' calendar-other-month-day';
 | 
			
		||||
@@ -650,16 +799,16 @@ const Calendar = new Lang.Class({
 | 
			
		||||
    _update: function() {
 | 
			
		||||
        let now = new Date();
 | 
			
		||||
 | 
			
		||||
        if (sameYear(this._selectedDate, now))
 | 
			
		||||
        if (_sameYear(this._selectedDate, now))
 | 
			
		||||
            this._monthLabel.text = this._selectedDate.toLocaleFormat(this._headerFormatWithoutYear);
 | 
			
		||||
        else
 | 
			
		||||
            this._monthLabel.text = this._selectedDate.toLocaleFormat(this._headerFormat);
 | 
			
		||||
 | 
			
		||||
        if (!this._calendarBegin || !sameMonth(this._selectedDate, this._calendarBegin) || !sameDay(now, this._markedAsToday))
 | 
			
		||||
        if (!this._calendarBegin || !_sameMonth(this._selectedDate, this._calendarBegin) || !_sameDay(now, this._markedAsToday))
 | 
			
		||||
            this._rebuildCalendar();
 | 
			
		||||
 | 
			
		||||
        this._buttons.forEach(Lang.bind(this, function(button) {
 | 
			
		||||
            if (sameDay(button._date, this._selectedDate)) {
 | 
			
		||||
            if (_sameDay(button._date, this._selectedDate)) {
 | 
			
		||||
                button.add_style_pseudo_class('active');
 | 
			
		||||
                if (this._shouldDateGrabFocus)
 | 
			
		||||
                    button.grab_key_focus();
 | 
			
		||||
@@ -671,9 +820,353 @@ const Calendar = new Lang.Class({
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(Calendar.prototype);
 | 
			
		||||
 | 
			
		||||
const ScaleLayout = new Lang.Class({
 | 
			
		||||
    Name: 'ScaleLayout',
 | 
			
		||||
    Extends: Clutter.BinLayout,
 | 
			
		||||
 | 
			
		||||
    _connectContainer: function(container) {
 | 
			
		||||
        if (this._container == container)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (this._container)
 | 
			
		||||
            for (let id of this._signals)
 | 
			
		||||
                this._container.disconnect(id);
 | 
			
		||||
 | 
			
		||||
        this._container = container;
 | 
			
		||||
        this._signals = [];
 | 
			
		||||
 | 
			
		||||
        if (this._container)
 | 
			
		||||
            for (let signal of ['notify::scale-x', 'notify::scale-y']) {
 | 
			
		||||
                let id = this._container.connect(signal, Lang.bind(this,
 | 
			
		||||
                    function() {
 | 
			
		||||
                        this.layout_changed();
 | 
			
		||||
                    }));
 | 
			
		||||
                this._signals.push(id);
 | 
			
		||||
            }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_width: function(container, forHeight) {
 | 
			
		||||
        this._connectContainer(container);
 | 
			
		||||
 | 
			
		||||
        let [min, nat] = this.parent(container, forHeight);
 | 
			
		||||
        return [Math.floor(min * container.scale_x),
 | 
			
		||||
                Math.floor(nat * container.scale_x)];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_height: function(container, forWidth) {
 | 
			
		||||
        this._connectContainer(container);
 | 
			
		||||
 | 
			
		||||
        let [min, nat] = this.parent(container, forWidth);
 | 
			
		||||
        return [Math.floor(min * container.scale_y),
 | 
			
		||||
                Math.floor(nat * container.scale_y)];
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const LabelExpanderLayout = new Lang.Class({
 | 
			
		||||
    Name: 'LabelExpanderLayout',
 | 
			
		||||
    Extends: Clutter.LayoutManager,
 | 
			
		||||
    Properties: { 'expansion': GObject.ParamSpec.double('expansion',
 | 
			
		||||
                                                        'Expansion',
 | 
			
		||||
                                                        'Expansion of the layout, between 0 (collapsed) ' +
 | 
			
		||||
                                                        'and 1 (fully expanded',
 | 
			
		||||
                                                         GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE,
 | 
			
		||||
                                                         0, 1, 0)},
 | 
			
		||||
 | 
			
		||||
    _init: function(params) {
 | 
			
		||||
        this._expansion = 0;
 | 
			
		||||
        this._expandLines = DEFAULT_EXPAND_LINES;
 | 
			
		||||
 | 
			
		||||
        this.parent(params);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get expansion() {
 | 
			
		||||
        return this._expansion;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set expansion(v) {
 | 
			
		||||
        if (v == this._expansion)
 | 
			
		||||
            return;
 | 
			
		||||
        this._expansion = v;
 | 
			
		||||
        this.notify('expansion');
 | 
			
		||||
 | 
			
		||||
        let visibleIndex = this._expansion > 0 ? 1 : 0;
 | 
			
		||||
        for (let i = 0; this._container && i < this._container.get_n_children(); i++)
 | 
			
		||||
            this._container.get_child_at_index(i).visible = (i == visibleIndex);
 | 
			
		||||
 | 
			
		||||
        this.layout_changed();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set expandLines(v) {
 | 
			
		||||
        if (v == this._expandLines)
 | 
			
		||||
            return;
 | 
			
		||||
        this._expandLines = v;
 | 
			
		||||
        if (this._expansion > 0)
 | 
			
		||||
            this.layout_changed();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_set_container: function(container) {
 | 
			
		||||
        this._container = container;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_width: function(container, forHeight) {
 | 
			
		||||
        let [min, nat] = [0, 0];
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < container.get_n_children(); i++) {
 | 
			
		||||
            if (i > 1)
 | 
			
		||||
                break; // we support one unexpanded + one expanded child
 | 
			
		||||
 | 
			
		||||
            let child = container.get_child_at_index(i);
 | 
			
		||||
            let [childMin, childNat] = child.get_preferred_width(forHeight);
 | 
			
		||||
            [min, nat] = [Math.max(min, childMin), Math.max(nat, childNat)];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return [min, nat];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_height: function(container, forWidth) {
 | 
			
		||||
        let [min, nat] = [0, 0];
 | 
			
		||||
 | 
			
		||||
        let children = container.get_children();
 | 
			
		||||
        if (children[0])
 | 
			
		||||
            [min, nat] = children[0].get_preferred_height(forWidth);
 | 
			
		||||
 | 
			
		||||
        if (children[1]) {
 | 
			
		||||
            let [min2, nat2] = children[1].get_preferred_height(forWidth);
 | 
			
		||||
            let [expMin, expNat] = [Math.min(min2, min * this._expandLines),
 | 
			
		||||
                                    Math.min(nat2, nat * this._expandLines)];
 | 
			
		||||
            [min, nat] = [min + this._expansion * (expMin - min),
 | 
			
		||||
                          nat + this._expansion * (expNat - nat)];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return [min, nat];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_allocate: function(container, box, flags) {
 | 
			
		||||
        for (let i = 0; i < container.get_n_children(); i++) {
 | 
			
		||||
            let child = container.get_child_at_index(i);
 | 
			
		||||
 | 
			
		||||
            if (child.visible)
 | 
			
		||||
                child.allocate(box, flags);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const Message = new Lang.Class({
 | 
			
		||||
    Name: 'Message',
 | 
			
		||||
 | 
			
		||||
    _init: function(title, body) {
 | 
			
		||||
        this.expanded = false;
 | 
			
		||||
 | 
			
		||||
        this.actor = new St.Button({ style_class: 'message',
 | 
			
		||||
                                     accessible_role: Atk.Role.NOTIFICATION,
 | 
			
		||||
                                     can_focus: true,
 | 
			
		||||
                                     x_expand: true, x_fill: true });
 | 
			
		||||
        this.actor.connect('key-press-event',
 | 
			
		||||
                           Lang.bind(this, this._onKeyPressed));
 | 
			
		||||
 | 
			
		||||
        let vbox = new St.BoxLayout({ vertical: true });
 | 
			
		||||
        this.actor.set_child(vbox);
 | 
			
		||||
 | 
			
		||||
        let hbox = new St.BoxLayout();
 | 
			
		||||
        vbox.add_actor(hbox);
 | 
			
		||||
 | 
			
		||||
        this._actionBin = new St.Widget({ layout_manager: new ScaleLayout(),
 | 
			
		||||
                                          visible: false });
 | 
			
		||||
        vbox.add_actor(this._actionBin);
 | 
			
		||||
 | 
			
		||||
        this._iconBin = new St.Bin({ style_class: 'message-icon-bin',
 | 
			
		||||
                                     y_expand: true,
 | 
			
		||||
                                     visible: false });
 | 
			
		||||
        hbox.add_actor(this._iconBin);
 | 
			
		||||
 | 
			
		||||
        let contentBox = new St.BoxLayout({ style_class: 'message-content',
 | 
			
		||||
                                            vertical: true, x_expand: true });
 | 
			
		||||
        hbox.add_actor(contentBox);
 | 
			
		||||
 | 
			
		||||
        let titleBox = new St.BoxLayout();
 | 
			
		||||
        contentBox.add_actor(titleBox);
 | 
			
		||||
 | 
			
		||||
        this.titleLabel = new St.Label({ style_class: 'message-title',
 | 
			
		||||
                                         x_expand: true,
 | 
			
		||||
                                         x_align: Clutter.ActorAlign.START });
 | 
			
		||||
        this.setTitle(title);
 | 
			
		||||
        titleBox.add_actor(this.titleLabel);
 | 
			
		||||
 | 
			
		||||
        this._secondaryBin = new St.Bin({ style_class: 'message-secondary-bin' });
 | 
			
		||||
        titleBox.add_actor(this._secondaryBin);
 | 
			
		||||
 | 
			
		||||
        let closeIcon = new St.Icon({ icon_name: 'window-close-symbolic',
 | 
			
		||||
                                      icon_size: 16 });
 | 
			
		||||
        this._closeButton = new St.Button({ child: closeIcon, visible: false });
 | 
			
		||||
        titleBox.add_actor(this._closeButton);
 | 
			
		||||
 | 
			
		||||
        this._bodyStack = new St.Widget({ x_expand: true });
 | 
			
		||||
        this._bodyStack.layout_manager = new LabelExpanderLayout();
 | 
			
		||||
        contentBox.add_actor(this._bodyStack);
 | 
			
		||||
 | 
			
		||||
        this.bodyLabel = new URLHighlighter('', false, this._useBodyMarkup);
 | 
			
		||||
        this.bodyLabel.actor.add_style_class_name('message-body');
 | 
			
		||||
        this._bodyStack.add_actor(this.bodyLabel.actor);
 | 
			
		||||
        this.setBody(body);
 | 
			
		||||
 | 
			
		||||
        this._closeButton.connect('clicked', Lang.bind(this, this.close));
 | 
			
		||||
        this.actor.connect('notify::hover', Lang.bind(this, this._sync));
 | 
			
		||||
        this.actor.connect('clicked', Lang.bind(this, this._onClicked));
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    close: function() {
 | 
			
		||||
        this.emit('close');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setIcon: function(actor) {
 | 
			
		||||
        this._iconBin.child = actor;
 | 
			
		||||
        this._iconBin.visible = (actor != null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setSecondaryActor: function(actor) {
 | 
			
		||||
        this._secondaryBin.child = actor;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setTitle: function(text) {
 | 
			
		||||
        let title = text ? _fixMarkup(text.replace(/\n/g, ' '), false) : '';
 | 
			
		||||
        this.titleLabel.clutter_text.set_markup(title);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setBody: function(text) {
 | 
			
		||||
        this._bodyText = text;
 | 
			
		||||
        this.bodyLabel.setMarkup(text ? text.replace(/\n/g, ' ') : '',
 | 
			
		||||
                                 this._useBodyMarkup);
 | 
			
		||||
        if (this._expandedLabel)
 | 
			
		||||
            this._expandedLabel.setMarkup(text, this._useBodyMarkup);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setUseBodyMarkup: function(enable) {
 | 
			
		||||
        if (this._useBodyMarkup === enable)
 | 
			
		||||
            return;
 | 
			
		||||
        this._useBodyMarkup = enable;
 | 
			
		||||
        if (this.bodyLabel)
 | 
			
		||||
            this.setBody(this._bodyText);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setActionArea: function(actor) {
 | 
			
		||||
        if (actor == null) {
 | 
			
		||||
            if (this._actionBin.get_n_children() > 0)
 | 
			
		||||
                this._actionBin.get_child_at_index(0).destroy();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._actionBin.get_n_children() > 0)
 | 
			
		||||
            throw new Error('Message already has an action area');
 | 
			
		||||
 | 
			
		||||
        this._actionBin.add_actor(actor);
 | 
			
		||||
        this._actionBin.visible = this.expanded;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setExpandedBody: function(actor) {
 | 
			
		||||
        if (actor == null) {
 | 
			
		||||
            if (this._bodyStack.get_n_children() > 1)
 | 
			
		||||
                this._bodyStack.get_child_at_index(1).destroy();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._bodyStack.get_n_children() > 1)
 | 
			
		||||
            throw new Error('Message already has an expanded body actor');
 | 
			
		||||
 | 
			
		||||
        this._bodyStack.insert_child_at_index(actor, 1);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setExpandedLines: function(nLines) {
 | 
			
		||||
        this._bodyStack.layout_manager.expandLines = nLines;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    expand: function(animate) {
 | 
			
		||||
        this.expanded = true;
 | 
			
		||||
 | 
			
		||||
        this._actionBin.visible = (this._actionBin.get_n_children() > 0);
 | 
			
		||||
 | 
			
		||||
        if (this._bodyStack.get_n_children() < 2) {
 | 
			
		||||
            this._expandedLabel = new URLHighlighter(this._bodyText,
 | 
			
		||||
                                                     true, this._useBodyMarkup);
 | 
			
		||||
            this.setExpandedBody(this._expandedLabel.actor);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(this._bodyStack.layout_manager,
 | 
			
		||||
                             { expansion: 1,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
            this._actionBin.scale_y = 0;
 | 
			
		||||
            Tweener.addTween(this._actionBin,
 | 
			
		||||
                             { scale_y: 1,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
        } else {
 | 
			
		||||
            this._bodyStack.layout_manager.expansion = 1;
 | 
			
		||||
            this._actionBin.scale_y = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.emit('expanded');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    unexpand: function(animate) {
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(this._bodyStack.layout_manager,
 | 
			
		||||
                             { expansion: 0,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
            Tweener.addTween(this._actionBin,
 | 
			
		||||
                             { scale_y: 0,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad',
 | 
			
		||||
                               onCompleteScope: this,
 | 
			
		||||
                               onComplete: function() {
 | 
			
		||||
                                   this._actionBin.hide();
 | 
			
		||||
                                   this.expanded = false;
 | 
			
		||||
                               }});
 | 
			
		||||
        } else {
 | 
			
		||||
            this._bodyStack.layout_manager.expansion = 0;
 | 
			
		||||
            this._actionBin.scale_y = 0;
 | 
			
		||||
            this.expanded = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.emit('unexpanded');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    canClose: function() {
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let hovered = this.actor.hover;
 | 
			
		||||
        this._closeButton.visible = hovered && this.canClose();
 | 
			
		||||
        this._secondaryBin.visible = !hovered;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onClicked: function() {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyPressed: function(a, event) {
 | 
			
		||||
        let keysym = event.get_key_symbol();
 | 
			
		||||
 | 
			
		||||
        if (keysym == Clutter.KEY_Delete ||
 | 
			
		||||
            keysym == Clutter.KEY_KP_Delete) {
 | 
			
		||||
            this.close();
 | 
			
		||||
            return Clutter.EVENT_STOP;
 | 
			
		||||
        }
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(Message.prototype);
 | 
			
		||||
 | 
			
		||||
const EventMessage = new Lang.Class({
 | 
			
		||||
    Name: 'EventMessage',
 | 
			
		||||
    Extends: MessageList.Message,
 | 
			
		||||
    Extends: Message,
 | 
			
		||||
 | 
			
		||||
    _init: function(event, date) {
 | 
			
		||||
        this._event = event;
 | 
			
		||||
@@ -716,13 +1209,13 @@ const EventMessage = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    canClose: function() {
 | 
			
		||||
        return isToday(this._date);
 | 
			
		||||
        return _isToday(this._date);
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const NotificationMessage = new Lang.Class({
 | 
			
		||||
    Name: 'NotificationMessage',
 | 
			
		||||
    Extends: MessageList.Message,
 | 
			
		||||
    Extends: Message,
 | 
			
		||||
 | 
			
		||||
    _init: function(notification) {
 | 
			
		||||
        this.notification = notification;
 | 
			
		||||
@@ -776,9 +1269,217 @@ const NotificationMessage = new Lang.Class({
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const MessageListSection = new Lang.Class({
 | 
			
		||||
    Name: 'MessageListSection',
 | 
			
		||||
 | 
			
		||||
    _init: function(title) {
 | 
			
		||||
        this.actor = new St.BoxLayout({ style_class: 'message-list-section',
 | 
			
		||||
                                        clip_to_allocation: true,
 | 
			
		||||
                                        x_expand: true, vertical: true });
 | 
			
		||||
        let titleBox = new St.BoxLayout({ style_class: 'message-list-section-title-box' });
 | 
			
		||||
        this.actor.add_actor(titleBox);
 | 
			
		||||
 | 
			
		||||
        this._title = new St.Button({ style_class: 'message-list-section-title',
 | 
			
		||||
                                      label: title,
 | 
			
		||||
                                      can_focus: true,
 | 
			
		||||
                                      x_expand: true,
 | 
			
		||||
                                      x_align: St.Align.START });
 | 
			
		||||
        titleBox.add_actor(this._title);
 | 
			
		||||
 | 
			
		||||
        this._title.connect('clicked', Lang.bind(this, this._onTitleClicked));
 | 
			
		||||
        this._title.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
 | 
			
		||||
 | 
			
		||||
        let closeIcon = new St.Icon({ icon_name: 'window-close-symbolic' });
 | 
			
		||||
        this._closeButton = new St.Button({ style_class: 'message-list-section-close',
 | 
			
		||||
                                            child: closeIcon,
 | 
			
		||||
                                            accessible_name: _("Clear section"),
 | 
			
		||||
                                            can_focus: true });
 | 
			
		||||
        this._closeButton.set_x_align(Clutter.ActorAlign.END);
 | 
			
		||||
        titleBox.add_actor(this._closeButton);
 | 
			
		||||
 | 
			
		||||
        this._closeButton.connect('clicked', Lang.bind(this, this.clear));
 | 
			
		||||
 | 
			
		||||
        this._list = new St.BoxLayout({ style_class: 'message-list-section-list',
 | 
			
		||||
                                        vertical: true });
 | 
			
		||||
        this.actor.add_actor(this._list);
 | 
			
		||||
 | 
			
		||||
        this._list.connect('actor-added', Lang.bind(this, this._sync));
 | 
			
		||||
        this._list.connect('actor-removed', Lang.bind(this, this._sync));
 | 
			
		||||
 | 
			
		||||
        let id = Main.sessionMode.connect('updated',
 | 
			
		||||
                                          Lang.bind(this, this._sync));
 | 
			
		||||
        this.actor.connect('destroy', function() {
 | 
			
		||||
            Main.sessionMode.disconnect(id);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        this._messages = new Map();
 | 
			
		||||
        this._date = new Date();
 | 
			
		||||
        this.empty = true;
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTitleClicked: function() {
 | 
			
		||||
        Main.overview.hide();
 | 
			
		||||
        Main.panel.closeCalendar();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyFocusIn: function(actor) {
 | 
			
		||||
        this.emit('key-focus-in', actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get allowed() {
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setDate: function(date) {
 | 
			
		||||
        if (_sameDay(date, this._date))
 | 
			
		||||
            return;
 | 
			
		||||
        this._date = date;
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addMessage: function(message, animate) {
 | 
			
		||||
        this.addMessageAtIndex(message, -1, animate);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addMessageAtIndex: function(message, index, animate) {
 | 
			
		||||
        let obj = {
 | 
			
		||||
            container: null,
 | 
			
		||||
            destroyId: 0,
 | 
			
		||||
            keyFocusId: 0,
 | 
			
		||||
            closeId: 0
 | 
			
		||||
        };
 | 
			
		||||
        let pivot = new Clutter.Point({ x: .5, y: .5 });
 | 
			
		||||
        let scale = animate ? 0 : 1;
 | 
			
		||||
        obj.container = new St.Widget({ layout_manager: new ScaleLayout(),
 | 
			
		||||
                                        pivot_point: pivot,
 | 
			
		||||
                                        scale_x: scale, scale_y: scale });
 | 
			
		||||
        obj.keyFocusId = message.actor.connect('key-focus-in',
 | 
			
		||||
            Lang.bind(this, this._onKeyFocusIn));
 | 
			
		||||
        obj.destroyId = message.actor.connect('destroy',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this.removeMessage(message, false);
 | 
			
		||||
            }));
 | 
			
		||||
        obj.closeId = message.connect('close',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this.removeMessage(message, true);
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._messages.set(message, obj);
 | 
			
		||||
        obj.container.add_actor(message.actor);
 | 
			
		||||
 | 
			
		||||
        this._list.insert_child_at_index(obj.container, index);
 | 
			
		||||
 | 
			
		||||
        if (animate)
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 1,
 | 
			
		||||
                                              scale_y: 1,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad' });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    moveMessage: function(message, index, animate) {
 | 
			
		||||
        let obj = this._messages.get(message);
 | 
			
		||||
 | 
			
		||||
        if (!animate) {
 | 
			
		||||
            this._list.set_child_at_index(obj.container, index);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let onComplete = Lang.bind(this, function() {
 | 
			
		||||
            this._list.set_child_at_index(obj.container, index);
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 1,
 | 
			
		||||
                                              scale_y: 1,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad' });
 | 
			
		||||
        });
 | 
			
		||||
        Tweener.addTween(obj.container, { scale_x: 0,
 | 
			
		||||
                                          scale_y: 0,
 | 
			
		||||
                                          time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                          transition: 'easeOutQuad',
 | 
			
		||||
                                          onComplete: onComplete });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    removeMessage: function(message, animate) {
 | 
			
		||||
        let obj = this._messages.get(message);
 | 
			
		||||
 | 
			
		||||
        message.actor.disconnect(obj.destroyId);
 | 
			
		||||
        message.actor.disconnect(obj.keyFocusId);
 | 
			
		||||
        message.disconnect(obj.closeId);
 | 
			
		||||
 | 
			
		||||
        this._messages.delete(message);
 | 
			
		||||
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 0, scale_y: 0,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad',
 | 
			
		||||
                                              onComplete: function() {
 | 
			
		||||
                                                  obj.container.destroy();
 | 
			
		||||
                                                  global.sync_pointer();
 | 
			
		||||
                                              }});
 | 
			
		||||
        } else {
 | 
			
		||||
            obj.container.destroy();
 | 
			
		||||
            global.sync_pointer();
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    clear: function() {
 | 
			
		||||
        let messages = [...this._messages.keys()].filter(function(message) {
 | 
			
		||||
            return message.canClose();
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // If there are few messages, letting them all zoom out looks OK
 | 
			
		||||
        if (messages.length < 2) {
 | 
			
		||||
            messages.forEach(function(message) {
 | 
			
		||||
                message.close();
 | 
			
		||||
            });
 | 
			
		||||
        } else {
 | 
			
		||||
            // Otherwise we slide them out one by one, and then zoom them
 | 
			
		||||
            // out "off-screen" in the end to smoothly shrink the parent
 | 
			
		||||
            let delay = MESSAGE_ANIMATION_TIME / Math.max(messages.length, 5);
 | 
			
		||||
            for (let i = 0; i < messages.length; i++) {
 | 
			
		||||
                let message = messages[i];
 | 
			
		||||
                let obj = this._messages.get(message);
 | 
			
		||||
                Tweener.addTween(obj.container,
 | 
			
		||||
                                 { anchor_x: this._list.width,
 | 
			
		||||
                                   opacity: 0,
 | 
			
		||||
                                   time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                   delay: i * delay,
 | 
			
		||||
                                   transition: 'easeOutQuad',
 | 
			
		||||
                                   onComplete: function() {
 | 
			
		||||
                                       message.close();
 | 
			
		||||
                                   }});
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _canClear: function() {
 | 
			
		||||
        for (let message of this._messages.keys())
 | 
			
		||||
            if (message.canClose())
 | 
			
		||||
                return true;
 | 
			
		||||
        return false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldShow: function() {
 | 
			
		||||
        return !this.empty;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let empty = this._list.get_n_children() == 0;
 | 
			
		||||
        let changed = this.empty !== empty;
 | 
			
		||||
        this.empty = empty;
 | 
			
		||||
 | 
			
		||||
        if (changed)
 | 
			
		||||
            this.emit('empty-changed');
 | 
			
		||||
 | 
			
		||||
        this._closeButton.visible = this._canClear();
 | 
			
		||||
        this.actor.visible = this.allowed && this._shouldShow();
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(MessageListSection.prototype);
 | 
			
		||||
 | 
			
		||||
const EventsSection = new Lang.Class({
 | 
			
		||||
    Name: 'EventsSection',
 | 
			
		||||
    Extends: MessageList.MessageListSection,
 | 
			
		||||
    Extends: MessageListSection,
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this._desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
 | 
			
		||||
@@ -817,14 +1518,14 @@ const EventsSection = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updateTitle: function() {
 | 
			
		||||
        if (isToday(this._date)) {
 | 
			
		||||
        if (_isToday(this._date)) {
 | 
			
		||||
            this._title.label = _("Events");
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let dayFormat;
 | 
			
		||||
        let now = new Date();
 | 
			
		||||
        if (sameYear(this._date, now))
 | 
			
		||||
        if (_sameYear(this._date, now))
 | 
			
		||||
            /* Translators: Shown on calendar heading when selected day occurs on current year */
 | 
			
		||||
            dayFormat = Shell.util_translate_time_string(NC_("calendar heading",
 | 
			
		||||
                                                             "%A, %B %d"));
 | 
			
		||||
@@ -900,7 +1601,7 @@ const EventsSection = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldShow: function() {
 | 
			
		||||
        return !this.empty || !isToday(this._date);
 | 
			
		||||
        return !this.empty || !_isToday(this._date);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
@@ -913,7 +1614,7 @@ const EventsSection = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
const NotificationSection = new Lang.Class({
 | 
			
		||||
    Name: 'NotificationSection',
 | 
			
		||||
    Extends: MessageList.MessageListSection,
 | 
			
		||||
    Extends: MessageListSection,
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this.parent(_("Notifications"));
 | 
			
		||||
@@ -1019,7 +1720,7 @@ const NotificationSection = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldShow: function() {
 | 
			
		||||
        return !this.empty && isToday(this._date);
 | 
			
		||||
        return !this.empty && _isToday(this._date);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
@@ -1052,20 +1753,20 @@ const Placeholder = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setDate: function(date) {
 | 
			
		||||
        if (sameDay(this._date, date))
 | 
			
		||||
        if (_sameDay(this._date, date))
 | 
			
		||||
            return;
 | 
			
		||||
        this._date = date;
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let today = isToday(this._date);
 | 
			
		||||
        if (today && this._icon.gicon == this._todayIcon)
 | 
			
		||||
        let isToday = _isToday(this._date);
 | 
			
		||||
        if (isToday && this._icon.gicon == this._todayIcon)
 | 
			
		||||
            return;
 | 
			
		||||
        if (!today && this._icon.gicon == this._otherIcon)
 | 
			
		||||
        if (!isToday && this._icon.gicon == this._otherIcon)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (today) {
 | 
			
		||||
        if (isToday) {
 | 
			
		||||
            this._icon.gicon = this._todayIcon;
 | 
			
		||||
            this._label.text = _("No Notifications");
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -1075,8 +1776,8 @@ const Placeholder = new Lang.Class({
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const CalendarMessageList = new Lang.Class({
 | 
			
		||||
    Name: 'CalendarMessageList',
 | 
			
		||||
const MessageList = new Lang.Class({
 | 
			
		||||
    Name: 'MessageList',
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this.actor = new St.Widget({ style_class: 'message-list',
 | 
			
		||||
@@ -1100,9 +1801,6 @@ const CalendarMessageList = new Lang.Class({
 | 
			
		||||
        this._scrollView.add_actor(this._sectionList);
 | 
			
		||||
        this._sections = new Map();
 | 
			
		||||
 | 
			
		||||
        this._mediaSection = new Mpris.MediaSection();
 | 
			
		||||
        this._addSection(this._mediaSection);
 | 
			
		||||
 | 
			
		||||
        this._notificationSection = new NotificationSection();
 | 
			
		||||
        this._addSection(this._notificationSection);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -313,10 +313,6 @@ const AutorunSource = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    getIcon: function() {
 | 
			
		||||
        return this.mount.get_icon();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _createPolicy: function() {
 | 
			
		||||
        return new MessageTray.NotificationApplicationPolicy('org.gnome.Nautilus');
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@@ -329,6 +325,9 @@ const AutorunNotification = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this._manager = manager;
 | 
			
		||||
        this._mount = source.mount;
 | 
			
		||||
 | 
			
		||||
        // set the notification to urgent, so that it expands out
 | 
			
		||||
        this.setUrgency(MessageTray.Urgency.CRITICAL);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    createBanner: function() {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,9 +12,9 @@ const St = imports.gi.St;
 | 
			
		||||
const Tpl = imports.gi.TelepathyLogger;
 | 
			
		||||
const Tp = imports.gi.TelepathyGLib;
 | 
			
		||||
 | 
			
		||||
const Calendar = imports.ui.calendar;
 | 
			
		||||
const History = imports.misc.history;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const MessageList = imports.ui.messageList;
 | 
			
		||||
const MessageTray = imports.ui.messageTray;
 | 
			
		||||
const Params = imports.misc.params;
 | 
			
		||||
const PopupMenu = imports.ui.popupMenu;
 | 
			
		||||
@@ -469,7 +469,6 @@ const ChatSource = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    destroy: function(reason) {
 | 
			
		||||
        if (this._client.is_handling_channel(this._channel)) {
 | 
			
		||||
            this._ackMessages();
 | 
			
		||||
            // The chat box has been destroyed so it can't
 | 
			
		||||
            // handle the channel any more.
 | 
			
		||||
            this._channel.close_async(function(channel, result) {
 | 
			
		||||
@@ -867,7 +866,7 @@ const ChatNotificationBanner = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _addMessage: function(message) {
 | 
			
		||||
        let highlighter = new MessageList.URLHighlighter(message.body, true, true);
 | 
			
		||||
        let highlighter = new Calendar.URLHighlighter(message.body, true, true);
 | 
			
		||||
        let body = highlighter.actor;
 | 
			
		||||
 | 
			
		||||
        let styles = message.styles;
 | 
			
		||||
 
 | 
			
		||||
@@ -259,7 +259,7 @@ const ShowAppsIcon = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _createIcon: function(size) {
 | 
			
		||||
        this._iconActor = new St.Icon({ icon_name: 'view-app-grid-symbolic',
 | 
			
		||||
        this._iconActor = new St.Icon({ icon_name: 'view-grid-symbolic',
 | 
			
		||||
                                        icon_size: size,
 | 
			
		||||
                                        style_class: 'show-apps-icon',
 | 
			
		||||
                                        track_hover: true });
 | 
			
		||||
@@ -644,14 +644,15 @@ const Dash = new Lang.Class({
 | 
			
		||||
        let firstIcon = firstButton._delegate.icon;
 | 
			
		||||
 | 
			
		||||
        let minHeight, natHeight;
 | 
			
		||||
        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
 | 
			
		||||
 | 
			
		||||
        // Enforce the current icon size during the size request
 | 
			
		||||
        firstIcon.icon.ensure_style();
 | 
			
		||||
        let [currentWidth, currentHeight] = firstIcon.icon.get_size();
 | 
			
		||||
        firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor);
 | 
			
		||||
        firstIcon.setIconSize(this.iconSize);
 | 
			
		||||
        [minHeight, natHeight] = firstButton.get_preferred_height(-1);
 | 
			
		||||
        firstIcon.icon.set_size(currentWidth, currentHeight);
 | 
			
		||||
 | 
			
		||||
        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
 | 
			
		||||
        let iconSizes = baseIconSizes.map(function(s) {
 | 
			
		||||
            return s * scaleFactor;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // Subtract icon padding and box spacing from the available height
 | 
			
		||||
        availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
 | 
			
		||||
@@ -659,10 +660,6 @@ const Dash = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        let availSize = availHeight / iconChildren.length;
 | 
			
		||||
 | 
			
		||||
        let iconSizes = baseIconSizes.map(function(s) {
 | 
			
		||||
            return s * scaleFactor;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        let newIconSize = baseIconSizes[0];
 | 
			
		||||
        for (let i = 0; i < iconSizes.length; i++) {
 | 
			
		||||
            if (iconSizes[i] < availSize)
 | 
			
		||||
 
 | 
			
		||||
@@ -360,7 +360,7 @@ const DateMenuButton = new Lang.Class({
 | 
			
		||||
        }));
 | 
			
		||||
 | 
			
		||||
        // Fill up the first column
 | 
			
		||||
        this._messageList = new Calendar.CalendarMessageList();
 | 
			
		||||
        this._messageList = new Calendar.MessageList();
 | 
			
		||||
        hbox.add(this._messageList.actor, { expand: true, y_fill: false, y_align: St.Align.START });
 | 
			
		||||
 | 
			
		||||
        // Fill up the second column
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										71
									
								
								js/ui/dnd.js
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								js/ui/dnd.js
									
									
									
									
									
								
							@@ -79,12 +79,9 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
                                        dragActorOpacity: undefined });
 | 
			
		||||
 | 
			
		||||
        this.actor = actor;
 | 
			
		||||
        if (!params.manualMode) {
 | 
			
		||||
        if (!params.manualMode)
 | 
			
		||||
            this.actor.connect('button-press-event',
 | 
			
		||||
                               Lang.bind(this, this._onButtonPress));
 | 
			
		||||
            this.actor.connect('touch-event',
 | 
			
		||||
                               Lang.bind(this, this._onTouchEvent));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, function() {
 | 
			
		||||
            this._actorDestroyed = true;
 | 
			
		||||
@@ -124,50 +121,8 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTouchEvent: function (actor, event) {
 | 
			
		||||
        if (event.type() != Clutter.EventType.TOUCH_BEGIN ||
 | 
			
		||||
            !global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
        if (Tweener.getTweenCount(actor))
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
        this._touchSequence = event.get_event_sequence();
 | 
			
		||||
 | 
			
		||||
        this._buttonDown = true;
 | 
			
		||||
        this._grabActor();
 | 
			
		||||
 | 
			
		||||
        let [stageX, stageY] = event.get_coords();
 | 
			
		||||
        this._dragStartX = stageX;
 | 
			
		||||
        this._dragStartY = stageY;
 | 
			
		||||
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _grabDevice: function(actor) {
 | 
			
		||||
        let manager = Clutter.DeviceManager.get_default();
 | 
			
		||||
        let pointer = manager.get_core_device(Clutter.InputDeviceType.POINTER_DEVICE);
 | 
			
		||||
 | 
			
		||||
        if (pointer && this._touchSequence)
 | 
			
		||||
            pointer.sequence_grab(this._touchSequence, actor);
 | 
			
		||||
        else if (pointer)
 | 
			
		||||
            pointer.grab (actor);
 | 
			
		||||
 | 
			
		||||
        this._grabbedDevice = pointer;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _ungrabDevice: function() {
 | 
			
		||||
        if (this._touchSequence)
 | 
			
		||||
            this._grabbedDevice.sequence_ungrab (this._touchSequence);
 | 
			
		||||
        else
 | 
			
		||||
            this._grabbedDevice.ungrab();
 | 
			
		||||
 | 
			
		||||
        this._touchSequence = null;
 | 
			
		||||
        this._grabbedDevice = null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _grabActor: function() {
 | 
			
		||||
        this._grabDevice(this.actor);
 | 
			
		||||
        Clutter.grab_pointer(this.actor);
 | 
			
		||||
        this._onEventId = this.actor.connect('event',
 | 
			
		||||
                                             Lang.bind(this, this._onEvent));
 | 
			
		||||
    },
 | 
			
		||||
@@ -176,7 +131,7 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        if (!this._onEventId)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._ungrabDevice();
 | 
			
		||||
        Clutter.ungrab_pointer();
 | 
			
		||||
        this.actor.disconnect(this._onEventId);
 | 
			
		||||
        this._onEventId = null;
 | 
			
		||||
    },
 | 
			
		||||
@@ -185,13 +140,13 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        if (!this._eventsGrabbed) {
 | 
			
		||||
            this._eventsGrabbed = Main.pushModal(_getEventHandlerActor());
 | 
			
		||||
            if (this._eventsGrabbed)
 | 
			
		||||
                this._grabDevice(_getEventHandlerActor());
 | 
			
		||||
                Clutter.grab_pointer(_getEventHandlerActor());
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _ungrabEvents: function() {
 | 
			
		||||
        if (this._eventsGrabbed) {
 | 
			
		||||
            this._ungrabDevice();
 | 
			
		||||
            Clutter.ungrab_pointer();
 | 
			
		||||
            Main.popModal(_getEventHandlerActor());
 | 
			
		||||
            this._eventsGrabbed = false;
 | 
			
		||||
        }
 | 
			
		||||
@@ -202,9 +157,7 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        // didn't start the drag, to drop the draggable in case the drag was in progress, and
 | 
			
		||||
        // to complete the drag and ensure that whatever happens to be under the pointer does
 | 
			
		||||
        // not get triggered if the drag was cancelled with Esc.
 | 
			
		||||
        if (event.type() == Clutter.EventType.BUTTON_RELEASE ||
 | 
			
		||||
            (event.type() == Clutter.EventType.TOUCH_END &&
 | 
			
		||||
             global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
 | 
			
		||||
        if (event.type() == Clutter.EventType.BUTTON_RELEASE) {
 | 
			
		||||
            this._buttonDown = false;
 | 
			
		||||
            if (this._dragInProgress) {
 | 
			
		||||
                return this._dragActorDropped(event);
 | 
			
		||||
@@ -219,9 +172,7 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
            }
 | 
			
		||||
        // We intercept MOTION event to figure out if the drag has started and to draw
 | 
			
		||||
        // this._dragActor under the pointer when dragging is in progress
 | 
			
		||||
        } else if (event.type() == Clutter.EventType.MOTION ||
 | 
			
		||||
                   (event.type() == Clutter.EventType.TOUCH_UPDATE &&
 | 
			
		||||
                    global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
 | 
			
		||||
        } else if (event.type() == Clutter.EventType.MOTION) {
 | 
			
		||||
            if (this._dragInProgress) {
 | 
			
		||||
                return this._updateDragPosition(event);
 | 
			
		||||
            } else if (this._dragActor == null) {
 | 
			
		||||
@@ -263,7 +214,7 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
     * This function is useful to call if you've specified manualMode
 | 
			
		||||
     * for the draggable.
 | 
			
		||||
     */
 | 
			
		||||
    startDrag: function (stageX, stageY, time, sequence) {
 | 
			
		||||
    startDrag: function (stageX, stageY, time) {
 | 
			
		||||
        currentDraggable = this;
 | 
			
		||||
        this._dragInProgress = true;
 | 
			
		||||
 | 
			
		||||
@@ -277,8 +228,6 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        this.emit('drag-begin', time);
 | 
			
		||||
        if (this._onEventId)
 | 
			
		||||
            this._ungrabActor();
 | 
			
		||||
 | 
			
		||||
        this._touchSequence = sequence;
 | 
			
		||||
        this._grabEvents();
 | 
			
		||||
        global.screen.set_cursor(Meta.Cursor.DND_IN_DRAG);
 | 
			
		||||
 | 
			
		||||
@@ -389,8 +338,8 @@ const _Draggable = new Lang.Class({
 | 
			
		||||
        let threshold = Gtk.Settings.get_default().gtk_dnd_drag_threshold;
 | 
			
		||||
        if ((Math.abs(stageX - this._dragStartX) > threshold ||
 | 
			
		||||
             Math.abs(stageY - this._dragStartY) > threshold)) {
 | 
			
		||||
            this.startDrag(stageX, stageY, event.get_time(), this._touchSequence);
 | 
			
		||||
            this._updateDragPosition(event);
 | 
			
		||||
                this.startDrag(stageX, stageY, event.get_time());
 | 
			
		||||
                this._updateDragPosition(event);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return true;
 | 
			
		||||
 
 | 
			
		||||
@@ -334,7 +334,7 @@ function _sessionUpdated() {
 | 
			
		||||
    // from allowExtensions in the future
 | 
			
		||||
    if (Main.sessionMode.allowExtensions) {
 | 
			
		||||
        if (initted)
 | 
			
		||||
            enabledExtensions = getEnabledExtensions();
 | 
			
		||||
            onEnabledExtensionsChanged();
 | 
			
		||||
        enableAllExtensions();
 | 
			
		||||
    } else {
 | 
			
		||||
        disableAllExtensions();
 | 
			
		||||
 
 | 
			
		||||
@@ -158,22 +158,10 @@ const CandidatePopup = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        panelService.connect('set-cursor-location',
 | 
			
		||||
                             Lang.bind(this, function(ps, x, y, w, h) {
 | 
			
		||||
                                 this._setDummyCursorGeometry(x, y, w, h);
 | 
			
		||||
                                 Main.layoutManager.setDummyCursorGeometry(x, y, w, h);
 | 
			
		||||
                                 if (this._boxPointer.actor.visible)
 | 
			
		||||
                                     this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
 | 
			
		||||
                             }));
 | 
			
		||||
        try {
 | 
			
		||||
            panelService.connect('set-cursor-location-relative',
 | 
			
		||||
                                 Lang.bind(this, function(ps, x, y, w, h) {
 | 
			
		||||
                                     if (!global.display.focus_window)
 | 
			
		||||
                                         return;
 | 
			
		||||
                                     let window = global.display.focus_window.get_compositor_private();
 | 
			
		||||
                                     this._setDummyCursorGeometry(window.x + x, window.y + y, w, h);
 | 
			
		||||
                                 }));
 | 
			
		||||
        } catch(e) {
 | 
			
		||||
            // Only recent IBus versions have support for this signal
 | 
			
		||||
            // which is used for wayland clients. In order to work
 | 
			
		||||
            // with older IBus versions we can silently ignore the
 | 
			
		||||
            // signal's absence.
 | 
			
		||||
        }
 | 
			
		||||
        panelService.connect('update-preedit-text',
 | 
			
		||||
                             Lang.bind(this, function(ps, text, cursorPosition, visible) {
 | 
			
		||||
                                 this._preeditText.visible = visible;
 | 
			
		||||
@@ -258,12 +246,6 @@ const CandidatePopup = new Lang.Class({
 | 
			
		||||
                             }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setDummyCursorGeometry: function(x, y, w, h) {
 | 
			
		||||
        Main.layoutManager.setDummyCursorGeometry(x, y, w, h);
 | 
			
		||||
        if (this._boxPointer.actor.visible)
 | 
			
		||||
            this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updateVisibility: function() {
 | 
			
		||||
        let isVisible = (this._preeditText.visible ||
 | 
			
		||||
                         this._auxText.visible ||
 | 
			
		||||
 
 | 
			
		||||
@@ -50,14 +50,15 @@ const LegacyTray = new Lang.Class({
 | 
			
		||||
        this._slideLayout.translationX = 0;
 | 
			
		||||
        this._slideLayout.slideDirection = OverviewControls.SlideDirection.LEFT;
 | 
			
		||||
 | 
			
		||||
        this._slider = new St.Widget({ x_expand: true, y_expand: true,
 | 
			
		||||
        this._slider = new St.Widget({ style_class: 'legacy-tray',
 | 
			
		||||
                                       x_expand: true, y_expand: true,
 | 
			
		||||
                                       x_align: Clutter.ActorAlign.START,
 | 
			
		||||
                                       y_align: Clutter.ActorAlign.END,
 | 
			
		||||
                                       layout_manager: this._slideLayout });
 | 
			
		||||
        this.actor.add_actor(this._slider);
 | 
			
		||||
        this._slider.connect('notify::allocation', Lang.bind(this, this._syncBarrier));
 | 
			
		||||
 | 
			
		||||
        this._box = new St.BoxLayout({ style_class: 'legacy-tray' });
 | 
			
		||||
        this._box = new St.BoxLayout();
 | 
			
		||||
        this._slider.add_actor(this._box);
 | 
			
		||||
 | 
			
		||||
        this._concealHandle = new St.Button({ style_class: 'legacy-tray-handle',
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,6 @@ const Meta = imports.gi.Meta;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const AudioDeviceSelection = imports.ui.audioDeviceSelection;
 | 
			
		||||
const Components = imports.ui.components;
 | 
			
		||||
const CtrlAltTab = imports.ui.ctrlAltTab;
 | 
			
		||||
const EndSessionDialog = imports.ui.endSessionDialog;
 | 
			
		||||
@@ -63,7 +62,6 @@ let ctrlAltTabManager = null;
 | 
			
		||||
let osdWindowManager = null;
 | 
			
		||||
let osdMonitorLabeler = null;
 | 
			
		||||
let sessionMode = null;
 | 
			
		||||
let shellAudioSelectionDBusService = null;
 | 
			
		||||
let shellDBusService = null;
 | 
			
		||||
let shellMountOpDBusService = null;
 | 
			
		||||
let screenSaverDBus = null;
 | 
			
		||||
@@ -80,7 +78,6 @@ let _startDate;
 | 
			
		||||
let _defaultCssStylesheet = null;
 | 
			
		||||
let _cssStylesheet = null;
 | 
			
		||||
let _a11ySettings = null;
 | 
			
		||||
let _themeResource = null;
 | 
			
		||||
 | 
			
		||||
function _sessionUpdated() {
 | 
			
		||||
    if (sessionMode.isPrimary)
 | 
			
		||||
@@ -122,7 +119,6 @@ function start() {
 | 
			
		||||
                                       _loadDefaultStylesheet);
 | 
			
		||||
    _initializeUI();
 | 
			
		||||
 | 
			
		||||
    shellAudioSelectionDBusService = new AudioDeviceSelection.AudioDeviceSelectionDBus();
 | 
			
		||||
    shellDBusService = new ShellDBus.GnomeShell();
 | 
			
		||||
    shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
 | 
			
		||||
 | 
			
		||||
@@ -141,7 +137,9 @@ function _initializeUI() {
 | 
			
		||||
    Shell.WindowTracker.get_default();
 | 
			
		||||
    Shell.AppUsage.get_default();
 | 
			
		||||
 | 
			
		||||
    reloadThemeResource();
 | 
			
		||||
    let resource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
 | 
			
		||||
    resource._register();
 | 
			
		||||
 | 
			
		||||
    _loadDefaultStylesheet();
 | 
			
		||||
 | 
			
		||||
    // Setup the stage hierarchy early
 | 
			
		||||
@@ -292,14 +290,6 @@ function setThemeStylesheet(cssStylesheet) {
 | 
			
		||||
    _cssStylesheet = cssStylesheet ? Gio.File.new_for_path(cssStylesheet) : null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function reloadThemeResource() {
 | 
			
		||||
    if (_themeResource)
 | 
			
		||||
        _themeResource._unregister();
 | 
			
		||||
 | 
			
		||||
    _themeResource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
 | 
			
		||||
    _themeResource._register();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * loadTheme:
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -1,726 +0,0 @@
 | 
			
		||||
const Atk = imports.gi.Atk;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const GObject = imports.gi.GObject;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const MessageTray = imports.ui.messageTray;
 | 
			
		||||
const Meta = imports.gi.Meta;
 | 
			
		||||
const Pango = imports.gi.Pango;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const Calendar = imports.ui.calendar;
 | 
			
		||||
const Tweener = imports.ui.tweener;
 | 
			
		||||
const Util = imports.misc.util;
 | 
			
		||||
 | 
			
		||||
const MESSAGE_ANIMATION_TIME = 0.1;
 | 
			
		||||
 | 
			
		||||
const DEFAULT_EXPAND_LINES = 6;
 | 
			
		||||
 | 
			
		||||
function _fixMarkup(text, allowMarkup) {
 | 
			
		||||
    if (allowMarkup) {
 | 
			
		||||
        // Support &, ", ', < and >, escape all other
 | 
			
		||||
        // occurrences of '&'.
 | 
			
		||||
        let _text = text.replace(/&(?!amp;|quot;|apos;|lt;|gt;)/g, '&');
 | 
			
		||||
 | 
			
		||||
        // Support <b>, <i>, and <u>, escape anything else
 | 
			
		||||
        // so it displays as raw markup.
 | 
			
		||||
        _text = _text.replace(/<(?!\/?[biu]>)/g, '<');
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            Pango.parse_markup(_text, -1, '');
 | 
			
		||||
            return _text;
 | 
			
		||||
        } catch (e) {}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // !allowMarkup, or invalid markup
 | 
			
		||||
    return GLib.markup_escape_text(text, -1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const URLHighlighter = new Lang.Class({
 | 
			
		||||
    Name: 'URLHighlighter',
 | 
			
		||||
 | 
			
		||||
    _init: function(text, lineWrap, allowMarkup) {
 | 
			
		||||
        if (!text)
 | 
			
		||||
            text = '';
 | 
			
		||||
        this.actor = new St.Label({ reactive: true, style_class: 'url-highlighter',
 | 
			
		||||
                                    x_expand: true, x_align: Clutter.ActorAlign.START });
 | 
			
		||||
        this._linkColor = '#ccccff';
 | 
			
		||||
        this.actor.connect('style-changed', Lang.bind(this, function() {
 | 
			
		||||
            let [hasColor, color] = this.actor.get_theme_node().lookup_color('link-color', false);
 | 
			
		||||
            if (hasColor) {
 | 
			
		||||
                let linkColor = color.to_string().substr(0, 7);
 | 
			
		||||
                if (linkColor != this._linkColor) {
 | 
			
		||||
                    this._linkColor = linkColor;
 | 
			
		||||
                    this._highlightUrls();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.clutter_text.line_wrap = lineWrap;
 | 
			
		||||
        this.actor.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR;
 | 
			
		||||
 | 
			
		||||
        this.setMarkup(text, allowMarkup);
 | 
			
		||||
        this.actor.connect('button-press-event', Lang.bind(this, function(actor, event) {
 | 
			
		||||
            // Don't try to URL highlight when invisible.
 | 
			
		||||
            // The MessageTray doesn't actually hide us, so
 | 
			
		||||
            // we need to check for paint opacities as well.
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            // Keep Notification.actor from seeing this and taking
 | 
			
		||||
            // a pointer grab, which would block our button-release-event
 | 
			
		||||
            // handler, if an URL is clicked
 | 
			
		||||
            return this._findUrlAtPos(event) != -1;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('button-release-event', Lang.bind(this, function (actor, event) {
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            let urlId = this._findUrlAtPos(event);
 | 
			
		||||
            if (urlId != -1) {
 | 
			
		||||
                let url = this._urls[urlId].url;
 | 
			
		||||
                if (url.indexOf(':') == -1)
 | 
			
		||||
                    url = 'http://' + url;
 | 
			
		||||
 | 
			
		||||
                Gio.app_info_launch_default_for_uri(url, global.create_app_launch_context(0, -1));
 | 
			
		||||
                return Clutter.EVENT_STOP;
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('motion-event', Lang.bind(this, function(actor, event) {
 | 
			
		||||
            if (!actor.visible || actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            let urlId = this._findUrlAtPos(event);
 | 
			
		||||
            if (urlId != -1 && !this._cursorChanged) {
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.POINTING_HAND);
 | 
			
		||||
                this._cursorChanged = true;
 | 
			
		||||
            } else if (urlId == -1) {
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.DEFAULT);
 | 
			
		||||
                this._cursorChanged = false;
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
        this.actor.connect('leave-event', Lang.bind(this, function() {
 | 
			
		||||
            if (!this.actor.visible || this.actor.get_paint_opacity() == 0)
 | 
			
		||||
                return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
            if (this._cursorChanged) {
 | 
			
		||||
                this._cursorChanged = false;
 | 
			
		||||
                global.screen.set_cursor(Meta.Cursor.DEFAULT);
 | 
			
		||||
            }
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
        }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setMarkup: function(text, allowMarkup) {
 | 
			
		||||
        text = text ? _fixMarkup(text, allowMarkup) : '';
 | 
			
		||||
        this._text = text;
 | 
			
		||||
 | 
			
		||||
        this.actor.clutter_text.set_markup(text);
 | 
			
		||||
        /* clutter_text.text contain text without markup */
 | 
			
		||||
        this._urls = Util.findUrls(this.actor.clutter_text.text);
 | 
			
		||||
        this._highlightUrls();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _highlightUrls: function() {
 | 
			
		||||
        // text here contain markup
 | 
			
		||||
        let urls = Util.findUrls(this._text);
 | 
			
		||||
        let markup = '';
 | 
			
		||||
        let pos = 0;
 | 
			
		||||
        for (let i = 0; i < urls.length; i++) {
 | 
			
		||||
            let url = urls[i];
 | 
			
		||||
            let str = this._text.substr(pos, url.pos - pos);
 | 
			
		||||
            markup += str + '<span foreground="' + this._linkColor + '"><u>' + url.url + '</u></span>';
 | 
			
		||||
            pos = url.pos + url.url.length;
 | 
			
		||||
        }
 | 
			
		||||
        markup += this._text.substr(pos);
 | 
			
		||||
        this.actor.clutter_text.set_markup(markup);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _findUrlAtPos: function(event) {
 | 
			
		||||
        let success;
 | 
			
		||||
        let [x, y] = event.get_coords();
 | 
			
		||||
        [success, x, y] = this.actor.transform_stage_point(x, y);
 | 
			
		||||
        let find_pos = -1;
 | 
			
		||||
        for (let i = 0; i < this.actor.clutter_text.text.length; i++) {
 | 
			
		||||
            let [success, px, py, line_height] = this.actor.clutter_text.position_to_coords(i);
 | 
			
		||||
            if (py > y || py + line_height < y || x < px)
 | 
			
		||||
                continue;
 | 
			
		||||
            find_pos = i;
 | 
			
		||||
        }
 | 
			
		||||
        if (find_pos != -1) {
 | 
			
		||||
            for (let i = 0; i < this._urls.length; i++)
 | 
			
		||||
            if (find_pos >= this._urls[i].pos &&
 | 
			
		||||
                this._urls[i].pos + this._urls[i].url.length > find_pos)
 | 
			
		||||
                return i;
 | 
			
		||||
        }
 | 
			
		||||
        return -1;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const ScaleLayout = new Lang.Class({
 | 
			
		||||
    Name: 'ScaleLayout',
 | 
			
		||||
    Extends: Clutter.BinLayout,
 | 
			
		||||
 | 
			
		||||
    _connectContainer: function(container) {
 | 
			
		||||
        if (this._container == container)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (this._container)
 | 
			
		||||
            for (let id of this._signals)
 | 
			
		||||
                this._container.disconnect(id);
 | 
			
		||||
 | 
			
		||||
        this._container = container;
 | 
			
		||||
        this._signals = [];
 | 
			
		||||
 | 
			
		||||
        if (this._container)
 | 
			
		||||
            for (let signal of ['notify::scale-x', 'notify::scale-y']) {
 | 
			
		||||
                let id = this._container.connect(signal, Lang.bind(this,
 | 
			
		||||
                    function() {
 | 
			
		||||
                        this.layout_changed();
 | 
			
		||||
                    }));
 | 
			
		||||
                this._signals.push(id);
 | 
			
		||||
            }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_width: function(container, forHeight) {
 | 
			
		||||
        this._connectContainer(container);
 | 
			
		||||
 | 
			
		||||
        let [min, nat] = this.parent(container, forHeight);
 | 
			
		||||
        return [Math.floor(min * container.scale_x),
 | 
			
		||||
                Math.floor(nat * container.scale_x)];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_height: function(container, forWidth) {
 | 
			
		||||
        this._connectContainer(container);
 | 
			
		||||
 | 
			
		||||
        let [min, nat] = this.parent(container, forWidth);
 | 
			
		||||
        return [Math.floor(min * container.scale_y),
 | 
			
		||||
                Math.floor(nat * container.scale_y)];
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const LabelExpanderLayout = new Lang.Class({
 | 
			
		||||
    Name: 'LabelExpanderLayout',
 | 
			
		||||
    Extends: Clutter.LayoutManager,
 | 
			
		||||
    Properties: { 'expansion': GObject.ParamSpec.double('expansion',
 | 
			
		||||
                                                        'Expansion',
 | 
			
		||||
                                                        'Expansion of the layout, between 0 (collapsed) ' +
 | 
			
		||||
                                                        'and 1 (fully expanded',
 | 
			
		||||
                                                         GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE,
 | 
			
		||||
                                                         0, 1, 0)},
 | 
			
		||||
 | 
			
		||||
    _init: function(params) {
 | 
			
		||||
        this._expansion = 0;
 | 
			
		||||
        this._expandLines = DEFAULT_EXPAND_LINES;
 | 
			
		||||
 | 
			
		||||
        this.parent(params);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get expansion() {
 | 
			
		||||
        return this._expansion;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set expansion(v) {
 | 
			
		||||
        if (v == this._expansion)
 | 
			
		||||
            return;
 | 
			
		||||
        this._expansion = v;
 | 
			
		||||
        this.notify('expansion');
 | 
			
		||||
 | 
			
		||||
        let visibleIndex = this._expansion > 0 ? 1 : 0;
 | 
			
		||||
        for (let i = 0; this._container && i < this._container.get_n_children(); i++)
 | 
			
		||||
            this._container.get_child_at_index(i).visible = (i == visibleIndex);
 | 
			
		||||
 | 
			
		||||
        this.layout_changed();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set expandLines(v) {
 | 
			
		||||
        if (v == this._expandLines)
 | 
			
		||||
            return;
 | 
			
		||||
        this._expandLines = v;
 | 
			
		||||
        if (this._expansion > 0)
 | 
			
		||||
            this.layout_changed();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_set_container: function(container) {
 | 
			
		||||
        this._container = container;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_width: function(container, forHeight) {
 | 
			
		||||
        let [min, nat] = [0, 0];
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < container.get_n_children(); i++) {
 | 
			
		||||
            if (i > 1)
 | 
			
		||||
                break; // we support one unexpanded + one expanded child
 | 
			
		||||
 | 
			
		||||
            let child = container.get_child_at_index(i);
 | 
			
		||||
            let [childMin, childNat] = child.get_preferred_width(forHeight);
 | 
			
		||||
            [min, nat] = [Math.max(min, childMin), Math.max(nat, childNat)];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return [min, nat];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_height: function(container, forWidth) {
 | 
			
		||||
        let [min, nat] = [0, 0];
 | 
			
		||||
 | 
			
		||||
        let children = container.get_children();
 | 
			
		||||
        if (children[0])
 | 
			
		||||
            [min, nat] = children[0].get_preferred_height(forWidth);
 | 
			
		||||
 | 
			
		||||
        if (children[1]) {
 | 
			
		||||
            let [min2, nat2] = children[1].get_preferred_height(forWidth);
 | 
			
		||||
            let [expMin, expNat] = [Math.min(min2, min * this._expandLines),
 | 
			
		||||
                                    Math.min(nat2, nat * this._expandLines)];
 | 
			
		||||
            [min, nat] = [min + this._expansion * (expMin - min),
 | 
			
		||||
                          nat + this._expansion * (expNat - nat)];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return [min, nat];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_allocate: function(container, box, flags) {
 | 
			
		||||
        for (let i = 0; i < container.get_n_children(); i++) {
 | 
			
		||||
            let child = container.get_child_at_index(i);
 | 
			
		||||
 | 
			
		||||
            if (child.visible)
 | 
			
		||||
                child.allocate(box, flags);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const Message = new Lang.Class({
 | 
			
		||||
    Name: 'Message',
 | 
			
		||||
 | 
			
		||||
    _init: function(title, body) {
 | 
			
		||||
        this.expanded = false;
 | 
			
		||||
 | 
			
		||||
        this.actor = new St.Button({ style_class: 'message',
 | 
			
		||||
                                     accessible_role: Atk.Role.NOTIFICATION,
 | 
			
		||||
                                     can_focus: true,
 | 
			
		||||
                                     x_expand: true, x_fill: true });
 | 
			
		||||
        this.actor.connect('key-press-event',
 | 
			
		||||
                           Lang.bind(this, this._onKeyPressed));
 | 
			
		||||
 | 
			
		||||
        let vbox = new St.BoxLayout({ vertical: true });
 | 
			
		||||
        this.actor.set_child(vbox);
 | 
			
		||||
 | 
			
		||||
        let hbox = new St.BoxLayout();
 | 
			
		||||
        vbox.add_actor(hbox);
 | 
			
		||||
 | 
			
		||||
        this._actionBin = new St.Widget({ layout_manager: new ScaleLayout(),
 | 
			
		||||
                                          visible: false });
 | 
			
		||||
        vbox.add_actor(this._actionBin);
 | 
			
		||||
 | 
			
		||||
        this._iconBin = new St.Bin({ style_class: 'message-icon-bin',
 | 
			
		||||
                                     y_expand: true,
 | 
			
		||||
                                     visible: false });
 | 
			
		||||
        hbox.add_actor(this._iconBin);
 | 
			
		||||
 | 
			
		||||
        let contentBox = new St.BoxLayout({ style_class: 'message-content',
 | 
			
		||||
                                            vertical: true, x_expand: true });
 | 
			
		||||
        hbox.add_actor(contentBox);
 | 
			
		||||
 | 
			
		||||
        this._mediaControls = new St.BoxLayout();
 | 
			
		||||
        hbox.add_actor(this._mediaControls);
 | 
			
		||||
 | 
			
		||||
        let titleBox = new St.BoxLayout();
 | 
			
		||||
        contentBox.add_actor(titleBox);
 | 
			
		||||
 | 
			
		||||
        this.titleLabel = new St.Label({ style_class: 'message-title',
 | 
			
		||||
                                         x_expand: true,
 | 
			
		||||
                                         x_align: Clutter.ActorAlign.START });
 | 
			
		||||
        this.setTitle(title);
 | 
			
		||||
        titleBox.add_actor(this.titleLabel);
 | 
			
		||||
 | 
			
		||||
        this._secondaryBin = new St.Bin({ style_class: 'message-secondary-bin' });
 | 
			
		||||
        titleBox.add_actor(this._secondaryBin);
 | 
			
		||||
 | 
			
		||||
        let closeIcon = new St.Icon({ icon_name: 'window-close-symbolic',
 | 
			
		||||
                                      icon_size: 16 });
 | 
			
		||||
        this._closeButton = new St.Button({ child: closeIcon, visible: false });
 | 
			
		||||
        titleBox.add_actor(this._closeButton);
 | 
			
		||||
 | 
			
		||||
        this._bodyStack = new St.Widget({ x_expand: true });
 | 
			
		||||
        this._bodyStack.layout_manager = new LabelExpanderLayout();
 | 
			
		||||
        contentBox.add_actor(this._bodyStack);
 | 
			
		||||
 | 
			
		||||
        this.bodyLabel = new URLHighlighter('', false, this._useBodyMarkup);
 | 
			
		||||
        this.bodyLabel.actor.add_style_class_name('message-body');
 | 
			
		||||
        this._bodyStack.add_actor(this.bodyLabel.actor);
 | 
			
		||||
        this.setBody(body);
 | 
			
		||||
 | 
			
		||||
        this._closeButton.connect('clicked', Lang.bind(this, this.close));
 | 
			
		||||
        this.actor.connect('notify::hover', Lang.bind(this, this._sync));
 | 
			
		||||
        this.actor.connect('clicked', Lang.bind(this, this._onClicked));
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    close: function() {
 | 
			
		||||
        this.emit('close');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setIcon: function(actor) {
 | 
			
		||||
        this._iconBin.child = actor;
 | 
			
		||||
        this._iconBin.visible = (actor != null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setSecondaryActor: function(actor) {
 | 
			
		||||
        this._secondaryBin.child = actor;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setTitle: function(text) {
 | 
			
		||||
        let title = text ? _fixMarkup(text.replace(/\n/g, ' '), false) : '';
 | 
			
		||||
        this.titleLabel.clutter_text.set_markup(title);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setBody: function(text) {
 | 
			
		||||
        this._bodyText = text;
 | 
			
		||||
        this.bodyLabel.setMarkup(text ? text.replace(/\n/g, ' ') : '',
 | 
			
		||||
                                 this._useBodyMarkup);
 | 
			
		||||
        if (this._expandedLabel)
 | 
			
		||||
            this._expandedLabel.setMarkup(text, this._useBodyMarkup);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setUseBodyMarkup: function(enable) {
 | 
			
		||||
        if (this._useBodyMarkup === enable)
 | 
			
		||||
            return;
 | 
			
		||||
        this._useBodyMarkup = enable;
 | 
			
		||||
        if (this.bodyLabel)
 | 
			
		||||
            this.setBody(this._bodyText);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setActionArea: function(actor) {
 | 
			
		||||
        if (actor == null) {
 | 
			
		||||
            if (this._actionBin.get_n_children() > 0)
 | 
			
		||||
                this._actionBin.get_child_at_index(0).destroy();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._actionBin.get_n_children() > 0)
 | 
			
		||||
            throw new Error('Message already has an action area');
 | 
			
		||||
 | 
			
		||||
        this._actionBin.add_actor(actor);
 | 
			
		||||
        this._actionBin.visible = this.expanded;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addMediaControl: function(iconName, callback) {
 | 
			
		||||
        let icon = new St.Icon({ icon_name: iconName, icon_size: 16 });
 | 
			
		||||
        let button = new St.Button({ style_class: 'message-media-control',
 | 
			
		||||
                                     child: icon });
 | 
			
		||||
        button.connect('clicked', callback);
 | 
			
		||||
        this._mediaControls.add_actor(button);
 | 
			
		||||
        return button;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setExpandedBody: function(actor) {
 | 
			
		||||
        if (actor == null) {
 | 
			
		||||
            if (this._bodyStack.get_n_children() > 1)
 | 
			
		||||
                this._bodyStack.get_child_at_index(1).destroy();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._bodyStack.get_n_children() > 1)
 | 
			
		||||
            throw new Error('Message already has an expanded body actor');
 | 
			
		||||
 | 
			
		||||
        this._bodyStack.insert_child_at_index(actor, 1);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setExpandedLines: function(nLines) {
 | 
			
		||||
        this._bodyStack.layout_manager.expandLines = nLines;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    expand: function(animate) {
 | 
			
		||||
        this.expanded = true;
 | 
			
		||||
 | 
			
		||||
        this._actionBin.visible = (this._actionBin.get_n_children() > 0);
 | 
			
		||||
 | 
			
		||||
        if (this._bodyStack.get_n_children() < 2) {
 | 
			
		||||
            this._expandedLabel = new URLHighlighter(this._bodyText,
 | 
			
		||||
                                                     true, this._useBodyMarkup);
 | 
			
		||||
            this.setExpandedBody(this._expandedLabel.actor);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(this._bodyStack.layout_manager,
 | 
			
		||||
                             { expansion: 1,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
            this._actionBin.scale_y = 0;
 | 
			
		||||
            Tweener.addTween(this._actionBin,
 | 
			
		||||
                             { scale_y: 1,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
        } else {
 | 
			
		||||
            this._bodyStack.layout_manager.expansion = 1;
 | 
			
		||||
            this._actionBin.scale_y = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.emit('expanded');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    unexpand: function(animate) {
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(this._bodyStack.layout_manager,
 | 
			
		||||
                             { expansion: 0,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad' });
 | 
			
		||||
            Tweener.addTween(this._actionBin,
 | 
			
		||||
                             { scale_y: 0,
 | 
			
		||||
                               time: MessageTray.ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad',
 | 
			
		||||
                               onCompleteScope: this,
 | 
			
		||||
                               onComplete: function() {
 | 
			
		||||
                                   this._actionBin.hide();
 | 
			
		||||
                                   this.expanded = false;
 | 
			
		||||
                               }});
 | 
			
		||||
        } else {
 | 
			
		||||
            this._bodyStack.layout_manager.expansion = 0;
 | 
			
		||||
            this._actionBin.scale_y = 0;
 | 
			
		||||
            this.expanded = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.emit('unexpanded');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    canClose: function() {
 | 
			
		||||
        return this._mediaControls.get_n_children() == 0;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let hovered = this.actor.hover;
 | 
			
		||||
        this._closeButton.visible = hovered && this.canClose();
 | 
			
		||||
        this._secondaryBin.visible = !hovered;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onClicked: function() {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function() {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyPressed: function(a, event) {
 | 
			
		||||
        let keysym = event.get_key_symbol();
 | 
			
		||||
 | 
			
		||||
        if (keysym == Clutter.KEY_Delete ||
 | 
			
		||||
            keysym == Clutter.KEY_KP_Delete) {
 | 
			
		||||
            this.close();
 | 
			
		||||
            return Clutter.EVENT_STOP;
 | 
			
		||||
        }
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(Message.prototype);
 | 
			
		||||
 | 
			
		||||
const MessageListSection = new Lang.Class({
 | 
			
		||||
    Name: 'MessageListSection',
 | 
			
		||||
 | 
			
		||||
    _init: function(title) {
 | 
			
		||||
        this.actor = new St.BoxLayout({ style_class: 'message-list-section',
 | 
			
		||||
                                        clip_to_allocation: true,
 | 
			
		||||
                                        x_expand: true, vertical: true });
 | 
			
		||||
        let titleBox = new St.BoxLayout({ style_class: 'message-list-section-title-box' });
 | 
			
		||||
        this.actor.add_actor(titleBox);
 | 
			
		||||
 | 
			
		||||
        this._title = new St.Button({ style_class: 'message-list-section-title',
 | 
			
		||||
                                      label: title,
 | 
			
		||||
                                      can_focus: true,
 | 
			
		||||
                                      x_expand: true,
 | 
			
		||||
                                      x_align: St.Align.START });
 | 
			
		||||
        titleBox.add_actor(this._title);
 | 
			
		||||
 | 
			
		||||
        this._title.connect('clicked', Lang.bind(this, this._onTitleClicked));
 | 
			
		||||
        this._title.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
 | 
			
		||||
 | 
			
		||||
        let closeIcon = new St.Icon({ icon_name: 'window-close-symbolic' });
 | 
			
		||||
        this._closeButton = new St.Button({ style_class: 'message-list-section-close',
 | 
			
		||||
                                            child: closeIcon,
 | 
			
		||||
                                            accessible_name: _("Clear section"),
 | 
			
		||||
                                            can_focus: true });
 | 
			
		||||
        this._closeButton.set_x_align(Clutter.ActorAlign.END);
 | 
			
		||||
        titleBox.add_actor(this._closeButton);
 | 
			
		||||
 | 
			
		||||
        this._closeButton.connect('clicked', Lang.bind(this, this.clear));
 | 
			
		||||
 | 
			
		||||
        this._list = new St.BoxLayout({ style_class: 'message-list-section-list',
 | 
			
		||||
                                        vertical: true });
 | 
			
		||||
        this.actor.add_actor(this._list);
 | 
			
		||||
 | 
			
		||||
        this._list.connect('actor-added', Lang.bind(this, this._sync));
 | 
			
		||||
        this._list.connect('actor-removed', Lang.bind(this, this._sync));
 | 
			
		||||
 | 
			
		||||
        let id = Main.sessionMode.connect('updated',
 | 
			
		||||
                                          Lang.bind(this, this._sync));
 | 
			
		||||
        this.actor.connect('destroy', function() {
 | 
			
		||||
            Main.sessionMode.disconnect(id);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        this._messages = new Map();
 | 
			
		||||
        this._date = new Date();
 | 
			
		||||
        this.empty = true;
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTitleClicked: function() {
 | 
			
		||||
        Main.overview.hide();
 | 
			
		||||
        Main.panel.closeCalendar();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyFocusIn: function(actor) {
 | 
			
		||||
        this.emit('key-focus-in', actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get allowed() {
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setDate: function(date) {
 | 
			
		||||
        if (Calendar.sameDay(date, this._date))
 | 
			
		||||
            return;
 | 
			
		||||
        this._date = date;
 | 
			
		||||
        this._sync();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addMessage: function(message, animate) {
 | 
			
		||||
        this.addMessageAtIndex(message, -1, animate);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addMessageAtIndex: function(message, index, animate) {
 | 
			
		||||
        let obj = {
 | 
			
		||||
            container: null,
 | 
			
		||||
            destroyId: 0,
 | 
			
		||||
            keyFocusId: 0,
 | 
			
		||||
            closeId: 0
 | 
			
		||||
        };
 | 
			
		||||
        let pivot = new Clutter.Point({ x: .5, y: .5 });
 | 
			
		||||
        let scale = animate ? 0 : 1;
 | 
			
		||||
        obj.container = new St.Widget({ layout_manager: new ScaleLayout(),
 | 
			
		||||
                                        pivot_point: pivot,
 | 
			
		||||
                                        scale_x: scale, scale_y: scale });
 | 
			
		||||
        obj.keyFocusId = message.actor.connect('key-focus-in',
 | 
			
		||||
            Lang.bind(this, this._onKeyFocusIn));
 | 
			
		||||
        obj.destroyId = message.actor.connect('destroy',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this.removeMessage(message, false);
 | 
			
		||||
            }));
 | 
			
		||||
        obj.closeId = message.connect('close',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this.removeMessage(message, true);
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._messages.set(message, obj);
 | 
			
		||||
        obj.container.add_actor(message.actor);
 | 
			
		||||
 | 
			
		||||
        this._list.insert_child_at_index(obj.container, index);
 | 
			
		||||
 | 
			
		||||
        if (animate)
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 1,
 | 
			
		||||
                                              scale_y: 1,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad' });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    moveMessage: function(message, index, animate) {
 | 
			
		||||
        let obj = this._messages.get(message);
 | 
			
		||||
 | 
			
		||||
        if (!animate) {
 | 
			
		||||
            this._list.set_child_at_index(obj.container, index);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let onComplete = Lang.bind(this, function() {
 | 
			
		||||
            this._list.set_child_at_index(obj.container, index);
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 1,
 | 
			
		||||
                                              scale_y: 1,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad' });
 | 
			
		||||
        });
 | 
			
		||||
        Tweener.addTween(obj.container, { scale_x: 0,
 | 
			
		||||
                                          scale_y: 0,
 | 
			
		||||
                                          time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                          transition: 'easeOutQuad',
 | 
			
		||||
                                          onComplete: onComplete });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    removeMessage: function(message, animate) {
 | 
			
		||||
        let obj = this._messages.get(message);
 | 
			
		||||
 | 
			
		||||
        message.actor.disconnect(obj.destroyId);
 | 
			
		||||
        message.actor.disconnect(obj.keyFocusId);
 | 
			
		||||
        message.disconnect(obj.closeId);
 | 
			
		||||
 | 
			
		||||
        this._messages.delete(message);
 | 
			
		||||
 | 
			
		||||
        if (animate) {
 | 
			
		||||
            Tweener.addTween(obj.container, { scale_x: 0, scale_y: 0,
 | 
			
		||||
                                              time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                              transition: 'easeOutQuad',
 | 
			
		||||
                                              onComplete: function() {
 | 
			
		||||
                                                  obj.container.destroy();
 | 
			
		||||
                                                  global.sync_pointer();
 | 
			
		||||
                                              }});
 | 
			
		||||
        } else {
 | 
			
		||||
            obj.container.destroy();
 | 
			
		||||
            global.sync_pointer();
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    clear: function() {
 | 
			
		||||
        let messages = [...this._messages.keys()].filter(function(message) {
 | 
			
		||||
            return message.canClose();
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // If there are few messages, letting them all zoom out looks OK
 | 
			
		||||
        if (messages.length < 2) {
 | 
			
		||||
            messages.forEach(function(message) {
 | 
			
		||||
                message.close();
 | 
			
		||||
            });
 | 
			
		||||
        } else {
 | 
			
		||||
            // Otherwise we slide them out one by one, and then zoom them
 | 
			
		||||
            // out "off-screen" in the end to smoothly shrink the parent
 | 
			
		||||
            let delay = MESSAGE_ANIMATION_TIME / Math.max(messages.length, 5);
 | 
			
		||||
            for (let i = 0; i < messages.length; i++) {
 | 
			
		||||
                let message = messages[i];
 | 
			
		||||
                let obj = this._messages.get(message);
 | 
			
		||||
                Tweener.addTween(obj.container,
 | 
			
		||||
                                 { anchor_x: this._list.width,
 | 
			
		||||
                                   opacity: 0,
 | 
			
		||||
                                   time: MESSAGE_ANIMATION_TIME,
 | 
			
		||||
                                   delay: i * delay,
 | 
			
		||||
                                   transition: 'easeOutQuad',
 | 
			
		||||
                                   onComplete: function() {
 | 
			
		||||
                                       message.close();
 | 
			
		||||
                                   }});
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _canClear: function() {
 | 
			
		||||
        for (let message of this._messages.keys())
 | 
			
		||||
            if (message.canClose())
 | 
			
		||||
                return true;
 | 
			
		||||
        return false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldShow: function() {
 | 
			
		||||
        return !this.empty;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let empty = this._list.get_n_children() == 0;
 | 
			
		||||
        let changed = this.empty !== empty;
 | 
			
		||||
        this.empty = empty;
 | 
			
		||||
 | 
			
		||||
        if (changed)
 | 
			
		||||
            this.emit('empty-changed');
 | 
			
		||||
 | 
			
		||||
        this._closeButton.visible = this._canClear();
 | 
			
		||||
        this.actor.visible = this.allowed && this._shouldShow();
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(MessageListSection.prototype);
 | 
			
		||||
							
								
								
									
										270
									
								
								js/ui/mpris.js
									
									
									
									
									
								
							
							
						
						
									
										270
									
								
								js/ui/mpris.js
									
									
									
									
									
								
							@@ -1,270 +0,0 @@
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const Calendar = imports.ui.calendar;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const MessageList = imports.ui.messageList;
 | 
			
		||||
 | 
			
		||||
const DBusIface = '<node> \
 | 
			
		||||
<interface name="org.freedesktop.DBus"> \
 | 
			
		||||
  <method name="ListNames"> \
 | 
			
		||||
    <arg type="as" direction="out" name="names" /> \
 | 
			
		||||
  </method> \
 | 
			
		||||
  <signal name="NameOwnerChanged"> \
 | 
			
		||||
    <arg type="s" direction="out" name="name" /> \
 | 
			
		||||
    <arg type="s" direction="out" name="oldOwner" /> \
 | 
			
		||||
    <arg type="s" direction="out" name="newOwner" /> \
 | 
			
		||||
  </signal> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
const DBusProxy = Gio.DBusProxy.makeProxyWrapper(DBusIface);
 | 
			
		||||
 | 
			
		||||
const MprisIface = '<node> \
 | 
			
		||||
<interface name="org.mpris.MediaPlayer2"> \
 | 
			
		||||
  <method name="Raise" /> \
 | 
			
		||||
  <property name="CanRaise" type="b" access="read" /> \
 | 
			
		||||
  <property name="DesktopEntry" type="s" access="read" /> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
const MprisProxy = Gio.DBusProxy.makeProxyWrapper(MprisIface);
 | 
			
		||||
 | 
			
		||||
const MprisPlayerIface = '<node> \
 | 
			
		||||
<interface name="org.mpris.MediaPlayer2.Player"> \
 | 
			
		||||
  <method name="PlayPause" /> \
 | 
			
		||||
  <method name="Next" /> \
 | 
			
		||||
  <method name="Previous" /> \
 | 
			
		||||
  <property name="CanPlay" type="b" access="read" /> \
 | 
			
		||||
  <property name="Metadata" type="a{sv}" access="read" /> \
 | 
			
		||||
  <property name="PlaybackStatus" type="s" access="read" /> \
 | 
			
		||||
</interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
const MprisPlayerProxy = Gio.DBusProxy.makeProxyWrapper(MprisPlayerIface);
 | 
			
		||||
 | 
			
		||||
const MPRIS_PLAYER_PREFIX = 'org.mpris.MediaPlayer2.';
 | 
			
		||||
 | 
			
		||||
const MediaMessage = new Lang.Class({
 | 
			
		||||
    Name: 'MediaMessage',
 | 
			
		||||
    Extends: MessageList.Message,
 | 
			
		||||
 | 
			
		||||
    _init: function(player) {
 | 
			
		||||
        this._player = player;
 | 
			
		||||
 | 
			
		||||
        this.parent('', '');
 | 
			
		||||
 | 
			
		||||
        this._icon = new St.Icon({ style_class: 'media-message-cover-icon' });
 | 
			
		||||
        this.setIcon(this._icon);
 | 
			
		||||
 | 
			
		||||
        this.addMediaControl('media-skip-backward-symbolic',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this._player.previous();
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._playPauseButton = this.addMediaControl(null,
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this._player.playPause();
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this.addMediaControl('media-skip-forward-symbolic',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                this._player.next();
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._player.connect('changed', Lang.bind(this, this._update));
 | 
			
		||||
        this._player.connect('closed', Lang.bind(this, this.close));
 | 
			
		||||
        this._update();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onClicked: function() {
 | 
			
		||||
        this._player.raise();
 | 
			
		||||
        Main.panel.closeCalendar();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _update: function() {
 | 
			
		||||
        this.setTitle(this._player.trackArtists.join(', '));
 | 
			
		||||
        this.setBody(this._player.trackTitle);
 | 
			
		||||
 | 
			
		||||
        if (this._player.trackCoverUrl) {
 | 
			
		||||
            let file = Gio.File.new_for_uri(this._player.trackCoverUrl);
 | 
			
		||||
            this._icon.gicon = new Gio.FileIcon({ file: file });
 | 
			
		||||
            this._icon.remove_style_class_name('fallback');
 | 
			
		||||
        } else {
 | 
			
		||||
            this._icon.icon_name = 'audio-x-generic-symbolic';
 | 
			
		||||
            this._icon.add_style_class_name('fallback');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let isPlaying = this._player.status == 'Playing';
 | 
			
		||||
        let iconName = isPlaying ? 'media-playback-pause-symbolic'
 | 
			
		||||
                                 : 'media-playback-start-symbolic';
 | 
			
		||||
        this._playPauseButton.child.icon_name = iconName;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const MprisPlayer = new Lang.Class({
 | 
			
		||||
    Name: 'MprisPlayer',
 | 
			
		||||
 | 
			
		||||
    _init: function(busName) {
 | 
			
		||||
        this._mprisProxy = new MprisProxy(Gio.DBus.session, busName,
 | 
			
		||||
                                          '/org/mpris/MediaPlayer2',
 | 
			
		||||
                                          Lang.bind(this, this._onMprisProxyReady));
 | 
			
		||||
        this._playerProxy = new MprisPlayerProxy(Gio.DBus.session, busName,
 | 
			
		||||
                                                 '/org/mpris/MediaPlayer2',
 | 
			
		||||
                                                 Lang.bind(this, this._onPlayerProxyReady));
 | 
			
		||||
 | 
			
		||||
        this._visible = false;
 | 
			
		||||
        this._trackArtists = [];
 | 
			
		||||
        this._trackTitle = '';
 | 
			
		||||
        this._trackCoverUrl = '';
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get status() {
 | 
			
		||||
        return this._playerProxy.PlaybackStatus;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get trackArtists() {
 | 
			
		||||
        return this._trackArtists;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get trackTitle() {
 | 
			
		||||
        return this._trackTitle;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get trackCoverUrl() {
 | 
			
		||||
        return this._trackCoverUrl;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    playPause: function() {
 | 
			
		||||
        this._playerProxy.PlayPauseRemote();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    next: function() {
 | 
			
		||||
        this._playerProxy.NextRemote();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    previous: function() {
 | 
			
		||||
        this._playerProxy.PreviousRemote();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    raise: function() {
 | 
			
		||||
        // The remote Raise() method may run into focus stealing prevention,
 | 
			
		||||
        // so prefer activating the app via .desktop file if possible
 | 
			
		||||
        let app = null;
 | 
			
		||||
        if (this._mprisProxy.DesktopEntry) {
 | 
			
		||||
            let desktopId = this._mprisProxy.DesktopEntry + '.desktop';
 | 
			
		||||
            app = Shell.AppSystem.get_default().lookup_app(desktopId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (app)
 | 
			
		||||
            app.activate();
 | 
			
		||||
        else if (this._mprisProxy.CanRaise)
 | 
			
		||||
            this._mprisProxy.RaiseRemote();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _close: function() {
 | 
			
		||||
        this._mprisProxy.disconnect(this._ownerNotifyId);
 | 
			
		||||
        this._mprisProxy = null;
 | 
			
		||||
 | 
			
		||||
        this._playerProxy.disconnect(this._propsChangedId);
 | 
			
		||||
        this._playerProxy = null;
 | 
			
		||||
 | 
			
		||||
        this.emit('closed');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onMprisProxyReady: function() {
 | 
			
		||||
        this._ownerNotifyId = this._mprisProxy.connect('notify::g-name-owner',
 | 
			
		||||
            Lang.bind(this, function() {
 | 
			
		||||
                if (!this._mprisProxy.g_name_owner)
 | 
			
		||||
                    this._close();
 | 
			
		||||
            }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onPlayerProxyReady: function() {
 | 
			
		||||
        this._propsChangedId = this._playerProxy.connect('g-properties-changed',
 | 
			
		||||
                                                         Lang.bind(this, this._updateState));
 | 
			
		||||
        this._updateState();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updateState: function() {
 | 
			
		||||
        let metadata = {};
 | 
			
		||||
        for (let prop in this._playerProxy.Metadata)
 | 
			
		||||
            metadata[prop] = this._playerProxy.Metadata[prop].deep_unpack();
 | 
			
		||||
 | 
			
		||||
        this._trackArtists = metadata['xesam:artist'] || [_("Unknown artist")];
 | 
			
		||||
        this._trackTitle = metadata['xesam:title'] || _("Unknown title");
 | 
			
		||||
        this._trackCoverUrl = metadata['mpris:artUrl'] || '';
 | 
			
		||||
        this.emit('changed');
 | 
			
		||||
 | 
			
		||||
        let visible = this._playerProxy.CanPlay;
 | 
			
		||||
 | 
			
		||||
        if (this._visible != visible) {
 | 
			
		||||
            this._visible = visible;
 | 
			
		||||
            if (visible)
 | 
			
		||||
                this.emit('show');
 | 
			
		||||
            else
 | 
			
		||||
                this._close();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(MprisPlayer.prototype);
 | 
			
		||||
 | 
			
		||||
const MediaSection = new Lang.Class({
 | 
			
		||||
    Name: 'MediaSection',
 | 
			
		||||
    Extends: MessageList.MessageListSection,
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this.parent(_("Media"));
 | 
			
		||||
 | 
			
		||||
        this._players = new Map();
 | 
			
		||||
 | 
			
		||||
        this._proxy = new DBusProxy(Gio.DBus.session,
 | 
			
		||||
                                    'org.freedesktop.DBus',
 | 
			
		||||
                                    '/org/freedesktop/DBus',
 | 
			
		||||
                                    Lang.bind(this, this._onProxyReady));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _shouldShow: function() {
 | 
			
		||||
        return !this.empty && Calendar.isToday(this._date);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _addPlayer: function(busName) {
 | 
			
		||||
        if (this._players.get(busName))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        let player = new MprisPlayer(busName);
 | 
			
		||||
        player.connect('closed', Lang.bind(this,
 | 
			
		||||
            function() {
 | 
			
		||||
                this._players.delete(busName);
 | 
			
		||||
            }));
 | 
			
		||||
        player.connect('show', Lang.bind(this,
 | 
			
		||||
            function() {
 | 
			
		||||
                let message = new MediaMessage(player);
 | 
			
		||||
                this.addMessage(message, true);
 | 
			
		||||
            }));
 | 
			
		||||
        this._players.set(busName, player);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onProxyReady: function() {
 | 
			
		||||
        this._proxy.ListNamesRemote(Lang.bind(this,
 | 
			
		||||
            function([names]) {
 | 
			
		||||
                names.forEach(Lang.bind(this,
 | 
			
		||||
                    function(name) {
 | 
			
		||||
                        if (!name.startsWith(MPRIS_PLAYER_PREFIX))
 | 
			
		||||
                            return;
 | 
			
		||||
 | 
			
		||||
                        this._addPlayer(name);
 | 
			
		||||
                    }));
 | 
			
		||||
            }));
 | 
			
		||||
        this._proxy.connectSignal('NameOwnerChanged',
 | 
			
		||||
                                  Lang.bind(this, this._onNameOwnerChanged));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onNameOwnerChanged: function(proxy, sender, [name, oldOwner, newOwner]) {
 | 
			
		||||
        if (!name.startsWith(MPRIS_PLAYER_PREFIX))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (newOwner && !oldOwner)
 | 
			
		||||
            this._addPlayer(name);
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
@@ -95,7 +95,6 @@ const AppMenuButton = new Lang.Class({
 | 
			
		||||
        this._startingApps = [];
 | 
			
		||||
 | 
			
		||||
        this._menuManager = panel.menuManager;
 | 
			
		||||
        this._gtkSettings = Gtk.Settings.get_default();
 | 
			
		||||
        this._targetApp = null;
 | 
			
		||||
        this._appMenuNotifyId = 0;
 | 
			
		||||
        this._actionGroupNotifyId = 0;
 | 
			
		||||
@@ -124,14 +123,11 @@ const AppMenuButton = new Lang.Class({
 | 
			
		||||
        this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM);
 | 
			
		||||
        this._container.add_actor(this._arrow);
 | 
			
		||||
 | 
			
		||||
        this._visible = this._gtkSettings.gtk_shell_shows_app_menu &&
 | 
			
		||||
                        !Main.overview.visible;
 | 
			
		||||
        this._visible = !Main.overview.visible;
 | 
			
		||||
        if (!this._visible)
 | 
			
		||||
            this.actor.hide();
 | 
			
		||||
        this._overviewHidingId = Main.overview.connect('hiding', Lang.bind(this, this._sync));
 | 
			
		||||
        this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, this._sync));
 | 
			
		||||
        this._showsAppMenuId = this._gtkSettings.connect('notify::gtk-shell-shows-app-menu',
 | 
			
		||||
                                                         Lang.bind(this, this._sync));
 | 
			
		||||
 | 
			
		||||
        this._stop = true;
 | 
			
		||||
 | 
			
		||||
@@ -309,9 +305,7 @@ const AppMenuButton = new Lang.Class({
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let visible = (this._targetApp != null &&
 | 
			
		||||
                       this._gtkSettings.gtk_shell_shows_app_menu &&
 | 
			
		||||
                       !Main.overview.visibleTarget);
 | 
			
		||||
        let visible = (this._targetApp != null && !Main.overview.visibleTarget);
 | 
			
		||||
        if (visible)
 | 
			
		||||
            this.show();
 | 
			
		||||
        else
 | 
			
		||||
@@ -384,10 +378,6 @@ const AppMenuButton = new Lang.Class({
 | 
			
		||||
            Main.overview.disconnect(this._overviewShowingId);
 | 
			
		||||
            this._overviewShowingId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        if (this._showsAppMenuId > 0) {
 | 
			
		||||
            this._gtkSettings.disconnect(this._showsAppMenuId);
 | 
			
		||||
            this._showsAppMenuId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        if (this._switchWorkspaceNotifyId > 0) {
 | 
			
		||||
            global.window_manager.disconnect(this._switchWorkspaceNotifyId);
 | 
			
		||||
            this._switchWorkspaceNotifyId = 0;
 | 
			
		||||
@@ -459,8 +449,7 @@ const ActivitiesButton = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        if (event.type() == Clutter.EventType.TOUCH_END ||
 | 
			
		||||
            event.type() == Clutter.EventType.BUTTON_RELEASE)
 | 
			
		||||
            if (Main.overview.shouldToggleByCornerOrButton())
 | 
			
		||||
                Main.overview.toggle();
 | 
			
		||||
            Main.overview.toggle();
 | 
			
		||||
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
@@ -468,8 +457,7 @@ const ActivitiesButton = new Lang.Class({
 | 
			
		||||
    _onKeyRelease: function(actor, event) {
 | 
			
		||||
        let symbol = event.get_key_symbol();
 | 
			
		||||
        if (symbol == Clutter.KEY_Return || symbol == Clutter.KEY_space) {
 | 
			
		||||
            if (Main.overview.shouldToggleByCornerOrButton())
 | 
			
		||||
                Main.overview.toggle();
 | 
			
		||||
            Main.overview.toggle();
 | 
			
		||||
        }
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
@@ -654,50 +642,14 @@ const PanelCorner = new Lang.Class({
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const AggregateLayout = new Lang.Class({
 | 
			
		||||
    Name: 'AggregateLayout',
 | 
			
		||||
    Extends: Clutter.BoxLayout,
 | 
			
		||||
 | 
			
		||||
    _init: function(params) {
 | 
			
		||||
        if (!params)
 | 
			
		||||
            params = {};
 | 
			
		||||
        params['orientation'] = Clutter.Orientation.VERTICAL;
 | 
			
		||||
        this.parent(params);
 | 
			
		||||
 | 
			
		||||
        this._sizeChildren = [];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    addSizeChild: function(actor) {
 | 
			
		||||
        this._sizeChildren.push(actor);
 | 
			
		||||
        this.layout_changed();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    vfunc_get_preferred_width: function(container, forHeight) {
 | 
			
		||||
        let themeNode = container.get_theme_node();
 | 
			
		||||
        let minWidth = themeNode.get_min_width();
 | 
			
		||||
        let natWidth = minWidth;
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < this._sizeChildren.length; i++) {
 | 
			
		||||
            let child = this._sizeChildren[i];
 | 
			
		||||
            let [childMin, childNat] = child.get_preferred_width(forHeight);
 | 
			
		||||
            minWidth = Math.max(minWidth, childMin);
 | 
			
		||||
            natWidth = Math.max(minWidth, childNat);
 | 
			
		||||
        }
 | 
			
		||||
        return [minWidth, natWidth];
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const AggregateMenu = new Lang.Class({
 | 
			
		||||
    Name: 'AggregateMenu',
 | 
			
		||||
    Extends: PanelMenu.Button,
 | 
			
		||||
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this.parent(0.0, C_("System menu in the top bar", "System"), false);
 | 
			
		||||
        this.parent(0.0, _("Settings"), false);
 | 
			
		||||
        this.menu.actor.add_style_class_name('aggregate-menu');
 | 
			
		||||
 | 
			
		||||
        let menuLayout = new AggregateLayout();
 | 
			
		||||
        this.menu.box.set_layout_manager(menuLayout);
 | 
			
		||||
 | 
			
		||||
        this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });
 | 
			
		||||
        this.actor.add_child(this._indicators);
 | 
			
		||||
 | 
			
		||||
@@ -746,11 +698,6 @@ const AggregateMenu = new Lang.Class({
 | 
			
		||||
        this.menu.addMenuItem(this._rfkill.menu);
 | 
			
		||||
        this.menu.addMenuItem(this._power.menu);
 | 
			
		||||
        this.menu.addMenuItem(this._system.menu);
 | 
			
		||||
 | 
			
		||||
        menuLayout.addSizeChild(this._location.menu.actor);
 | 
			
		||||
        menuLayout.addSizeChild(this._rfkill.menu.actor);
 | 
			
		||||
        menuLayout.addSizeChild(this._power.menu.actor);
 | 
			
		||||
        menuLayout.addSizeChild(this._system.menu.actor);
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1146,16 +1146,6 @@ const PopupSubMenuMenuItem = new Lang.Class({
 | 
			
		||||
        this.actor.remove_style_pseudo_class ('active');
 | 
			
		||||
        this._setOpenState(!this._getOpenState());
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTouchEvent: function(actor, event) {
 | 
			
		||||
        if (event.type() == Clutter.EventType.TOUCH_END) {
 | 
			
		||||
            // Since we override the parent, we need to manage what the parent does
 | 
			
		||||
            // with the active style class
 | 
			
		||||
            this.actor.remove_style_pseudo_class ('active');
 | 
			
		||||
            this._setOpenState(!this._getOpenState());
 | 
			
		||||
        }
 | 
			
		||||
        return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,6 @@ const RunDialog = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
                                   // rt is short for "reload theme"
 | 
			
		||||
                                   'rt': Lang.bind(this, function() {
 | 
			
		||||
                                       Main.reloadThemeResource();
 | 
			
		||||
                                       Main.loadTheme();
 | 
			
		||||
                                   })
 | 
			
		||||
                                 };
 | 
			
		||||
 
 | 
			
		||||
@@ -137,10 +137,6 @@ const Slider = new Lang.Class({
 | 
			
		||||
            this._motionId = this.actor.connect('motion-event', Lang.bind(this, this._motionEvent));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // We need to emit 'drag-begin' before moving the handle to make
 | 
			
		||||
        // sure that no 'value-changed' signal is emitted before this one.
 | 
			
		||||
        this.emit('drag-begin');
 | 
			
		||||
 | 
			
		||||
        let absX, absY;
 | 
			
		||||
        [absX, absY] = event.get_coords();
 | 
			
		||||
        this._moveHandle(absX, absY);
 | 
			
		||||
@@ -228,7 +224,6 @@ const Slider = new Lang.Class({
 | 
			
		||||
            let delta = key == Clutter.KEY_Right ? 0.1 : -0.1;
 | 
			
		||||
            this._value = Math.max(0, Math.min(this._value + delta, 1));
 | 
			
		||||
            this.actor.queue_repaint();
 | 
			
		||||
            this.emit('drag-begin');
 | 
			
		||||
            this.emit('value-changed', this._value);
 | 
			
		||||
            this.emit('drag-end');
 | 
			
		||||
            return Clutter.EVENT_STOP;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,11 @@
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GnomeBluetooth = imports.gi.GnomeBluetooth;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const PanelMenu = imports.ui.panelMenu;
 | 
			
		||||
@@ -20,8 +23,6 @@ const RfkillManagerInterface = '<node> \
 | 
			
		||||
 | 
			
		||||
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
 | 
			
		||||
 | 
			
		||||
const HAD_BLUETOOTH_DEVICES_SETUP = 'had-bluetooth-devices-setup';
 | 
			
		||||
 | 
			
		||||
const Indicator = new Lang.Class({
 | 
			
		||||
    Name: 'BTIndicator',
 | 
			
		||||
    Extends: PanelMenu.SystemIndicator,
 | 
			
		||||
@@ -31,7 +32,6 @@ const Indicator = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this._indicator = this._addIndicator();
 | 
			
		||||
        this._indicator.icon_name = 'bluetooth-active-symbolic';
 | 
			
		||||
        this._hadSetupDevices = global.settings.get_boolean(HAD_BLUETOOTH_DEVICES_SETUP);
 | 
			
		||||
 | 
			
		||||
        this._proxy = new RfkillManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
 | 
			
		||||
                                             Lang.bind(this, function(proxy, error) {
 | 
			
		||||
@@ -44,15 +44,13 @@ const Indicator = new Lang.Class({
 | 
			
		||||
                                             }));
 | 
			
		||||
        this._proxy.connect('g-properties-changed', Lang.bind(this, this._sync));
 | 
			
		||||
 | 
			
		||||
        this._item = new PopupMenu.PopupSubMenuMenuItem(_("Bluetooth"), true);
 | 
			
		||||
        // The Bluetooth menu only appears when Bluetooth is in use,
 | 
			
		||||
        // so just statically build it with a "Turn Off" menu item.
 | 
			
		||||
        this._item = new PopupMenu.PopupSubMenuMenuItem('', true);
 | 
			
		||||
        this._item.icon.icon_name = 'bluetooth-active-symbolic';
 | 
			
		||||
 | 
			
		||||
        this._toggleItem = new PopupMenu.PopupMenuItem('');
 | 
			
		||||
        this._toggleItem.connect('activate', Lang.bind(this, function() {
 | 
			
		||||
            this._proxy.BluetoothAirplaneMode = !this._proxy.BluetoothAirplaneMode;
 | 
			
		||||
        this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
 | 
			
		||||
            this._proxy.BluetoothAirplaneMode = true;
 | 
			
		||||
        }));
 | 
			
		||||
        this._item.menu.addMenuItem(this._toggleItem);
 | 
			
		||||
 | 
			
		||||
        this._item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-bluetooth-panel.desktop');
 | 
			
		||||
        this.menu.addMenuItem(this._item);
 | 
			
		||||
 | 
			
		||||
@@ -70,75 +68,42 @@ const Indicator = new Lang.Class({
 | 
			
		||||
        while (ret) {
 | 
			
		||||
            let isDefault = this._model.get_value(iter,
 | 
			
		||||
                                                  GnomeBluetooth.Column.DEFAULT);
 | 
			
		||||
            let isPowered = this._model.get_value(iter,
 | 
			
		||||
                                                  GnomeBluetooth.Column.POWERED);
 | 
			
		||||
            if (isDefault && isPowered)
 | 
			
		||||
            if (isDefault)
 | 
			
		||||
                return iter;
 | 
			
		||||
            ret = this._model.iter_next(iter);
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // nDevices is the number of devices setup for the current default
 | 
			
		||||
    // adapter if one exists and is powered. If unpowered or unavailable,
 | 
			
		||||
    // nDevice is "1" if it had setup devices associated to it the last
 | 
			
		||||
    // time it was seen, and "-1" if not.
 | 
			
		||||
    //
 | 
			
		||||
    // nConnectedDevices is the number of devices connected to the default
 | 
			
		||||
    // adapter if one exists and is powered, or -1 if it's not available.
 | 
			
		||||
    _getNDevices: function() {
 | 
			
		||||
    _getNConnectedDevices: function() {
 | 
			
		||||
        let adapter = this._getDefaultAdapter();
 | 
			
		||||
        if (!adapter)
 | 
			
		||||
            return [ this._hadSetupDevices ? 1 : -1, -1 ];
 | 
			
		||||
            return 0;
 | 
			
		||||
 | 
			
		||||
        let nConnectedDevices = 0;
 | 
			
		||||
        let nDevices = 0;
 | 
			
		||||
        let [ret, iter] = this._model.iter_children(adapter);
 | 
			
		||||
        while (ret) {
 | 
			
		||||
            let isConnected = this._model.get_value(iter,
 | 
			
		||||
                                                    GnomeBluetooth.Column.CONNECTED);
 | 
			
		||||
            if (isConnected)
 | 
			
		||||
                nConnectedDevices++;
 | 
			
		||||
 | 
			
		||||
            let isPaired = this._model.get_value(iter,
 | 
			
		||||
                                                 GnomeBluetooth.Column.PAIRED);
 | 
			
		||||
            let isTrusted = this._model.get_value(iter,
 | 
			
		||||
                                                  GnomeBluetooth.Column.TRUSTED);
 | 
			
		||||
            if (isPaired || isTrusted)
 | 
			
		||||
                nDevices++;
 | 
			
		||||
            ret = this._model.iter_next(iter);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._hadSetupDevices != (nDevices > 0)) {
 | 
			
		||||
            this._hadSetupDevices = !this._hadSetupDevices;
 | 
			
		||||
            global.settings.set_boolean(HAD_BLUETOOTH_DEVICES_SETUP, this._hadSetupDevices);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return [ nDevices, nConnectedDevices];
 | 
			
		||||
        return nDevices;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sync: function() {
 | 
			
		||||
        let [ nDevices, nConnectedDevices ] = this._getNDevices();
 | 
			
		||||
        let nDevices = this._getNConnectedDevices();
 | 
			
		||||
        let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
 | 
			
		||||
 | 
			
		||||
        this.menu.setSensitive(sensitive);
 | 
			
		||||
        this._indicator.visible = nConnectedDevices > 0;
 | 
			
		||||
        this._indicator.visible = nDevices > 0;
 | 
			
		||||
        this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
 | 
			
		||||
 | 
			
		||||
        // Remember if there were setup devices and show the menu
 | 
			
		||||
        // if we've seen setup devices and we're not hard blocked
 | 
			
		||||
        if (nDevices > 0)
 | 
			
		||||
            this._item.actor.visible = !this._proxy.BluetoothHardwareAirplaneMode;
 | 
			
		||||
        else
 | 
			
		||||
            this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
 | 
			
		||||
 | 
			
		||||
        if (nConnectedDevices > 0)
 | 
			
		||||
            /* Translators: this is the number of connected bluetooth devices */
 | 
			
		||||
            this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices);
 | 
			
		||||
        else if (nConnectedDevices == -1)
 | 
			
		||||
            this._item.label.text = _("Off");
 | 
			
		||||
            this._item.label.text = ngettext("%d Connected", "%d Connected", nDevices).format(nDevices);
 | 
			
		||||
        else
 | 
			
		||||
            this._item.label.text = _("Not In Use");
 | 
			
		||||
 | 
			
		||||
        this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off");
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -8,18 +7,12 @@ const Lang = imports.lang;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const PanelMenu = imports.ui.panelMenu;
 | 
			
		||||
const PopupMenu = imports.ui.popupMenu;
 | 
			
		||||
const ModalDialog = imports.ui.modalDialog;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const LOCATION_SCHEMA = 'org.gnome.system.location';
 | 
			
		||||
const MAX_ACCURACY_LEVEL = 'max-accuracy-level';
 | 
			
		||||
const ENABLED = 'enabled';
 | 
			
		||||
 | 
			
		||||
const APP_PERMISSIONS_TABLE = 'gnome';
 | 
			
		||||
const APP_PERMISSIONS_ID = 'geolocation';
 | 
			
		||||
 | 
			
		||||
const GeoclueAccuracyLevel = {
 | 
			
		||||
    NONE: 0,
 | 
			
		||||
    COUNTRY: 1,
 | 
			
		||||
@@ -29,15 +22,6 @@ const GeoclueAccuracyLevel = {
 | 
			
		||||
    EXACT: 8
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function accuracyLevelToString(accuracyLevel) {
 | 
			
		||||
    for (let key in GeoclueAccuracyLevel) {
 | 
			
		||||
        if (GeoclueAccuracyLevel[key] == accuracyLevel)
 | 
			
		||||
            return key;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return 'NONE';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var GeoclueIface = '<node> \
 | 
			
		||||
  <interface name="org.freedesktop.GeoClue2.Manager"> \
 | 
			
		||||
    <property name="InUse" type="b" access="read"/> \
 | 
			
		||||
@@ -62,26 +46,6 @@ var AgentIface = '<node> \
 | 
			
		||||
  </interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
 | 
			
		||||
var XdgAppIface = '<node> \
 | 
			
		||||
  <interface name="org.freedesktop.XdgApp.PermissionStore"> \
 | 
			
		||||
    <method name="Lookup"> \
 | 
			
		||||
      <arg name="table" type="s" direction="in"/> \
 | 
			
		||||
      <arg name="id" type="s" direction="in"/> \
 | 
			
		||||
      <arg name="permissions" type="a{sas}" direction="out"/> \
 | 
			
		||||
      <arg name="data" type="v" direction="out"/> \
 | 
			
		||||
    </method> \
 | 
			
		||||
    <method name="Set"> \
 | 
			
		||||
      <arg name="table" type="s" direction="in"/> \
 | 
			
		||||
      <arg name="create" type="b" direction="in"/> \
 | 
			
		||||
      <arg name="id" type="s" direction="in"/> \
 | 
			
		||||
      <arg name="app_permissions" type="a{sas}" direction="in"/> \
 | 
			
		||||
      <arg name="data" type="v" direction="in"/> \
 | 
			
		||||
    </method> \
 | 
			
		||||
  </interface> \
 | 
			
		||||
</node>';
 | 
			
		||||
 | 
			
		||||
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(XdgAppIface);
 | 
			
		||||
 | 
			
		||||
const Indicator = new Lang.Class({
 | 
			
		||||
    Name: 'LocationIndicator',
 | 
			
		||||
    Extends: PanelMenu.SystemIndicator,
 | 
			
		||||
@@ -119,66 +83,64 @@ const Indicator = new Lang.Class({
 | 
			
		||||
        this._onSessionUpdated();
 | 
			
		||||
        this._onMaxAccuracyLevelChanged();
 | 
			
		||||
        this._connectToGeoclue();
 | 
			
		||||
        this._connectToPermissionStore();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    get MaxAccuracyLevel() {
 | 
			
		||||
        return this._getMaxAccuracyLevel();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    AuthorizeAppAsync: function(params, invocation) {
 | 
			
		||||
        let [desktopId, reqAccuracyLevel] = params;
 | 
			
		||||
    // We (and geoclue) have currently no way to reliably identifying apps so
 | 
			
		||||
    // for now, lets just authorize all apps as long as they provide a valid
 | 
			
		||||
    // desktop ID. We also ensure they don't get more accuracy than global max.
 | 
			
		||||
    AuthorizeApp: function(desktop_id, reqAccuracyLevel) {
 | 
			
		||||
        var appSystem = Shell.AppSystem.get_default();
 | 
			
		||||
        var app = appSystem.lookup_app(desktop_id + ".desktop");
 | 
			
		||||
        if (app == null) {
 | 
			
		||||
            return [false, 0];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let authorizer = new AppAuthorizer(desktopId,
 | 
			
		||||
                                           reqAccuracyLevel,
 | 
			
		||||
                                           this._permStoreProxy,
 | 
			
		||||
                                           this._getMaxAccuracyLevel());
 | 
			
		||||
 | 
			
		||||
        authorizer.authorize(Lang.bind(this, function(accuracyLevel) {
 | 
			
		||||
            let ret = (accuracyLevel != GeoclueAccuracyLevel.NONE);
 | 
			
		||||
            invocation.return_value(GLib.Variant.new('(bu)',
 | 
			
		||||
                                                     [ret, accuracyLevel]));
 | 
			
		||||
        }));
 | 
			
		||||
        let allowedAccuracyLevel = clamp(reqAccuracyLevel, 0, this._getMaxAccuracyLevel());
 | 
			
		||||
        return [true, allowedAccuracyLevel];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _syncIndicator: function() {
 | 
			
		||||
        if (this._managerProxy == null) {
 | 
			
		||||
        if (this._proxy == null) {
 | 
			
		||||
            this._indicator.visible = false;
 | 
			
		||||
            this._item.actor.visible = false;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._indicator.visible = this._managerProxy.InUse;
 | 
			
		||||
        this._indicator.visible = this._proxy.InUse;
 | 
			
		||||
        this._item.actor.visible = this._indicator.visible;
 | 
			
		||||
        this._updateMenuLabels();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _connectToGeoclue: function() {
 | 
			
		||||
        if (this._managerProxy != null || this._connecting)
 | 
			
		||||
        if (this._proxy != null || this._connecting)
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        this._connecting = true;
 | 
			
		||||
        new GeoclueManager(Gio.DBus.system,
 | 
			
		||||
                           'org.freedesktop.GeoClue2',
 | 
			
		||||
                           '/org/freedesktop/GeoClue2/Manager',
 | 
			
		||||
                           Lang.bind(this, this._onManagerProxyReady));
 | 
			
		||||
                           Lang.bind(this, this._onProxyReady));
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onManagerProxyReady: function(proxy, error) {
 | 
			
		||||
    _onProxyReady: function(proxy, error) {
 | 
			
		||||
        if (error != null) {
 | 
			
		||||
            log(error.message);
 | 
			
		||||
            this._connecting = false;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._managerProxy = proxy;
 | 
			
		||||
        this._propertiesChangedId = this._managerProxy.connect('g-properties-changed',
 | 
			
		||||
        this._proxy = proxy;
 | 
			
		||||
        this._propertiesChangedId = this._proxy.connect('g-properties-changed',
 | 
			
		||||
                                                        Lang.bind(this, this._onGeocluePropsChanged));
 | 
			
		||||
 | 
			
		||||
        this._syncIndicator();
 | 
			
		||||
 | 
			
		||||
        this._managerProxy.AddAgentRemote('gnome-shell', Lang.bind(this, this._onAgentRegistered));
 | 
			
		||||
        this._proxy.AddAgentRemote('gnome-shell', Lang.bind(this, this._onAgentRegistered));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onAgentRegistered: function(result, error) {
 | 
			
		||||
@@ -191,10 +153,10 @@ const Indicator = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
    _onGeoclueVanished: function() {
 | 
			
		||||
        if (this._propertiesChangedId) {
 | 
			
		||||
            this._managerProxy.disconnect(this._propertiesChangedId);
 | 
			
		||||
            this._proxy.disconnect(this._propertiesChangedId);
 | 
			
		||||
            this._propertiesChangedId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        this._managerProxy = null;
 | 
			
		||||
        this._proxy = null;
 | 
			
		||||
 | 
			
		||||
        this._syncIndicator();
 | 
			
		||||
    },
 | 
			
		||||
@@ -249,206 +211,9 @@ const Indicator = new Lang.Class({
 | 
			
		||||
        let unpacked = properties.deep_unpack();
 | 
			
		||||
        if ("InUse" in unpacked)
 | 
			
		||||
            this._syncIndicator();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _connectToPermissionStore: function() {
 | 
			
		||||
        this._permStoreProxy = null;
 | 
			
		||||
        new PermissionStore(Gio.DBus.session,
 | 
			
		||||
                           'org.freedesktop.XdgApp',
 | 
			
		||||
                           '/org/freedesktop/XdgApp/PermissionStore',
 | 
			
		||||
                           Lang.bind(this, this._onPermStoreProxyReady));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onPermStoreProxyReady: function(proxy, error) {
 | 
			
		||||
        if (error != null) {
 | 
			
		||||
            log(error.message);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._permStoreProxy = proxy;
 | 
			
		||||
    },
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function clamp(value, min, max) {
 | 
			
		||||
    return Math.max(min, Math.min(max, value));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const AppAuthorizer = new Lang.Class({
 | 
			
		||||
    Name: 'LocationAppAuthorizer',
 | 
			
		||||
 | 
			
		||||
    _init: function(desktopId,
 | 
			
		||||
                    reqAccuracyLevel,
 | 
			
		||||
                    permStoreProxy,
 | 
			
		||||
                    maxAccuracyLevel) {
 | 
			
		||||
        this.desktopId = desktopId;
 | 
			
		||||
        this.reqAccuracyLevel = reqAccuracyLevel;
 | 
			
		||||
        this._permStoreProxy = permStoreProxy;
 | 
			
		||||
        this._maxAccuracyLevel = maxAccuracyLevel;
 | 
			
		||||
 | 
			
		||||
        this._accuracyLevel = GeoclueAccuracyLevel.NONE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    authorize: function(onAuthDone) {
 | 
			
		||||
        this._onAuthDone = onAuthDone;
 | 
			
		||||
 | 
			
		||||
        let appSystem = Shell.AppSystem.get_default();
 | 
			
		||||
        this._app = appSystem.lookup_app(this.desktopId + ".desktop");
 | 
			
		||||
        if (this._app == null || this._permStoreProxy == null) {
 | 
			
		||||
            this._completeAuth();
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._permStoreProxy.LookupRemote(APP_PERMISSIONS_TABLE,
 | 
			
		||||
                                          APP_PERMISSIONS_ID,
 | 
			
		||||
                                          Lang.bind(this,
 | 
			
		||||
                                                    this._onPermLookupDone));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onPermLookupDone: function(result, error) {
 | 
			
		||||
        if (error != null) {
 | 
			
		||||
            if (error.domain == Gio.DBusError) {
 | 
			
		||||
                // Likely no xdg-app installed, just authorize the app
 | 
			
		||||
                this._accuracyLevel = this.reqAccuracyLevel;
 | 
			
		||||
                this._permStoreProxy = null;
 | 
			
		||||
                this._completeAuth();
 | 
			
		||||
            } else {
 | 
			
		||||
                // Currently xdg-app throws an error if we lookup for
 | 
			
		||||
                // unknown ID (which would be the case first time this code
 | 
			
		||||
                // runs) so we continue with user authorization as normal
 | 
			
		||||
                // and ID is added to the store if user says "yes".
 | 
			
		||||
                log(error.message);
 | 
			
		||||
                this._permissions = {};
 | 
			
		||||
                this._userAuthorizeApp();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [this._permissions] = result;
 | 
			
		||||
        let permission = this._permissions[this.desktopId];
 | 
			
		||||
 | 
			
		||||
        if (permission == null) {
 | 
			
		||||
            this._userAuthorizeApp();
 | 
			
		||||
        } else {
 | 
			
		||||
            let [levelStr] = permission || ['NONE'];
 | 
			
		||||
            this._accuracyLevel = GeoclueAccuracyLevel[levelStr] ||
 | 
			
		||||
                                  GeoclueAccuracyLevel.NONE;
 | 
			
		||||
            this._completeAuth();
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _userAuthorizeApp: function() {
 | 
			
		||||
        let name = this._app.get_name();
 | 
			
		||||
        let appInfo = this._app.get_app_info();
 | 
			
		||||
        let reason = appInfo.get_string("X-Geoclue-Reason");
 | 
			
		||||
 | 
			
		||||
        this._showAppAuthDialog(name, reason);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _showAppAuthDialog: function(name, reason) {
 | 
			
		||||
        this._dialog = new GeolocationDialog(name,
 | 
			
		||||
                                             reason,
 | 
			
		||||
                                             this.reqAccuracyLevel);
 | 
			
		||||
 | 
			
		||||
        let responseId = this._dialog.connect('response', Lang.bind(this,
 | 
			
		||||
            function(dialog, level) {
 | 
			
		||||
                this._dialog.disconnect(responseId);
 | 
			
		||||
                this._accuracyLevel = level;
 | 
			
		||||
                this._completeAuth();
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._dialog.open();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _completeAuth: function() {
 | 
			
		||||
        if (this._accuracyLevel != GeoclueAccuracyLevel.NONE) {
 | 
			
		||||
            this._accuracyLevel = clamp(this._accuracyLevel,
 | 
			
		||||
                                        0,
 | 
			
		||||
                                        this._maxAccuracyLevel);
 | 
			
		||||
        }
 | 
			
		||||
        this._saveToPermissionStore();
 | 
			
		||||
 | 
			
		||||
        this._onAuthDone(this._accuracyLevel);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _saveToPermissionStore: function() {
 | 
			
		||||
        if (this._permStoreProxy == null)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        let levelStr = accuracyLevelToString(this._accuracyLevel);
 | 
			
		||||
        let dateStr = Math.round(Date.now() / 1000).toString();
 | 
			
		||||
        this._permissions[this.desktopId] = [levelStr, dateStr];
 | 
			
		||||
 | 
			
		||||
        let data = GLib.Variant.new('av', {});
 | 
			
		||||
 | 
			
		||||
        this._permStoreProxy.SetRemote(APP_PERMISSIONS_TABLE,
 | 
			
		||||
                                       true,
 | 
			
		||||
                                       APP_PERMISSIONS_ID,
 | 
			
		||||
                                       this._permissions,
 | 
			
		||||
                                       data,
 | 
			
		||||
                                       function (result, error) {
 | 
			
		||||
            if (error != null)
 | 
			
		||||
                log(error.message);
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const GeolocationDialog = new Lang.Class({
 | 
			
		||||
    Name: 'GeolocationDialog',
 | 
			
		||||
    Extends: ModalDialog.ModalDialog,
 | 
			
		||||
 | 
			
		||||
    _init: function(name, reason, reqAccuracyLevel) {
 | 
			
		||||
        this.parent({ styleClass: 'geolocation-dialog' });
 | 
			
		||||
        this.reqAccuracyLevel = reqAccuracyLevel;
 | 
			
		||||
 | 
			
		||||
        let mainContentBox = new St.BoxLayout({ style_class: 'geolocation-dialog-main-layout' });
 | 
			
		||||
        this.contentLayout.add_actor(mainContentBox);
 | 
			
		||||
 | 
			
		||||
        let icon = new St.Icon({ style_class: 'geolocation-dialog-icon',
 | 
			
		||||
                                 icon_name: 'find-location-symbolic',
 | 
			
		||||
                                 y_align: Clutter.ActorAlign.START });
 | 
			
		||||
        mainContentBox.add_actor(icon);
 | 
			
		||||
 | 
			
		||||
        let messageBox = new St.BoxLayout({ style_class: 'geolocation-dialog-content',
 | 
			
		||||
                                            vertical: true });
 | 
			
		||||
        mainContentBox.add_actor(messageBox);
 | 
			
		||||
 | 
			
		||||
        this._title = new St.Label({ style_class: 'geolocation-dialog-title headline' });
 | 
			
		||||
        messageBox.add_actor(this._title);
 | 
			
		||||
 | 
			
		||||
        this._reason = new St.Label({ style_class: 'geolocation-dialog-reason' });
 | 
			
		||||
        messageBox.add_actor(this._reason);
 | 
			
		||||
 | 
			
		||||
        this._privacyNote = new St.Label();
 | 
			
		||||
        messageBox.add_actor(this._privacyNote);
 | 
			
		||||
 | 
			
		||||
        let button = this.addButton({ label: _("Deny Access"),
 | 
			
		||||
                                      action: Lang.bind(this, this._onDenyClicked),
 | 
			
		||||
                                      key: Clutter.KEY_Escape });
 | 
			
		||||
        this.addButton({ label: _("Grant Access"),
 | 
			
		||||
                         action: Lang.bind(this, this._onGrantClicked) });
 | 
			
		||||
 | 
			
		||||
        this.setInitialKeyFocus(button);
 | 
			
		||||
 | 
			
		||||
        /* Translators: %s is an application name */
 | 
			
		||||
        this._title.text = _("Give %s access to your location?").format(name);
 | 
			
		||||
 | 
			
		||||
        this._privacyNote.text = _("Location access can be changed at any time from the privacy settings.");
 | 
			
		||||
 | 
			
		||||
        if (reason)
 | 
			
		||||
            this._reason.text = reason;
 | 
			
		||||
        this._reason.visible = (reason != null);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onGrantClicked: function() {
 | 
			
		||||
        this.emit('response', this.reqAccuracyLevel);
 | 
			
		||||
        this.close();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDenyClicked: function() {
 | 
			
		||||
        this.emit('response', GeoclueAccuracyLevel.NONE);
 | 
			
		||||
        this.close();
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
Signals.addSignalMethods(GeolocationDialog.prototype);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const UPower = imports.gi.UPowerGlib;
 | 
			
		||||
 | 
			
		||||
@@ -27,8 +25,6 @@ const DisplayDeviceInterface = '<node> \
 | 
			
		||||
 | 
			
		||||
const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
 | 
			
		||||
 | 
			
		||||
const SHOW_BATTERY_PERCENTAGE       = 'show-battery-percentage';
 | 
			
		||||
 | 
			
		||||
const Indicator = new Lang.Class({
 | 
			
		||||
    Name: 'PowerIndicator',
 | 
			
		||||
    Extends: PanelMenu.SystemIndicator,
 | 
			
		||||
@@ -36,15 +32,7 @@ const Indicator = new Lang.Class({
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        this.parent();
 | 
			
		||||
 | 
			
		||||
        this._desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
 | 
			
		||||
        this._desktopSettings.connect('changed::' + SHOW_BATTERY_PERCENTAGE,
 | 
			
		||||
                                      Lang.bind(this, this._sync));
 | 
			
		||||
 | 
			
		||||
        this._indicator = this._addIndicator();
 | 
			
		||||
        this._percentageLabel = new St.Label({ y_expand: true,
 | 
			
		||||
                                               y_align: Clutter.ActorAlign.CENTER });
 | 
			
		||||
        this.indicators.add(this._percentageLabel, { expand: true, y_fill: true });
 | 
			
		||||
        this.indicators.add_style_class_name('power-status');
 | 
			
		||||
 | 
			
		||||
        this._proxy = new PowerManagerProxy(Gio.DBus.system, BUS_NAME, OBJECT_PATH,
 | 
			
		||||
                                            Lang.bind(this, function(proxy, error) {
 | 
			
		||||
@@ -95,12 +83,12 @@ const Indicator = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        if (this._proxy.State == UPower.DeviceState.DISCHARGING) {
 | 
			
		||||
            // Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
            return _("%d\u2236%02d Remaining (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
 | 
			
		||||
            return _("%d\u2236%02d Remaining (%d%%)").format(hours, minutes, this._proxy.Percentage);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._proxy.State == UPower.DeviceState.CHARGING) {
 | 
			
		||||
            // Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
            return _("%d\u2236%02d Until Full (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
 | 
			
		||||
            return _("%d\u2236%02d Until Full (%d%%)").format(hours, minutes, this._proxy.Percentage);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return null;
 | 
			
		||||
@@ -111,12 +99,10 @@ const Indicator = new Lang.Class({
 | 
			
		||||
        let visible = this._proxy.IsPresent;
 | 
			
		||||
        if (visible) {
 | 
			
		||||
            this._item.actor.show();
 | 
			
		||||
            this._percentageLabel.visible = this._desktopSettings.get_boolean(SHOW_BATTERY_PERCENTAGE);
 | 
			
		||||
        } else {
 | 
			
		||||
            // If there's no battery, then we use the power icon.
 | 
			
		||||
            this._item.actor.hide();
 | 
			
		||||
            this._indicator.icon_name = 'system-shutdown-symbolic';
 | 
			
		||||
            this._percentageLabel.hide();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -125,14 +111,6 @@ const Indicator = new Lang.Class({
 | 
			
		||||
        this._indicator.icon_name = icon;
 | 
			
		||||
        this._item.icon.icon_name = icon;
 | 
			
		||||
 | 
			
		||||
        // The icon label
 | 
			
		||||
        let label
 | 
			
		||||
        if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED)
 | 
			
		||||
          label = _("%d\u2009%%").format(100);
 | 
			
		||||
        else
 | 
			
		||||
          label = _("%d\u2009%%").format(this._proxy.Percentage);
 | 
			
		||||
        this._percentageLabel.clutter_text.set_markup('<span size="smaller">' + label + '</span>');
 | 
			
		||||
 | 
			
		||||
        // The status label
 | 
			
		||||
        this._item.label.text = this._getStatus();
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -156,7 +156,7 @@ const ViewSelector = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this.appDisplay = new AppDisplay.AppDisplay();
 | 
			
		||||
        this._appsPage = this._addPage(this.appDisplay.actor,
 | 
			
		||||
                                       _("Applications"), 'view-app-grid-symbolic');
 | 
			
		||||
                                       _("Applications"), 'view-grid-symbolic');
 | 
			
		||||
 | 
			
		||||
        this._searchResults = new Search.SearchResults();
 | 
			
		||||
        this._searchPage = this._addPage(this._searchResults.actor,
 | 
			
		||||
 
 | 
			
		||||
@@ -677,7 +677,6 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
        this._minimizing = [];
 | 
			
		||||
        this._unminimizing = [];
 | 
			
		||||
        this._mapping = [];
 | 
			
		||||
        this._resizing = [];
 | 
			
		||||
        this._destroying = [];
 | 
			
		||||
        this._movingWindow = null;
 | 
			
		||||
 | 
			
		||||
@@ -693,7 +692,6 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
            this._minimizeWindowDone(shellwm, actor);
 | 
			
		||||
            this._mapWindowDone(shellwm, actor);
 | 
			
		||||
            this._destroyWindowDone(shellwm, actor);
 | 
			
		||||
            this._sizeChangeWindowDone(shellwm, actor);
 | 
			
		||||
        }));
 | 
			
		||||
 | 
			
		||||
        this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
 | 
			
		||||
@@ -1220,120 +1218,9 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) {
 | 
			
		||||
        let types = [Meta.WindowType.NORMAL];
 | 
			
		||||
        if (!this._shouldAnimateActor(actor, types)) {
 | 
			
		||||
            shellwm.completed_size_change(actor);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (whichChange == Meta.SizeChange.FULLSCREEN)
 | 
			
		||||
            this._fullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
 | 
			
		||||
        else if (whichChange == Meta.SizeChange.UNFULLSCREEN)
 | 
			
		||||
            this._unfullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
 | 
			
		||||
        else
 | 
			
		||||
            shellwm.completed_size_change(actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
 | 
			
		||||
        let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
 | 
			
		||||
        actor.translation_x = oldFrameRect.x - monitor.x;
 | 
			
		||||
        actor.translation_y = oldFrameRect.y - monitor.y;
 | 
			
		||||
        this._fullscreenAnimation(shellwm, actor, oldFrameRect);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
 | 
			
		||||
        let targetRect = actor.meta_window.get_frame_rect();
 | 
			
		||||
        let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
 | 
			
		||||
        actor.translation_x = -(targetRect.x - monitor.x);
 | 
			
		||||
        actor.translation_y = -(targetRect.y - monitor.y);
 | 
			
		||||
        this._fullscreenAnimation(shellwm, actor, oldFrameRect);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _fullscreenAnimation: function(shellwm, actor, oldFrameRect) {
 | 
			
		||||
        this._resizing.push(actor);
 | 
			
		||||
 | 
			
		||||
        // Position a clone of the window on top of the old position,
 | 
			
		||||
        // while actor updates are frozen.
 | 
			
		||||
        // Note that the MetaWindow has up to date sizing information for
 | 
			
		||||
        // the new geometry already.
 | 
			
		||||
        let targetRect = actor.meta_window.get_frame_rect();
 | 
			
		||||
        let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
 | 
			
		||||
        let actorClone = new St.Widget({ content: actorContent });
 | 
			
		||||
        actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
 | 
			
		||||
        actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
 | 
			
		||||
        actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
 | 
			
		||||
        Main.uiGroup.add_actor(actorClone);
 | 
			
		||||
 | 
			
		||||
        actor.__fullscreenClone = actorClone;
 | 
			
		||||
 | 
			
		||||
        let scaleX = targetRect.width / oldFrameRect.width;
 | 
			
		||||
        let scaleY = targetRect.height / oldFrameRect.height;
 | 
			
		||||
 | 
			
		||||
        // Now scale and fade out the clone
 | 
			
		||||
        Tweener.addTween(actorClone,
 | 
			
		||||
                         { x: targetRect.x,
 | 
			
		||||
                           y: targetRect.y,
 | 
			
		||||
                           scale_x: scaleX,
 | 
			
		||||
                           scale_y: scaleY,
 | 
			
		||||
                           opacity: 0,
 | 
			
		||||
                           time: WINDOW_ANIMATION_TIME,
 | 
			
		||||
                           transition: 'easeOutQuad'
 | 
			
		||||
                         });
 | 
			
		||||
 | 
			
		||||
        // Now set scale the actor to size it as the clone.
 | 
			
		||||
        // Note that the caller of this function already set a translation
 | 
			
		||||
        // on the actor.
 | 
			
		||||
        actor.scale_x = 1 / scaleX;
 | 
			
		||||
        actor.scale_y = 1 / scaleY;
 | 
			
		||||
 | 
			
		||||
        // Scale it to its actual new size
 | 
			
		||||
        Tweener.addTween(actor,
 | 
			
		||||
                         { scale_x: 1.0,
 | 
			
		||||
                           scale_y: 1.0,
 | 
			
		||||
                           translation_x: 0,
 | 
			
		||||
                           translation_y: 0,
 | 
			
		||||
                           time: WINDOW_ANIMATION_TIME,
 | 
			
		||||
                           transition: 'easeOutQuad',
 | 
			
		||||
                           onComplete: this._sizeChangeWindowDone,
 | 
			
		||||
                           onCompleteScope: this,
 | 
			
		||||
                           onCompleteParams: [shellwm, actor],
 | 
			
		||||
                           onOverwrite: this._sizeChangeWindowOverwritten,
 | 
			
		||||
                           onOverwriteScope: this,
 | 
			
		||||
                           onOverwriteParams: [shellwm, actor]
 | 
			
		||||
                         });
 | 
			
		||||
 | 
			
		||||
        // Now unfreeze actor updates, to get it to the new size.
 | 
			
		||||
        // It's important that we don't wait until the animation is completed to
 | 
			
		||||
        // do this, otherwise our scale will be applied to the old texture size.
 | 
			
		||||
        shellwm.completed_size_change(actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sizeChangeWindowDone: function(shellwm, actor) {
 | 
			
		||||
        if (this._removeEffect(this._resizing, actor)) {
 | 
			
		||||
            Tweener.removeTweens(actor);
 | 
			
		||||
            actor.scale_x = 1.0;
 | 
			
		||||
            actor.scale_y = 1.0;
 | 
			
		||||
            actor.translation_x = 0;
 | 
			
		||||
            actor.translation_y = 0;
 | 
			
		||||
 | 
			
		||||
            let actorClone = actor.__fullscreenClone;
 | 
			
		||||
            if (actorClone) {
 | 
			
		||||
                actorClone.destroy();
 | 
			
		||||
                delete actor.__fullscreenClone;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sizeChangeWindowOverwritten: function(shellwm, actor) {
 | 
			
		||||
        if (this._removeEffect(this._resizing, actor)) {
 | 
			
		||||
            let actorClone = actor.__fullscreenClone;
 | 
			
		||||
            if (actorClone) {
 | 
			
		||||
                actorClone.destroy();
 | 
			
		||||
                delete actor.__fullscreenClone;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _hasAttachedDialogs: function(window, ignoreWindow) {
 | 
			
		||||
        var count = 0;
 | 
			
		||||
        window.foreach_transient(function(win) {
 | 
			
		||||
@@ -1367,14 +1254,11 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
        let dimmer = getWindowDimmer(actor);
 | 
			
		||||
        if (!dimmer)
 | 
			
		||||
            return;
 | 
			
		||||
        if (this._shouldAnimate())
 | 
			
		||||
            Tweener.addTween(dimmer,
 | 
			
		||||
                             { dimFactor: 1.0,
 | 
			
		||||
                               time: DIM_TIME,
 | 
			
		||||
                               transition: 'linear'
 | 
			
		||||
                             });
 | 
			
		||||
        else
 | 
			
		||||
            dimmer.dimFactor = 1.0;
 | 
			
		||||
        Tweener.addTween(dimmer,
 | 
			
		||||
                         { dimFactor: 1.0,
 | 
			
		||||
                           time: DIM_TIME,
 | 
			
		||||
                           transition: 'linear'
 | 
			
		||||
                         });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _undimWindow: function(window) {
 | 
			
		||||
@@ -1384,13 +1268,10 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
        let dimmer = getWindowDimmer(actor);
 | 
			
		||||
        if (!dimmer)
 | 
			
		||||
            return;
 | 
			
		||||
        if (this._shouldAnimate())
 | 
			
		||||
            Tweener.addTween(dimmer,
 | 
			
		||||
                             { dimFactor: 0.0,
 | 
			
		||||
                               time: UNDIM_TIME,
 | 
			
		||||
                               transition: 'linear' });
 | 
			
		||||
        else
 | 
			
		||||
            dimmer.dimFactor = 0.0;
 | 
			
		||||
        Tweener.addTween(dimmer,
 | 
			
		||||
                         { dimFactor: 0.0,
 | 
			
		||||
                           time: UNDIM_TIME,
 | 
			
		||||
                           transition: 'linear' });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _mapWindow : function(shellwm, actor) {
 | 
			
		||||
@@ -1409,9 +1290,6 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
            actor._windowType = type;
 | 
			
		||||
        }));
 | 
			
		||||
 | 
			
		||||
        if (actor.meta_window.is_attached_dialog())
 | 
			
		||||
            this._checkDimming(actor.get_meta_window().get_transient_for());
 | 
			
		||||
 | 
			
		||||
        let types = [Meta.WindowType.NORMAL,
 | 
			
		||||
                     Meta.WindowType.DIALOG,
 | 
			
		||||
                     Meta.WindowType.MODAL_DIALOG];
 | 
			
		||||
@@ -1420,6 +1298,9 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (actor.meta_window.is_attached_dialog())
 | 
			
		||||
            this._checkDimming(actor.get_meta_window().get_transient_for());
 | 
			
		||||
 | 
			
		||||
        switch (actor._windowType) {
 | 
			
		||||
        case Meta.WindowType.NORMAL:
 | 
			
		||||
            actor.set_pivot_point(0.5, 1.0);
 | 
			
		||||
@@ -1502,9 +1383,6 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
                                                             });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (window.is_attached_dialog())
 | 
			
		||||
            this._checkDimming(window.get_transient_for(), window);
 | 
			
		||||
 | 
			
		||||
        let types = [Meta.WindowType.NORMAL,
 | 
			
		||||
                     Meta.WindowType.DIALOG,
 | 
			
		||||
                     Meta.WindowType.MODAL_DIALOG];
 | 
			
		||||
@@ -1539,6 +1417,7 @@ const WindowManager = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
            if (window.is_attached_dialog()) {
 | 
			
		||||
                let parent = window.get_transient_for();
 | 
			
		||||
                this._checkDimming(parent, window);
 | 
			
		||||
                actor._parentDestroyId = parent.connect('unmanaged', Lang.bind(this, function () {
 | 
			
		||||
                    Tweener.removeTweens(actor);
 | 
			
		||||
                    this._destroyWindowDone(shellwm, actor);
 | 
			
		||||
 
 | 
			
		||||
@@ -214,7 +214,7 @@ const WindowMenuManager = new Lang.Class({
 | 
			
		||||
                menu.close();
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        this._sourceActor.set_size(Math.max(1, rect.width), Math.max(1, rect.height));
 | 
			
		||||
        this._sourceActor.set_size(rect.width, rect.height);
 | 
			
		||||
        this._sourceActor.set_position(rect.x, rect.y);
 | 
			
		||||
        this._sourceActor.show();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -361,9 +361,6 @@ const WindowClone = new Lang.Class({
 | 
			
		||||
        // a long-press canceled when the pointer movement
 | 
			
		||||
        // exceeds dnd-drag-threshold to manually start the drag
 | 
			
		||||
        if (state == Clutter.LongPressState.CANCEL) {
 | 
			
		||||
            let event = Clutter.get_current_event();
 | 
			
		||||
            this._dragTouchSequence = event.get_event_sequence();
 | 
			
		||||
 | 
			
		||||
            // A click cancels a long-press before any click handler is
 | 
			
		||||
            // run - make sure to not start a drag in that case
 | 
			
		||||
            Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this,
 | 
			
		||||
@@ -372,7 +369,7 @@ const WindowClone = new Lang.Class({
 | 
			
		||||
                        return;
 | 
			
		||||
                    let [x, y] = action.get_coords();
 | 
			
		||||
                    action.release();
 | 
			
		||||
                    this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence);
 | 
			
		||||
                    this._draggable.startDrag(x, y, global.get_current_time());
 | 
			
		||||
                }));
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
 
 | 
			
		||||
@@ -80,8 +80,6 @@ const WindowClone = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('button-release-event',
 | 
			
		||||
                           Lang.bind(this, this._onButtonRelease));
 | 
			
		||||
        this.actor.connect('touch-event',
 | 
			
		||||
                           Lang.bind(this, this._onTouchEvent));
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 | 
			
		||||
 | 
			
		||||
@@ -202,15 +200,6 @@ const WindowClone = new Lang.Class({
 | 
			
		||||
        return Clutter.EVENT_STOP;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTouchEvent : function (actor, event) {
 | 
			
		||||
        if (event.type() != Clutter.EventType.TOUCH_END ||
 | 
			
		||||
            !global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
 | 
			
		||||
            return Clutter.EVENT_PROPAGATE;
 | 
			
		||||
 | 
			
		||||
        this.emit('selected', event.get_time());
 | 
			
		||||
        return Clutter.EVENT_STOP;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDragBegin : function (draggable, time) {
 | 
			
		||||
        this.inDrag = true;
 | 
			
		||||
        this.emit('drag-begin');
 | 
			
		||||
@@ -653,7 +642,6 @@ const ThumbnailsBox = new Lang.Class({
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('button-press-event', function() { return Clutter.EVENT_STOP; });
 | 
			
		||||
        this.actor.connect('button-release-event', Lang.bind(this, this._onButtonRelease));
 | 
			
		||||
        this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent));
 | 
			
		||||
 | 
			
		||||
        Main.overview.connect('showing',
 | 
			
		||||
                              Lang.bind(this, this._createThumbnails));
 | 
			
		||||
@@ -684,31 +672,18 @@ const ThumbnailsBox = new Lang.Class({
 | 
			
		||||
                global.screen.n_workspaces > 1;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _activateThumbnailAtPoint: function (stageX, stageY, time) {
 | 
			
		||||
    _onButtonRelease: function(actor, event) {
 | 
			
		||||
        let [stageX, stageY] = event.get_coords();
 | 
			
		||||
        let [r, x, y] = this.actor.transform_stage_point(stageX, stageY);
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < this._thumbnails.length; i++) {
 | 
			
		||||
            let thumbnail = this._thumbnails[i]
 | 
			
		||||
            let [w, h] = thumbnail.actor.get_transformed_size();
 | 
			
		||||
            if (y >= thumbnail.actor.y && y <= thumbnail.actor.y + h) {
 | 
			
		||||
                thumbnail.activate(time);
 | 
			
		||||
                thumbnail.activate(event.get_time());
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onButtonRelease: function(actor, event) {
 | 
			
		||||
        let [stageX, stageY] = event.get_coords();
 | 
			
		||||
        this._activateThumbnailAtPoint(stageX, stageY, event.get_time());
 | 
			
		||||
        return Clutter.EVENT_STOP;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTouchEvent: function (actor, event) {
 | 
			
		||||
        if (event.type() == Clutter.EventType.TOUCH_END &&
 | 
			
		||||
            global.display.is_pointer_emulating_sequence(event.get_event_sequence())) {
 | 
			
		||||
            let [stageX, stageY] = event.get_coords();
 | 
			
		||||
            this._activateThumbnailAtPoint(stageX, stageY, event.get_time());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return Clutter.EVENT_STOP;
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -421,7 +421,7 @@ const WorkspacesDisplay = new Lang.Class({
 | 
			
		||||
            // Only switch to the workspace when there's no application
 | 
			
		||||
            // windows open. The problem is that it's too easy to miss
 | 
			
		||||
            // an app window and get the wrong one focused.
 | 
			
		||||
            if ((action.get_button() == 1 || action.get_button() == 0) &&
 | 
			
		||||
            if (action.get_button() == 1 &&
 | 
			
		||||
                this._getPrimaryView().getActiveWorkspace().isEmpty())
 | 
			
		||||
                Main.overview.hide();
 | 
			
		||||
        }));
 | 
			
		||||
 
 | 
			
		||||
@@ -140,7 +140,7 @@
 | 
			
		||||
 | 
			
		||||
                <para>
 | 
			
		||||
                        <filename>/usr/share/gnome-session/sessions/gnome.session</filename>,
 | 
			
		||||
                        <filename>/usr/share/applications/org.gnome.Shell.desktop</filename>.</para>
 | 
			
		||||
                        <filename>/usr/share/applications/gnome-shell.desktop</filename>.</para>
 | 
			
		||||
        </refsect1>
 | 
			
		||||
 | 
			
		||||
        <refsect1>
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,6 @@ fi
 | 
			
		||||
fr
 | 
			
		||||
fur
 | 
			
		||||
ga
 | 
			
		||||
gd
 | 
			
		||||
gl
 | 
			
		||||
gu
 | 
			
		||||
he
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,9 @@
 | 
			
		||||
# Please keep this file sorted alphabetically.
 | 
			
		||||
[encoding: UTF-8]
 | 
			
		||||
data/50-gnome-shell-system.xml.in
 | 
			
		||||
data/gnome-shell.desktop.in.in
 | 
			
		||||
data/gnome-shell-extension-prefs.desktop.in.in
 | 
			
		||||
data/org.gnome.Shell.desktop.in.in
 | 
			
		||||
data/gnome-shell-wayland.desktop.in.in
 | 
			
		||||
data/org.gnome.shell.gschema.xml.in.in
 | 
			
		||||
data/org.gnome.Shell.PortalHelper.desktop.in
 | 
			
		||||
js/extensionPrefs/main.js
 | 
			
		||||
@@ -14,7 +15,6 @@ js/misc/util.js
 | 
			
		||||
js/portalHelper/main.js
 | 
			
		||||
js/ui/appDisplay.js
 | 
			
		||||
js/ui/appFavorites.js
 | 
			
		||||
js/ui/audioDeviceSelection.js
 | 
			
		||||
js/ui/backgroundMenu.js
 | 
			
		||||
js/ui/calendar.js
 | 
			
		||||
js/ui/components/automountManager.js
 | 
			
		||||
@@ -33,9 +33,7 @@ js/ui/keyboard.js
 | 
			
		||||
js/ui/legacyTray.js
 | 
			
		||||
js/ui/lookingGlass.js
 | 
			
		||||
js/ui/main.js
 | 
			
		||||
js/ui/messageList.js
 | 
			
		||||
js/ui/messageTray.js
 | 
			
		||||
js/ui/mpris.js
 | 
			
		||||
js/ui/notificationDaemon.js
 | 
			
		||||
js/ui/overviewControls.js
 | 
			
		||||
js/ui/overview.js
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										373
									
								
								po/ar.po
									
									
									
									
									
								
							
							
						
						
									
										373
									
								
								po/ar.po
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# Khaled Hosny <khaledhosny@eglug.org>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
 | 
			
		||||
# Khaled Hosny <khaledhosny@eglug.org>, 2009, 2010, 2011, 2012, 2013, 2014, 2015.
 | 
			
		||||
# Muhammed Abd-ulaziz Abd-ullah <thenubianmuha_idrecy@yahoo.co.uk>, 2012.
 | 
			
		||||
# Abderrahim Kitouni <a.kitouni@gmail.com>, 2012, 2014.
 | 
			
		||||
# Ibrahim Saed <ibraheem5000@gmail.com>, 2012.
 | 
			
		||||
@@ -8,8 +8,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-02 14:44+0400\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-02 14:44+0400\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-23 23:52+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-23 23:52+0200\n"
 | 
			
		||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
 | 
			
		||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
 | 
			
		||||
"Language: ar\n"
 | 
			
		||||
@@ -18,7 +18,7 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
 | 
			
		||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
 | 
			
		||||
"X-Generator: Virtaal 1.0.0-beta1\n"
 | 
			
		||||
"X-Generator: Virtaal 0.7.1\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
@@ -45,6 +45,15 @@ msgstr "أظهر كل التطبيقات"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "افتح قائمة التطبيقات"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "صدفة جنوم"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "إدارة النوافذ وإطلاق التطبيقات"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "تفضيلات امتدادات صدفة جنوم"
 | 
			
		||||
@@ -53,13 +62,9 @@ msgstr "تفضيلات امتدادات صدفة جنوم"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "اضبط امتدادات صدفة جنوم"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "صدفة جنوم"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "إدارة النوافذ وإطلاق التطبيقات"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "صدفة جنوم (وايلاند)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -147,129 +152,116 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "اعرض تاريخ الأسبوع في التقويم"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "أي لوحة مفاتيح ترغب باستخدامها"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "نوع لوحة المفاتيح التي ترغب باستخدامها."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
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 ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "مساحات عمل على الشاشة الرئيسية فقط"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
@@ -277,52 +269,51 @@ msgstr ""
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "ولوج الشبكة"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:121
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "حدث خطأ أثناء تشغيل حوار تفضيلات %s:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:153
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "امتدادات صدفة جنوم"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "ألغِ"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "التالي"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "فك القفل"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "ادخل"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "أغلق الجلسة"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "غير مدرج؟"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(مثلا مستخدم أو %s)"
 | 
			
		||||
@@ -330,12 +321,12 @@ msgstr "(مثلا مستخدم أو %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "اسم المستخدم: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "نافذة الولوج"
 | 
			
		||||
 | 
			
		||||
@@ -471,36 +462,16 @@ msgstr "أضِف إلى المفضّلة"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "أظهر التفاصيل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "أُضيف %s إلى مفضلتك."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "أُزيل %s من مفضّلتك."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "اختر جهاز صوت"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "إعدادات الصوت"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "سماعات أذن"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "سماعة رأس"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "ميكروفون"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "غيّر الخلفية…"
 | 
			
		||||
@@ -509,12 +480,13 @@ msgstr "غيّر الخلفية…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "إعدادات العرض"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "الإعدادات"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "56"
 | 
			
		||||
@@ -524,96 +496,94 @@ msgstr "56"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "ح"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "ن"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "ث"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "ر"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "خ"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "ج"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "س"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "الشهر السابق"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "الشهر التالي"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "أسبوع %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "طوال اليوم"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1295
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "امسح القسم"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1522
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "الأحداث"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %d %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1535
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A %d %B %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1620
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "التنبيهات"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1771
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "لا تنبيهات"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1774
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "لا أحداث"
 | 
			
		||||
 | 
			
		||||
@@ -625,7 +595,7 @@ msgstr "وُصّل قرص خارجي"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "فُصل القرص الخارجي"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "افتح باستخدام %s"
 | 
			
		||||
@@ -1007,26 +977,10 @@ msgstr "اعرض المصدر"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "صفحة الوب"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "امسح القسم"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "معلومات النظام"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "فنان غير معروف"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "عنوان غير معروف"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "وسائط"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "تراجع"
 | 
			
		||||
@@ -1043,22 +997,17 @@ msgstr "نظرة عامة"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "اكتب نصا للبحث عنه…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "أنْهِ"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "الأنشطة"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "النظام"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "الشريط العلوي"
 | 
			
		||||
 | 
			
		||||
@@ -1071,15 +1020,15 @@ msgstr "الشريط العلوي"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "اكتب أمرًا"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "أغلِق"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "يُعيد التشغيل…"
 | 
			
		||||
 | 
			
		||||
@@ -1210,16 +1159,19 @@ msgstr "تباين عال"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "نص كبير"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "بلوتوث"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "أوقف"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "إعدادات بلوتوث"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1230,25 +1182,10 @@ msgstr[3] "%d مُتصل"
 | 
			
		||||
msgstr[4] "%d مُتصل"
 | 
			
		||||
msgstr[5] "%d مُتصل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "مغلق"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "غير مستخدم"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "شغّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "أوقف"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "السطوع"
 | 
			
		||||
@@ -1257,50 +1194,30 @@ msgstr "السطوع"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "أظهر تخطيط لوحة المفاتيح"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "التموضع مفعّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "عطّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "إعدادات الخصوصية"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "التموضع مستخدم"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "التموضع غير مفعّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "فعّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:434
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "ارفض منح الصلاحية"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "امنح الصلاحية"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:443
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "أتريد إعطاء %s صلاحية معرفة مكانك؟ "
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:446
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is requesting access to your location."
 | 
			
		||||
msgstr "يطلب %s صلاحية معرفة مكانك."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<غير معروفة>"
 | 
			
		||||
@@ -1309,13 +1226,13 @@ msgstr "<غير معروفة>"
 | 
			
		||||
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Off"
 | 
			
		||||
msgstr "%s مغلق"
 | 
			
		||||
msgstr "%s مغلق"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:454
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connected"
 | 
			
		||||
msgstr "%s مُتصل"
 | 
			
		||||
msgstr "%s مُتصل"
 | 
			
		||||
 | 
			
		||||
#. 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);
 | 
			
		||||
@@ -1323,19 +1240,19 @@ msgstr "%s مُتصل"
 | 
			
		||||
#: ../js/ui/status/network.js:459
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unmanaged"
 | 
			
		||||
msgstr "%s غير مُدار"
 | 
			
		||||
msgstr "%s غير مُدار"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:462
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disconnecting"
 | 
			
		||||
msgstr "%s يقطع الاتّصال"
 | 
			
		||||
msgstr "%s يقطع الاتّصال"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connecting"
 | 
			
		||||
msgstr "%s يتّصل"
 | 
			
		||||
msgstr "%s يتّصل"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:472
 | 
			
		||||
@@ -1355,7 +1272,7 @@ msgstr "برمجيات %s المغروسة (Firmware) غير متاحة"
 | 
			
		||||
#: ../js/ui/status/network.js:484
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unavailable"
 | 
			
		||||
msgstr "%s غير متاح"
 | 
			
		||||
msgstr "%s غير متاح"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:487
 | 
			
		||||
@@ -1382,7 +1299,7 @@ msgstr "عتاد %s مُعَطَّل"
 | 
			
		||||
#: ../js/ui/status/network.js:592
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disabled"
 | 
			
		||||
msgstr "%s معطّل"
 | 
			
		||||
msgstr "%s معطّل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:632
 | 
			
		||||
msgid "Use as Internet connection"
 | 
			
		||||
@@ -1436,6 +1353,10 @@ msgstr "اختر شبكة"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "إعدادات الاتصال اللاسلكي"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "شغّل"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1446,7 +1367,7 @@ msgstr "نقطة اتصال %s نشطة"
 | 
			
		||||
#: ../js/ui/status/network.js:1311
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Not Connected"
 | 
			
		||||
msgstr "%s غير متّصل"
 | 
			
		||||
msgstr "%s غير متّصل"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1411
 | 
			
		||||
msgid "connecting..."
 | 
			
		||||
@@ -1474,8 +1395,9 @@ msgid "VPN"
 | 
			
		||||
msgstr "شخف (VPN)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1513
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "VPN Off"
 | 
			
		||||
msgstr "أطفِئ شخف (VPN) "
 | 
			
		||||
msgstr "أطفئ الحاسوب"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1697
 | 
			
		||||
msgid "Connection failed"
 | 
			
		||||
@@ -1485,36 +1407,31 @@ msgstr "فشل الاتصال"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "فشل تفعيل اتصال الشبكة"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "إعدادات الطاقة"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "مشحونة بالكامل"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "يَحسِب…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "بقي %d∶%02d (%d٪)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "بقي %d∶%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "بقي على الاكتمال %d∶%02d (%d٪)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d ٪"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "بقي على الاكتمال %d∶%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1555,6 +1472,10 @@ msgstr "تغيّرت شدة الصوت"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "شدة الصوت"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "ميكروفون"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "لِج كمستخدم آخر"
 | 
			
		||||
@@ -1707,46 +1628,46 @@ msgstr[5] "%u مدخل"
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "أصوات النظام"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "اطبع الإصدارة"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "الوضع الذي يستخدمه مدير ولوج جنوم لشاشة الولوج"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "استخدم طورا معينا، مثلا: \"gdm\" لشاشة الولوج"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "اسرد كل الأطوار الممكنة"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "غير معروف"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "فشل تشغيل ”%s“"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "لا تتطابق كلمتا السر."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "لا يمكن أن تكون كلمة السرّ فارغة"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "صدفة جنوم (وايلاند)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "بلوتوث"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
@@ -1757,6 +1678,9 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
#~ msgstr[4] "%d جهازًا موصّلا"
 | 
			
		||||
#~ msgstr[5] "%d جهاز موصّل"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "مغلق"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "الاستيثاق مطلوب"
 | 
			
		||||
 | 
			
		||||
@@ -1958,6 +1882,9 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "أظهر الحساب"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "السبب غير معروف"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open Calendar"
 | 
			
		||||
#~ msgstr "افتح التقويم"
 | 
			
		||||
 | 
			
		||||
@@ -2050,6 +1977,9 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "يريد الجهاز %s صلاحية الوصول للخدمة '%s'"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "امنح الصلاحية دائما"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "امنح هذه المرة فقط"
 | 
			
		||||
 | 
			
		||||
@@ -2139,6 +2069,9 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
#~ msgid "Visibility"
 | 
			
		||||
#~ msgstr "الرؤية"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Send Files to Device…"
 | 
			
		||||
#~ msgstr "أرسِل ملفات للجهاز…"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Set Up a New Device…"
 | 
			
		||||
#~ msgstr "اضبط جهازًا جديدًا…"
 | 
			
		||||
 | 
			
		||||
@@ -2229,6 +2162,10 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
 | 
			
		||||
#~ msgstr[4] "بقيت %d دقيقة"
 | 
			
		||||
#~ msgstr[5] "بقيت %d دقيقة"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "percent of battery remaining"
 | 
			
		||||
#~ msgid "%d%%"
 | 
			
		||||
#~ msgstr "%d%%"
 | 
			
		||||
 | 
			
		||||
#~ msgid "AC Adapter"
 | 
			
		||||
#~ msgstr "مقبس طاقة"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										372
									
								
								po/ca.po
									
									
									
									
									
								
							
							
						
						
									
										372
									
								
								po/ca.po
									
									
									
									
									
								
							@@ -3,23 +3,22 @@
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
# Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>, 2009.
 | 
			
		||||
# Jordi Serratosa <jordis@softcatala.cat>, 2012.
 | 
			
		||||
# Gil Forcada <gilforcada@guifi.net>, 2010, 2011, 2013, 2014, 2016.
 | 
			
		||||
# Gil Forcada <gilforcada@guifi.net>, 2010, 2011, 2013, 2014.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-13 10:20+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-13 14:47+0100\n"
 | 
			
		||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2015-08-20 19:24+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-05-28 19:32+0100\n"
 | 
			
		||||
"Last-Translator: David Medina <opensusecatala@gmail.com>\n"
 | 
			
		||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
 | 
			
		||||
"Language: ca\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bits\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
 | 
			
		||||
"X-Generator: Gtranslator 2.91.6\n"
 | 
			
		||||
"X-Generator: Poedit 1.6.9\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -45,6 +44,15 @@ msgstr "Mostra totes les aplicacions"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Obre el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Gestor de finestres i llançador d'aplicacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Preferències de les extensions del GNOME Shell"
 | 
			
		||||
@@ -53,13 +61,9 @@ msgstr "Preferències de les extensions del GNOME Shell"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Configureu les extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Gestor de finestres i llançador d'aplicacions"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (composició mitjançant Wayland)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -172,97 +176,78 @@ msgstr ""
 | 
			
		||||
"de verificació."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si l'adaptador de Bluetooth predeterminat té dispositius configurats "
 | 
			
		||||
"associats"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El Shell només mostrà una entrada de menú Bluetooth si un adaptador Bluetooh "
 | 
			
		||||
"està engegat, o si hi ha dispositius configurats associats a l'adaptador "
 | 
			
		||||
"predeterminat. Això es reiniciarà si l'adaptador predeterminat té "
 | 
			
		||||
"dispositius associats."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Mostra el número de la setmana al calendari"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Si és «true» (cert) es mostra el número de la setmana al calendari."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Vinculació per obrir el menú d'aplicació"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "La vinculació per obrir el menú d'aplicació."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Vinculació per obrir la vista «Mostra les aplicacions»"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vinculació per obrir la vista «Mostra les aplicacions» de les activitats de "
 | 
			
		||||
"la vista general."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Vinculació per obrir la vista general"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Vinculació per obrir la vista general d'activitats."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La vinculació per commutar la visibilitat de la llista de notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La vinculació per commutar la visibilitat de la llista de notificacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Vinculació per posar el focus a la notificació activa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Vinculació per posar el focus a la notificació activa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vinculació que fa una pausa i continua tots els «tweens» en execució, per "
 | 
			
		||||
"motius de depuració"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Quin tipus de teclat s'ha d'utilitzar"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "El tipus de teclat que s'utilitzarà."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Limita el canviador a l'espai de treball actual."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -271,11 +256,11 @@ msgstr ""
 | 
			
		||||
"de treball actual es mostren en el canviador. En cas contrari es mostren "
 | 
			
		||||
"totes les aplicacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "El mode d'icona de les aplicacions."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -286,7 +271,7 @@ msgstr ""
 | 
			
		||||
"icon-only» (mostra la icona de l'aplicació) o «both» (ambdues coses: mostra "
 | 
			
		||||
"la miniatura de la finestra i la icona de l'aplicació)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -294,32 +279,32 @@ msgstr ""
 | 
			
		||||
"Si és «true» (cert), només les finestres de l'espai de treball actual es "
 | 
			
		||||
"mostren en el canviador. En cas contrari, es mostren totes les finestres."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Adjunta el diàleg modal a la finestra pare"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
 | 
			
		||||
"mutter»."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Habilita la tesselització a les vores en deixar anar les finestres a les "
 | 
			
		||||
"vores de la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Els espais de treball es gestionen dinàmicament"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Només en el monitor principal hi ha espais de treball"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Retarda el canvi del focus, quan s'està en mode ratolí, fins que el punter "
 | 
			
		||||
@@ -329,52 +314,51 @@ msgstr ""
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Inici de sessió de la xarxa"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:117
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "S'ha produït un error en carregar el diàleg de preferències de %s:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:149
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Extensions del GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Cancel·la"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:435
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Següent"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Desbloqueja"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Entra"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Trieu la sessió"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "No esteu llistat?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:847
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(p. ex. l'usuari o %s)"
 | 
			
		||||
@@ -382,12 +366,12 @@ msgstr "(p. ex. l'usuari o %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nom d'usuari:"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1181
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Finestra d'entrada"
 | 
			
		||||
 | 
			
		||||
@@ -523,36 +507,16 @@ msgstr "Afegeix als preferits"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Mostra els detalls"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "S'ha afegit %s als preferits."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "S'ha suprimit %s dels preferits."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Seleccioneu dispositiu d'àudio"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Paràmetres del so"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Auriculars"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Auriculars amb micròfon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Micròfon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Canvia el fons de l'escriptori…"
 | 
			
		||||
@@ -561,12 +525,13 @@ msgstr "Canvia el fons de l'escriptori…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Paràmetres de la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Paràmetres"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -576,96 +541,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Dg"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "Dl"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Dt"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "Dc"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Dj"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "Dv"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Ds"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Mes anterior"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Mes següent"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Setmana %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Tot el dia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Neteja la secció"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Cites"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %d de %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A %d de %B de %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Cap notificació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Cap cita"
 | 
			
		||||
 | 
			
		||||
@@ -677,7 +640,7 @@ msgstr "S'ha connectat un dispositiu extern"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "S'ha desconnectat un dispositiu extern"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Obre amb %s"
 | 
			
		||||
@@ -993,11 +956,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Teclat"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Oculta la Safata"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Icones d'estat"
 | 
			
		||||
 | 
			
		||||
@@ -1025,7 +988,7 @@ msgstr "Habilitat"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Inhabilitat"
 | 
			
		||||
 | 
			
		||||
@@ -1049,26 +1012,10 @@ msgstr "Mostra el codi font"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Pàgina web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Neteja la secció"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informació de l'ordinador"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Artista desconegut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Títol desconegut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Multimèdia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Desfés"
 | 
			
		||||
@@ -1085,22 +1032,17 @@ msgstr "Vista general"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Teclegeu per cercar…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Surt"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Activitats"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistema"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Barra superior"
 | 
			
		||||
 | 
			
		||||
@@ -1113,15 +1055,15 @@ msgstr "Barra superior"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Introduïu una ordre"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Tanca"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "S'està reiniciant…"
 | 
			
		||||
 | 
			
		||||
@@ -1244,41 +1186,29 @@ msgstr "Alt contrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Text gran"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Desactiva"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Paràmetres del Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d connectat"
 | 
			
		||||
msgstr[1] "%d connectats"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Desactivat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "No s'usa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Desactiva"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Brillantor"
 | 
			
		||||
@@ -1287,50 +1217,30 @@ msgstr "Brillantor"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Mostra la disposició del teclat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Ubicació habilitada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Inhabilita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Paràmetres de privacitat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Ubicació en ús"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Ubicació inhabilitada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Habilita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Denega l'accés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Permetre l'accés"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Voleu donar a %s accés a la vostra ubicació?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Podeu canviar la configuració de l'accés a la ubicació sempre que vulgueu "
 | 
			
		||||
"des del la configuració de la privacitat."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<desconegut>"
 | 
			
		||||
@@ -1466,6 +1376,10 @@ msgstr "Trieu una xarxa"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Paràmetres del sense fil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activa"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1515,36 +1429,31 @@ msgstr "Ha fallat la connexió"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Ha fallat l'activació de la connexió de xarxa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Paràmetres d'energia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Totalment carregada"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "S'està estimant la durada…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d Queda (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d Queda (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d Fins que estigui del tot carregada (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d Fins que estigui del tot carregada (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1585,6 +1494,10 @@ msgstr "S'ha canviat el volum"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Volum"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Micròfon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Entra amb un altre usuari"
 | 
			
		||||
@@ -1705,7 +1618,7 @@ msgstr "Calendari de l'Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1714,66 +1627,66 @@ msgstr[1] "%u sortides"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u entrada"
 | 
			
		||||
msgstr[1] "%u entrades"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sons del sistema"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Mostra la versió"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Utilitza un mode específic, p. ex. «gdm» per la pantalla d'entrada"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Llista els modes possibles"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Desconegut"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "No s'ha pogut iniciar «%s»"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Les contrasenyes no coincideixen."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "La contrasenya no pot ser buida"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "L'usuari ha descartat el diàleg d'autenticació"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "%s està demanant accés a la vostra ubicació."
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "GNOME Shell (composició mitjançant Wayland)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
#~ msgstr[0] "%d dispositiu connectat"
 | 
			
		||||
#~ msgstr[1] "%d dispositius connectats"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "Desactivat"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "Cal autenticació"
 | 
			
		||||
 | 
			
		||||
@@ -1982,6 +1895,9 @@ msgstr "L'usuari ha descartat el diàleg d'autenticació"
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "Mostra el compte"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "Motiu desconegut"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open Calendar"
 | 
			
		||||
#~ msgstr "Obre el calendari"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										375
									
								
								po/da.po
									
									
									
									
									
								
							
							
						
						
									
										375
									
								
								po/da.po
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
#
 | 
			
		||||
# Kenneth Nielsen <k.nielsen81@gmail.com>, 2012.
 | 
			
		||||
# Kris Thomsen <mail@kristhomsen.dk>, 2009-2014, 2016.
 | 
			
		||||
# Kris Thomsen <mail@kristhomsen.dk>, 2009-2014.
 | 
			
		||||
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2014, 2015.
 | 
			
		||||
#
 | 
			
		||||
# Konventioner:
 | 
			
		||||
@@ -20,15 +20,15 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-06 19:50+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2016-02-23 19:31+0200\n"
 | 
			
		||||
"Last-Translator: Kris Thomsen\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-18 17:05+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-04 21:21+0100\n"
 | 
			
		||||
"Last-Translator: Kris Thomsen <mail@kristhomsen.dk>\n"
 | 
			
		||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 | 
			
		||||
"Language: da\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -54,6 +54,15 @@ msgstr "Vis alle programmer"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Åbn program-menuen"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Vindueshåndtering og åbning af programmer"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Udvidelsesmodulindstillinger for GNOME Shell"
 | 
			
		||||
@@ -62,13 +71,9 @@ msgstr "Udvidelsesmodulindstillinger for GNOME Shell"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Konfigurér udvidelsesmoduler til GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Vindueshåndtering og åbning af programmer"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (wayland-sammensætter)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -175,94 +180,76 @@ msgstr ""
 | 
			
		||||
"standard-værdien af denne tjekboks."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Om standard Bluetooth-adapteren er indstillet til at have enheder tilknyttet"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Shell'en vil kun vise menupunktet Bluetooth, hvis en Bluetooth-adapter er "
 | 
			
		||||
"tændt, eller hvis der er enheder tilknyttet standard adapteren. Dette vil "
 | 
			
		||||
"kun blive nulstillet hvis standard adapteren på et tidspunkt, ikke længere "
 | 
			
		||||
"har enheder tilknyttet."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Vis ugenummer i kalenderen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Hvis sand vises ISO-ugenummeret i kalenderen."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Genvejstast til at åbne program-menuen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Genvejstast til at åbne program-menuen."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Genvejstast til at åbne \"Vis programmer\"-visningen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Genvejstast til at åbne \"Vis programmer\"-visningen i Aktivitets-"
 | 
			
		||||
"overblikket."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Genvejstast til at åbne overblikket"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Genvejstast til at åbne Aktivitetsoverblikket."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Genvejstast til at slå synligheden af påmindelseslisten til eller fra"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Genvejstast til at slå synligheden af påmindelseslisten til eller fra."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Genvejstast til at fokusere på den aktive påmindelse"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Genvejstast til at fokusere på den aktive påmindelse."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Genvejstast, som pauser og genstarter alle kørende animationer, til "
 | 
			
		||||
"fejlsøgningsformål"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Hvilket tastatur bruges"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Tastaturtypen som bruges."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Begræns skifteren til det nuværende arbejdsområde."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -270,11 +257,11 @@ msgstr ""
 | 
			
		||||
"Hvis sand, vises kun programmer, som har vinduer på det nuværende "
 | 
			
		||||
"arbejdsområde, i skifteren. Ellers er alle programmer inkluderet."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Ikon-tilstanden for programmet."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -284,7 +271,7 @@ msgstr ""
 | 
			
		||||
"er \"thumbnail-only\" (viser forhåndsvisning af vinduet), \"app-icon-only"
 | 
			
		||||
"\" (viser kun programikonet) eller \"both\" (begge)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -292,29 +279,29 @@ msgstr ""
 | 
			
		||||
"Hvis sand, vises kun vinduer fra det nuværende arbejdsområde i skifteren. "
 | 
			
		||||
"Ellers er alle programmer inkluderet."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Hæft modal dialog til overliggende vindue"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Denne nøgle overstyrer nøglen i org.gnome.mutter, når du kører GNOME Shell."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr "Aktivér kant-fliselægning, når vinduer placeres ved skærmkanter"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Arbejdsområder er håndteret dynamisk"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Arbejdsområder kun på den primære skærm"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Forsink fokusændringer i musetilstand indtil pegeren holder op med at bevæge "
 | 
			
		||||
@@ -324,52 +311,51 @@ msgstr ""
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Netværksindlogning"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:121
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Der opstod in fejl ved indlæsning af indstillingsdialogen for %s:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:153
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Udvidelsesmoduler til GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Annullér"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Næste"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Lås op"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Log ind"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Vælg 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Ikke listet?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(f.eks. bruger eller %s)"
 | 
			
		||||
@@ -377,12 +363,12 @@ msgstr "(f.eks. bruger 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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Brugernavn: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Indlogningsvindue"
 | 
			
		||||
 | 
			
		||||
@@ -518,36 +504,16 @@ msgstr "Føj til favoritter"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Vis detaljer"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s er blevet føjet til dine favoritter."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s er blevet fjernet fra dine favoritter."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Vælg lydenhed"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Indstillinger for lyd"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Hovedtelefoner"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Headset"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Skift baggrund…"
 | 
			
		||||
@@ -556,12 +522,13 @@ msgstr "Skift baggrund…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Skærmindstillinger"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Indstillinger"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -571,96 +538,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "T"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "O"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "T"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "F"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "L"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Forrige måned"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Næste måned"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Uge %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Hele dagen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Ryd afsnit"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Begivenheder"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d. %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d. %B %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Beskeder"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Ingen påmindelser"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Ingen begivenheder"
 | 
			
		||||
 | 
			
		||||
@@ -672,7 +637,7 @@ msgstr "Eksternt drev tilkoblet"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Eksternt drev frakoblet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Åbn med %s"
 | 
			
		||||
@@ -983,11 +948,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Tastatur"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Skjul statusfelt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Statusikoner"
 | 
			
		||||
 | 
			
		||||
@@ -1015,7 +980,7 @@ msgstr "Aktiveret"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Deaktiveret"
 | 
			
		||||
 | 
			
		||||
@@ -1039,26 +1004,10 @@ msgstr "Vis kilde"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Webside"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Ryd afsnit"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Systeminformation"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Ukendt kunstner"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Ukendt titel"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Medier"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Fortryd"
 | 
			
		||||
@@ -1075,22 +1024,17 @@ msgstr "Oversigt"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Skriv for at søge…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Afslut"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Aktiviteter"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "System"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Toppanel"
 | 
			
		||||
 | 
			
		||||
@@ -1103,15 +1047,15 @@ msgstr "Toppanel"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Indtast en kommando"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Luk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Genstarter…"
 | 
			
		||||
 | 
			
		||||
@@ -1234,41 +1178,29 @@ msgstr "Høj kontrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Stor tekst"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Sluk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Indstillinger for Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d forbundet"
 | 
			
		||||
msgstr[1] "%d forbundet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Slukket"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Ikke i brug"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Tænd"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Sluk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Lysstyrke"
 | 
			
		||||
@@ -1277,50 +1209,30 @@ msgstr "Lysstyrke"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Vis tastaturlayout"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Placering aktiveret"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Slå fra"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Indstillinger for privatliv"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Placering i brug"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Placering deaktiveret"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Slå til"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Forbyd adgang"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Giv adgang"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Giv %s adgang til din placering?"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:438
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is requesting access to your location."
 | 
			
		||||
msgstr "%s spørger efter adgang til din placering."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<ukendt>"
 | 
			
		||||
@@ -1456,6 +1368,10 @@ msgstr "Vælg netværk"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Indstillinger for trådløs"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Tænd"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1483,7 +1399,7 @@ msgstr "forbindelse mislykkedes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93
 | 
			
		||||
msgid "Network Settings"
 | 
			
		||||
msgstr "Netværksindstillinger"
 | 
			
		||||
msgstr "Indstillinger for netværk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1484
 | 
			
		||||
msgid "VPN Settings"
 | 
			
		||||
@@ -1505,36 +1421,31 @@ msgstr "Forbindelse mislykkedes"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Aktivering af netværksforbindelse mislykkedes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Indstillinger for strømstyring"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Fuldt opladet"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Udregner…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d tilbage (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d tilbage (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d indtil fuld (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d indtil fuld (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1575,6 +1486,10 @@ msgstr "Lydstyrke ændret"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Lydstyrke"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Log ind som en anden bruger"
 | 
			
		||||
@@ -1695,7 +1610,7 @@ msgstr "Evolution kalender"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1704,63 +1619,66 @@ msgstr[1] "%u outputs"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u input"
 | 
			
		||||
msgstr[1] "%u inputs"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Systemlyde"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Udskriv version"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Tilstand brugt af GDM til indlogningskærm"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Brug en specifik tilstand, f.eks. \"gdm\" til logind-skærm"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Vis mulige tilstande"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Ukendt"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Kunne ikke køre “%s”"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Adgangskoder er ikke ens."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Adgangskode må ikke være tom"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Godkendelsesdialogen blev afvist af brugeren"
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "GNOME Shell (wayland-sammensætter)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
#~ msgstr[0] "%d forbundet enhed"
 | 
			
		||||
#~ msgstr[1] "%d forbundne enheder"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "Slukket"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "Godkendelse påkrævet"
 | 
			
		||||
 | 
			
		||||
@@ -1968,6 +1886,9 @@ msgstr "Godkendelsesdialogen blev afvist af brugeren"
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "Vis konto"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "Ukendt årsag"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open Calendar"
 | 
			
		||||
#~ msgstr "Åbn kalender"
 | 
			
		||||
 | 
			
		||||
@@ -2090,6 +2011,9 @@ msgstr "Godkendelsesdialogen blev afvist af brugeren"
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "Enheden %s ønsker adgang til tjenesten \"%s\""
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "Giv altid adgang"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "Giv kun lov denne gang"
 | 
			
		||||
 | 
			
		||||
@@ -2262,6 +2186,9 @@ msgstr "Godkendelsesdialogen blev afvist af brugeren"
 | 
			
		||||
#~ msgid "Visibility"
 | 
			
		||||
#~ msgstr "Synlighed"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Send Files to Device…"
 | 
			
		||||
#~ msgstr "Send filer til enhed…"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Set Up a New Device…"
 | 
			
		||||
#~ msgstr "Indstil en ny enhed…"
 | 
			
		||||
 | 
			
		||||
@@ -2339,6 +2266,10 @@ msgstr "Godkendelsesdialogen blev afvist af brugeren"
 | 
			
		||||
#~ msgstr[0] "%d minut tilbage"
 | 
			
		||||
#~ msgstr[1] "%d minutter tilbage"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "percent of battery remaining"
 | 
			
		||||
#~ msgid "%d%%"
 | 
			
		||||
#~ msgstr "%d%%"
 | 
			
		||||
 | 
			
		||||
#~ msgid "AC Adapter"
 | 
			
		||||
#~ msgstr "AC-adapter"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										386
									
								
								po/fr.po
									
									
									
									
									
								
							
							
						
						
									
										386
									
								
								po/fr.po
									
									
									
									
									
								
							@@ -19,8 +19,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master fr\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-02-10 22:14+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-02-11 09:40+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2015-08-31 19:25+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-01 11:03+0200\n"
 | 
			
		||||
"Last-Translator: Alexandre Franke <alexandre.franke@gmail.com>\n"
 | 
			
		||||
"Language-Team: français <gnomefr@traduc.org>\n"
 | 
			
		||||
"Language: French\n"
 | 
			
		||||
@@ -53,6 +53,15 @@ msgstr "Afficher toutes les applications"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Ouvrir le menu de l'application"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Gestion des fenêtres et lancement des applications"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Préférences pour les extensions GNOME Shell"
 | 
			
		||||
@@ -61,13 +70,9 @@ msgstr "Préférences pour les extensions GNOME Shell"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Configurer les extensions GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Gestion des fenêtres et lancement des applications"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (gestionnaire de fenêtres composite Wayland)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -181,98 +186,81 @@ msgstr ""
 | 
			
		||||
"cocher."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Indique si l'adaptateur Bluetooth a des périphériques associés"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Le shell n'affichera d'élément de menu Bluetooth que si un adaptateur "
 | 
			
		||||
"Bluetooth est allumé ou s'il y a des périphériques associés avec l'adaptateur "
 | 
			
		||||
"par défaut. Cela sera réinitialisé si l'adaptateur par défaut se retrouve sans aucun périphérique associé."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Afficher la numérotation des semaines dans le calendrier"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Si vrai, afficher le numéro de semaine ISO dans le calendrier."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Combinaison de touches pour ouvrir le menu de l'application"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Combinaison de touches pour ouvrir le menu de l'application."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinaison de touches pour ouvrir la vue « Afficher les applications »"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinaison de touches pour ouvrir la vue « Afficher les applications » de "
 | 
			
		||||
"la vue d'ensemble des activités."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Combinaison de touches pour ouvrir la vue d'ensemble"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Combinaison de touches pour ouvrir la vue d'ensemble des applications."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinaison de touches pour inverser la visibilité de la liste des "
 | 
			
		||||
"notifications"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinaison de touches pour inverser la visibilité de la liste des "
 | 
			
		||||
"notifications"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Combinaison de touches pour donner le focus à la notification active"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Combinaison de touches pour donner le focus à la notification active."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinaison de touches pour stopper et fermer toutes les transitions à des "
 | 
			
		||||
"fins de débogage"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Le clavier utilisé"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Le type de clavier utilisé."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Limite le sélecteur de fenêtres à l'espace de travail actuel."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -281,11 +269,11 @@ msgstr ""
 | 
			
		||||
"travail actuel sont affichées dans le sélecteur. Sinon, toutes les "
 | 
			
		||||
"applications y sont incluses."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Le type d'icône des applications."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -296,7 +284,7 @@ msgstr ""
 | 
			
		||||
"fenêtre), « app-icon-only » (affiche uniquement l'icône de l'application), "
 | 
			
		||||
"ou « both » (affiche les deux)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -304,30 +292,30 @@ msgstr ""
 | 
			
		||||
"Si vrai, seules les fenêtres de l'espace de travail actuel sont affichées "
 | 
			
		||||
"dans le sélecteur. Sinon, toutes les fenêtres y sont incluses."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Attacher les dialogues modaux à leur fenêtre parente"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Cette clé prend le pas sur la clé dans org.gnome.mutter lorsque GNOME Shell "
 | 
			
		||||
"est lancé."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr "Activer l'empilage des fenêtres déposées sur les bords de l'écran"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Les espaces de travail sont gérés dynamiquement"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Les espaces de travail sont uniquement sur l'écran principal"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Retarder les changements de focus en mode souris jusqu'à ce que le pointeur "
 | 
			
		||||
@@ -355,48 +343,40 @@ msgstr "Extensions GNOME Shell"
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Annuler"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Suivant"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Déverrouiller"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Se connecter"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Choisir une 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Absent de la liste ?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:847
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(par ex. utilisateur ou %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nom d'utilisateur : "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1181
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Fenêtre de connexion"
 | 
			
		||||
 | 
			
		||||
@@ -404,11 +384,6 @@ msgstr "Fenêtre de connexion"
 | 
			
		||||
msgid "Authentication error"
 | 
			
		||||
msgstr "Erreur d'authentification"
 | 
			
		||||
 | 
			
		||||
#. We don't show fingerprint messages directly since it's
 | 
			
		||||
#. not the main auth service. Instead we use the messages
 | 
			
		||||
#. as a cue to display our own message.
 | 
			
		||||
#. Translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/util.js:473
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(ou faites glisser le doigt)"
 | 
			
		||||
@@ -417,8 +392,6 @@ msgstr "(ou faites glisser le doigt)"
 | 
			
		||||
msgid "Command not found"
 | 
			
		||||
msgstr "Commande non trouvée"
 | 
			
		||||
 | 
			
		||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
 | 
			
		||||
#. something nicer
 | 
			
		||||
#: ../js/misc/util.js:152
 | 
			
		||||
msgid "Could not parse command:"
 | 
			
		||||
msgstr "Impossible d'analyser la commande :"
 | 
			
		||||
@@ -428,78 +401,70 @@ msgstr "Impossible d'analyser la commande :"
 | 
			
		||||
msgid "Execution of “%s” failed:"
 | 
			
		||||
msgstr "Exécution de « %s » impossible :"
 | 
			
		||||
 | 
			
		||||
#. Translators: Time in 24h format
 | 
			
		||||
#. Translators: Time in 24h format */
 | 
			
		||||
#: ../js/misc/util.js:191
 | 
			
		||||
msgid "%H∶%M"
 | 
			
		||||
msgstr "%H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the word "Yesterday" followed by a
 | 
			
		||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
 | 
			
		||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:197
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Yesterday, %H∶%M"
 | 
			
		||||
msgstr "Hier, %H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the week day name followed by a time
 | 
			
		||||
#. string in 24h format. i.e. "Monday, 14:30"
 | 
			
		||||
#. string in 24h format. i.e. "Monday, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:203
 | 
			
		||||
#, 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 in 24h format.
 | 
			
		||||
#. i.e. "May 25, 14:30"
 | 
			
		||||
#. i.e. "May 25, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:209
 | 
			
		||||
#, 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 in 24h format.
 | 
			
		||||
#. i.e. "May 25 2012, 14:30"
 | 
			
		||||
#. i.e. "May 25 2012, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:215
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d %Y, %H∶%M"
 | 
			
		||||
msgstr "%d %B %Y, %H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Time in 12h format
 | 
			
		||||
#. Translators: Time in 12h format */
 | 
			
		||||
#: ../js/misc/util.js:220
 | 
			
		||||
msgid "%l∶%M %p"
 | 
			
		||||
msgstr "%l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the word "Yesterday" followed by a
 | 
			
		||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
 | 
			
		||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:226
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Yesterday, %l∶%M %p"
 | 
			
		||||
msgstr "Hier, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the week day name followed by a time
 | 
			
		||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
 | 
			
		||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:232
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%A, %l∶%M %p"
 | 
			
		||||
msgstr "%A, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the month name and day number
 | 
			
		||||
#. followed by a time string in 12h format.
 | 
			
		||||
#. i.e. "May 25, 2:30 pm"
 | 
			
		||||
#. i.e. "May 25, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:238
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d, %l∶%M %p"
 | 
			
		||||
msgstr "%d %B, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the month name, day number, year
 | 
			
		||||
#. number followed by a time string in 12h format.
 | 
			
		||||
#. i.e. "May 25 2012, 2:30 pm"
 | 
			
		||||
#. i.e. "May 25 2012, 2:30 pm"*/
 | 
			
		||||
#: ../js/misc/util.js:244
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d %Y, %l∶%M %p"
 | 
			
		||||
msgstr "%d %B %Y, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. TRANSLATORS: this is the title of the wifi captive portal login
 | 
			
		||||
#. * window, until we know the title of the actual login page
 | 
			
		||||
#. * window, until we know the title of the actual login page */
 | 
			
		||||
#: ../js/portalHelper/main.js:85
 | 
			
		||||
msgid "Web Authentication Redirect"
 | 
			
		||||
msgstr "Redirection de l'authentification Web"
 | 
			
		||||
@@ -532,12 +497,12 @@ msgstr "Ajouter aux favoris"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Afficher les détails"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:133
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s a été ajouté à vos favoris."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:167
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s a été supprimé de vos favoris."
 | 
			
		||||
@@ -550,11 +515,12 @@ msgstr "Modifier l'arrière-plan…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Paramètres d'affichage"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Paramètres"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
@@ -564,43 +530,43 @@ msgstr "06"
 | 
			
		||||
#. *
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "D"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday */
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "L"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday */
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday */
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday */
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "J"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday */
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "V"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday */
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
@@ -614,13 +580,7 @@ msgstr "Mois précédent"
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Mois suivant"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:729
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:784
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Semaine %V"
 | 
			
		||||
 | 
			
		||||
@@ -641,39 +601,39 @@ msgstr "Semaine %V"
 | 
			
		||||
#
 | 
			
		||||
#. 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:1189
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Journée"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1296
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Effacer la section"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1523
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Évènements"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1532
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %d %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1536
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A %d %B, %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1621
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notifications"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1772
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Aucune notification"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1775
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Aucun évènement"
 | 
			
		||||
 | 
			
		||||
@@ -685,7 +645,7 @@ msgstr "Disque externe connecté"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Disque externe déconnecté"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Ouvrir avec %s"
 | 
			
		||||
@@ -703,7 +663,6 @@ msgstr "Saisissez à nouveau :"
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Se connecter"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:233
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:245
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:273
 | 
			
		||||
@@ -712,7 +671,6 @@ msgstr "Se connecter"
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Mot de passe : "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:238
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Clé : "
 | 
			
		||||
@@ -804,13 +762,13 @@ msgstr "S'authentifier"
 | 
			
		||||
#. 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.
 | 
			
		||||
#. * for instance. */
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Échec de l'authentification. Essayez à nouveau."
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#. IM name. */
 | 
			
		||||
#: ../js/ui/components/telepathyClient.js:759
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
@@ -824,8 +782,6 @@ msgstr "Fenêtres"
 | 
			
		||||
msgid "Show Applications"
 | 
			
		||||
msgstr "Afficher les applications"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the name of the dock/favorites area on
 | 
			
		||||
#. the left of the overview
 | 
			
		||||
#: ../js/ui/dash.js:449
 | 
			
		||||
msgid "Dash"
 | 
			
		||||
msgstr "Dash"
 | 
			
		||||
@@ -838,7 +794,7 @@ msgstr "Dash"
 | 
			
		||||
#                                                L  M  M  J  V  S  D
 | 
			
		||||
#. 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:73
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%-e %B %Y"
 | 
			
		||||
@@ -852,7 +808,7 @@ msgstr "%-e %B %Y"
 | 
			
		||||
#. Translators: This is the accessible name of the date button shown
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/dateMenu.js:80
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A %e %B %Y"
 | 
			
		||||
@@ -982,13 +938,13 @@ msgstr ""
 | 
			
		||||
msgid "Other users are logged in."
 | 
			
		||||
msgstr "D'autres utilisateurs sont connectés."
 | 
			
		||||
 | 
			
		||||
#. Translators: Remote here refers to a remote session, like a ssh login
 | 
			
		||||
#. Translators: Remote here refers to a remote session, like a ssh login */
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:640
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (remote)"
 | 
			
		||||
msgstr "%s (distant)"
 | 
			
		||||
 | 
			
		||||
#. Translators: Console here refers to a tty like a VT console
 | 
			
		||||
#. Translators: Console here refers to a tty like a VT console */
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:643
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (console)"
 | 
			
		||||
@@ -1007,7 +963,7 @@ msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Clavier"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#. translators: 'Hide' is a verb */
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Masquer le tiroir"
 | 
			
		||||
@@ -1020,7 +976,7 @@ msgstr "Icônes d'état"
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Aucune extension installée"
 | 
			
		||||
 | 
			
		||||
#. Translators: argument is an extension UUID.
 | 
			
		||||
#. Translators: argument is an extension UUID. */
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has not emitted any errors."
 | 
			
		||||
@@ -1040,7 +996,7 @@ msgstr "Activé"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Désactivé"
 | 
			
		||||
 | 
			
		||||
@@ -1079,53 +1035,43 @@ msgstr "Vue d'ensemble"
 | 
			
		||||
#. Translators: this is the text displayed
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#. characters. */
 | 
			
		||||
#: ../js/ui/overview.js:244
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Rechercher…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Quitter"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#. in your language, you can use the word for "Overview". */
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Activités"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Système"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Barre supérieure"
 | 
			
		||||
 | 
			
		||||
#. 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:289
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Saisissez une commande"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Fermer"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Redémarrage en cours…"
 | 
			
		||||
 | 
			
		||||
#. Translators: This is a time format for a date in
 | 
			
		||||
#. long format
 | 
			
		||||
#. long format */
 | 
			
		||||
#: ../js/ui/screenShield.js:85
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %d %B"
 | 
			
		||||
@@ -1152,13 +1098,6 @@ msgstr "Verrouiller"
 | 
			
		||||
msgid "GNOME needs to lock the screen"
 | 
			
		||||
msgstr "GNOME a besoin de verrouiller l'écran"
 | 
			
		||||
 | 
			
		||||
#. 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:805 ../js/ui/screenShield.js:1271
 | 
			
		||||
msgid "Unable to lock"
 | 
			
		||||
msgstr "Impossible de verrouiller"
 | 
			
		||||
@@ -1243,41 +1182,29 @@ msgstr "Contraste élevé"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Grand texte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Éteindre"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Paramètres Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices */
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d connecté"
 | 
			
		||||
msgstr[1] "%d connectés"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Éteint"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Pas en cours d'utilisation"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activer"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Éteindre"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Luminosité"
 | 
			
		||||
@@ -1314,13 +1241,13 @@ msgstr "Activer"
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<inconnu>"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Off"
 | 
			
		||||
msgstr "%s éteint"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:454
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connected"
 | 
			
		||||
@@ -1328,45 +1255,45 @@ msgstr "%s connecté"
 | 
			
		||||
 | 
			
		||||
#. 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);
 | 
			
		||||
#. %s is a network identifier
 | 
			
		||||
#. %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:459
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unmanaged"
 | 
			
		||||
msgstr "%s non géré"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:462
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disconnecting"
 | 
			
		||||
msgstr "Déconnexion de %s en cours"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connecting"
 | 
			
		||||
msgstr "Connexion de %s en cours"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:472
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Requires Authentication"
 | 
			
		||||
msgstr "Authentification nécessaire pour %s"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for devices that require some kind of firmware or kernel
 | 
			
		||||
#. module, which is missing; %s is a network identifier
 | 
			
		||||
#. module, which is missing; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:480
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Firmware Missing For %s"
 | 
			
		||||
msgstr "Micrologiciel manquant pour %s"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated (for example it
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:484
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unavailable"
 | 
			
		||||
msgstr "%s non disponible"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:487
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connection Failed"
 | 
			
		||||
@@ -1380,14 +1307,14 @@ msgstr "Paramètres filaire"
 | 
			
		||||
msgid "Mobile Broadband Settings"
 | 
			
		||||
msgstr "Paramètres connexion mobile"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Hardware Disabled"
 | 
			
		||||
msgstr "Équipement %s désactivé"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:592
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disabled"
 | 
			
		||||
@@ -1445,13 +1372,17 @@ msgstr "Sélectionner un réseau"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Paramètres Wi-Fi"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activer"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Hotspot Active"
 | 
			
		||||
msgstr "Hotspot %s actif"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:1311
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Not Connected"
 | 
			
		||||
@@ -1461,7 +1392,7 @@ msgstr "%s non connecté"
 | 
			
		||||
msgid "connecting..."
 | 
			
		||||
msgstr "connexion..."
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password */
 | 
			
		||||
#: ../js/ui/status/network.js:1414
 | 
			
		||||
msgid "authentication required"
 | 
			
		||||
msgstr "authentification nécessaire"
 | 
			
		||||
@@ -1494,40 +1425,28 @@ msgstr "Échec de connexion"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "L'activation de la connexion réseau a échoué"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Paramètres de gestion de l'énergie"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Charge complète"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Estimation en cours…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d restant (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d restant (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d avant chargement complet (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d avant chargement complet (%d%%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
#. changing the menu contents.
 | 
			
		||||
#: ../js/ui/status/rfkill.js:88
 | 
			
		||||
msgid "Airplane Mode On"
 | 
			
		||||
msgstr "Mode avion activé"
 | 
			
		||||
@@ -1595,7 +1514,7 @@ msgstr "Voulez-vous conserver ces paramètres d'affichage ?"
 | 
			
		||||
 | 
			
		||||
#. Translators: this and the following message should be limited in lenght,
 | 
			
		||||
#. to avoid ellipsizing the labels.
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/windowManager.js:82
 | 
			
		||||
msgid "Revert Settings"
 | 
			
		||||
msgstr "Restaurer les paramètres"
 | 
			
		||||
@@ -1612,7 +1531,7 @@ msgstr[0] "Les paramètres seront restaurés dans %d seconde"
 | 
			
		||||
msgstr[1] "Les paramètres seront restaurés dans %d secondes"
 | 
			
		||||
 | 
			
		||||
#. Translators: This represents the size of a window. The first number is
 | 
			
		||||
#. * the width of the window and the second is the height.
 | 
			
		||||
#. * the width of the window and the second is the height. */
 | 
			
		||||
#: ../js/ui/windowManager.js:658
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d x %d"
 | 
			
		||||
@@ -1688,7 +1607,7 @@ msgstr "Agenda d'Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1697,55 +1616,52 @@ msgstr[1] "%u sorties"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u entrée"
 | 
			
		||||
msgstr[1] "%u entrées"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sons système"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Affiche la version"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Mode utilisé par GDM pour l'écran de connexion"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Utiliser un mode particulier, par ex. « gdm » pour l'écran de connexion"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Lister les modes possibles"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Inconnu"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Impossible de lancer « %s »"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Les mots de passe ne correspondent pas"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Le mot de passe ne peut pas être vide"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "GNOME Shell (gestionnaire de fenêtres composite Wayland)"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										162
									
								
								po/ga.po
									
									
									
									
									
								
							
							
						
						
									
										162
									
								
								po/ga.po
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
# Irish translations for gnome-shell package.
 | 
			
		||||
# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
# Seán de Búrca <leftmostcat@gmail.com>, 2009-2015.
 | 
			
		||||
#
 | 
			
		||||
@@ -7,8 +7,8 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell.master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-30 22:09-0600\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-30 22:29-0600\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-18 10:05-0600\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-18 10:33-0600\n"
 | 
			
		||||
"Last-Translator: Seán de Búrca <leftmostcat@gmail.com>\n"
 | 
			
		||||
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
 | 
			
		||||
"Language: ga\n"
 | 
			
		||||
@@ -262,13 +262,14 @@ msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Logáil Isteach Líonra"
 | 
			
		||||
msgstr "Earráid líonra"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Tharla earráid agus luchtú na dialóige sainroghanna do %s:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
@@ -350,9 +351,9 @@ msgid "Could not parse command:"
 | 
			
		||||
msgstr "Níorbh fhéidir ordú a pharsáil:"
 | 
			
		||||
 | 
			
		||||
#: ../js/misc/util.js:160
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "Execution of “%s” failed:"
 | 
			
		||||
msgstr "Theip ar rith “%s”:"
 | 
			
		||||
msgstr "Theip rith '%s':"
 | 
			
		||||
 | 
			
		||||
#. Translators: Time in 24h format
 | 
			
		||||
#: ../js/misc/util.js:191
 | 
			
		||||
@@ -427,8 +428,9 @@ msgstr "%d %B %Y, %l∶%M %p"
 | 
			
		||||
#. TRANSLATORS: this is the title of the wifi captive portal login
 | 
			
		||||
#. * window, until we know the title of the actual login page
 | 
			
		||||
#: ../js/portalHelper/main.js:85
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Web Authentication Redirect"
 | 
			
		||||
msgstr ""
 | 
			
		||||
msgstr "Fíordheimhniú de Dhíth"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appDisplay.js:794
 | 
			
		||||
msgid "Frequently used applications will appear here"
 | 
			
		||||
@@ -476,7 +478,8 @@ msgstr "Athraigh Cúlra…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Socruithe Taispeána"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Socruithe"
 | 
			
		||||
 | 
			
		||||
@@ -534,15 +537,15 @@ msgstr "S"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "An mhí roimhe seo"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "An chéad mhí eile"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Seachtain %V"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#. Translators: Shown in calendar event list for all day events
 | 
			
		||||
#. * Keep it short, best if you can use less then 10 characters
 | 
			
		||||
@@ -552,33 +555,33 @@ msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "An Lá ar Fad"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1295
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1522
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Imeachtaí"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1535
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d %B, %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1620
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Fógraí"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1771
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Gan Fhógra"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1774
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Gan Imeacht"
 | 
			
		||||
 | 
			
		||||
@@ -684,9 +687,9 @@ msgstr ""
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:663
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:667
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:680
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "A password is required to connect to “%s”."
 | 
			
		||||
msgstr "Tá focal faire de dhíth chun ceangal le “%s”."
 | 
			
		||||
msgstr "Tá focal faire de dhíth chun ceangal le '%s'."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658
 | 
			
		||||
msgid "Network Manager"
 | 
			
		||||
@@ -715,9 +718,9 @@ msgstr "Tá brón orm, theip sé sin. Bain triail eile as, le do thoil."
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/components/telepathyClient.js:759
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "Tugtar %2$s ar %1$s anois"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
 | 
			
		||||
msgid "Windows"
 | 
			
		||||
@@ -815,7 +818,7 @@ msgstr[4] "Múchfar an córas go huathoibríoch i gceann %d soicind."
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:91
 | 
			
		||||
msgctxt "checkbox"
 | 
			
		||||
msgid "Install pending software updates"
 | 
			
		||||
msgstr "Suiteáil nuashonruithe bogearraí ar feitheamh"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:94 ../js/ui/endSessionDialog.js:111
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
@@ -881,7 +884,7 @@ msgstr "Suiteáil & Múch"
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:129
 | 
			
		||||
msgctxt "checkbox"
 | 
			
		||||
msgid "Power off after updates are installed"
 | 
			
		||||
msgstr "Múch tar éis suiteáil nuashonruithe"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:338
 | 
			
		||||
msgid "Running on battery power: please plug in before installing updates."
 | 
			
		||||
@@ -912,9 +915,9 @@ msgid "Install"
 | 
			
		||||
msgstr "Suiteáil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:204
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "Download and install “%s” from extensions.gnome.org?"
 | 
			
		||||
msgstr "Íosluchtaigh agus suiteáil “%s” ó extensions.gnome.org?"
 | 
			
		||||
msgstr "Íosluchtaigh agus suiteáil '%s' ó extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
@@ -922,12 +925,13 @@ msgstr "Méarchlár"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Folaigh tráidire"
 | 
			
		||||
msgstr "Folaigh Téacs"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Deilbhíní Stádais"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:643
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
@@ -953,7 +957,7 @@ msgstr "Cumasaithe"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Díchumasaithe"
 | 
			
		||||
 | 
			
		||||
@@ -1007,11 +1011,6 @@ msgstr "Scoir"
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Gníomhartha"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:650
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Córas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Barra ag an mBarr"
 | 
			
		||||
@@ -1175,18 +1174,18 @@ msgstr "Socruithe Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d Ceangailte"
 | 
			
		||||
msgstr[1] "%d Ceangailte"
 | 
			
		||||
msgstr[2] "%d Ceangailte"
 | 
			
		||||
msgstr[3] "%d Ceangailte"
 | 
			
		||||
msgstr[4] "%d Ceangailte"
 | 
			
		||||
msgstr[0] "%d Ghléas Ceangailte"
 | 
			
		||||
msgstr[1] "%d Ghléas Ceangailte"
 | 
			
		||||
msgstr[2] "%d Ghléas Ceangailte"
 | 
			
		||||
msgstr[3] "%d nGléas Ceangailte"
 | 
			
		||||
msgstr[4] "%d Gléas Ceangailte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Níl in Úsáid"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
@@ -1197,24 +1196,27 @@ msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Taispeáin Leagan Amach an Mhéarchláir"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Suíomh Cumasaithe"
 | 
			
		||||
msgstr "theip an ceangal"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Díchumasaigh"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Socruithe Príobháideachais"
 | 
			
		||||
msgstr "Socruithe Cumhachta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Suíomh in Úsáid"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Suíomh Díchumasaithe"
 | 
			
		||||
msgstr "theip an ceangal"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
@@ -1228,46 +1230,46 @@ msgstr "<anaithnid>"
 | 
			
		||||
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Off"
 | 
			
		||||
msgstr "%s Múchta"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:454
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Connected"
 | 
			
		||||
msgstr "%s Ceangailte"
 | 
			
		||||
msgstr "Ceangal"
 | 
			
		||||
 | 
			
		||||
#. 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);
 | 
			
		||||
#. %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:459
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Unmanaged"
 | 
			
		||||
msgstr "%s Gan Bhainistiú"
 | 
			
		||||
msgstr "gan bhainistiú"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:462
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Disconnecting"
 | 
			
		||||
msgstr "%s ag Dícheangal"
 | 
			
		||||
msgstr "á dhícheangal..."
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Connecting"
 | 
			
		||||
msgstr "%s ag Ceangal"
 | 
			
		||||
msgstr "Ceangal"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:472
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Requires Authentication"
 | 
			
		||||
msgstr "Fíordheimhniú de Dhíth ar %s"
 | 
			
		||||
msgstr "Fíordheimhniú DSL"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for devices that require some kind of firmware or kernel
 | 
			
		||||
#. module, which is missing; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:480
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "Firmware Missing For %s"
 | 
			
		||||
msgstr "Dochtearraí do %s ar Iarraidh"
 | 
			
		||||
msgstr "dochtearraí ar iarraidh"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated (for example it
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
 | 
			
		||||
@@ -1278,13 +1280,14 @@ msgstr "Níl %s ar Fáil"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:487
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Connection Failed"
 | 
			
		||||
msgstr "Theip Ceangal %s"
 | 
			
		||||
msgstr "Theip an ceangal"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:503
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Wired Settings"
 | 
			
		||||
msgstr "Socruithe Sreangaithe"
 | 
			
		||||
msgstr "Socruithe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
 | 
			
		||||
#, fuzzy
 | 
			
		||||
@@ -1300,9 +1303,9 @@ msgstr ""
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:592
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Disabled"
 | 
			
		||||
msgstr "%s Díchumasaithe"
 | 
			
		||||
msgstr "Díchumasaithe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:632
 | 
			
		||||
msgid "Use as Internet connection"
 | 
			
		||||
@@ -1324,15 +1327,16 @@ msgstr "Mód Eitleáin"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:824
 | 
			
		||||
msgid "Wi-Fi is Off"
 | 
			
		||||
msgstr "Tá Wi-Fi Múchta"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:825
 | 
			
		||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:826
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Turn On Wi-Fi"
 | 
			
		||||
msgstr "Cuir Wi-Fi ar Siúl"
 | 
			
		||||
msgstr "Cumasaigh"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:851
 | 
			
		||||
msgid "Wi-Fi Networks"
 | 
			
		||||
@@ -1370,9 +1374,9 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1311
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, fuzzy, javascript-format
 | 
			
		||||
msgid "%s Not Connected"
 | 
			
		||||
msgstr "%s Gan Cheangal"
 | 
			
		||||
msgstr "%d Ghléas Ceangailte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1411
 | 
			
		||||
msgid "connecting..."
 | 
			
		||||
@@ -1400,8 +1404,9 @@ msgid "VPN"
 | 
			
		||||
msgstr "VPN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1513
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "VPN Off"
 | 
			
		||||
msgstr "VPN Múchta"
 | 
			
		||||
msgstr "Múch"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1697
 | 
			
		||||
msgid "Connection failed"
 | 
			
		||||
@@ -1441,8 +1446,9 @@ msgstr "%d∶%02d go dTí Lán (%d%%)"
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
#. changing the menu contents.
 | 
			
		||||
#: ../js/ui/status/rfkill.js:88
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "Airplane Mode On"
 | 
			
		||||
msgstr "Mód Eitleáin ar Siúl"
 | 
			
		||||
msgstr "Mód Eitleáin"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:343
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
@@ -1559,7 +1565,7 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:70
 | 
			
		||||
msgid "Always on Top"
 | 
			
		||||
msgstr "Ar Barr i gCónaí"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:89
 | 
			
		||||
msgid "Always on Visible Workspace"
 | 
			
		||||
@@ -1603,7 +1609,7 @@ msgstr "Féilire Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1615,7 +1621,7 @@ msgstr[4] "%u Aschur"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
@@ -1625,23 +1631,23 @@ msgstr[2] "%u Ionchur"
 | 
			
		||||
msgstr[3] "%u nIonchur"
 | 
			
		||||
msgstr[4] "%u Ionchur"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Fuaimeanna Córais"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Taispeáin leagan"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										378
									
								
								po/gl.po
									
									
									
									
									
								
							
							
						
						
									
										378
									
								
								po/gl.po
									
									
									
									
									
								
							@@ -6,22 +6,21 @@
 | 
			
		||||
# Antón Méixome <meixome@certima.net>, 2009.
 | 
			
		||||
# Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012.
 | 
			
		||||
# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012.
 | 
			
		||||
# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2016.
 | 
			
		||||
#
 | 
			
		||||
# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-12 13:15+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-12 13:16+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2015-08-26 00:05+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-08-26 00:10+0200\n"
 | 
			
		||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
 | 
			
		||||
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
 | 
			
		||||
"Language-Team: gnome-l10n-gl@gnome.org\n"
 | 
			
		||||
"Language: gl\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"X-Generator: Gtranslator 2.91.7\n"
 | 
			
		||||
"X-Generator: Virtaal 0.7.1\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
@@ -48,6 +47,15 @@ msgstr "Mostrar todos os aplicativos"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Abrir o menú de aplicativo"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Xestor de xanelas e inicio de aplicativos"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Preferencias das extensións de GNOME Shell"
 | 
			
		||||
@@ -56,13 +64,9 @@ msgstr "Preferencias das extensións de GNOME Shell"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Configure as extensións de GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Xestor de xanelas e inicio de aplicativos"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (compositor de wayland)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -170,95 +174,76 @@ msgstr ""
 | 
			
		||||
"estado por omisión da opción. "
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Indica se o adaptador de Bluetooth por omisión ten configurados dispositivos "
 | 
			
		||||
"asociados a el"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"O shell só mostrará o elemento de menú de Bluetooth se hai un adaptador de "
 | 
			
		||||
"Bluetooth conectado ou se houbera dispositivos asociados co adaptador "
 | 
			
		||||
"principal. Isto restabelecerase se o adaptador por omisión non se ve ou non "
 | 
			
		||||
"ten dispositivos asociados a el."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Mostrar a data da semana no calendario"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Combinación de teclas para abrir o menú de aplicativo"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Combinación de teclas para abrir o menú de aplicativo."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Combinación de teclas para abrir a vista «Mostrar aplicativos»"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinación de teclas para abrir a vista \"Mostrar aplicativos\" da Vista "
 | 
			
		||||
"xera de Actividades."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Combinación de teclas para abrir a Vista xeral"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Combinación de teclas para abrir a Vista de actividades."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinación de teclas para trocar a visibilidade da área de notificacións"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Combinación de teclas para trocar a visibilidade da área de notificacións."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Combinación de teclas para enfocar a notificación activa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Combinación de teclas para enfocar a notificación activa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr "Atallo de teclado que pausa e reinicia todo os xemelgos executándose."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Que teclado usar"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "O tipo de teclado a usar."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Restrinxir o trocador ao espazo de traballo actual."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -266,11 +251,11 @@ msgstr ""
 | 
			
		||||
"Se é verdadeiro, só se mostran no trocador os aplicativos que teñen xanelas "
 | 
			
		||||
"no espazo de traballo actual. Doutra maneira inclúense todos os aplicativos."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "O modo da icona do aplicativo."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -280,7 +265,7 @@ msgstr ""
 | 
			
		||||
"son «thumbnail-only» (mostra unha miniatura da xanela, «app-icon-only» (só "
 | 
			
		||||
"mostra a icona do aplicativo) ou «both» (móstranse ambas cosas)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -288,29 +273,29 @@ msgstr ""
 | 
			
		||||
"Se é verdadeiro, só se mostrarán no trocador as xanelas do espazo de "
 | 
			
		||||
"traballo actual. Doutra maneira inclúense todos os aplicativos."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Anexar o diálogo modal á xanela pai"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Esta chave sobrescribe a chave en org.gnome.mutter cando executa GNOME Shell."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Os espazos de traballo xestiónanse dinamicamente"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Espazos de traballo só no monitor primario"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Atrasar os cambios de foco no modo rato até que o punteiro se pare"
 | 
			
		||||
 | 
			
		||||
@@ -318,52 +303,51 @@ msgstr "Atrasar os cambios de foco no modo rato até que o punteiro se pare"
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Inicio de sesión en rede"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:117
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Produciuse un erro ao cargar o diálogo de preferenzas para %s:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:149
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Extensións de GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Cancelar"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:435
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Seguinte"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Desbloquear"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Iniciar sesión"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Escolla unha sesión"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Non está na lista?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:847
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(p.ex., usuario ou %s)"
 | 
			
		||||
@@ -371,12 +355,12 @@ msgstr "(p.ex., usuario ou %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nome de usuario: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1181
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Xanela de inicio de sesión"
 | 
			
		||||
 | 
			
		||||
@@ -512,36 +496,16 @@ msgstr "Engadir aos favoritos"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Mostrar detalles"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s foi engadido aos seus favoritos."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s retirouse dos seus marcadores."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Seleccionar dispositivo de son"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Preferencias de son"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Cascos auriculares"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Auriculares"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Micrófono"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Cambiar fondo de escritorio…"
 | 
			
		||||
@@ -550,12 +514,13 @@ msgstr "Cambiar fondo de escritorio…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Preferencias da pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Preferencias"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -565,96 +530,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "D"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "L"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "W"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "X"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "V"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Anterior mes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Seguinte mes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Semana %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Todo o día"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Limpar sección"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Eventos"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d de %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d de %B de %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notificacións"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Non hai notificacións"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Non hai eventos"
 | 
			
		||||
 | 
			
		||||
@@ -666,7 +629,7 @@ msgstr "Unidade externa conectada"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Unidade externa desconectada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Abrir con %s"
 | 
			
		||||
@@ -978,11 +941,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Teclado"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Ocultar bandexa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Iconas de estado"
 | 
			
		||||
 | 
			
		||||
@@ -1010,7 +973,7 @@ msgstr "Activado"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Desactivado"
 | 
			
		||||
 | 
			
		||||
@@ -1034,26 +997,10 @@ msgstr "Ver fonte"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Páxina web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Limpar sección"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Información do sistema"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Artista descoñecido"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Título descoñecido"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Multimedia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Desfacer"
 | 
			
		||||
@@ -1070,22 +1017,17 @@ msgstr "Vista xeral"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Escriba para buscar…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Saír"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Actividades"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistema"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Barra superior"
 | 
			
		||||
 | 
			
		||||
@@ -1098,15 +1040,15 @@ msgstr "Barra superior"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Escriba unha orde"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Pechar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Restimando…"
 | 
			
		||||
 | 
			
		||||
@@ -1229,41 +1171,29 @@ msgstr "Contraste alto"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Texto grande"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Apagar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Preferencias do Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d conectado"
 | 
			
		||||
msgstr[1] "%d conectados"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Desactivar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Non está en uso"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Apagar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Brillo"
 | 
			
		||||
@@ -1272,50 +1202,30 @@ msgstr "Brillo"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Mostrar a distribución do teclado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Localización activada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Desactivar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Preferencias da privacidade"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Localización en uso"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Localización desactivada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Activar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Denegar acceso"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Conceder acceso"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Darlle acceso a %s á súa localización?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Pode cambiar o acceso á localización en calquera momento desde as "
 | 
			
		||||
"preferencias de privacidade."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<descoñecido>"
 | 
			
		||||
@@ -1451,6 +1361,10 @@ msgstr "Seleccione unha rede"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Preferencias da WiFi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Activar"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1500,36 +1414,31 @@ msgstr "Produciuse un fallo na conexión"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Produciuse un fallo na activación da conexión de rede"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Preferencias de enerxía"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Carga completa"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Estimando…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d Faltan (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "Faltan %d:%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d∶%02d ate cargado (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d ate cargado (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1570,6 +1479,10 @@ msgstr "Volume cambiado"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Volume"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Micrófono"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Iniciar sesión como outro usuario"
 | 
			
		||||
@@ -1690,7 +1603,7 @@ msgstr "Calendario de Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1699,68 +1612,68 @@ msgstr[1] "%u saídas"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u entrada"
 | 
			
		||||
msgstr[1] "%u entradas"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sons do sistema"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Imprimir versión"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Modo usado por GDM para a pantalla de inicio"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Usar un modo específico, por exemplo, «gdm» para a pantalla de inicio de "
 | 
			
		||||
"sesión"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Listar os modos posíbeis"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Descoñecido"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Produciuse un erro ao iniciar «%s»"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Os contrasinais non coinciden."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "O contrasinal non pode estar baleiro"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "O usuario rexeitou o diálogo de autenticación"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "%s está solicitando acceso á súa localización."
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "GNOME Shell (compositor de wayland)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
#~ msgstr[0] "%d dispositivo conectado"
 | 
			
		||||
#~ msgstr[1] "%d dispositivos conectados"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "Desactivar"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "Requírese autenticación"
 | 
			
		||||
 | 
			
		||||
@@ -1912,6 +1825,9 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "Ver conta"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "Razón descoñecida"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the message list"
 | 
			
		||||
#~ msgstr "Mostrar a lista de mensaxes"
 | 
			
		||||
 | 
			
		||||
@@ -2086,6 +2002,9 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "O dispositivo %s quere acceder ao servizo «%s»"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "Conceder acceso sempre"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "Conceder só esta vez"
 | 
			
		||||
 | 
			
		||||
@@ -2253,6 +2172,9 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
 | 
			
		||||
#~ msgid "Visibility"
 | 
			
		||||
#~ msgstr "Visibilidade"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Send Files to Device…"
 | 
			
		||||
#~ msgstr "Enviar ficheiros ao dispositivo…"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Set Up a New Device…"
 | 
			
		||||
#~ msgstr "Configurar un dispositivo novo…"
 | 
			
		||||
 | 
			
		||||
@@ -2306,6 +2228,10 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
 | 
			
		||||
#~ msgstr[0] "Queda %d minuto"
 | 
			
		||||
#~ msgstr[1] "Quedan %d minutos"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "percent of battery remaining"
 | 
			
		||||
#~ msgid "%d%%"
 | 
			
		||||
#~ msgstr "%d%%"
 | 
			
		||||
 | 
			
		||||
#~ msgid "AC Adapter"
 | 
			
		||||
#~ msgstr "Adaptador de corrente"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										394
									
								
								po/he.po
									
									
									
									
									
								
							
							
						
						
									
										394
									
								
								po/he.po
									
									
									
									
									
								
							@@ -10,8 +10,8 @@ msgid ""
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-11 14:49+0200\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2015-08-30 21:15+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2015-08-30 21:16+0300\n"
 | 
			
		||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
 | 
			
		||||
"Language-Team: עברית <>\n"
 | 
			
		||||
@@ -47,6 +47,15 @@ msgstr "הצגת כל היישומים"
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:6
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "פתיחת תפריט היישום"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "מעטפת GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "ניהול חלונות והרצת יישומים"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
@@ -55,13 +64,9 @@ msgstr "העדפות ההרחבות של GNOME Shell"
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "הגדרת הרחבות GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "מעטפת GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (מסדר wayland)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
@@ -165,92 +170,74 @@ msgstr ""
 | 
			
		||||
"'Remember Password' checkbox will be present. This key sets the default "
 | 
			
		||||
"state of the checkbox."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Show the week date in the calendar"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "If true, display the ISO week date in the calendar."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Keybinding to open the application menu"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Keybinding to open the application menu."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Keybinding to open the overview"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Keybinding to open the Activities Overview."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Keybinding to focus the active notification"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Keybinding to focus the active notification."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Which keyboard to use"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "The type of keyboard to use."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Limit switcher to current workspace."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
@@ -258,51 +245,51 @@ msgstr ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "The application icon mode."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
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 ""
 | 
			
		||||
"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'."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
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 ""
 | 
			
		||||
"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'."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Attach modal dialog to the parent window"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Workspaces are managed dynamically"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Workspaces only on primary monitor"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
@@ -310,52 +297,51 @@ msgstr "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Network Login"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "אירעה שגיאה בעת טעינת דו־שיח ההעדפות עבור %s:"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "הרחבות GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "ביטול"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:435
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "הבא"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "שחרור"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "כניסה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "בחירת הפעלה"
 | 
			
		||||
 | 
			
		||||
#. 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.
 | 
			
		||||
#. manually entering the username.
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "לא רשום?"
 | 
			
		||||
 | 
			
		||||
#. Translators: this message is shown below the username entry field
 | 
			
		||||
#. to clue the user in on how to login to the local network realm
 | 
			
		||||
#. to clue the user in on how to login to the local network realm
 | 
			
		||||
#: ../js/gdm/loginDialog.js:847
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
@@ -363,12 +349,12 @@ msgstr "(משתמש או %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)
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "שם משתמש:"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1181
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "חלון כניסה"
 | 
			
		||||
@@ -504,36 +490,16 @@ msgstr "הוספה למועדפים"
 | 
			
		||||
#: ../js/ui/appDisplay.js:1897
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "הצגת פרטים"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s נוסף למועדפים שלך."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s הוסר מהמועדפים שלך."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "בחירת התקן שמע"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "הגדרות שמע"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "אזניות"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "אזניות עם מיקרופון"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "מיקרופון"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
@@ -542,12 +508,13 @@ msgstr "החלפת הרקע…"
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:21
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "הגדרות תצוגה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "הגדרות"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
@@ -557,96 +524,94 @@ msgstr "65"
 | 
			
		||||
#. *
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "א"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "ב"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "ג"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "ד"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "ה"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "ו"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "ש"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "חודש קודם"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "חודש הבא"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "שבוע %V"
 | 
			
		||||
 | 
			
		||||
#. 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:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "יום שלם"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "ניקוי מקטע"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "אירועים"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, ה־%e ב%B"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, ה־%e ב%B, %Y"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "התרעות"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "אין התרעות"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "אין אירועים"
 | 
			
		||||
@@ -658,7 +623,7 @@ msgstr "חובר כונן חיצוני"
 | 
			
		||||
#: ../js/ui/components/automountManager.js:102
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "נותק כונן חיצוני"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
@@ -964,11 +929,11 @@ msgid "Keyboard"
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "מקלדת"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "הסתרת המגש"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "סמלי מצב"
 | 
			
		||||
@@ -996,7 +961,7 @@ msgstr "פעיל"
 | 
			
		||||
msgstr "פעיל"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "מנוטרל"
 | 
			
		||||
@@ -1020,26 +985,10 @@ msgstr "צפייה במקור"
 | 
			
		||||
#: ../js/ui/lookingGlass.js:758
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "דף אינטרנט"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "ניקוי מקטע"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "פרטי המערכת"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "אמן לא ידוע"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "כותרת לא ידועה"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "מדיה"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
@@ -1056,22 +1005,17 @@ msgstr "סקירה"
 | 
			
		||||
#: ../js/ui/overview.js:244
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "יש להקליד כדי לחפש…"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "יציאה"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "פעילויות"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "מערכת"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "הסרגל העליון"
 | 
			
		||||
@@ -1084,15 +1028,15 @@ msgstr "הסרגל העליון"
 | 
			
		||||
#: ../js/ui/popupMenu.js:289
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "נא להזין פקודה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "סגירה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "מופעל מחדש…"
 | 
			
		||||
@@ -1217,41 +1161,29 @@ msgstr "ניגודיות גבוהה"
 | 
			
		||||
#: ../js/ui/status/accessibility.js:202
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "טקסט גדול"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "כיבוי"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "הגדרות Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "אחד מחובר"
 | 
			
		||||
msgstr[1] "%d מחוברים"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "כבוי"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "לא בשימוש"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "הפעלה"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "כיבוי"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
@@ -1260,48 +1192,30 @@ msgstr "בהירות"
 | 
			
		||||
#: ../js/ui/status/keyboard.js:736
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "הצגת פריסת המקלדת"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "איכון מאופשר"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "השבתה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "הגדרות פרטיות"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "איכון בשימוש"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "איכון מושבת"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "אפשור"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "מניעת גישה"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "אפשור גישה"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "לתת ליישום %s גישה למיקום שלך?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr "ניתן לשנות בכל עת את הרשאות הגישה למיקום שלך מהגדרות הפרטיות."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
@@ -1437,6 +1351,10 @@ msgstr "בחירת רשת"
 | 
			
		||||
#: ../js/ui/status/network.js:1177
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "הגדרות רשת אלחוטית"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "הפעלה"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
@@ -1486,37 +1404,32 @@ msgstr "ההתחברות נכשלה"
 | 
			
		||||
#: ../js/ui/status/network.js:1698
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "הפעלת חיבור הרשת נכשלה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "הגדרות צריכת החשמל"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "בטעינה מלאה"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "מתבצע שערוך…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d∶%02d נותרו (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d עד לטעינה מלאה (%d%%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1556,6 +1469,10 @@ msgstr "עצמת השמע השתנתה"
 | 
			
		||||
#: ../js/ui/status/volume.js:162
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "עצמה"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "מיקרופון"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
@@ -1677,7 +1594,7 @@ msgstr "יומן אבולושן"
 | 
			
		||||
msgstr "יומן אבולושן"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
@@ -1686,60 +1603,57 @@ msgstr[1] "%u פלטים"
 | 
			
		||||
msgstr[1] "%u פלטים"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#. * 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] "קלט אחד"
 | 
			
		||||
msgstr[1] "%u קלטים"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "צלילי מערכת"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Print version"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "המצב בו GDM יעשה שימוש לצורך מסך הכניסה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "שימוש במצב מסוים, לדוגמה: „gdm“ למסך הכניסה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "הצגת המצבים האפשריים"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "לא ידוע"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "אירע כשל בטעינת „%s”"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "הססמאות אינן תואמות."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "הססמה אינה יכולה להישאר ריקה"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "%s דורש גישה למיקום שלך."
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Bluetooth"
 | 
			
		||||
 | 
			
		||||
# javascript-format
 | 
			
		||||
@@ -1747,6 +1661,9 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
#~ msgstr[0] "התקן אחד מחובר"
 | 
			
		||||
#~ msgstr[1] "%d התקנים מחוברים"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "כבוי"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "נדרש אימות"
 | 
			
		||||
@@ -1893,6 +1810,9 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "צפייה בחשבון"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "סיבה לא ידועה"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the message list"
 | 
			
		||||
#~ msgstr "הצגת רשימת הודעות"
 | 
			
		||||
@@ -2086,6 +2006,9 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "תמיד להעניק גישה"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "הענקת גישה הפעם בלבד"
 | 
			
		||||
@@ -2253,6 +2176,9 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Visibility"
 | 
			
		||||
#~ msgstr "הצגה"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Send Files to Device…"
 | 
			
		||||
#~ msgstr "שליחת קובץ להתקן…"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Set Up a New Device…"
 | 
			
		||||
#~ msgstr "הגדרת התקן חדש…"
 | 
			
		||||
@@ -2331,6 +2257,10 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
 | 
			
		||||
#~ msgstr[0] "דקה אחת נותרה"
 | 
			
		||||
#~ msgstr[1] "%d דקות נותרו"
 | 
			
		||||
#~ msgstr[2] "שתי דקות נותרו"
 | 
			
		||||
 | 
			
		||||
#~ msgctxt "percent of battery remaining"
 | 
			
		||||
#~ msgid "%d%%"
 | 
			
		||||
#~ msgstr "%d%%"
 | 
			
		||||
 | 
			
		||||
#~ msgid "AC Adapter"
 | 
			
		||||
#~ msgstr "מתאם חשמל"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										210
									
								
								po/id.po
									
									
									
									
									
								
							
							
						
						
									
										210
									
								
								po/id.po
									
									
									
									
									
								
							@@ -7,11 +7,11 @@
 | 
			
		||||
# Wibiharto <wibinem@yahoo.com>, 2011.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell gnome-3-18\n"
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-01-02 10:15+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-01-02 19:12+0700\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-19 08:21+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-19 19:34+0700\n"
 | 
			
		||||
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
 | 
			
		||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
 | 
			
		||||
"Language: id\n"
 | 
			
		||||
@@ -20,7 +20,7 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=1; plural=0;\n"
 | 
			
		||||
"X-Poedit-SourceCharset: UTF-8\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.4\n"
 | 
			
		||||
"X-Generator: Poedit 1.6.10\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -336,33 +336,25 @@ msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Masuk"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Pilih Sesi"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Tak masuk daftar?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(cth., pengguna dari %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nama pengguna: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Jendela Log Masuk"
 | 
			
		||||
 | 
			
		||||
@@ -370,11 +362,6 @@ msgstr "Jendela Log Masuk"
 | 
			
		||||
msgid "Authentication error"
 | 
			
		||||
msgstr "Galat otentikasi"
 | 
			
		||||
 | 
			
		||||
#. We don't show fingerprint messages directly since it's
 | 
			
		||||
#. not the main auth service. Instead we use the messages
 | 
			
		||||
#. as a cue to display our own message.
 | 
			
		||||
#. Translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/util.js:473
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(atau gesekkan jari)"
 | 
			
		||||
@@ -383,8 +370,6 @@ msgstr "(atau gesekkan jari)"
 | 
			
		||||
msgid "Command not found"
 | 
			
		||||
msgstr "Perintah tidak ditemukan"
 | 
			
		||||
 | 
			
		||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
 | 
			
		||||
#. something nicer
 | 
			
		||||
#: ../js/misc/util.js:152
 | 
			
		||||
msgid "Could not parse command:"
 | 
			
		||||
msgstr "Tak dapat mengurai perintah:"
 | 
			
		||||
@@ -394,78 +379,70 @@ msgstr "Tak dapat mengurai perintah:"
 | 
			
		||||
msgid "Execution of “%s” failed:"
 | 
			
		||||
msgstr "Eksekusi \"%s\" gagal:"
 | 
			
		||||
 | 
			
		||||
#. Translators: Time in 24h format
 | 
			
		||||
#. Translators: Time in 24h format */
 | 
			
		||||
#: ../js/misc/util.js:191
 | 
			
		||||
msgid "%H∶%M"
 | 
			
		||||
msgstr "%H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the word "Yesterday" followed by a
 | 
			
		||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
 | 
			
		||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:197
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Yesterday, %H∶%M"
 | 
			
		||||
msgstr "Kemarin, %H:%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the week day name followed by a time
 | 
			
		||||
#. string in 24h format. i.e. "Monday, 14:30"
 | 
			
		||||
#. string in 24h format. i.e. "Monday, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:203
 | 
			
		||||
#, 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 in 24h format.
 | 
			
		||||
#. i.e. "May 25, 14:30"
 | 
			
		||||
#. i.e. "May 25, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:209
 | 
			
		||||
#, 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 in 24h format.
 | 
			
		||||
#. i.e. "May 25 2012, 14:30"
 | 
			
		||||
#. i.e. "May 25 2012, 14:30" */
 | 
			
		||||
#: ../js/misc/util.js:215
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d %Y, %H∶%M"
 | 
			
		||||
msgstr "%d %B %Y, %H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Time in 12h format
 | 
			
		||||
#. Translators: Time in 12h format */
 | 
			
		||||
#: ../js/misc/util.js:220
 | 
			
		||||
msgid "%l∶%M %p"
 | 
			
		||||
msgstr "%H∶%M"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the word "Yesterday" followed by a
 | 
			
		||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
 | 
			
		||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:226
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Yesterday, %l∶%M %p"
 | 
			
		||||
msgstr "Kemarin, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the week day name followed by a time
 | 
			
		||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
 | 
			
		||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:232
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%A, %l∶%M %p"
 | 
			
		||||
msgstr "%A, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the month name and day number
 | 
			
		||||
#. followed by a time string in 12h format.
 | 
			
		||||
#. i.e. "May 25, 2:30 pm"
 | 
			
		||||
#. i.e. "May 25, 2:30 pm" */
 | 
			
		||||
#: ../js/misc/util.js:238
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d, %l∶%M %p"
 | 
			
		||||
msgstr "%d %B, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the month name, day number, year
 | 
			
		||||
#. number followed by a time string in 12h format.
 | 
			
		||||
#. i.e. "May 25 2012, 2:30 pm"
 | 
			
		||||
#. i.e. "May 25 2012, 2:30 pm"*/
 | 
			
		||||
#: ../js/misc/util.js:244
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "%B %d %Y, %l∶%M %p"
 | 
			
		||||
msgstr "%d %B %Y, %l∶%M %p"
 | 
			
		||||
 | 
			
		||||
#. TRANSLATORS: this is the title of the wifi captive portal login
 | 
			
		||||
#. * window, until we know the title of the actual login page
 | 
			
		||||
#. * window, until we know the title of the actual login page */
 | 
			
		||||
#: ../js/portalHelper/main.js:85
 | 
			
		||||
msgid "Web Authentication Redirect"
 | 
			
		||||
msgstr "Pengalihan Otentikasi Web"
 | 
			
		||||
@@ -516,11 +493,12 @@ msgstr "Ubah Latar…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Pengaturan Tampilan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Pengaturan"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
@@ -530,43 +508,43 @@ msgstr "06"
 | 
			
		||||
#. *
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "M"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday */
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday */
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday */
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "R"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday */
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "K"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday */
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "J"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday */
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
@@ -586,39 +564,39 @@ msgstr "Minggu %V"
 | 
			
		||||
 | 
			
		||||
#. 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:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Sepanjang Hari"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1295
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Bersihkan seksi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1522
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Kejadian"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1535
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d %B %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1620
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Pemberitahuan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1771
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Tak Ada Pemberitahuan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1774
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Tak Ada Kejadian"
 | 
			
		||||
 | 
			
		||||
@@ -630,7 +608,7 @@ msgstr "Drive eksternal tersambung"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Drive eksternal terputus"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:351
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Buka dengan %s"
 | 
			
		||||
@@ -648,7 +626,6 @@ msgstr "Ketik lagi:"
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Sambung"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:233
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:245
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:273
 | 
			
		||||
@@ -657,7 +634,6 @@ msgstr "Sambung"
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Sandi: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:238
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Tombol: "
 | 
			
		||||
@@ -749,13 +725,13 @@ msgstr "Otentikasi"
 | 
			
		||||
#. 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.
 | 
			
		||||
#. * for instance. */
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Maaf, tidak berhasil. Silakan coba lagi."
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#. IM name. */
 | 
			
		||||
#: ../js/ui/components/telepathyClient.js:759
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
@@ -769,15 +745,13 @@ msgstr "Jendela"
 | 
			
		||||
msgid "Show Applications"
 | 
			
		||||
msgstr "Tampilkan Aplikasi"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the name of the dock/favorites area on
 | 
			
		||||
#. the left of the overview
 | 
			
		||||
#: ../js/ui/dash.js:449
 | 
			
		||||
msgid "Dash"
 | 
			
		||||
msgstr "Dash"
 | 
			
		||||
 | 
			
		||||
#. 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:73
 | 
			
		||||
msgid "%B %e %Y"
 | 
			
		||||
msgstr "%e %B %Y"
 | 
			
		||||
@@ -785,7 +759,7 @@ msgstr "%e %B %Y"
 | 
			
		||||
#. Translators: This is the accessible name of the date button shown
 | 
			
		||||
#. * below the time in the shell; it should combine the weekday and the
 | 
			
		||||
#. * date, e.g. "Tuesday February 17 2015".
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/dateMenu.js:80
 | 
			
		||||
msgid "%A %B %e %Y"
 | 
			
		||||
msgstr "%A %e %B %Y"
 | 
			
		||||
@@ -910,13 +884,13 @@ msgstr "Beberapa aplikasi sedang sibuk atau belum disimpan perubahannya."
 | 
			
		||||
msgid "Other users are logged in."
 | 
			
		||||
msgstr "Pengguna lain sedang log masuk."
 | 
			
		||||
 | 
			
		||||
#. Translators: Remote here refers to a remote session, like a ssh login
 | 
			
		||||
#. Translators: Remote here refers to a remote session, like a ssh login */
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:640
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (remote)"
 | 
			
		||||
msgstr "%s (jarak jauh)"
 | 
			
		||||
 | 
			
		||||
#. Translators: Console here refers to a tty like a VT console
 | 
			
		||||
#. Translators: Console here refers to a tty like a VT console */
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:643
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s (console)"
 | 
			
		||||
@@ -935,7 +909,7 @@ msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Papan Ketik"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#. translators: 'Hide' is a verb */
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Sembunyikan baki"
 | 
			
		||||
@@ -948,7 +922,7 @@ msgstr "Ikon Status"
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Tak ada ekstensi terpasang"
 | 
			
		||||
 | 
			
		||||
#. Translators: argument is an extension UUID.
 | 
			
		||||
#. Translators: argument is an extension UUID. */
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has not emitted any errors."
 | 
			
		||||
@@ -968,7 +942,7 @@ msgstr "Diaktifkan"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Dinonaktifkan"
 | 
			
		||||
 | 
			
		||||
@@ -1007,36 +981,26 @@ msgstr "Gambaran"
 | 
			
		||||
#. Translators: this is the text displayed
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#. characters. */
 | 
			
		||||
#: ../js/ui/overview.js:244
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Ketik untuk mencari…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Keluar"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#. in your language, you can use the word for "Overview". */
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Aktivitas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistem"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Bar Atas"
 | 
			
		||||
 | 
			
		||||
# Dirgita: Hayo, enaknya pake I/O atau ON/OFF?^^
 | 
			
		||||
#. 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:289
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
@@ -1054,7 +1018,7 @@ msgid "Restarting…"
 | 
			
		||||
msgstr "Memulai ulang..."
 | 
			
		||||
 | 
			
		||||
#. Translators: This is a time format for a date in
 | 
			
		||||
#. long format
 | 
			
		||||
#. long format */
 | 
			
		||||
#: ../js/ui/screenShield.js:85
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d %B"
 | 
			
		||||
@@ -1079,13 +1043,6 @@ msgstr "Kunci"
 | 
			
		||||
msgid "GNOME needs to lock the screen"
 | 
			
		||||
msgstr "GNOME perlu mengunci layar"
 | 
			
		||||
 | 
			
		||||
#. 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:805 ../js/ui/screenShield.js:1271
 | 
			
		||||
msgid "Unable to lock"
 | 
			
		||||
msgstr "Tak bisa mengunci"
 | 
			
		||||
@@ -1181,7 +1138,7 @@ msgstr "Matikan"
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Pengaturan Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices */
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
@@ -1228,13 +1185,13 @@ msgstr "Fungsikan"
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<tak dikenal>"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Off"
 | 
			
		||||
msgstr "%s Mati"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:454
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connected"
 | 
			
		||||
@@ -1242,45 +1199,45 @@ msgstr "%s Tersambung"
 | 
			
		||||
 | 
			
		||||
#. 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);
 | 
			
		||||
#. %s is a network identifier
 | 
			
		||||
#. %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:459
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unmanaged"
 | 
			
		||||
msgstr "%s Tak Dikelola"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:462
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disconnecting"
 | 
			
		||||
msgstr "%s Memutus"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connecting"
 | 
			
		||||
msgstr "%s Menyambung"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:472
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Requires Authentication"
 | 
			
		||||
msgstr "%s Memerlukan Otentikasi"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for devices that require some kind of firmware or kernel
 | 
			
		||||
#. module, which is missing; %s is a network identifier
 | 
			
		||||
#. module, which is missing; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:480
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Firmware Missing For %s"
 | 
			
		||||
msgstr "Firmware Hilang Untuk %s"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated (for example it
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:484
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Unavailable"
 | 
			
		||||
msgstr "%s Tak tersedia"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:487
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Connection Failed"
 | 
			
		||||
@@ -1294,14 +1251,14 @@ msgstr "Pengaturan Kabel"
 | 
			
		||||
msgid "Mobile Broadband Settings"
 | 
			
		||||
msgstr "Pengaturan Data Seluler"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Hardware Disabled"
 | 
			
		||||
msgstr "%s Perangkat Keras Dinonaktifkan"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for a network device that cannot be activated
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:592
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Disabled"
 | 
			
		||||
@@ -1363,13 +1320,13 @@ msgstr "Pengaturan Wi-Fi"
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Nyalakan"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Hotspot Active"
 | 
			
		||||
msgstr "%s Hotspot Aktif"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#. Translators: %s is a network identifier */
 | 
			
		||||
#: ../js/ui/status/network.js:1311
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s Not Connected"
 | 
			
		||||
@@ -1379,7 +1336,7 @@ msgstr "%s Tak Tersambung"
 | 
			
		||||
msgid "connecting..."
 | 
			
		||||
msgstr "menghubungi..."
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password */
 | 
			
		||||
#: ../js/ui/status/network.js:1414
 | 
			
		||||
msgid "authentication required"
 | 
			
		||||
msgstr "diperlukan otentikasi"
 | 
			
		||||
@@ -1420,27 +1377,20 @@ msgstr "Pengaturan Daya"
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Terisi Penuh"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Memperkirakan…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d:%02d Tersisa (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d Sampai Penuh (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
#. changing the menu contents.
 | 
			
		||||
#: ../js/ui/status/rfkill.js:88
 | 
			
		||||
msgid "Airplane Mode On"
 | 
			
		||||
msgstr "Mode Pesawat Terbang Aktif"
 | 
			
		||||
@@ -1508,7 +1458,7 @@ msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
 | 
			
		||||
 | 
			
		||||
#. Translators: this and the following message should be limited in lenght,
 | 
			
		||||
#. to avoid ellipsizing the labels.
 | 
			
		||||
#.
 | 
			
		||||
#. */
 | 
			
		||||
#: ../js/ui/windowManager.js:82
 | 
			
		||||
msgid "Revert Settings"
 | 
			
		||||
msgstr "Balikkan Tatanan"
 | 
			
		||||
@@ -1524,7 +1474,7 @@ msgid_plural "Settings changes will revert in %d seconds"
 | 
			
		||||
msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik"
 | 
			
		||||
 | 
			
		||||
#. Translators: This represents the size of a window. The first number is
 | 
			
		||||
#. * the width of the window and the second is the height.
 | 
			
		||||
#. * the width of the window and the second is the height. */
 | 
			
		||||
#: ../js/ui/windowManager.js:658
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d x %d"
 | 
			
		||||
@@ -1600,7 +1550,7 @@ msgstr "Evolution Kalender"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1608,38 +1558,38 @@ msgstr[0] "%u Keluaran"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u Masukan"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Suara Sistem"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Versi Cetak"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Mode yang dipakai oleh layar log masuk GDM"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Menampilkan mode yang mungkin"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Tak dikenal"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Gagal meluncurkan \"%s\""
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										386
									
								
								po/lv.po
									
									
									
									
									
								
							
							
						
						
									
										386
									
								
								po/lv.po
									
									
									
									
									
								
							@@ -5,14 +5,14 @@
 | 
			
		||||
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
 | 
			
		||||
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012, 2013, 2014.
 | 
			
		||||
# Pēteris Krišjānis <pecisk@gmail.com>, 2011.
 | 
			
		||||
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2014, 2015, 2016.
 | 
			
		||||
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2014, 2015.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: \n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-sh"
 | 
			
		||||
"ell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-03 10:16+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-03 22:06+0200\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-20 08:21+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-20 22:00+0300\n"
 | 
			
		||||
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
 | 
			
		||||
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
 | 
			
		||||
"Language: lv\n"
 | 
			
		||||
@@ -21,7 +21,7 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
 | 
			
		||||
"2);\n"
 | 
			
		||||
"X-Generator: Lokalize 2.0\n"
 | 
			
		||||
"X-Generator: Lokalize 1.5\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -47,6 +47,15 @@ msgstr "Rādīt visas lietotnes"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Atvērt lietotnes izvēlni"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME čaula"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Logu pārvaldība un lietotņu palaišana"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "GNOME Shell paplašinājumu iestatījumi"
 | 
			
		||||
@@ -55,13 +64,9 @@ msgstr "GNOME Shell paplašinājumu iestatījumi"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Konfigurēt GNOME Shell paplašinājumus"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME čaula"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Logu pārvaldība un lietotņu palaišana"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME čaula (wayland kompozitors)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -166,93 +171,75 @@ msgstr ""
 | 
			
		||||
"noklusējuma stāvokli."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Vai noklusējuma Bluetooth adapteram ir iestatītas ar to asociētas ierīces"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Čaula rādīs Bluetooth izvēlnes vienumu tikai tad, ja Bluetooth adapters ir "
 | 
			
		||||
"ieslēgts vai ja ir iestatītas ierīces, kas i saistītas ar noklusējuma "
 | 
			
		||||
"adapteri. Tas tiks atstatīts, ja noklusējuma adapters jebkad tiks redzēts bez "
 | 
			
		||||
"ar to saistītām ierīcēm."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Kalendārā rādīt nedēļas datumu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Ja patiess, kalendārā rādīt ISO nedēļas datumus."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas atver lietotnes izvēlni"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas atver lietotnes izvēlni."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas atver “Rādīt lietotnes” skatu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Taustiņu sasaiste, kas atver “Rādīt lietotnes” aktivitāšu pārskata skatu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas atver pārskatu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas atver aktivitāšu pārskatu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas pārslēdz paziņojumu saraksta redzamību"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas pārslēdz paziņojumu saraksta redzamību."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas fokusē aktīvo paziņojumu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Taustiņu sasaiste, kas fokusē aktīvo paziņojumu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Taustiņu sasaiste, kas pauzē un turpina visus tvīnus (tweens) atkļūdošanas "
 | 
			
		||||
"nolūkiem"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Kuru tastatūru izmantot"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Izmantojamās tastatūras tips."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Ierobežot pārslēdzēju uz pašreizējo darbvietu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -260,11 +247,11 @@ msgstr ""
 | 
			
		||||
"Ja patiess, pārslēdzējā tiek rādītas tikai lietotnes, kas ir pašreizējā "
 | 
			
		||||
"darbvietā. Citāti tiek iekļautas visas lietotnes."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Lietotnes ikonas režīms."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -274,7 +261,7 @@ msgstr ""
 | 
			
		||||
"only” (rāda loga sīktēlu), “app-icon-only” (rāda tikai lietotnes ikonu) vai "
 | 
			
		||||
"“both” (abi)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -282,28 +269,28 @@ msgstr ""
 | 
			
		||||
"Ja patiess, pārslēdzējā tiek rādītas tikai lietotnes no pašreizējās "
 | 
			
		||||
"darbvietas. Citāti tiek iekļautas visas lietotnes."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Pievienot modālo dialoglodziņu vecāka logam"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr "Šī atslēga pārraksta org.gnome.mutter atslēgu, darbinot GNOME čaulu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr "Aktivēt logu sānisko izklāšanu, kad to nomet uz ekrāna malas"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Darbvietas tiek pārvaldītas dinamiski"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Darbvietas tikai uz galvenā monitora"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Peles režīmā aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties"
 | 
			
		||||
 | 
			
		||||
@@ -311,52 +298,51 @@ msgstr "Peles režīmā aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Tīkla ierakstīšanās"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:121
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Ielādējot %s iestatījumu dialogu, gadījās kļūda:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:153
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "GNOME čaulas paplašinājumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Atcelt"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Nākamais"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Atbloķēt"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Ierakstīties"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Izvēlieties sesiju"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Nav sarakstā?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(piemēram, lietotājs vai %s)"
 | 
			
		||||
@@ -364,12 +350,12 @@ msgstr "(piemēram, lietotājs vai %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Lietotājvārds: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Ierakstīšanās logs"
 | 
			
		||||
 | 
			
		||||
@@ -505,51 +491,32 @@ msgstr "Pievienot izlasei"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Rādīt sīkāku informāciju"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s ir pievienots izlasei."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s ir izņemts no izlases."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Izvēlieties audio ierīci"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
#| msgid "Account Settings"
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Skaņas Iestatījumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Austiņas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Austiņas ar mikrofonu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofons"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Mainīt fonu…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:21
 | 
			
		||||
#| msgid "Privacy Settings"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Displeja iestatījumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Iestatījumi"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -559,96 +526,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Sv"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "Pr"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Ot"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "Tr"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Ce"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "Pk"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Se"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Iepriekšējais mēnesis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Nākamais mēnesis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Nedēļa %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Visu dienu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Attīrīt sadaļu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Notikumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d. %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d. %B, %Y."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Paziņojumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Nav paziņojumu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Nav notikumu"
 | 
			
		||||
 | 
			
		||||
@@ -660,7 +625,7 @@ msgstr "Pievienots ārējs dzinis"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Atvienots ārējs dzinis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Atvērt ar %s"
 | 
			
		||||
@@ -1013,7 +978,7 @@ msgstr "Aktivēta"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Deaktivēta"
 | 
			
		||||
 | 
			
		||||
@@ -1037,30 +1002,10 @@ msgstr "Skatīt avotu"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Tīmekļa lapa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Attīrīt sadaļu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Sistēmas informācija"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
#| msgctxt "program"
 | 
			
		||||
#| msgid "Unknown"
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Nezināms izpildītājs"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
#| msgctxt "program"
 | 
			
		||||
#| msgid "Unknown"
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Nezināms nosaukums"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Datu nesējs"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Atsaukt"
 | 
			
		||||
@@ -1077,23 +1022,17 @@ msgstr "Pārskats"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Rakstiet, lai meklētu…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Iziet"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Aktivitātes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
#| msgid "System"
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistēma"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Augšējā josla"
 | 
			
		||||
 | 
			
		||||
@@ -1106,15 +1045,15 @@ msgstr "Augšējā josla"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Ievadiet komandu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Aizvērt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Pārstartē…"
 | 
			
		||||
 | 
			
		||||
@@ -1239,44 +1178,32 @@ msgstr "Augsts kontrasts"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Liels teksts"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
#| msgid "Bluetooth Settings"
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Izslēgt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Bluetooth iestatījumi"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Connected"
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d savienots"
 | 
			
		||||
msgstr[1] "%d savienoti"
 | 
			
		||||
msgstr[2] "%d savienotu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
#| msgid "%s Off"
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Izslēgts"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
#| msgid "In Use"
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Netiek izmantots"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Ieslēgt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Izslēgt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Gaišums"
 | 
			
		||||
@@ -1285,50 +1212,33 @@ msgstr "Gaišums"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Rādīt tastatūras izkārtojumu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
#| msgid "Location"
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Atrašanās vieta ieslēgta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Izslēgt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Privātuma iestatījumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
#| msgid "Location"
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Atrašanās vieta tiek izmantota"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
#| msgid "Connection failed"
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Atrašanās vieta ir izslēgta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Ieslēgt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:434
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Liegt pieeju"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Piešķirt pieeju"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:443
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Dot %s pieeju jūsu atrašanās vietai?"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:446
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s is requesting access to your location."
 | 
			
		||||
msgstr "%s prasa pieeju jūsu atrašanās vietai."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<nezināms>"
 | 
			
		||||
@@ -1342,6 +1252,7 @@ msgstr "%s ir izslēgta"
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:454
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Connected"
 | 
			
		||||
msgid "%s Connected"
 | 
			
		||||
msgstr "%s ir savienots"
 | 
			
		||||
 | 
			
		||||
@@ -1350,24 +1261,28 @@ msgstr "%s ir savienots"
 | 
			
		||||
#. %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:459
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Unmanaged"
 | 
			
		||||
msgid "%s Unmanaged"
 | 
			
		||||
msgstr "%s nav pārvaldīts"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:462
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Disconnecting"
 | 
			
		||||
msgid "%s Disconnecting"
 | 
			
		||||
msgstr "%s atvienojas"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Connecting"
 | 
			
		||||
msgid "%s Connecting"
 | 
			
		||||
msgstr "%s savienojas"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:472
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Wired 802.1X authentication"
 | 
			
		||||
msgid "%s Requires Authentication"
 | 
			
		||||
msgstr "%s pieprasa autentificēšanos"
 | 
			
		||||
 | 
			
		||||
@@ -1375,6 +1290,7 @@ msgstr "%s pieprasa autentificēšanos"
 | 
			
		||||
#. module, which is missing; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:480
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Firmware missing"
 | 
			
		||||
msgid "Firmware Missing For %s"
 | 
			
		||||
msgstr "%s trūkst aparātprogrammatūras"
 | 
			
		||||
 | 
			
		||||
@@ -1382,12 +1298,14 @@ msgstr "%s trūkst aparātprogrammatūras"
 | 
			
		||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:484
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Unavailable"
 | 
			
		||||
msgid "%s Unavailable"
 | 
			
		||||
msgstr "%s nav pieejams"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:487
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Connection failed"
 | 
			
		||||
msgid "%s Connection Failed"
 | 
			
		||||
msgstr "%s neizdevās savienoties"
 | 
			
		||||
 | 
			
		||||
@@ -1402,6 +1320,7 @@ msgstr "Mobilās platjoslas iestatījumi"
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Hardware Disabled"
 | 
			
		||||
msgid "%s Hardware Disabled"
 | 
			
		||||
msgstr "%s ir izslēgts aparatūrā"
 | 
			
		||||
 | 
			
		||||
@@ -1409,6 +1328,7 @@ msgstr "%s ir izslēgts aparatūrā"
 | 
			
		||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:592
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Disabled"
 | 
			
		||||
msgid "%s Disabled"
 | 
			
		||||
msgstr "%s ir izslēgts"
 | 
			
		||||
 | 
			
		||||
@@ -1464,15 +1384,21 @@ msgstr "Izvēlieties tīklu"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Wi-Fi iestatījumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Ieslēgt"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Hotspot Active"
 | 
			
		||||
msgid "%s Hotspot Active"
 | 
			
		||||
msgstr "%s tīklājs ir aktīvs"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1311
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "Not Connected"
 | 
			
		||||
msgid "%s Not Connected"
 | 
			
		||||
msgstr "%s nav savienots"
 | 
			
		||||
 | 
			
		||||
@@ -1502,6 +1428,7 @@ msgid "VPN"
 | 
			
		||||
msgstr "VPN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1513
 | 
			
		||||
#| msgid "Power Off"
 | 
			
		||||
msgid "VPN Off"
 | 
			
		||||
msgstr "VPN ir izslēgts"
 | 
			
		||||
 | 
			
		||||
@@ -1513,43 +1440,37 @@ msgstr "Neizdevās savienoties"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Neizdevās tīkla savienojuma aktivēšana"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Barošanas iestatījumi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Pilnībā uzlādēta"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Novērtē…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "Atlicis %d.%02d (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "Atlicis %d.%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
#| msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "Līdz pilnai %d.%02d (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "Līdz pilnai %d.%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
#. changing the menu contents.
 | 
			
		||||
#: ../js/ui/status/rfkill.js:88
 | 
			
		||||
#| msgid "Airplane Mode is On"
 | 
			
		||||
msgid "Airplane Mode On"
 | 
			
		||||
msgstr "Lidmašīnas režīms ir ieslēgts"
 | 
			
		||||
 | 
			
		||||
@@ -1562,6 +1483,7 @@ msgid "Log Out"
 | 
			
		||||
msgstr "Izrakstīties"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/system.js:353
 | 
			
		||||
#| msgid "Power Settings"
 | 
			
		||||
msgid "Account Settings"
 | 
			
		||||
msgstr "Konta iestatījumi"
 | 
			
		||||
 | 
			
		||||
@@ -1585,6 +1507,10 @@ msgstr "Skaļums ir mainīts"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Skaļums"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofons"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Ierakstīties kā citam lietotājam"
 | 
			
		||||
@@ -1669,10 +1595,12 @@ msgid "Always on Visible Workspace"
 | 
			
		||||
msgstr "Vienmēr redzamajā darbvietā"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:105
 | 
			
		||||
#| msgid "Move to Workspace Up"
 | 
			
		||||
msgid "Move to Workspace Left"
 | 
			
		||||
msgstr "Pārvietot uz darbvietu pa kreisi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:110
 | 
			
		||||
#| msgid "Move to Workspace Up"
 | 
			
		||||
msgid "Move to Workspace Right"
 | 
			
		||||
msgstr "Pārvietot uz darbvietu pa labi"
 | 
			
		||||
 | 
			
		||||
@@ -1685,10 +1613,12 @@ msgid "Move to Workspace Down"
 | 
			
		||||
msgstr "Pārvietot uz zemāku darbvietu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:136
 | 
			
		||||
#| msgid "Move to Workspace Up"
 | 
			
		||||
msgid "Move to Monitor Up"
 | 
			
		||||
msgstr "Pārvietot uz augstāku monitoru"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:142
 | 
			
		||||
#| msgid "Move to Workspace Down"
 | 
			
		||||
msgid "Move to Monitor Down"
 | 
			
		||||
msgstr "Pārvietot uz zemāku monitoru"
 | 
			
		||||
 | 
			
		||||
@@ -1706,7 +1636,7 @@ msgstr "Evolution kalendārs"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1716,7 +1646,7 @@ msgstr[2] "%u izvadkanāli"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
@@ -1724,44 +1654,44 @@ msgstr[0] "%u ievadkanāls"
 | 
			
		||||
msgstr[1] "%u ievadkanāli"
 | 
			
		||||
msgstr[2] "%u ievadkanāli"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sistēmas skaņas"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Drukāt versiju"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Režīms, ko izmantot GDM pieteikšanās ekrānam"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Izmantot specifisku metodi, piemēram, “gdm” ierakstīšanās ekrānam"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Uzskaitīt iespējamās metodes"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Nezināma"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Neizdevās palaist “%s”"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Paroles nesakrīt."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Parole nevar būt tukša"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Lietotājs noraidīja autentifikācijas dialoglodziņu"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										239
									
								
								po/nb.po
									
									
									
									
									
								
							
							
						
						
									
										239
									
								
								po/nb.po
									
									
									
									
									
								
							@@ -7,10 +7,10 @@
 | 
			
		||||
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell 3.19.x\n"
 | 
			
		||||
"Project-Id-Version: gnome-shell 3.17.x\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-01-07 22:59+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2016-01-07 22:59+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-07 19:22+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-07 19:31+0200\n"
 | 
			
		||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
 | 
			
		||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
 | 
			
		||||
"Language: Norwegian bokmål\n"
 | 
			
		||||
@@ -44,6 +44,15 @@ msgstr "Vis alle programmer"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Åpne programmenyen"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Vindushåndtering og oppstart av programmer"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Brukervalg for GNOME Shell-utvidelser"
 | 
			
		||||
@@ -52,13 +61,9 @@ msgstr "Brukervalg for GNOME Shell-utvidelser"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Sett opp utvidelser for GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "GNOME Shell"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Vindushåndtering og oppstart av programmer"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "GNOME Shell (Wayland-kompositør)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -161,88 +166,75 @@ msgstr ""
 | 
			
		||||
"standardverdien for avkryssingsboksen."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Vis ukedato/ukenummer i kalender"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Tastaturbinding som åpner programmenyen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Tastaturbinding som åpner programmenyen."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Tastaturbinding som åpner visningen «Vis programmer»"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Tastaturbinding som åpner oversikten"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Tastaturbinding som åpner aktivitetsoversikten."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Tastaturbinding som fokuserer aktiv varsling"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Tastaturbinding som fokuserer aktiv varsling."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Hurtigtast som stanser og fortsetter pågående bevegelser til "
 | 
			
		||||
"feilsøkingsformål"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Tastatur som skal brukes"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Type tastatur som skal brukes."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Begrens programveksling til gjeldende arbeidsområde."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -251,11 +243,11 @@ msgstr ""
 | 
			
		||||
"gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du "
 | 
			
		||||
"veksle mellom programmer på tvers av arbeidsområder."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Ikonmodus for programmet."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -265,7 +257,7 @@ msgstr ""
 | 
			
		||||
"valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-"
 | 
			
		||||
"icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -274,30 +266,30 @@ msgstr ""
 | 
			
		||||
"arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
 | 
			
		||||
"fra alle arbeidsområder."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Fest modal dialog til opphavsvinduet"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Arbeidsområder håndteres dynamisk"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Arbeidsområder vises kun på hovedskjerm"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
 | 
			
		||||
 | 
			
		||||
@@ -336,20 +328,20 @@ msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Logg inn"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Velg ø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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Ikke listet?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(f.eks. bruker eller %s)"
 | 
			
		||||
@@ -357,12 +349,12 @@ 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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Brukernavn: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Innloggingsvindu"
 | 
			
		||||
 | 
			
		||||
@@ -498,12 +490,12 @@ msgstr "Legg til i favoritter"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Vis detaljer"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:133
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "%s ble lagt til i favoritter."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:167
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s ble fjernet fra favoritter."
 | 
			
		||||
@@ -516,7 +508,8 @@ msgstr "Bytt bakgrunn …"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Innstillinger for skjerm"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Innstillinger"
 | 
			
		||||
 | 
			
		||||
@@ -580,51 +573,45 @@ msgstr "Forrige måned"
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Neste måned"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:729
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:784
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Uke %V"
 | 
			
		||||
 | 
			
		||||
#. 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:1189
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Hele dagen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1296
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Tøm seksjon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1523
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Hendelser"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1532
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A %B %d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1536
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A %B %d, %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1621
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Varslinger"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1772
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Ingen varslinger"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1775
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Ingen hendelser"
 | 
			
		||||
 | 
			
		||||
@@ -636,7 +623,7 @@ msgstr "Ekstern stasjon koblet til"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Ekstern stasjon koblet fra"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Åpne med %s"
 | 
			
		||||
@@ -981,7 +968,7 @@ msgstr "Slått på"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Slått av"
 | 
			
		||||
 | 
			
		||||
@@ -1025,22 +1012,17 @@ msgstr "Oversikt"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Skriv for å søke …"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
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:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Aktiviteter"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "System"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Topp-panel"
 | 
			
		||||
 | 
			
		||||
@@ -1053,15 +1035,15 @@ msgstr "Topp-panel"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Skriv inn en kommando"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Lukk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Starter på nytt …"
 | 
			
		||||
 | 
			
		||||
@@ -1184,41 +1166,29 @@ msgstr "Høy kontrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Stor tekst"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Slå av"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Bluetooth-innstillinger"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
msgstr[0] "%d koblet til"
 | 
			
		||||
msgstr[1] "%d koblet til"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Av"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Ikke i bruk"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Slå på"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Slå av"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Lysstyrke"
 | 
			
		||||
@@ -1386,6 +1356,10 @@ msgstr "Velg nettverk"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Innstillinger"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Slå på"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1435,36 +1409,31 @@ msgstr "Tilkobling mislyktes"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Aktivering av nettverkstilkobling mislyktes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Innstillinger for strøm"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Fullt oppladet"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Estimerer …"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "%d:%02d gjenstår (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "%d:%02d gjenstår (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d:%02d til batteriet er fullt (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d til batteriet er fullt (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1593,19 +1562,19 @@ msgstr "Alltid på synlig arbeidsområde"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:105
 | 
			
		||||
msgid "Move to Workspace Left"
 | 
			
		||||
msgstr "Flytt til arbeidsområdet til venstre"
 | 
			
		||||
msgstr "Gå til arbeidsområdet til venstre"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:110
 | 
			
		||||
msgid "Move to Workspace Right"
 | 
			
		||||
msgstr "Flytt til arbeidsområdet til høyre"
 | 
			
		||||
msgstr "Gå til arbeidsområdet til høyre"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:115
 | 
			
		||||
msgid "Move to Workspace Up"
 | 
			
		||||
msgstr "Flytt til arbeidsområdet over"
 | 
			
		||||
msgstr "Gå til arbeidsområdet over"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:120
 | 
			
		||||
msgid "Move to Workspace Down"
 | 
			
		||||
msgstr "Flytt til arbeidsområdet under"
 | 
			
		||||
msgstr "Gå til arbeidsområdet under"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:136
 | 
			
		||||
msgid "Move to Monitor Up"
 | 
			
		||||
@@ -1629,7 +1598,7 @@ msgstr "Evolution kalender"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1638,51 +1607,51 @@ msgstr[1] "%u utganger"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
msgstr[0] "%u inngang"
 | 
			
		||||
msgstr[1] "%u innganger"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Systemlyder"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Vis versjon"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Modus som brukes av GDM for innloggingsskjermen"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Vis mulige modi"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Ukjent"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Klarte ikke å starte «%s»"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Passordene er ikke like."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Passordet kan ikke være tomt"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Autentiseringsdialogen ble lukket av brukeren"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										361
									
								
								po/pl.po
									
									
									
									
									
								
							
							
						
						
									
										361
									
								
								po/pl.po
									
									
									
									
									
								
							@@ -4,16 +4,16 @@
 | 
			
		||||
# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas:
 | 
			
		||||
# gnomepl@aviary.pl
 | 
			
		||||
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 | 
			
		||||
# Piotr Drąg <piotrdrag@gmail.com>, 2009-2016.
 | 
			
		||||
# Piotr Drąg <piotrdrag@gmail.com>, 2009-2015.
 | 
			
		||||
# Tomasz Dominikowski <dominikowski@gmail.com>, 2009.
 | 
			
		||||
# Wojciech Szczęsny <wszczesny@aviary.pl>, 2013.
 | 
			
		||||
# Aviary.pl <gnomepl@aviary.pl>, 2009-2016.
 | 
			
		||||
# Aviary.pl <gnomepl@aviary.pl>, 2009-2015.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-10 17:25+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-10 17:27+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2015-08-24 15:27+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2015-08-24 15:28+0200\n"
 | 
			
		||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 | 
			
		||||
"Language-Team: Polish <gnomepl@aviary.pl>\n"
 | 
			
		||||
"Language: pl\n"
 | 
			
		||||
@@ -49,6 +49,15 @@ msgstr "Wyświetlenie wszystkich programów"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Otwarcie menu programu"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Powłoka środowiska GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Zarządzanie oknami i uruchamianiem programów"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Preferencje rozszerzenia powłoki GNOME"
 | 
			
		||||
@@ -57,13 +66,9 @@ msgstr "Preferencje rozszerzenia powłoki GNOME"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Konfiguracja rozszerzeń powłoki GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Powłoka środowiska GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Zarządzanie oknami i uruchamianiem programów"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "Powłoka środowiska GNOME (Wayland)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -166,99 +171,82 @@ msgid ""
 | 
			
		||||
"'Remember Password' checkbox will be present. This key sets the default "
 | 
			
		||||
"state of the checkbox."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Powłoka poprosi o hasło podczas montowania zaszyfrowanego urządzenia lub "
 | 
			
		||||
"zdalnego systemu plików. Jeśli hasło może zostać zapisane do późniejszego "
 | 
			
		||||
"użycia, to obecne będzie pole wyboru „Zapamiętanie hasła”. Ten klucz ustawia "
 | 
			
		||||
"domyślną wartość tego pola."
 | 
			
		||||
"Powłoka zażąda hasła po zamontowaniu zaszyfrowanego urządzenia lub zdalnego "
 | 
			
		||||
"systemu plików. Jeśli hasło może zostać zapisane do późniejszego użycia, to "
 | 
			
		||||
"obecne będzie pole wyboru „Zapamiętanie hasła”. Ten klucz ustawia domyślną "
 | 
			
		||||
"wartość tego pola."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr "Czy domyślny adapter Bluetooth ma powiązane ustawione urządzenia"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Powłoka będzie wyświetlała menu Bluetooth tylko, jeśli adapter Bluetooth "
 | 
			
		||||
"jest włączony lub są ustawione urządzenia powiązane z domyślnym adapterem. "
 | 
			
		||||
"Zostanie to przywrócone, kiedy tylko domyślny adapter nie będzie miał "
 | 
			
		||||
"żadnych powiązanych urządzeń."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Wyświetlanie dnia tygodnia w kalendarzu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Jeśli jest ustawione na „true”, to wyświetla w kalendarzu dzień tygodnia w "
 | 
			
		||||
"formacie ISO."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Skrót do otwarcia menu programu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Skrót do otwarcia menu programu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Skrót do otwarcia widoku „Wyświetl programy”"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr "Skrót do otwarcia widoku „Wyświetl programy” ekranu podglądu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Skrót do otwarcia ekranu podglądu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Skrót do otwarcia ekranu podglądu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Skrót do przełączenia widoczności listy powiadomień"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Skrót do przełączenia widoczności listy powiadomień."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Skrót do aktywacji bieżącego powiadomienia"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Skrót do aktywacji bieżącego powiadomienia."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Skrót wstrzymujący i wznawiający wszystkie działające klatki pośrednie (do "
 | 
			
		||||
"celów debugowania)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Której klawiatury używać"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Typ używanej klawiatury."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Ograniczenie przełącznika do bieżącego obszaru roboczego."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -267,11 +255,11 @@ msgstr ""
 | 
			
		||||
"obszarze roboczym są wyświetlane w przełączniku. W przeciwnym przypadku "
 | 
			
		||||
"wszystkie programy są załączone."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Tryb ikon programów."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -281,7 +269,7 @@ msgstr ""
 | 
			
		||||
"„thumbnail-only” (wyświetla miniaturę okna), „app-icon-only” (wyświetla "
 | 
			
		||||
"tylko ikonę programu) lub „both” (wyświetla oba)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -290,32 +278,32 @@ msgstr ""
 | 
			
		||||
"wyświetlane w przełączniku. W przeciwnym przypadku wszystkie okna są "
 | 
			
		||||
"załączone."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Dołączanie modalnych okien dialogowych do okien nadrzędnych"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Ten klucz zastępuje klucz w „org.gnome.mutter”, kiedy uruchomiona jest "
 | 
			
		||||
"powłoka GNOME."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Włączenie kafelkowania przy krawędziach podczas przenoszenia okien do "
 | 
			
		||||
"krawędzi ekranu"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Dynamiczne zarządzanie obszarami roboczymi"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Obszary robocze tylko na pierwszym monitorze"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Opóźnienie zmiany aktywności w trybie myszy do momentu, w którym kursor się "
 | 
			
		||||
@@ -325,53 +313,52 @@ msgstr ""
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Logowanie do sieci"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:121
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Wystąpił błąd podczas wczytywania okna preferencji dla rozszerzenia „%s”:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:153
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Rozszerzenia powłoki GNOME"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Anuluj"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:435
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Dalej"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Odblokuj"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Zaloguj"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Wybór sesji"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Inny użytkownik?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:847
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(np. użytkownik lub %s)"
 | 
			
		||||
@@ -379,12 +366,12 @@ msgstr "(np. użytkownik lub %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nazwa użytkownika: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1181
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Okno logowania"
 | 
			
		||||
 | 
			
		||||
@@ -520,36 +507,16 @@ msgstr "Dodaj do ulubionych"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Wyświetl szczegóły"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "Program „%s” został dodany do ulubionych."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "Program „%s” został usunięty z ulubionych."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Wybór urządzenia dźwiękowego"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Ustawienia dźwięku"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Słuchawki"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Słuchawki z mikrofonem"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Zmień tło…"
 | 
			
		||||
@@ -558,12 +525,13 @@ msgstr "Zmień tło…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Ustawienia ekranu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Ustawienia"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -573,96 +541,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "N"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "P"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "W"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "Ś"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "C"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "P"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Poprzedni miesiąc"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Następny miesiąc"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "%V. tydzień"
 | 
			
		||||
msgstr "%V tydzień"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Cały dzień"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Wyczyść"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Wydarzenia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %e %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %e %B %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Powiadomienia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Brak powiadomień"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Brak wydarzeń"
 | 
			
		||||
 | 
			
		||||
@@ -674,7 +640,7 @@ msgstr "Podłączono dysk zewnętrzny"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Odłączono dysk zewnętrzny"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Otwórz za pomocą „%s”"
 | 
			
		||||
@@ -993,11 +959,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Klawiatura"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Ukryj obszar powiadamiania"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Ikony stanu"
 | 
			
		||||
 | 
			
		||||
@@ -1025,7 +991,7 @@ msgstr "Włączone"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Wyłączone"
 | 
			
		||||
 | 
			
		||||
@@ -1049,26 +1015,10 @@ msgstr "Wyświetl źródło"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Strona WWW"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Wyczyść"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informacje systemowe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Nieznany wykonawca"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Nieznany tytuł"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Multimedia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Cofnij"
 | 
			
		||||
@@ -1085,22 +1035,17 @@ msgstr "Podgląd"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Wyszukiwanie…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Zakończ"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Podgląd"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Menu systemowe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Górny pasek"
 | 
			
		||||
 | 
			
		||||
@@ -1113,15 +1058,15 @@ msgstr "Górny pasek"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Proszę wprowadzić polecenie"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Zamknij"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Ponowne uruchamianie…"
 | 
			
		||||
 | 
			
		||||
@@ -1246,16 +1191,19 @@ msgstr "Wysoki kontrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Duży tekst"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Bluetooth"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Wyłącz"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Ustawienia Bluetooth"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1263,25 +1211,10 @@ msgstr[0] "%d połączone urządzenie"
 | 
			
		||||
msgstr[1] "%d połączone urządzenia"
 | 
			
		||||
msgstr[2] "%d połączonych urządzeń"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Wyłączono"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Nieużywane"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Włącz"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Wyłącz"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Jasność"
 | 
			
		||||
@@ -1290,49 +1223,30 @@ msgstr "Jasność"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Wyświetl układ klawiatury"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Włączono ustalanie położenia"
 | 
			
		||||
msgstr "Włączono położenie"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Wyłącz"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Ustawienia prywatności"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Ustalanie położenia jest używane"
 | 
			
		||||
msgstr "Położenie jest używane"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Wyłączono ustalanie położenia"
 | 
			
		||||
msgstr "Wyłączono położenie"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Włącz"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Odmów dostępu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Udziel dostępu"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Udzielić programowi „%s” dostępu do położenia użytkownika?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"W każdej chwili można zmienić dostęp do położenia w ustawieniach prywatności."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<nieznane>"
 | 
			
		||||
@@ -1468,6 +1382,10 @@ msgstr "Wybierz sieć"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Ustawienia sieci Wi-Fi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Włącz"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1517,37 +1435,32 @@ msgstr "Połączenie się nie powiodło"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Aktywacja połączenia sieciowego się nie powiodła"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Ustawienia zasilania"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Naładowane"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Obliczanie…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "Pozostało: %d∶%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "Do naładowania: %d∶%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d%%"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
#. changing the menu contents.
 | 
			
		||||
@@ -1587,6 +1500,10 @@ msgstr "Zmieniono głośność"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Głośność"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Zaloguj jako inny użytkownik"
 | 
			
		||||
@@ -1708,7 +1625,7 @@ msgstr "Kalendarz programu Evolution"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1718,7 +1635,7 @@ msgstr[2] "%u wyjść"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
@@ -1726,44 +1643,44 @@ msgstr[0] "%u wejście"
 | 
			
		||||
msgstr[1] "%u wejścia"
 | 
			
		||||
msgstr[2] "%u wejść"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Dźwięki systemowe"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Wyświetla wersję"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Tryb używany przez GDM dla ekranu logowania"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Używa podanego trybu, np. „gdm” dla ekranu logowania"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Wyświetla listę możliwych trybów"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Nieznany"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Uruchomienie „%s” się nie powiodło"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Hasła się nie zgadzają."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Hasło nie może być puste"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Okno dialogowe uwierzytelnienia zostało odrzucone przez użytkownika"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										742
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										742
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										382
									
								
								po/sr.po
									
									
									
									
									
								
							
							
						
						
									
										382
									
								
								po/sr.po
									
									
									
									
									
								
							@@ -1,28 +1,28 @@
 | 
			
		||||
# Serbian translation for gnome-shell.
 | 
			
		||||
# Courtesy of Prevod.org team (http://prevod.org/) -- 2010—2016.
 | 
			
		||||
# Courtesy of Prevod.org team (http://prevod.org/) -- 2010—2015.
 | 
			
		||||
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
#
 | 
			
		||||
# Translators: 
 | 
			
		||||
# Милош Поповић <gpopac@gmail.com>, 2010—2011.
 | 
			
		||||
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2016.
 | 
			
		||||
# Марко М. Костић <marko.m.kostic@gmail.com>, 2016.
 | 
			
		||||
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2015.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-10 22:19+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-11 02:53+0200\n"
 | 
			
		||||
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 | 
			
		||||
"Language-Team: Serbian <(gnom@prevod.org)>\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-22 08:38+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-22 13:35+0200\n"
 | 
			
		||||
"Last-Translator: Марко М. Костић (Marko M. Kostić) <marko.m.kostic@gmail."
 | 
			
		||||
"com>\n"
 | 
			
		||||
"Language-Team: Serbian <gnom@prevod.org>\n"
 | 
			
		||||
"Language: sr\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
 | 
			
		||||
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
 | 
			
		||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.4\n"
 | 
			
		||||
"X-Poedit-Bookmarks: -1,224,-1,-1,-1,-1,-1,-1,-1,-1\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -48,6 +48,15 @@ msgstr "Прикажи све програме"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Отворите изборник програма"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Гномова шкољка"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Управник прозорима и покретач програма"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Поставке проширења Гномове шкољке"
 | 
			
		||||
@@ -56,13 +65,9 @@ msgstr "Поставке проширења Гномове шкољке"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Подесите проширења Гномове шкољке"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Гномова шкољка"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Управник прозорима и покретач програма"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "Гномова шкољка (вајланд састављач)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -167,91 +172,74 @@ msgstr ""
 | 
			
		||||
"поља за избор."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr "Да ли је основни адаптер блутута подесио њему придружене уређаје"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Шкољка ће приказати ставку изборника блутута само ако је адаптер блутута "
 | 
			
		||||
"упаљен, или ако има подешених уређаја придружених основном адаптеру. Ово ће "
 | 
			
		||||
"се вратити на почетно стање ако се установи да основни адаптер нема њему "
 | 
			
		||||
"придружених уређаја."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Приказује дан у недељи у календару"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Ако је изабрано, приказује ИСО дан у недељи у календару."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Пречица за отварање изборника програма"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Пречица за отварање изборника програма."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Пречица за отварање прегледа „Прикажи програме“"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr "Пречица за отварање прегледа „Прикажи програме“ у прегледу активности."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Пречица за отварање прегледа"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Пречица за отварање прегледа активности."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Пречица за окидање видљивости списка обавештења"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Пречица за окидање видљивости списка обавештења."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Пречица за постављање у жижу радног обавештења"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Пречица за постављање у жижу радног обавештења."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Свеза тастера која паузира и наставља све покренуте близанце, за сврхе "
 | 
			
		||||
"прочишћавања"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Која ће тастатура бити коришћена"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Врста тастатуре за употребу."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Ограничава пребацивача на текући радни простор."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -259,11 +247,11 @@ msgstr ""
 | 
			
		||||
"Ако је изабрано, само програми који имају прозоре на текућем радном простору "
 | 
			
		||||
"се приказују у пребацивачу. У супротном, сви програми су укључени."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Режим иконице програма."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -273,7 +261,7 @@ msgstr ""
 | 
			
		||||
"„thumbnail-only“ (приказује сличицу прозора), „app-icon-only“ (приказује "
 | 
			
		||||
"само иконицу програма) или „both“ (оба)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -281,30 +269,30 @@ msgstr ""
 | 
			
		||||
"Ако је изабрано, само прозори са текућег радног простора се приказују у "
 | 
			
		||||
"пребацивачу. У супротном, сви прозори су укључени."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Прикачиње прозорче родитељском прозору"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Овај кључ превазилази кључ у „org.gnome.mutter“ када покреће Гномову шкољку."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Укључује поплочавање ивице приликом отпуштања прозора на ивицама екрана"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Радним просторима се управља динамички"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Радни простори само на примарном монитору"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Застој првог плана се мења у режиму миша док се показивач не заустави"
 | 
			
		||||
 | 
			
		||||
@@ -312,52 +300,51 @@ msgstr "Застој првог плана се мења у режиму миш
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Мрежна пријава"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:117
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Дошло је до грешке при учитавању прозорчета поставки за „%s“:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:149
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Проширења Гномове шкољке"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Откажи"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Даље"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Откључај"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Пријави ме"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Изабери сесију"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Није на списку?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(нпр., корисник или %s)"
 | 
			
		||||
@@ -365,12 +352,12 @@ msgstr "(нпр., корисник или %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Корисничко име: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Прозор за пријављивање"
 | 
			
		||||
 | 
			
		||||
@@ -506,36 +493,16 @@ msgstr "Додај у омиљене"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Прикажи детаље"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "„%s“ је додат међу омиљене."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "„%s“ је уклоњен из омиљених."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Изаберите звучни уређај"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Подешавања звука"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Слушалице"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Слушалице са микрофоном"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Микрофон"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Измени позадину…"
 | 
			
		||||
@@ -544,12 +511,13 @@ msgstr "Измени позадину…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Подешавања приказа"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Подешавања"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -559,96 +527,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "Н"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "П"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "У"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "С"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Ч"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "П"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "С"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Претходни месец"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Следећи месец"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Седмица %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Цео дан"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Очисти одељак"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Догађаји"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d. %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d. %B %Y."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Обавештења"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Без обавештења"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Без догађаја"
 | 
			
		||||
 | 
			
		||||
@@ -660,7 +626,7 @@ msgstr "Спољни уређај је прикључен"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Спољни уређај је искључен"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Отвори програмом %s"
 | 
			
		||||
@@ -982,11 +948,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Тастатура"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Сакриј касету"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Иконице стања"
 | 
			
		||||
 | 
			
		||||
@@ -1014,7 +980,7 @@ msgstr "Укључено"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Искључено"
 | 
			
		||||
 | 
			
		||||
@@ -1038,26 +1004,10 @@ msgstr "Прикажи код"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Веб страница"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Очисти одељак"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Подаци о систему"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Непознат извођач"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Непознат наслов"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Медији"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Опозови"
 | 
			
		||||
@@ -1074,22 +1024,17 @@ msgstr "Преглед"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Упишите текст за претрагу…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Изађи"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Активности"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Систем"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Горња трака"
 | 
			
		||||
 | 
			
		||||
@@ -1102,15 +1047,15 @@ msgstr "Горња трака"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Унесите наредбу"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Затвори"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Поновно покрећем…"
 | 
			
		||||
 | 
			
		||||
@@ -1237,16 +1182,19 @@ msgstr "Велики контраст"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Велики текст"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Блутут"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Искључи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Подешавања Блутута"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1255,25 +1203,10 @@ msgstr[1] "%d повезана"
 | 
			
		||||
msgstr[2] "%d повезано"
 | 
			
		||||
msgstr[3] "%d повезан"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Искљ."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Није у употреби"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Укључи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Искључи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Осветљеност"
 | 
			
		||||
@@ -1282,50 +1215,30 @@ msgstr "Осветљеност"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Покажи распоред тастатуре"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Одређивање места укључено"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Искључи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Подешавања приватности"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Одређивање места се користи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Одређивање места искључено"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Укључи"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Забрани приступ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Дозволи приступ"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Да ли да „%s“ дам приступ вашем месту?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Приступ месту можете да измените у било које време у подешавањима "
 | 
			
		||||
"приватности."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<непознато>"
 | 
			
		||||
@@ -1461,6 +1374,10 @@ msgstr "Изабери мрежу"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Подешавања бежичне везе"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Укључи"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1510,36 +1427,31 @@ msgstr "Повезивање није успело"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Активирање мрежне везе није успело"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Подешавања напајања"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Потпуно пуна"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Приближно…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "Преостало време %d:%02d (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "Преостаје %d:%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d:%02d до краја пуњења (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d до краја пуњења (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1580,9 +1492,13 @@ msgstr "Промена јачине звука"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Јачина звука"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Микрофон"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Пријавите се као други корисник"
 | 
			
		||||
msgstr "Пријавите се као други корсник"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:84
 | 
			
		||||
msgid "Unlock Window"
 | 
			
		||||
@@ -1702,7 +1618,7 @@ msgstr "Календар Еволуције"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1713,7 +1629,7 @@ msgstr[3] "%u излаз"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
@@ -1722,53 +1638,50 @@ msgstr[1] "%u улаза"
 | 
			
		||||
msgstr[2] "%u улаза"
 | 
			
		||||
msgstr[3] "%u улаз"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Системски звуци"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Исписује издање"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Који режим користи ГДМ за екран пријављивања"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Користи нарочит режим, нпр. „gdm“ за екран пријављивања"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Исписује могуће режиме"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Непознат"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Нисам успео да покренем „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Лозинке се не подударају."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Лозинка не може бити празна"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Корисник је одбацио прозорче за потврђивање идентитета"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "„%s“ захтева приступ вашем месту."
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "Гномова шкољка (вајланд састављач)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Блутут"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
@@ -1777,6 +1690,9 @@ msgstr "Корисник је одбацио прозорче за потврђ
 | 
			
		||||
#~ msgstr[2] "%d прикључених уређаја"
 | 
			
		||||
#~ msgstr[3] "%d прикључени уређај"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "Искљ."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "Потребно је потврђивање идентитета"
 | 
			
		||||
 | 
			
		||||
@@ -1982,6 +1898,9 @@ msgstr "Корисник је одбацио прозорче за потврђ
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "Види налог"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "Непознат разлог"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open Calendar"
 | 
			
		||||
#~ msgstr "Отвори календар"
 | 
			
		||||
 | 
			
		||||
@@ -2083,6 +2002,9 @@ msgstr "Корисник је одбацио прозорче за потврђ
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "Уређај „%s“ жели приступ услузи „%s“"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "Увек дозволи приступ"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "Одобри само овај пут"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										382
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										382
									
								
								po/sr@latin.po
									
									
									
									
									
								
							@@ -1,28 +1,28 @@
 | 
			
		||||
# Serbian translation for gnome-shell.
 | 
			
		||||
# Courtesy of Prevod.org team (http://prevod.org/) -- 2010—2016.
 | 
			
		||||
# Courtesy of Prevod.org team (http://prevod.org/) -- 2010—2015.
 | 
			
		||||
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
#
 | 
			
		||||
# Translators: 
 | 
			
		||||
# Miloš Popović <gpopac@gmail.com>, 2010—2011.
 | 
			
		||||
# Miroslav Nikolić <miroslavnikolic@rocketmail.com>, 2011—2016.
 | 
			
		||||
# Marko M. Kostić <marko.m.kostic@gmail.com>, 2016.
 | 
			
		||||
# Miroslav Nikolić <miroslavnikolic@rocketmail.com>, 2011—2015.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2016-03-10 22:19+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2016-03-11 02:53+0200\n"
 | 
			
		||||
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
 | 
			
		||||
"Language-Team: Serbian <(gnom@prevod.org)>\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-22 08:38+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-22 13:35+0200\n"
 | 
			
		||||
"Last-Translator: Marko M. Kostić (Marko M. Kostić) <marko.m.kostic@gmail."
 | 
			
		||||
"com>\n"
 | 
			
		||||
"Language-Team: Serbian <gnom@prevod.org>\n"
 | 
			
		||||
"Language: sr\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
 | 
			
		||||
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
 | 
			
		||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.4\n"
 | 
			
		||||
"X-Poedit-Bookmarks: -1,224,-1,-1,-1,-1,-1,-1,-1,-1\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/50-gnome-shell-system.xml.in.h:1
 | 
			
		||||
msgid "System"
 | 
			
		||||
@@ -48,6 +48,15 @@ msgstr "Prikaži sve programe"
 | 
			
		||||
msgid "Open the application menu"
 | 
			
		||||
msgstr "Otvorite izbornik programa"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Gnomova školjka"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:2
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Upravnik prozorima i pokretač programa"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell Extension Preferences"
 | 
			
		||||
msgstr "Postavke proširenja Gnomove školjke"
 | 
			
		||||
@@ -56,13 +65,9 @@ msgstr "Postavke proširenja Gnomove školjke"
 | 
			
		||||
msgid "Configure GNOME Shell Extensions"
 | 
			
		||||
msgstr "Podesite proširenja Gnomove školjke"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
msgstr "Gnomova školjka"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Upravnik prozorima i pokretač programa"
 | 
			
		||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
msgstr "Gnomova školjka (vajland sastavljač)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
@@ -167,91 +172,74 @@ msgstr ""
 | 
			
		||||
"polja za izbor."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"Whether the default Bluetooth adapter had set up devices associated to it"
 | 
			
		||||
msgstr "Da li je osnovni adapter blututa podesio njemu pridružene uređaje"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
 | 
			
		||||
"powered, or if there were devices set up associated with the default "
 | 
			
		||||
"adapter. This will be reset if the default adapter is ever seen not to have "
 | 
			
		||||
"devices associated to it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Školjka će prikazati stavku izbornika blututa samo ako je adapter blututa "
 | 
			
		||||
"upaljen, ili ako ima podešenih uređaja pridruženih osnovnom adapteru. Ovo će "
 | 
			
		||||
"se vratiti na početno stanje ako se ustanovi da osnovni adapter nema njemu "
 | 
			
		||||
"pridruženih uređaja."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Prikazuje dan u nedelji u kalendaru"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Ako je izabrano, prikazuje ISO dan u nedelji u kalendaru."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
 | 
			
		||||
msgid "Keybinding to open the application menu"
 | 
			
		||||
msgstr "Prečica za otvaranje izbornika programa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
 | 
			
		||||
msgid "Keybinding to open the application menu."
 | 
			
		||||
msgstr "Prečica za otvaranje izbornika programa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
 | 
			
		||||
msgid "Keybinding to open the \"Show Applications\" view"
 | 
			
		||||
msgstr "Prečica za otvaranje pregleda „Prikaži programe“"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr "Prečica za otvaranje pregleda „Prikaži programe“ u pregledu aktivnosti."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
msgstr "Prečica za otvaranje pregleda"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
 | 
			
		||||
msgid "Keybinding to open the Activities Overview."
 | 
			
		||||
msgstr "Prečica za otvaranje pregleda aktivnosti."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list"
 | 
			
		||||
msgstr "Prečica za okidanje vidljivosti spiska obaveštenja"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
 | 
			
		||||
msgid "Keybinding to toggle the visibility of the notification list."
 | 
			
		||||
msgstr "Prečica za okidanje vidljivosti spiska obaveštenja."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
 | 
			
		||||
msgid "Keybinding to focus the active notification"
 | 
			
		||||
msgstr "Prečica za postavljanje u žižu radnog obaveštenja"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
 | 
			
		||||
msgid "Keybinding to focus the active notification."
 | 
			
		||||
msgstr "Prečica za postavljanje u žižu radnog obaveštenja."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Sveza tastera koja pauzira i nastavlja sve pokrenute blizance, za svrhe "
 | 
			
		||||
"pročišćavanja"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Koja će tastatura biti korišćena"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Vrsta tastature za upotrebu."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
 | 
			
		||||
msgid "Limit switcher to current workspace."
 | 
			
		||||
msgstr "Ograničava prebacivača na tekući radni prostor."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only applications that have windows on the current workspace are "
 | 
			
		||||
"shown in the switcher. Otherwise, all applications are included."
 | 
			
		||||
@@ -259,11 +247,11 @@ msgstr ""
 | 
			
		||||
"Ako je izabrano, samo programi koji imaju prozore na tekućem radnom prostoru "
 | 
			
		||||
"se prikazuju u prebacivaču. U suprotnom, svi programi su uključeni."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
 | 
			
		||||
msgid "The application icon mode."
 | 
			
		||||
msgstr "Režim ikonice programa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
 | 
			
		||||
msgid ""
 | 
			
		||||
"Configures how the windows are shown in the switcher. Valid possibilities "
 | 
			
		||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
 | 
			
		||||
@@ -273,7 +261,7 @@ msgstr ""
 | 
			
		||||
"„thumbnail-only“ (prikazuje sličicu prozora), „app-icon-only“ (prikazuje "
 | 
			
		||||
"samo ikonicu programa) ili „both“ (oba)."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
 | 
			
		||||
msgid ""
 | 
			
		||||
"If true, only windows from the current workspace are shown in the switcher. "
 | 
			
		||||
"Otherwise, all windows are included."
 | 
			
		||||
@@ -281,30 +269,30 @@ msgstr ""
 | 
			
		||||
"Ako je izabrano, samo prozori sa tekućeg radnog prostora se prikazuju u "
 | 
			
		||||
"prebacivaču. U suprotnom, svi prozori su uključeni."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
 | 
			
		||||
msgid "Attach modal dialog to the parent window"
 | 
			
		||||
msgstr "Prikačinje prozorče roditeljskom prozoru"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
 | 
			
		||||
msgid ""
 | 
			
		||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Ovaj ključ prevazilazi ključ u „org.gnome.mutter“ kada pokreće Gnomovu školjku."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
 | 
			
		||||
msgid "Enable edge tiling when dropping windows on screen edges"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Uključuje popločavanje ivice prilikom otpuštanja prozora na ivicama ekrana"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
 | 
			
		||||
msgid "Workspaces are managed dynamically"
 | 
			
		||||
msgstr "Radnim prostorima se upravlja dinamički"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
 | 
			
		||||
msgid "Workspaces only on primary monitor"
 | 
			
		||||
msgstr "Radni prostori samo na primarnom monitoru"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
 | 
			
		||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
 | 
			
		||||
msgstr "Zastoj prvog plana se menja u režimu miša dok se pokazivač ne zaustavi"
 | 
			
		||||
 | 
			
		||||
@@ -312,52 +300,51 @@ msgstr "Zastoj prvog plana se menja u režimu miša dok se pokazivač ne zaustav
 | 
			
		||||
msgid "Network Login"
 | 
			
		||||
msgstr "Mrežna prijava"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:117
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Došlo je do greške pri učitavanju prozorčeta postavki za „%s“:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:149
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
msgstr "Proširenja Gnomove školjke"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
 | 
			
		||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
 | 
			
		||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
 | 
			
		||||
#: ../js/ui/status/network.js:916
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Otkaži"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
 | 
			
		||||
#: ../js/gdm/authPrompt.js:448
 | 
			
		||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
 | 
			
		||||
#: ../js/gdm/authPrompt.js:447
 | 
			
		||||
msgid "Next"
 | 
			
		||||
msgstr "Dalje"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
 | 
			
		||||
#: ../js/ui/unlockDialog.js:59
 | 
			
		||||
msgid "Unlock"
 | 
			
		||||
msgstr "Otključaj"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/authPrompt.js:214
 | 
			
		||||
#: ../js/gdm/authPrompt.js:213
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Prijavi me"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:285
 | 
			
		||||
#: ../js/gdm/loginDialog.js:281
 | 
			
		||||
msgid "Choose Session"
 | 
			
		||||
msgstr "Izaberi sesiju"
 | 
			
		||||
 | 
			
		||||
#. 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:435
 | 
			
		||||
#: ../js/gdm/loginDialog.js:431
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Nije na spisku?"
 | 
			
		||||
 | 
			
		||||
#. 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:854
 | 
			
		||||
#: ../js/gdm/loginDialog.js:850
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "(e.g., user or %s)"
 | 
			
		||||
msgstr "(npr., korisnik ili %s)"
 | 
			
		||||
@@ -365,12 +352,12 @@ msgstr "(npr., korisnik ili %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:859 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
 | 
			
		||||
#: ../js/ui/components/networkAgent.js:289
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Korisničko ime: "
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1196
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1184
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Prozor za prijavljivanje"
 | 
			
		||||
 | 
			
		||||
@@ -506,36 +493,16 @@ msgstr "Dodaj u omiljene"
 | 
			
		||||
msgid "Show Details"
 | 
			
		||||
msgstr "Prikaži detalje"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:134
 | 
			
		||||
#: ../js/ui/appFavorites.js:132
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been added to your favorites."
 | 
			
		||||
msgstr "„%s“ je dodat među omiljene."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/appFavorites.js:168
 | 
			
		||||
#: ../js/ui/appFavorites.js:166
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "„%s“ je uklonjen iz omiljenih."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:59
 | 
			
		||||
msgid "Select Audio Device"
 | 
			
		||||
msgstr "Izaberite zvučni uređaj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:69
 | 
			
		||||
msgid "Sound Settings"
 | 
			
		||||
msgstr "Podešavanja zvuka"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:78
 | 
			
		||||
msgid "Headphones"
 | 
			
		||||
msgstr "Slušalice"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:80
 | 
			
		||||
msgid "Headset"
 | 
			
		||||
msgstr "Slušalice sa mikrofonom"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:19
 | 
			
		||||
msgid "Change Background…"
 | 
			
		||||
msgstr "Izmeni pozadinu…"
 | 
			
		||||
@@ -544,12 +511,13 @@ msgstr "Izmeni pozadinu…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Podešavanja prikaza"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Podešavanja"
 | 
			
		||||
 | 
			
		||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
 | 
			
		||||
#: ../js/ui/calendar.js:47
 | 
			
		||||
#: ../js/ui/calendar.js:55
 | 
			
		||||
msgctxt "calendar-no-work"
 | 
			
		||||
msgid "06"
 | 
			
		||||
msgstr "06"
 | 
			
		||||
@@ -559,96 +527,94 @@ msgstr "06"
 | 
			
		||||
#. * NOTE: These grid abbreviations are always shown together
 | 
			
		||||
#. * and in order, e.g. "S M T W T F S".
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/calendar.js:76
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
msgctxt "grid sunday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "N"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Monday
 | 
			
		||||
#: ../js/ui/calendar.js:78
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
msgctxt "grid monday"
 | 
			
		||||
msgid "M"
 | 
			
		||||
msgstr "P"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Tuesday
 | 
			
		||||
#: ../js/ui/calendar.js:80
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
msgctxt "grid tuesday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "U"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Wednesday
 | 
			
		||||
#: ../js/ui/calendar.js:82
 | 
			
		||||
#: ../js/ui/calendar.js:90
 | 
			
		||||
msgctxt "grid wednesday"
 | 
			
		||||
msgid "W"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Thursday
 | 
			
		||||
#: ../js/ui/calendar.js:84
 | 
			
		||||
#: ../js/ui/calendar.js:92
 | 
			
		||||
msgctxt "grid thursday"
 | 
			
		||||
msgid "T"
 | 
			
		||||
msgstr "Č"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Friday
 | 
			
		||||
#: ../js/ui/calendar.js:86
 | 
			
		||||
#: ../js/ui/calendar.js:94
 | 
			
		||||
msgctxt "grid friday"
 | 
			
		||||
msgid "F"
 | 
			
		||||
msgstr "P"
 | 
			
		||||
 | 
			
		||||
#. Translators: Calendar grid abbreviation for Saturday
 | 
			
		||||
#: ../js/ui/calendar.js:88
 | 
			
		||||
#: ../js/ui/calendar.js:96
 | 
			
		||||
msgctxt "grid saturday"
 | 
			
		||||
msgid "S"
 | 
			
		||||
msgstr "S"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:416
 | 
			
		||||
#: ../js/ui/calendar.js:566
 | 
			
		||||
msgid "Previous month"
 | 
			
		||||
msgstr "Prethodni mesec"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:426
 | 
			
		||||
#: ../js/ui/calendar.js:576
 | 
			
		||||
msgid "Next month"
 | 
			
		||||
msgstr "Sledeći mesec"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:579
 | 
			
		||||
#, no-javascript-format
 | 
			
		||||
msgctxt "date day number format"
 | 
			
		||||
msgid "%d"
 | 
			
		||||
msgstr "%d"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:634
 | 
			
		||||
#: ../js/ui/calendar.js:783
 | 
			
		||||
msgid "Week %V"
 | 
			
		||||
msgstr "Sedmica %V"
 | 
			
		||||
 | 
			
		||||
#. 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:695
 | 
			
		||||
#: ../js/ui/calendar.js:1188
 | 
			
		||||
msgctxt "event list time"
 | 
			
		||||
msgid "All Day"
 | 
			
		||||
msgstr "Ceo dan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:821
 | 
			
		||||
#: ../js/ui/calendar.js:1291
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Očisti odeljak"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1518
 | 
			
		||||
msgid "Events"
 | 
			
		||||
msgstr "Događaji"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:830
 | 
			
		||||
#: ../js/ui/calendar.js:1527
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d"
 | 
			
		||||
msgstr "%A, %d. %B"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:834
 | 
			
		||||
#: ../js/ui/calendar.js:1531
 | 
			
		||||
msgctxt "calendar heading"
 | 
			
		||||
msgid "%A, %B %d, %Y"
 | 
			
		||||
msgstr "%A, %d. %B %Y."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:919
 | 
			
		||||
#: ../js/ui/calendar.js:1616
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Obaveštenja"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1070
 | 
			
		||||
#: ../js/ui/calendar.js:1767
 | 
			
		||||
msgid "No Notifications"
 | 
			
		||||
msgstr "Bez obaveštenja"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1073
 | 
			
		||||
#: ../js/ui/calendar.js:1770
 | 
			
		||||
msgid "No Events"
 | 
			
		||||
msgstr "Bez događaja"
 | 
			
		||||
 | 
			
		||||
@@ -660,7 +626,7 @@ msgstr "Spoljni uređaj je priključen"
 | 
			
		||||
msgid "External drive disconnected"
 | 
			
		||||
msgstr "Spoljni uređaj je isključen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:355
 | 
			
		||||
#: ../js/ui/components/autorunManager.js:354
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Otvori programom %s"
 | 
			
		||||
@@ -982,11 +948,11 @@ msgid "Keyboard"
 | 
			
		||||
msgstr "Tastatura"
 | 
			
		||||
 | 
			
		||||
#. translators: 'Hide' is a verb
 | 
			
		||||
#: ../js/ui/legacyTray.js:65
 | 
			
		||||
#: ../js/ui/legacyTray.js:66
 | 
			
		||||
msgid "Hide tray"
 | 
			
		||||
msgstr "Sakrij kasetu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/legacyTray.js:106
 | 
			
		||||
#: ../js/ui/legacyTray.js:107
 | 
			
		||||
msgid "Status Icons"
 | 
			
		||||
msgstr "Ikonice stanja"
 | 
			
		||||
 | 
			
		||||
@@ -1014,7 +980,7 @@ msgstr "Uključeno"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
 | 
			
		||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Isključeno"
 | 
			
		||||
 | 
			
		||||
@@ -1038,26 +1004,10 @@ msgstr "Prikaži kod"
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Veb stranica"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageList.js:543
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Očisti odeljak"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Podaci o sistemu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:194
 | 
			
		||||
msgid "Unknown artist"
 | 
			
		||||
msgstr "Nepoznat izvođač"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:195
 | 
			
		||||
msgid "Unknown title"
 | 
			
		||||
msgstr "Nepoznat naslov"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/mpris.js:217
 | 
			
		||||
msgid "Media"
 | 
			
		||||
msgstr "Mediji"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:84
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
msgstr "Opozovi"
 | 
			
		||||
@@ -1074,22 +1024,17 @@ msgstr "Pregled"
 | 
			
		||||
msgid "Type to search…"
 | 
			
		||||
msgstr "Upišite tekst za pretragu…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:358
 | 
			
		||||
#: ../js/ui/panel.js:352
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Izađi"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:414
 | 
			
		||||
#: ../js/ui/panel.js:404
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Aktivnosti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:695
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Sistem"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:807
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Gornja traka"
 | 
			
		||||
 | 
			
		||||
@@ -1102,15 +1047,15 @@ msgstr "Gornja traka"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:71
 | 
			
		||||
#: ../js/ui/runDialog.js:70
 | 
			
		||||
msgid "Enter a Command"
 | 
			
		||||
msgstr "Unesite naredbu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
 | 
			
		||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
 | 
			
		||||
msgid "Close"
 | 
			
		||||
msgstr "Zatvori"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:282
 | 
			
		||||
#: ../js/ui/runDialog.js:281
 | 
			
		||||
msgid "Restarting…"
 | 
			
		||||
msgstr "Ponovno pokrećem…"
 | 
			
		||||
 | 
			
		||||
@@ -1237,16 +1182,19 @@ msgstr "Veliki kontrast"
 | 
			
		||||
msgid "Large Text"
 | 
			
		||||
msgstr "Veliki tekst"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:47
 | 
			
		||||
msgid "Bluetooth"
 | 
			
		||||
msgstr "Blutut"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Isključi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:56
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:54
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
msgstr "Podešavanja Blututa"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the number of connected bluetooth devices
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:136
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:105
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d Connected"
 | 
			
		||||
msgid_plural "%d Connected"
 | 
			
		||||
@@ -1255,25 +1203,10 @@ msgstr[1] "%d povezana"
 | 
			
		||||
msgstr[2] "%d povezano"
 | 
			
		||||
msgstr[3] "%d povezan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:138
 | 
			
		||||
msgid "Off"
 | 
			
		||||
msgstr "Isklj."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:140
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:107
 | 
			
		||||
msgid "Not In Use"
 | 
			
		||||
msgstr "Nije u upotrebi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Uključi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
 | 
			
		||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
 | 
			
		||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
 | 
			
		||||
#: ../js/ui/status/rfkill.js:117
 | 
			
		||||
msgid "Turn Off"
 | 
			
		||||
msgstr "Isključi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/brightness.js:44
 | 
			
		||||
msgid "Brightness"
 | 
			
		||||
msgstr "Osvetljenost"
 | 
			
		||||
@@ -1282,50 +1215,30 @@ msgstr "Osvetljenost"
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Pokaži raspored tastature"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
 | 
			
		||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
 | 
			
		||||
msgid "Location Enabled"
 | 
			
		||||
msgstr "Određivanje mesta uključeno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
 | 
			
		||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
 | 
			
		||||
msgid "Disable"
 | 
			
		||||
msgstr "Isključi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:109
 | 
			
		||||
#: ../js/ui/status/location.js:73
 | 
			
		||||
msgid "Privacy Settings"
 | 
			
		||||
msgstr "Podešavanja privatnosti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:214
 | 
			
		||||
#: ../js/ui/status/location.js:176
 | 
			
		||||
msgid "Location In Use"
 | 
			
		||||
msgstr "Određivanje mesta se koristi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:218
 | 
			
		||||
#: ../js/ui/status/location.js:180
 | 
			
		||||
msgid "Location Disabled"
 | 
			
		||||
msgstr "Određivanje mesta isključeno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:219
 | 
			
		||||
#: ../js/ui/status/location.js:181
 | 
			
		||||
msgid "Enable"
 | 
			
		||||
msgstr "Uključi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:426
 | 
			
		||||
msgid "Deny Access"
 | 
			
		||||
msgstr "Zabrani pristup"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:429
 | 
			
		||||
msgid "Grant Access"
 | 
			
		||||
msgstr "Dozvoli pristup"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is an application name
 | 
			
		||||
#: ../js/ui/status/location.js:435
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "Give %s access to your location?"
 | 
			
		||||
msgstr "Da li da „%s“ dam pristup vašem mestu?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/location.js:437
 | 
			
		||||
msgid "Location access can be changed at any time from the privacy settings."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Pristup mestu možete da izmenite u bilo koje vreme u podešavanjima "
 | 
			
		||||
"privatnosti."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:101
 | 
			
		||||
msgid "<unknown>"
 | 
			
		||||
msgstr "<nepoznato>"
 | 
			
		||||
@@ -1461,6 +1374,10 @@ msgstr "Izaberi mrežu"
 | 
			
		||||
msgid "Wi-Fi Settings"
 | 
			
		||||
msgstr "Podešavanja bežične veze"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1279
 | 
			
		||||
msgid "Turn On"
 | 
			
		||||
msgstr "Uključi"
 | 
			
		||||
 | 
			
		||||
#. Translators: %s is a network identifier
 | 
			
		||||
#: ../js/ui/status/network.js:1296
 | 
			
		||||
#, javascript-format
 | 
			
		||||
@@ -1510,36 +1427,31 @@ msgstr "Povezivanje nije uspelo"
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Aktiviranje mrežne veze nije uspelo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:61
 | 
			
		||||
#: ../js/ui/status/power.js:49
 | 
			
		||||
msgid "Power Settings"
 | 
			
		||||
msgstr "Podešavanja napajanja"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:77
 | 
			
		||||
#: ../js/ui/status/power.js:65
 | 
			
		||||
msgid "Fully Charged"
 | 
			
		||||
msgstr "Potpuno puna"
 | 
			
		||||
 | 
			
		||||
#. 0 is reported when UPower does not have enough data
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
 | 
			
		||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
 | 
			
		||||
msgid "Estimating…"
 | 
			
		||||
msgstr "Približno…"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:98
 | 
			
		||||
#: ../js/ui/status/power.js:86
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Remaining (%d %%)"
 | 
			
		||||
msgstr "Preostalo vreme %d:%02d (%d %%)"
 | 
			
		||||
msgid "%d∶%02d Remaining (%d%%)"
 | 
			
		||||
msgstr "Preostaje %d:%02d (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
#: ../js/ui/status/power.js:91
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d∶%02d Until Full (%d %%)"
 | 
			
		||||
msgstr "%d:%02d do kraja punjenja (%d %%)"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "%d %%"
 | 
			
		||||
msgstr "%d %%"
 | 
			
		||||
msgid "%d∶%02d Until Full (%d%%)"
 | 
			
		||||
msgstr "%d:%02d do kraja punjenja (%d%%)"
 | 
			
		||||
 | 
			
		||||
#. The menu only appears when airplane mode is on, so just
 | 
			
		||||
#. statically build it as if it was on, rather than dynamically
 | 
			
		||||
@@ -1580,9 +1492,13 @@ msgstr "Promena jačine zvuka"
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Jačina zvuka"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:213
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
msgstr "Mikrofon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:67
 | 
			
		||||
msgid "Log in as another user"
 | 
			
		||||
msgstr "Prijavite se kao drugi korisnik"
 | 
			
		||||
msgstr "Prijavite se kao drugi korsnik"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/unlockDialog.js:84
 | 
			
		||||
msgid "Unlock Window"
 | 
			
		||||
@@ -1702,7 +1618,7 @@ msgstr "Kalendar Evolucije"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1835
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1837
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Output"
 | 
			
		||||
msgid_plural "%u Outputs"
 | 
			
		||||
@@ -1713,7 +1629,7 @@ msgstr[3] "%u izlaz"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound inputs on a particular device
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1845
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:1847
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%u Input"
 | 
			
		||||
msgid_plural "%u Inputs"
 | 
			
		||||
@@ -1722,53 +1638,50 @@ msgstr[1] "%u ulaza"
 | 
			
		||||
msgstr[2] "%u ulaza"
 | 
			
		||||
msgstr[3] "%u ulaz"
 | 
			
		||||
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2371
 | 
			
		||||
#: ../src/gvc/gvc-mixer-control.c:2373
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Sistemski zvuci"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Ispisuje izdanje"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Koji režim koristi GDM za ekran prijavljivanja"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Koristi naročit režim, npr. „gdm“ za ekran prijavljivanja"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Ispisuje moguće režime"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:246
 | 
			
		||||
#: ../src/shell-app.c:239
 | 
			
		||||
msgctxt "program"
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Nepoznat"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:487
 | 
			
		||||
#: ../src/shell-app.c:480
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch “%s”"
 | 
			
		||||
msgstr "Nisam uspeo da pokrenem „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:730
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:742
 | 
			
		||||
msgid "Passwords do not match."
 | 
			
		||||
msgstr "Lozinke se ne podudaraju."
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:738
 | 
			
		||||
#: ../src/shell-keyring-prompt.c:750
 | 
			
		||||
msgid "Password cannot be blank"
 | 
			
		||||
msgstr "Lozinka ne može biti prazna"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:353
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:346
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
msgstr "Korisnik je odbacio prozorče za potvrđivanje identiteta"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s is requesting access to your location."
 | 
			
		||||
#~ msgstr "„%s“ zahteva pristup vašem mestu."
 | 
			
		||||
 | 
			
		||||
#~ msgid "GNOME Shell (wayland compositor)"
 | 
			
		||||
#~ msgstr "Gnomova školjka (vajland sastavljač)"
 | 
			
		||||
#~ msgid "Bluetooth"
 | 
			
		||||
#~ msgstr "Blutut"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d Connected Device"
 | 
			
		||||
#~ msgid_plural "%d Connected Devices"
 | 
			
		||||
@@ -1777,6 +1690,9 @@ msgstr "Korisnik je odbacio prozorče za potvrđivanje identiteta"
 | 
			
		||||
#~ msgstr[2] "%d priključenih uređaja"
 | 
			
		||||
#~ msgstr[3] "%d priključeni uređaj"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Off"
 | 
			
		||||
#~ msgstr "Isklj."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Authentication required"
 | 
			
		||||
#~ msgstr "Potrebno je potvrđivanje identiteta"
 | 
			
		||||
 | 
			
		||||
@@ -1982,6 +1898,9 @@ msgstr "Korisnik je odbacio prozorče za potvrđivanje identiteta"
 | 
			
		||||
#~ msgid "View account"
 | 
			
		||||
#~ msgstr "Vidi nalog"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Unknown reason"
 | 
			
		||||
#~ msgstr "Nepoznat razlog"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Open Calendar"
 | 
			
		||||
#~ msgstr "Otvori kalendar"
 | 
			
		||||
 | 
			
		||||
@@ -2083,6 +2002,9 @@ msgstr "Korisnik je odbacio prozorče za potvrđivanje identiteta"
 | 
			
		||||
#~ msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
#~ msgstr "Uređaj „%s“ želi pristup usluzi „%s“"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Always grant access"
 | 
			
		||||
#~ msgstr "Uvek dozvoli pristup"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Grant this time only"
 | 
			
		||||
#~ msgstr "Odobri samo ovaj put"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								po/vi.po
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								po/vi.po
									
									
									
									
									
								
							@@ -11,8 +11,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-28 22:53+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-10-01 07:15+0700\n"
 | 
			
		||||
"POT-Creation-Date: 2015-09-23 22:01+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2015-09-24 15:14+0700\n"
 | 
			
		||||
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 | 
			
		||||
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
 | 
			
		||||
"Language: vi\n"
 | 
			
		||||
@@ -135,7 +135,7 @@ msgstr "Hộp thoại lịch sử lệnh (Alt-F2)"
 | 
			
		||||
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
 | 
			
		||||
msgid "History for the looking glass dialog"
 | 
			
		||||
msgstr "Lịch sử hộp thoại kính tìm kiếm"
 | 
			
		||||
msgstr "Lịch sử hộp thoại looking glass"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
 | 
			
		||||
msgid "Always show the 'Log out' menu item in the user menu."
 | 
			
		||||
@@ -191,7 +191,7 @@ msgstr "Phím hiện “Ứng dụng”"
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
 | 
			
		||||
msgid ""
 | 
			
		||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
 | 
			
		||||
msgstr "Phím hiện “Ứng dụng” trong “Tổng quan hoạt động”."
 | 
			
		||||
msgstr "Phím hiện “Ứng dụng” trong tổng quan “Hoạt động”."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
 | 
			
		||||
msgid "Keybinding to open the overview"
 | 
			
		||||
@@ -298,7 +298,7 @@ msgstr "Đăng nhập mạng"
 | 
			
		||||
#: ../js/extensionPrefs/main.js:122
 | 
			
		||||
#, javascript-format
 | 
			
		||||
msgid "There was an error loading the preferences dialog for %s:"
 | 
			
		||||
msgstr "Có lỗi khi đang tải hộp thoại tùy thích cho %s:"
 | 
			
		||||
msgstr "Có lỗi khi đang nạp hộp thoại tùy thích cho %s:"
 | 
			
		||||
 | 
			
		||||
#: ../js/extensionPrefs/main.js:154
 | 
			
		||||
msgid "GNOME Shell Extensions"
 | 
			
		||||
@@ -506,7 +506,8 @@ msgstr "Đổi ảnh nền…"
 | 
			
		||||
msgid "Display Settings"
 | 
			
		||||
msgstr "Cài đặt hiển thị"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
 | 
			
		||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
 | 
			
		||||
#: ../js/ui/status/system.js:366
 | 
			
		||||
msgid "Settings"
 | 
			
		||||
msgstr "Cài đặt"
 | 
			
		||||
 | 
			
		||||
@@ -584,7 +585,7 @@ msgstr "Cả ngày"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1295
 | 
			
		||||
msgid "Clear section"
 | 
			
		||||
msgstr "Xóa một phần"
 | 
			
		||||
msgstr "Xóa phần"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:1522
 | 
			
		||||
msgid "Events"
 | 
			
		||||
@@ -833,7 +834,7 @@ msgstr[0] "Hệ thống sẽ tự động tắt sau %d giây."
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:91
 | 
			
		||||
msgctxt "checkbox"
 | 
			
		||||
msgid "Install pending software updates"
 | 
			
		||||
msgstr "Cài đặt các cập nhật phần mềm còn treo"
 | 
			
		||||
msgstr "Nâng cấp phần mềm còn treo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:94 ../js/ui/endSessionDialog.js:111
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
@@ -978,7 +979,7 @@ msgstr "Xem mã nguồn"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:758
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Trang thông tin điện tử"
 | 
			
		||||
msgstr "Trang Web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1486
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
@@ -1010,11 +1011,6 @@ msgstr "Thoát"
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Hoạt động"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:650
 | 
			
		||||
msgctxt "System menu in the top bar"
 | 
			
		||||
msgid "System"
 | 
			
		||||
msgstr "Hệ thống"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:754
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Thanh đỉnh"
 | 
			
		||||
@@ -1079,7 +1075,7 @@ msgstr "Không thể khóa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
 | 
			
		||||
msgid "Lock was blocked by an application"
 | 
			
		||||
msgstr "Việc khóa bị ngăn cản bởi một ứng dụng"
 | 
			
		||||
msgstr "Một ứng dụng đã ngăn cản khóa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/search.js:617
 | 
			
		||||
msgid "Searching…"
 | 
			
		||||
@@ -1087,7 +1083,7 @@ msgstr "Đang tìm…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/search.js:619
 | 
			
		||||
msgid "No results."
 | 
			
		||||
msgstr "Không tìm thấy kết quả nào."
 | 
			
		||||
msgstr "Không có kết quả."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:25
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
@@ -1569,19 +1565,19 @@ msgstr "Chuyển sang không gian làm việc Dưới"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:136
 | 
			
		||||
msgid "Move to Monitor Up"
 | 
			
		||||
msgstr "Chuyển sang màn hình Trên"
 | 
			
		||||
msgstr "Chuyển sang Màn hình Trên"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:142
 | 
			
		||||
msgid "Move to Monitor Down"
 | 
			
		||||
msgstr "Chuyển sang màn hình Dưới"
 | 
			
		||||
msgstr "Chuyển sang Màn hình Dưới"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:148
 | 
			
		||||
msgid "Move to Monitor Left"
 | 
			
		||||
msgstr "Chuyển sang màn hình Trái"
 | 
			
		||||
msgstr "Chuyển sang Màn hình Trái"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowMenu.js:154
 | 
			
		||||
msgid "Move to Monitor Right"
 | 
			
		||||
msgstr "Chuyển sang màn hình Phải"
 | 
			
		||||
msgstr "Chuyển sang Màn hình Phải"
 | 
			
		||||
 | 
			
		||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
 | 
			
		||||
msgid "Evolution Calendar"
 | 
			
		||||
@@ -1607,19 +1603,19 @@ msgstr[0] "%u đầu vào"
 | 
			
		||||
msgid "System Sounds"
 | 
			
		||||
msgstr "Âm thanh hệ thống"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:381
 | 
			
		||||
#: ../src/main.c:373
 | 
			
		||||
msgid "Print version"
 | 
			
		||||
msgstr "Hiển thị phiên bản"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:387
 | 
			
		||||
#: ../src/main.c:379
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Chế độ được dùng bởi GDM cho màn hình đăng nhập"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:393
 | 
			
		||||
#: ../src/main.c:385
 | 
			
		||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
 | 
			
		||||
msgstr "Dùng chế độ đặc biệt, ví dụ “gdm” cho màn hình đăng nhập"
 | 
			
		||||
 | 
			
		||||
#: ../src/main.c:399
 | 
			
		||||
#: ../src/main.c:391
 | 
			
		||||
msgid "List possible modes"
 | 
			
		||||
msgstr "Danh sách chế độ có thể"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										786
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
							
						
						
									
										786
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										505
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						
									
										505
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -41,6 +41,8 @@
 | 
			
		||||
#define N_(x) x
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define CALENDAR_SOURCES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesPrivate))
 | 
			
		||||
 | 
			
		||||
typedef struct _ClientData ClientData;
 | 
			
		||||
typedef struct _CalendarSourceData CalendarSourceData;
 | 
			
		||||
 | 
			
		||||
@@ -64,14 +66,6 @@ struct _CalendarSourceData
 | 
			
		||||
  guint            loaded : 1;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
 | 
			
		||||
 | 
			
		||||
struct _CalendarSources
 | 
			
		||||
{
 | 
			
		||||
  GObject                 parent;
 | 
			
		||||
  CalendarSourcesPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _CalendarSourcesPrivate
 | 
			
		||||
{
 | 
			
		||||
  ESourceRegistry    *registry;
 | 
			
		||||
@@ -83,8 +77,8 @@ struct _CalendarSourcesPrivate
 | 
			
		||||
  CalendarSourceData  task_sources;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE_WITH_PRIVATE (CalendarSources, calendar_sources, G_TYPE_OBJECT)
 | 
			
		||||
 | 
			
		||||
static void calendar_sources_class_init (CalendarSourcesClass *klass);
 | 
			
		||||
static void calendar_sources_init       (CalendarSources      *sources);
 | 
			
		||||
static void calendar_sources_finalize   (GObject             *object);
 | 
			
		||||
 | 
			
		||||
static void backend_died_cb (EClient *client, CalendarSourceData *source_data);
 | 
			
		||||
@@ -114,6 +108,34 @@ client_data_free (ClientData *data)
 | 
			
		||||
  g_slice_free (ClientData, data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
GType
 | 
			
		||||
calendar_sources_get_type (void)
 | 
			
		||||
{
 | 
			
		||||
  static GType sources_type = 0;
 | 
			
		||||
  
 | 
			
		||||
  if (!sources_type)
 | 
			
		||||
    {
 | 
			
		||||
      static const GTypeInfo sources_info =
 | 
			
		||||
      {
 | 
			
		||||
	sizeof (CalendarSourcesClass),
 | 
			
		||||
	NULL,		/* base_init */
 | 
			
		||||
	NULL,		/* base_finalize */
 | 
			
		||||
	(GClassInitFunc) calendar_sources_class_init,
 | 
			
		||||
	NULL,           /* class_finalize */
 | 
			
		||||
	NULL,		/* class_data */
 | 
			
		||||
	sizeof (CalendarSources),
 | 
			
		||||
	0,		/* n_preallocs */
 | 
			
		||||
	(GInstanceInitFunc) calendar_sources_init,
 | 
			
		||||
      };
 | 
			
		||||
      
 | 
			
		||||
      sources_type = g_type_register_static (G_TYPE_OBJECT,
 | 
			
		||||
					     "CalendarSources",
 | 
			
		||||
					     &sources_info, 0);
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
  return sources_type;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
calendar_sources_class_init (CalendarSourcesClass *klass)
 | 
			
		||||
{
 | 
			
		||||
@@ -123,11 +145,14 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
 | 
			
		||||
 | 
			
		||||
  gobject_class->finalize = calendar_sources_finalize;
 | 
			
		||||
 | 
			
		||||
  g_type_class_add_private (klass, sizeof (CalendarSourcesPrivate));
 | 
			
		||||
 | 
			
		||||
  signals [APPOINTMENT_SOURCES_CHANGED] =
 | 
			
		||||
    g_signal_new ("appointment-sources-changed",
 | 
			
		||||
		  G_TYPE_FROM_CLASS (gobject_class),
 | 
			
		||||
		  G_SIGNAL_RUN_LAST,
 | 
			
		||||
		  0,
 | 
			
		||||
		  G_STRUCT_OFFSET (CalendarSourcesClass,
 | 
			
		||||
				   appointment_sources_changed),
 | 
			
		||||
		  NULL,
 | 
			
		||||
		  NULL,
 | 
			
		||||
                  NULL,
 | 
			
		||||
@@ -138,7 +163,8 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
 | 
			
		||||
    g_signal_new ("task-sources-changed",
 | 
			
		||||
		  G_TYPE_FROM_CLASS (gobject_class),
 | 
			
		||||
		  G_SIGNAL_RUN_LAST,
 | 
			
		||||
		  0,
 | 
			
		||||
		  G_STRUCT_OFFSET (CalendarSourcesClass,
 | 
			
		||||
				   task_sources_changed),
 | 
			
		||||
		  NULL,
 | 
			
		||||
		  NULL,
 | 
			
		||||
                  NULL,
 | 
			
		||||
@@ -153,7 +179,7 @@ calendar_sources_init (CalendarSources *sources)
 | 
			
		||||
  GDBusConnection *session_bus;
 | 
			
		||||
  GVariant *result;
 | 
			
		||||
 | 
			
		||||
  sources->priv = calendar_sources_get_instance_private (sources);
 | 
			
		||||
  sources->priv = CALENDAR_SOURCES_GET_PRIVATE (sources);
 | 
			
		||||
 | 
			
		||||
  /* WORKAROUND: the hardcoded timeout for e_source_registry_new_sync()
 | 
			
		||||
     (and other library calls that eventually call g_dbus_proxy_new[_sync]())
 | 
			
		||||
 
 | 
			
		||||
@@ -28,10 +28,33 @@
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
 | 
			
		||||
G_DECLARE_FINAL_TYPE (CalendarSources, calendar_sources,
 | 
			
		||||
                      CALENDAR, SOURCES, GObject)
 | 
			
		||||
#define CALENDAR_TYPE_SOURCES        (calendar_sources_get_type ())
 | 
			
		||||
#define CALENDAR_SOURCES(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), CALENDAR_TYPE_SOURCES, CalendarSources))
 | 
			
		||||
#define CALENDAR_SOURCES_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST ((k), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
 | 
			
		||||
#define CALENDAR_IS_SOURCES(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), CALENDAR_TYPE_SOURCES))
 | 
			
		||||
#define CALENDAR_IS_SOURCES_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CALENDAR_TYPE_SOURCES))
 | 
			
		||||
#define CALENDAR_SOURCES_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _CalendarSources        CalendarSources;
 | 
			
		||||
typedef struct _CalendarSourcesClass   CalendarSourcesClass;
 | 
			
		||||
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
 | 
			
		||||
 | 
			
		||||
struct _CalendarSources
 | 
			
		||||
{
 | 
			
		||||
  GObject                 parent;
 | 
			
		||||
  CalendarSourcesPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _CalendarSourcesClass
 | 
			
		||||
{
 | 
			
		||||
  GObjectClass    parent_class;
 | 
			
		||||
 | 
			
		||||
  void         (* appointment_sources_changed) (CalendarSources *sources);
 | 
			
		||||
  void         (* task_sources_changed)        (CalendarSources *sources);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
GType            calendar_sources_get_type                (void) G_GNUC_CONST;
 | 
			
		||||
CalendarSources *calendar_sources_get                     (void);
 | 
			
		||||
GList           *calendar_sources_get_appointment_clients (CalendarSources *sources);
 | 
			
		||||
GList           *calendar_sources_get_task_clients        (CalendarSources *sources);
 | 
			
		||||
 
 | 
			
		||||
@@ -45,8 +45,8 @@ static void gnome_shell_plugin_unminimize       (MetaPlugin          *plugin,
 | 
			
		||||
static void gnome_shell_plugin_size_change      (MetaPlugin          *plugin,
 | 
			
		||||
                                                 MetaWindowActor     *actor,
 | 
			
		||||
                                                 MetaSizeChange       which_change,
 | 
			
		||||
                                                 MetaRectangle       *old_frame_rect,
 | 
			
		||||
                                                 MetaRectangle       *old_buffer_rect);
 | 
			
		||||
                                                 MetaRectangle       *old_rect,
 | 
			
		||||
                                                 MetaRectangle       *new_rect);
 | 
			
		||||
static void gnome_shell_plugin_map              (MetaPlugin          *plugin,
 | 
			
		||||
                                                 MetaWindowActor     *actor);
 | 
			
		||||
static void gnome_shell_plugin_destroy          (MetaPlugin          *plugin,
 | 
			
		||||
 
 | 
			
		||||
@@ -139,7 +139,7 @@ gtk_action_muxer_list_actions (GActionGroup *action_group)
 | 
			
		||||
                            actions);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  return (gchar **)(void *) g_array_free (actions, FALSE);
 | 
			
		||||
  return (gchar **) g_array_free (actions, FALSE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Group *
 | 
			
		||||
 
 | 
			
		||||
@@ -43,6 +43,8 @@
 | 
			
		||||
#define DIRECTORY_LOAD_ITEMS_PER_CALLBACK 100
 | 
			
		||||
#define HIGH_SCORE_RATIO 0.10
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
  PROP_FILE = 1,
 | 
			
		||||
  NUM_PROPERTIES
 | 
			
		||||
@@ -70,26 +72,16 @@ typedef struct {
 | 
			
		||||
  gint total_items;
 | 
			
		||||
} DeepCountState;
 | 
			
		||||
 | 
			
		||||
typedef struct _ShellMimeSnifferPrivate   ShellMimeSnifferPrivate;
 | 
			
		||||
 | 
			
		||||
struct _ShellMimeSniffer
 | 
			
		||||
{
 | 
			
		||||
  GObject parent_instance;
 | 
			
		||||
 | 
			
		||||
  ShellMimeSnifferPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _ShellMimeSnifferPrivate {
 | 
			
		||||
  GFile *file;
 | 
			
		||||
 | 
			
		||||
  GCancellable *cancellable;
 | 
			
		||||
  guint watchdog_id;
 | 
			
		||||
 | 
			
		||||
  GTask *task;
 | 
			
		||||
  GSimpleAsyncResult *async_result;
 | 
			
		||||
  gchar **sniffed_mime;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
 | 
			
		||||
 | 
			
		||||
static void deep_count_load (DeepCountState *state,
 | 
			
		||||
                             GFile *file);
 | 
			
		||||
 | 
			
		||||
@@ -187,7 +179,6 @@ prepare_async_result (DeepCountState *state)
 | 
			
		||||
  GArray *results;
 | 
			
		||||
  GPtrArray *sniffed_mime;
 | 
			
		||||
  SniffedResult result;
 | 
			
		||||
  char **mimes;
 | 
			
		||||
 | 
			
		||||
  sniffed_mime = g_ptr_array_new ();
 | 
			
		||||
  results = g_array_new (TRUE, TRUE, sizeof (SniffedResult));
 | 
			
		||||
@@ -229,10 +220,10 @@ prepare_async_result (DeepCountState *state)
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
  g_ptr_array_add (sniffed_mime, NULL);
 | 
			
		||||
  mimes = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
 | 
			
		||||
  self->priv->sniffed_mime = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
 | 
			
		||||
 | 
			
		||||
  g_array_free (results, TRUE);
 | 
			
		||||
  g_task_return_pointer (self->priv->task, mimes, (GDestroyNotify)g_strfreev);
 | 
			
		||||
  g_simple_async_result_complete_in_idle (self->priv->async_result);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* adapted from nautilus/libnautilus-private/nautilus-directory-async.c */
 | 
			
		||||
@@ -425,17 +416,20 @@ query_info_async_ready_cb (GObject *source,
 | 
			
		||||
 | 
			
		||||
  if (error != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      g_task_return_error (self->priv->task, error);
 | 
			
		||||
      g_simple_async_result_take_error (self->priv->async_result,
 | 
			
		||||
                                        error);
 | 
			
		||||
      g_simple_async_result_complete_in_idle (self->priv->async_result);
 | 
			
		||||
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  if (g_file_info_get_file_type (info) != G_FILE_TYPE_DIRECTORY)
 | 
			
		||||
    {
 | 
			
		||||
      g_task_return_new_error (self->priv->task,
 | 
			
		||||
                               G_IO_ERROR,
 | 
			
		||||
                               G_IO_ERROR_NOT_DIRECTORY,
 | 
			
		||||
                               "Not a directory");
 | 
			
		||||
      g_simple_async_result_set_error (self->priv->async_result,
 | 
			
		||||
                                       G_IO_ERROR,
 | 
			
		||||
                                       G_IO_ERROR_NOT_DIRECTORY,
 | 
			
		||||
                                       "Not a directory");
 | 
			
		||||
      g_simple_async_result_complete_in_idle (self->priv->async_result);
 | 
			
		||||
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
@@ -481,7 +475,7 @@ shell_mime_sniffer_dispose (GObject *object)
 | 
			
		||||
 | 
			
		||||
  g_clear_object (&self->priv->file);
 | 
			
		||||
  g_clear_object (&self->priv->cancellable);
 | 
			
		||||
  g_clear_object (&self->priv->task);
 | 
			
		||||
  g_clear_object (&self->priv->async_result);
 | 
			
		||||
 | 
			
		||||
  if (self->priv->watchdog_id != 0)
 | 
			
		||||
    {
 | 
			
		||||
@@ -492,6 +486,16 @@ shell_mime_sniffer_dispose (GObject *object)
 | 
			
		||||
  G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->dispose (object);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
shell_mime_sniffer_finalize (GObject *object)
 | 
			
		||||
{
 | 
			
		||||
  ShellMimeSniffer *self = SHELL_MIME_SNIFFER (object);
 | 
			
		||||
 | 
			
		||||
  g_strfreev (self->priv->sniffed_mime);
 | 
			
		||||
 | 
			
		||||
  G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->finalize (object);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
shell_mime_sniffer_get_property (GObject *object,
 | 
			
		||||
                                guint       prop_id,
 | 
			
		||||
@@ -535,6 +539,7 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
 | 
			
		||||
 | 
			
		||||
  oclass = G_OBJECT_CLASS (klass);
 | 
			
		||||
  oclass->dispose = shell_mime_sniffer_dispose;
 | 
			
		||||
  oclass->finalize = shell_mime_sniffer_finalize;
 | 
			
		||||
  oclass->get_property = shell_mime_sniffer_get_property;
 | 
			
		||||
  oclass->set_property = shell_mime_sniffer_set_property;
 | 
			
		||||
 | 
			
		||||
@@ -545,13 +550,17 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
 | 
			
		||||
                         G_TYPE_FILE,
 | 
			
		||||
                         G_PARAM_READWRITE);
 | 
			
		||||
 | 
			
		||||
  g_type_class_add_private (klass, sizeof (ShellMimeSnifferPrivate));
 | 
			
		||||
  g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
shell_mime_sniffer_init (ShellMimeSniffer *self)
 | 
			
		||||
{
 | 
			
		||||
  self->priv = shell_mime_sniffer_get_instance_private (self);
 | 
			
		||||
  self->priv =
 | 
			
		||||
    G_TYPE_INSTANCE_GET_PRIVATE (self,
 | 
			
		||||
                                 SHELL_TYPE_MIME_SNIFFER,
 | 
			
		||||
                                 ShellMimeSnifferPrivate);
 | 
			
		||||
  init_mimetypes ();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -569,11 +578,14 @@ shell_mime_sniffer_sniff_async (ShellMimeSniffer *self,
 | 
			
		||||
                                gpointer user_data)
 | 
			
		||||
{
 | 
			
		||||
  g_assert (self->priv->watchdog_id == 0);
 | 
			
		||||
  g_assert (self->priv->task == NULL);
 | 
			
		||||
  g_assert (self->priv->async_result == NULL);
 | 
			
		||||
 | 
			
		||||
  self->priv->async_result = 
 | 
			
		||||
    g_simple_async_result_new (G_OBJECT (self),
 | 
			
		||||
                               callback, user_data,
 | 
			
		||||
                               shell_mime_sniffer_sniff_finish);
 | 
			
		||||
  
 | 
			
		||||
  self->priv->cancellable = g_cancellable_new ();
 | 
			
		||||
  self->priv->task = g_task_new (self, self->priv->cancellable,
 | 
			
		||||
                                 callback, user_data);
 | 
			
		||||
 | 
			
		||||
  self->priv->watchdog_id =
 | 
			
		||||
    g_timeout_add (WATCHDOG_TIMEOUT,
 | 
			
		||||
@@ -588,5 +600,8 @@ shell_mime_sniffer_sniff_finish (ShellMimeSniffer *self,
 | 
			
		||||
                                 GAsyncResult *res,
 | 
			
		||||
                                 GError **error)
 | 
			
		||||
{
 | 
			
		||||
  return g_task_propagate_pointer (self->priv->task, error);
 | 
			
		||||
  if (g_simple_async_result_propagate_error (self->priv->async_result, error))
 | 
			
		||||
    return NULL;
 | 
			
		||||
 | 
			
		||||
  return g_strdupv (self->priv->sniffed_mime);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -27,9 +27,30 @@
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define SHELL_TYPE_MIME_SNIFFER (shell_mime_sniffer_get_type ())
 | 
			
		||||
G_DECLARE_FINAL_TYPE (ShellMimeSniffer, shell_mime_sniffer,
 | 
			
		||||
                      SHELL, MIME_SNIFFER, GObject)
 | 
			
		||||
#define SHELL_TYPE_MIME_SNIFFER            (shell_mime_sniffer_get_type ())
 | 
			
		||||
#define SHELL_MIME_SNIFFER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_MIME_SNIFFER, ShellMimeSniffer))
 | 
			
		||||
#define SHELL_IS_MIME_SNIFFER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_MIME_SNIFFER))
 | 
			
		||||
#define SHELL_MIME_SNIFFER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
 | 
			
		||||
#define SHELL_IS_MIME_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  SHELL_TYPE_MIME_SNIFFER))
 | 
			
		||||
#define SHELL_MIME_SNIFFER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
 | 
			
		||||
 | 
			
		||||
typedef struct _ShellMimeSniffer          ShellMimeSniffer;
 | 
			
		||||
typedef struct _ShellMimeSnifferPrivate   ShellMimeSnifferPrivate;
 | 
			
		||||
typedef struct _ShellMimeSnifferClass     ShellMimeSnifferClass;
 | 
			
		||||
 | 
			
		||||
struct _ShellMimeSniffer
 | 
			
		||||
{
 | 
			
		||||
  GObject parent_instance;
 | 
			
		||||
 | 
			
		||||
  ShellMimeSnifferPrivate *priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _ShellMimeSnifferClass
 | 
			
		||||
{
 | 
			
		||||
  GObjectClass parent_class;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
GType    shell_mime_sniffer_get_type     (void) G_GNUC_CONST;
 | 
			
		||||
 | 
			
		||||
ShellMimeSniffer *shell_mime_sniffer_new (GFile *file);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user