Compare commits
	
		
			192 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					b2a6286c65 | ||
| 
						 | 
					0656328beb | ||
| 
						 | 
					fdad3a7f18 | ||
| 
						 | 
					877145809a | ||
| 
						 | 
					7bd0b6de52 | ||
| 
						 | 
					aa3d8d6796 | ||
| 
						 | 
					84284c04d0 | ||
| 
						 | 
					70e5f184a8 | ||
| 
						 | 
					dca19085c0 | ||
| 
						 | 
					742a0bca52 | ||
| 
						 | 
					d606ce6776 | ||
| 
						 | 
					7ff63a26b7 | ||
| 
						 | 
					f8c980cb22 | ||
| 
						 | 
					74ed3646ad | ||
| 
						 | 
					80dfda17cd | ||
| 
						 | 
					3e98d47687 | ||
| 
						 | 
					3d3494a15b | ||
| 
						 | 
					3bf11dbd31 | ||
| 
						 | 
					626e962e03 | ||
| 
						 | 
					759de873b5 | ||
| 
						 | 
					552ae78557 | ||
| 
						 | 
					d85a16589b | ||
| 
						 | 
					136c76dcbe | ||
| 
						 | 
					2d95201af2 | ||
| 
						 | 
					039c683bac | ||
| 
						 | 
					d9ab2320d5 | ||
| 
						 | 
					fa515328eb | ||
| 
						 | 
					0cfedcaad6 | ||
| 
						 | 
					65230bfd7f | ||
| 
						 | 
					a5324462c3 | ||
| 
						 | 
					7e654ab3ca | ||
| 
						 | 
					9601908fca | ||
| 
						 | 
					ab4c160f9d | ||
| 
						 | 
					234882cbc6 | ||
| 
						 | 
					e890674e49 | ||
| 
						 | 
					cd01e2fb25 | ||
| 
						 | 
					62027beb8e | ||
| 
						 | 
					ee4d861a29 | ||
| 
						 | 
					3a3e26c1bd | ||
| 
						 | 
					bf2ad9d4e8 | ||
| 
						 | 
					b053d9c84f | ||
| 
						 | 
					4afa8bebdb | ||
| 
						 | 
					caf3d5add0 | ||
| 
						 | 
					7cf038474a | ||
| 
						 | 
					c7bcc8150c | ||
| 
						 | 
					6d58397508 | ||
| 
						 | 
					49d0fc178d | ||
| 
						 | 
					b83b8f64ff | ||
| 
						 | 
					6cc8a42720 | ||
| 
						 | 
					50a2d285eb | ||
| 
						 | 
					fdf05310e9 | ||
| 
						 | 
					7baa393b1b | ||
| 
						 | 
					113694c44b | ||
| 
						 | 
					0c2f51b27f | ||
| 
						 | 
					04cb84de2a | ||
| 
						 | 
					9475c16e80 | ||
| 
						 | 
					6f41a9e10c | ||
| 
						 | 
					be3b939a24 | ||
| 
						 | 
					04fb3a5a7c | ||
| 
						 | 
					697b6dbfff | ||
| 
						 | 
					bb4639e423 | ||
| 
						 | 
					69db63b4cd | ||
| 
						 | 
					f9d17b214e | ||
| 
						 | 
					bba5198e63 | ||
| 
						 | 
					9e2bab008a | ||
| 
						 | 
					5ea032bbf7 | ||
| 
						 | 
					897fadfb40 | ||
| 
						 | 
					b05f71eb9b | ||
| 
						 | 
					4ce0e80956 | ||
| 
						 | 
					577ccc4d56 | ||
| 
						 | 
					39d12351ba | ||
| 
						 | 
					e37bc6d7f0 | ||
| 
						 | 
					9593ff3582 | ||
| 
						 | 
					ad8dfd7b04 | ||
| 
						 | 
					ca5ab20f67 | ||
| 
						 | 
					0eab448221 | ||
| 
						 | 
					a26a77f9db | ||
| 
						 | 
					c3df6bb8bd | ||
| 
						 | 
					ce3a26cf37 | ||
| 
						 | 
					04482c23c4 | ||
| 
						 | 
					ff20fe856e | ||
| 
						 | 
					12e3921f81 | ||
| 
						 | 
					928fbee15b | ||
| 
						 | 
					a103c028f9 | ||
| 
						 | 
					775347d865 | ||
| 
						 | 
					6d0be86a4e | ||
| 
						 | 
					a4b69db8af | ||
| 
						 | 
					790b9d3371 | ||
| 
						 | 
					adef2009a5 | ||
| 
						 | 
					1721db6d8d | ||
| 
						 | 
					6d95e8b988 | ||
| 
						 | 
					b07f9932db | ||
| 
						 | 
					9439da81c4 | ||
| 
						 | 
					6257e64d03 | ||
| 
						 | 
					ba110f2d2e | ||
| 
						 | 
					6bdf621d05 | ||
| 
						 | 
					1c4db98c95 | ||
| 
						 | 
					dadac957e4 | ||
| 
						 | 
					cf3976d496 | ||
| 
						 | 
					82ed80c9c3 | ||
| 
						 | 
					67222525ad | ||
| 
						 | 
					fff0861773 | ||
| 
						 | 
					13ffe41498 | ||
| 
						 | 
					96e0528a7b | ||
| 
						 | 
					3df30fbd57 | ||
| 
						 | 
					b57d8b336b | ||
| 
						 | 
					3169b2c440 | ||
| 
						 | 
					6bc34e0f32 | ||
| 
						 | 
					cecb1a41fb | ||
| 
						 | 
					b9069df85c | ||
| 
						 | 
					aee3c6f041 | ||
| 
						 | 
					c427bba9f1 | ||
| 
						 | 
					da83ad561b | ||
| 
						 | 
					85520e34ab | ||
| 
						 | 
					d0edd970e1 | ||
| 
						 | 
					8529ca70af | ||
| 
						 | 
					1a8d78212f | ||
| 
						 | 
					4270a2806d | ||
| 
						 | 
					4333bdc709 | ||
| 
						 | 
					75b824d032 | ||
| 
						 | 
					7bc2573d85 | ||
| 
						 | 
					67b7b7a950 | ||
| 
						 | 
					786cfbd397 | ||
| 
						 | 
					9df8b583cf | ||
| 
						 | 
					8e32290dc9 | ||
| 
						 | 
					23478f3336 | ||
| 
						 | 
					2e244ecb63 | ||
| 
						 | 
					e307680206 | ||
| 
						 | 
					6bb1a3e2c4 | ||
| 
						 | 
					8a1ac6b13f | ||
| 
						 | 
					61b8af2252 | ||
| 
						 | 
					c99afed012 | ||
| 
						 | 
					2947b92148 | ||
| 
						 | 
					39c5d23a87 | ||
| 
						 | 
					d839670f54 | ||
| 
						 | 
					0d1b7e15d1 | ||
| 
						 | 
					ac678f63ee | ||
| 
						 | 
					d862c0879b | ||
| 
						 | 
					23a4d4c69e | ||
| 
						 | 
					472b20d933 | ||
| 
						 | 
					492dd718fb | ||
| 
						 | 
					0d5618fdd1 | ||
| 
						 | 
					503508af41 | ||
| 
						 | 
					4ec5e55122 | ||
| 
						 | 
					8daca865ca | ||
| 
						 | 
					f9b37a21e8 | ||
| 
						 | 
					c398f319fc | ||
| 
						 | 
					1e049f88b8 | ||
| 
						 | 
					4831d9c3a3 | ||
| 
						 | 
					f13f5bc1bb | ||
| 
						 | 
					4e114107ed | ||
| 
						 | 
					0ccb280008 | ||
| 
						 | 
					28c3e0693e | ||
| 
						 | 
					c321c8a02f | ||
| 
						 | 
					2407ec7b47 | ||
| 
						 | 
					70eeb75716 | ||
| 
						 | 
					751d250471 | ||
| 
						 | 
					c28217db80 | ||
| 
						 | 
					0968e556fa | ||
| 
						 | 
					130f2cf808 | ||
| 
						 | 
					4eec7413c7 | ||
| 
						 | 
					efc3246d26 | ||
| 
						 | 
					9930dbc0ff | ||
| 
						 | 
					754f87dac3 | ||
| 
						 | 
					51139bd096 | ||
| 
						 | 
					6e0119d620 | ||
| 
						 | 
					a3528bf973 | ||
| 
						 | 
					77c36af588 | ||
| 
						 | 
					69c0a52a33 | ||
| 
						 | 
					a7442cd0a5 | ||
| 
						 | 
					d47a013931 | ||
| 
						 | 
					745f9c0e6e | ||
| 
						 | 
					414f49fd80 | ||
| 
						 | 
					e49a595f54 | ||
| 
						 | 
					77485c2a04 | ||
| 
						 | 
					e9b28634e5 | ||
| 
						 | 
					b43dcb8876 | ||
| 
						 | 
					f0c1eeece8 | ||
| 
						 | 
					1e6b824ede | ||
| 
						 | 
					1e2d16273c | ||
| 
						 | 
					32dc24c59b | ||
| 
						 | 
					7a8a189c48 | ||
| 
						 | 
					6aa411fecc | ||
| 
						 | 
					9c76318df8 | ||
| 
						 | 
					6510904711 | ||
| 
						 | 
					a9817f4832 | ||
| 
						 | 
					9067689839 | ||
| 
						 | 
					4e9e91fdce | ||
| 
						 | 
					73cc91ba60 | ||
| 
						 | 
					0ab0d0860f | ||
| 
						 | 
					337b399a75 | ||
| 
						 | 
					46f21e81e3 | 
							
								
								
									
										117
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										117
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,120 @@
 | 
			
		||||
3.2.2.1
 | 
			
		||||
=======
 | 
			
		||||
* Fix several regressions with tray icons introduced in 3.2.2 [Owen; #664138]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
 Owen Taylor
 | 
			
		||||
 | 
			
		||||
3.2.2
 | 
			
		||||
=====
 | 
			
		||||
* Fix crash when searching in the shell caused by .desktop files
 | 
			
		||||
  without Exec= lines (commonly, nautilus-pastebin) [Ray; #663815]
 | 
			
		||||
* Message Tray:
 | 
			
		||||
 - Fix bug that would cause confusion between notifications from different
 | 
			
		||||
   services running in the gnome-settings-daemon process
 | 
			
		||||
  [Marina, Jasper; #664138]
 | 
			
		||||
 - Don't steal the focus when popping up beneath the pointer [Rui; #661358]
 | 
			
		||||
 - Only pop up the message tray from a hot corner, rather than trapping
 | 
			
		||||
   clicks on the entire bottom row. [Rui; #663366]
 | 
			
		||||
* Browser plugin and extension.gnome.org integration
 | 
			
		||||
  - Fix multiple bugs that kept the plugin from working in WebKit-based browsers
 | 
			
		||||
    [Jasper, #663823, #666444]
 | 
			
		||||
  - Fix plugin crash when the shell is installed but not running [Jürg]
 | 
			
		||||
  - Fix problem that kept plugin uninstallation from working [Jasper]
 | 
			
		||||
* gnome-shell-extension-tool
 | 
			
		||||
  - Fix error that was printed after creating an extension [Jasper; #661623]
 | 
			
		||||
  - Use xdg-open rather than the deprecated gnome-open [Jasper]
 | 
			
		||||
* Don't recreate dash icons unnecessarily - this hopefully fixes various
 | 
			
		||||
  crashes. [Owen, Giovanni; #648450]
 | 
			
		||||
* Fix several bugs that caused errors and slowdowns when updating the
 | 
			
		||||
  network menu. [Giovanni; #651378, #659277, #663278]
 | 
			
		||||
* Fix several crashers related to updating workspace thumbnails
 | 
			
		||||
  [Owen; #667652]
 | 
			
		||||
* Fix memory management error causing gnome-shell-hotplug-sniffer to crash
 | 
			
		||||
  [Owen; #667378]
 | 
			
		||||
* Fix crash and misdrawing with shadowed elements [Owen; #668048, #668050]
 | 
			
		||||
* Fix several small memory leaks. [Jasper, Florian]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
 Jürg Billeter, Rui Matos, Florian Müllner, Jasper St. Pierre, Ray Strode,
 | 
			
		||||
 Owen Taylor, Marina Zhurakhinskaya
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
 Alexander Shopov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
 | 
			
		||||
 Marek Černocký [cz], Kris Thomsen [dk], Bruce Cowan [en_GB],
 | 
			
		||||
 Kristjan Schmidt [eo], Daniel Mustieles [es], Arash Mousavi [fa],
 | 
			
		||||
 Ville-Pekka Vainio [fi], Bruno Brouard [fr], Hideki Yamane [ja],
 | 
			
		||||
 Žygimantas Beručka, Aurimas Černius [lt], Kjartan Maraas [nb],
 | 
			
		||||
 "Andreas N" [nn], Djavan Fagundes, Antonio Fernandes C. Neto [pt_BR],
 | 
			
		||||
 Daniel Nylander [se], Matej Urbančič [sl], Praveen Illa [te],
 | 
			
		||||
 Nguyễn Thái Ngọc Duy [vi]
 | 
			
		||||
 | 
			
		||||
3.2.1
 | 
			
		||||
=====
 | 
			
		||||
* Restore the IM state on startup - if you were available in when you logged
 | 
			
		||||
  out, then you'll be set available again when you log in.
 | 
			
		||||
  [Florian; #65902, #661485]
 | 
			
		||||
* Improve searching for contacts in the overview: search more fields,
 | 
			
		||||
  show a more meaningful name, require that all search terms match.
 | 
			
		||||
  [Florian, Matthias; #660580]
 | 
			
		||||
* Improve search for applications in the overview: take frequency into
 | 
			
		||||
  account and tweak match algorithm [Florian; #623372]
 | 
			
		||||
* Remove the "Show Password" switch from network password prompts, and
 | 
			
		||||
  move the functionality to a right-click menu [Florian; #658948]
 | 
			
		||||
* Add context menus with Cut/Paste options to most entries [Florian; #659275]
 | 
			
		||||
* On screen keyboard:
 | 
			
		||||
 - Show the keyboard immediately when it's turned enabled [Dan; #659743]
 | 
			
		||||
 - Fix problem where keyboard would hide when starting to type
 | 
			
		||||
   in the search entry [Nohemi; #661340]
 | 
			
		||||
 - Fix problem with keyboard hiding when selected accented characters
 | 
			
		||||
   [Nohemi; 661707]
 | 
			
		||||
* Login mode:
 | 
			
		||||
  - Allow hitting Enter to select the first user [Ray; #657996]
 | 
			
		||||
  - Fix flicker of a fingerprint prompt that could show up [Ray; #660492]
 | 
			
		||||
  - Fix password bullets vanishing during login [Ray; #657894]
 | 
			
		||||
  - Misc bug fixes and visual tweaks [Ray; #659763, #660919, #661479]
 | 
			
		||||
* Display a caps-lock warning in password entries [Florian; #660806]
 | 
			
		||||
* Show the state of installed extensions in Looking Glass [Jasper; #660494]
 | 
			
		||||
* Load user extensions after system ones [Jasper; #661815]
 | 
			
		||||
* Fix problem with many applications showing extra-large icons in
 | 
			
		||||
  notifications [Marina; #659158]
 | 
			
		||||
* Fix a problem where alt-Tab had trouble tracking the current
 | 
			
		||||
  application with certain applications such as Emacs. [Dan; #645026]
 | 
			
		||||
* Fix confusion between different users avatar images [Florian; #660585]
 | 
			
		||||
* Remove behavior where you could switch workspaces by bumping
 | 
			
		||||
  a dragged window in the overview against a screen edge; it was
 | 
			
		||||
  leftover and just confusing. [Florian; #660838]
 | 
			
		||||
* Fix long-standing bug where the Dash in the overview could end up mis-sized
 | 
			
		||||
  and run off the screen [Florian; #649248]
 | 
			
		||||
* Fix automatic launching of applications when media is inserted
 | 
			
		||||
  [Cosimo; #660821]
 | 
			
		||||
* Fix handling of vertically stacked monitors with NVIDIA drivers
 | 
			
		||||
  [Florian; #661387]
 | 
			
		||||
* Translation marking fixes [Jasper, Wouter; #660600]
 | 
			
		||||
* Code cleanups and warning fixes [Adel, Dan, Florian, Jasper;
 | 
			
		||||
  #659822, #659940, #660122, #660358, #660968, #661231]
 | 
			
		||||
* Small memory leak fixes [Florian, Jasper; #661231]
 | 
			
		||||
* Misc bug fixes [Adel, Florian, Jasper; #659274, #659861, #660166, #660310,
 | 
			
		||||
  #660397, #660608,  #660606, #660674, #660774. #660848, #661151, #661617]
 | 
			
		||||
 | 
			
		||||
Contributors:
 | 
			
		||||
  Wouter Bolsterlee, Cosimo Cecchi, Matthias Clasen, Nohemi Fernandez,
 | 
			
		||||
  Adel Gadllah, Florian Müllner, Jasper St. Pierre, Ray Strode, Dan Winship,
 | 
			
		||||
  Marina Zhurakhinskaya
 | 
			
		||||
 | 
			
		||||
Translations:
 | 
			
		||||
 Tiffany Antopolski [eo], Xandru Armesto [ast], Alexander Shopov,
 | 
			
		||||
 Ivaylo Valkov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
 | 
			
		||||
 Mario Blättermann, Paul Seyfert [de], Bruce Cowan [en_GB],
 | 
			
		||||
 Jorge González, Daniel Mustieles [es], Arash Mousavi [fa], Bruno Brouard [fr],
 | 
			
		||||
 Seán de Búrca [ga], Fran Diéguez [gl], Gabor Kelemen [hu], Luca Ferretti [it],
 | 
			
		||||
 Takayuki Kusano [ja], Changwoo Ryu [ko], Erdal Ronahi [ku],
 | 
			
		||||
 Algimantas Margevičius [lt], Rudolfs Mazurs [lv], Wouter Bolsterlee [nl],
 | 
			
		||||
 Piotr Drąg [pl], Adorilson Bezerra [pt_BR], Yuri Myasoedov [ru],
 | 
			
		||||
 Matej Urbančič [sl], Daniel Nylander [sv], Miroslav Nikolić [sr, sr@latin],
 | 
			
		||||
 Tirumurti Vasudevan [ta], Krishnababu Krothapalli [te], Daniel Korostil [uk],
 | 
			
		||||
 Nguyễn Thái Ngọc Duy [vi], YunQiang Su [zh_CN]
 | 
			
		||||
 | 
			
		||||
3.2.0
 | 
			
		||||
=====
 | 
			
		||||
* Prevent the fallback on-screen keyboard from showing up while
 | 
			
		||||
 
 | 
			
		||||
@@ -47,8 +47,6 @@ typedef struct {
 | 
			
		||||
  GDBusProxy *proxy;
 | 
			
		||||
} PluginData;
 | 
			
		||||
 | 
			
		||||
/* =============== public entry points =================== */
 | 
			
		||||
 | 
			
		||||
static NPNetscapeFuncs funcs;
 | 
			
		||||
 | 
			
		||||
static inline gchar *
 | 
			
		||||
@@ -71,10 +69,7 @@ get_string_property (NPP         instance,
 | 
			
		||||
    goto out;
 | 
			
		||||
 | 
			
		||||
  result_str = NPVARIANT_TO_STRING (result);
 | 
			
		||||
  if (strlen (result_str.UTF8Characters) != result_str.UTF8Length)
 | 
			
		||||
    goto out;
 | 
			
		||||
 | 
			
		||||
  result_copy = g_strdup (result_str.UTF8Characters);
 | 
			
		||||
  result_copy = g_strndup (result_str.UTF8Characters, result_str.UTF8Length);
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
  funcs.releasevariantvalue (&result);
 | 
			
		||||
@@ -150,6 +145,8 @@ check_origin_and_protocol (NPP instance)
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* =============== public entry points =================== */
 | 
			
		||||
 | 
			
		||||
NPError
 | 
			
		||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
 | 
			
		||||
{
 | 
			
		||||
@@ -458,7 +455,7 @@ plugin_enable_extension (PluginObject *obj,
 | 
			
		||||
                         NPString      uuid,
 | 
			
		||||
                         gboolean      enabled)
 | 
			
		||||
{
 | 
			
		||||
  const gchar *uuid_str = uuid.UTF8Characters;
 | 
			
		||||
  gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
 | 
			
		||||
  if (!uuid_is_valid (uuid_str))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
 | 
			
		||||
@@ -471,6 +468,8 @@ plugin_enable_extension (PluginObject *obj,
 | 
			
		||||
                     NULL, /* callback */
 | 
			
		||||
                     NULL /* user_data */);
 | 
			
		||||
 | 
			
		||||
  g_free (uuid_str);
 | 
			
		||||
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -479,21 +478,32 @@ plugin_install_extension (PluginObject *obj,
 | 
			
		||||
                          NPString      uuid,
 | 
			
		||||
                          NPString      version_tag)
 | 
			
		||||
{
 | 
			
		||||
  const gchar *uuid_str = uuid.UTF8Characters;
 | 
			
		||||
  gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
 | 
			
		||||
  gchar *version_tag_str;
 | 
			
		||||
 | 
			
		||||
  if (!uuid_is_valid (uuid_str))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
    {
 | 
			
		||||
      g_free (uuid_str);
 | 
			
		||||
      return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  version_tag_str = g_strndup (version_tag.UTF8Characters,
 | 
			
		||||
                               version_tag.UTF8Length);
 | 
			
		||||
 | 
			
		||||
  g_dbus_proxy_call (obj->proxy,
 | 
			
		||||
                     "InstallRemoteExtension",
 | 
			
		||||
                     g_variant_new ("(ss)",
 | 
			
		||||
                                    uuid_str,
 | 
			
		||||
                                    version_tag.UTF8Characters),
 | 
			
		||||
                                    version_tag_str),
 | 
			
		||||
                     G_DBUS_CALL_FLAGS_NONE,
 | 
			
		||||
                     -1, /* timeout */
 | 
			
		||||
                     NULL, /* cancellable */
 | 
			
		||||
                     NULL, /* callback */
 | 
			
		||||
                     NULL /* user_data */);
 | 
			
		||||
 | 
			
		||||
  g_free (uuid_str);
 | 
			
		||||
  g_free (version_tag_str);
 | 
			
		||||
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -504,11 +514,14 @@ plugin_uninstall_extension (PluginObject *obj,
 | 
			
		||||
{
 | 
			
		||||
  GError *error = NULL;
 | 
			
		||||
  GVariant *res;
 | 
			
		||||
  const gchar *uuid_str;
 | 
			
		||||
  gchar *uuid_str;
 | 
			
		||||
 | 
			
		||||
  uuid_str = uuid.UTF8Characters;
 | 
			
		||||
  uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
 | 
			
		||||
  if (!uuid_is_valid (uuid_str))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
    {
 | 
			
		||||
      g_free (uuid_str);
 | 
			
		||||
      return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  res = g_dbus_proxy_call_sync (obj->proxy,
 | 
			
		||||
                                "UninstallExtension",
 | 
			
		||||
@@ -519,6 +532,8 @@ plugin_uninstall_extension (PluginObject *obj,
 | 
			
		||||
                                NULL, /* cancellable */
 | 
			
		||||
                                &error);
 | 
			
		||||
 | 
			
		||||
  g_free (uuid_str);
 | 
			
		||||
 | 
			
		||||
  if (!res)
 | 
			
		||||
    {
 | 
			
		||||
      g_warning ("Failed to uninstall extension: %s", error->message);
 | 
			
		||||
@@ -536,11 +551,14 @@ plugin_get_info (PluginObject *obj,
 | 
			
		||||
{
 | 
			
		||||
  GError *error = NULL;
 | 
			
		||||
  GVariant *res;
 | 
			
		||||
  const gchar *uuid_str;
 | 
			
		||||
  gchar *uuid_str;
 | 
			
		||||
 | 
			
		||||
  uuid_str = uuid.UTF8Characters;
 | 
			
		||||
  uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
 | 
			
		||||
  if (!uuid_is_valid (uuid_str))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
    {
 | 
			
		||||
      g_free (uuid_str);
 | 
			
		||||
      return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  res = g_dbus_proxy_call_sync (obj->proxy,
 | 
			
		||||
                                "GetExtensionInfo",
 | 
			
		||||
@@ -550,6 +568,8 @@ plugin_get_info (PluginObject *obj,
 | 
			
		||||
                                NULL, /* cancellable */
 | 
			
		||||
                                &error);
 | 
			
		||||
 | 
			
		||||
  g_free (uuid_str);
 | 
			
		||||
 | 
			
		||||
  if (!res)
 | 
			
		||||
    {
 | 
			
		||||
      g_warning ("Failed to retrieve extension metadata: %s", error->message);
 | 
			
		||||
@@ -567,11 +587,14 @@ plugin_get_errors (PluginObject *obj,
 | 
			
		||||
{
 | 
			
		||||
  GError *error = NULL;
 | 
			
		||||
  GVariant *res;
 | 
			
		||||
  const gchar *uuid_str;
 | 
			
		||||
  gchar *uuid_str;
 | 
			
		||||
 | 
			
		||||
  uuid_str = uuid.UTF8Characters;
 | 
			
		||||
  uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
 | 
			
		||||
  if (!uuid_is_valid (uuid_str))
 | 
			
		||||
    return FALSE;
 | 
			
		||||
    {
 | 
			
		||||
      g_free (uuid_str);
 | 
			
		||||
      return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  res = g_dbus_proxy_call_sync (obj->proxy,
 | 
			
		||||
                                "GetExtensionErrors",
 | 
			
		||||
@@ -581,6 +604,8 @@ plugin_get_errors (PluginObject *obj,
 | 
			
		||||
                                NULL, /* cancellable */
 | 
			
		||||
                                &error);
 | 
			
		||||
 | 
			
		||||
  g_free (uuid_str);
 | 
			
		||||
 | 
			
		||||
  if (!res)
 | 
			
		||||
    {
 | 
			
		||||
      g_warning ("Failed to retrieve errors: %s", error->message);
 | 
			
		||||
@@ -636,7 +661,8 @@ plugin_get_shell_version (PluginObject  *obj,
 | 
			
		||||
  STRINGN_TO_NPVARIANT (buffer, length, *result);
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
  g_variant_unref (res);
 | 
			
		||||
  if (res)
 | 
			
		||||
    g_variant_unref (res);
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -816,6 +842,11 @@ NPP_GetValue(NPP          instance,
 | 
			
		||||
 | 
			
		||||
    *(NPObject**)value = funcs.createobject (instance, &plugin_class);
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
  case NPPVpluginNeedsXEmbed:
 | 
			
		||||
    *(bool *)value = TRUE;
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
  default:
 | 
			
		||||
    ;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
AC_PREREQ(2.63)
 | 
			
		||||
AC_INIT([gnome-shell],[3.2.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
AC_INIT([gnome-shell],[3.2.2.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_HEADERS([config.h])
 | 
			
		||||
AC_CONFIG_SRCDIR([src/shell-global.c])
 | 
			
		||||
@@ -67,7 +67,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
 | 
			
		||||
CLUTTER_MIN_VERSION=1.7.5
 | 
			
		||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
 | 
			
		||||
GJS_MIN_VERSION=1.29.18
 | 
			
		||||
MUTTER_MIN_VERSION=3.0.0
 | 
			
		||||
MUTTER_MIN_VERSION=3.2.1
 | 
			
		||||
FOLKS_MIN_VERSION=0.5.2
 | 
			
		||||
GTK_MIN_VERSION=3.0.0
 | 
			
		||||
GIO_MIN_VERSION=2.29.10
 | 
			
		||||
 
 | 
			
		||||
@@ -50,6 +50,14 @@
 | 
			
		||||
      <default>[]</default>
 | 
			
		||||
      <_summary>History for the looking glass dialog</_summary>
 | 
			
		||||
    </key>
 | 
			
		||||
    <key name="saved-im-presence" type="i">
 | 
			
		||||
      <default>1</default>
 | 
			
		||||
      <_summary></_summary>
 | 
			
		||||
    </key>
 | 
			
		||||
    <key name="saved-session-presence" type="i">
 | 
			
		||||
      <default>0</default>
 | 
			
		||||
      <_summary></_summary>
 | 
			
		||||
    </key>
 | 
			
		||||
    <child name="clock" schema="org.gnome.shell.clock"/>
 | 
			
		||||
    <child name="calendar" schema="org.gnome.shell.calendar"/>
 | 
			
		||||
    <child name="recorder" schema="org.gnome.shell.recorder"/>
 | 
			
		||||
 
 | 
			
		||||
@@ -98,8 +98,12 @@
 | 
			
		||||
    color: #666666;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.login-dialog-not-listed-button:hover .login-dialog-not-listed-label {
 | 
			
		||||
    color: white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.login-dialog-prompt-layout {
 | 
			
		||||
    padding-bottom: 64px;
 | 
			
		||||
    padding-bottom: 32px;
 | 
			
		||||
}
 | 
			
		||||
.login-dialog-prompt-label {
 | 
			
		||||
    color: white;
 | 
			
		||||
@@ -117,6 +121,16 @@
 | 
			
		||||
    width: 15em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.login-dialog-prompt-entry .capslock-warning {
 | 
			
		||||
    icon-size: 16px;
 | 
			
		||||
    warning-color: #999;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.login-dialog-prompt-entry:insensitive {
 | 
			
		||||
    color: rgba(0,0,0,0.7);
 | 
			
		||||
    border: 2px solid #565656;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.login-dialog-session-list {
 | 
			
		||||
    color: #ffffff;
 | 
			
		||||
    font-size: 10.5pt;
 | 
			
		||||
 
 | 
			
		||||
@@ -907,7 +907,7 @@ StTooltip StLabel {
 | 
			
		||||
    font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.lg-extension-actions {
 | 
			
		||||
.lg-extension-meta {
 | 
			
		||||
    spacing: 6px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1907,6 +1907,12 @@ StTooltip StLabel {
 | 
			
		||||
    border: 2px solid #3465a4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.polkit-dialog-password-entry .capslock-warning {
 | 
			
		||||
    icon-size: 16px;
 | 
			
		||||
    warning-color: #999;
 | 
			
		||||
    padding: 0 4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.polkit-dialog-error-label {
 | 
			
		||||
    font-size: 10pt;
 | 
			
		||||
    color: #ffff00;
 | 
			
		||||
@@ -1925,14 +1931,6 @@ StTooltip StLabel {
 | 
			
		||||
    padding-bottom: 8px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.network-dialog-show-password-checkbox {
 | 
			
		||||
    padding-top: 5px;
 | 
			
		||||
    padding-bottom: 5px;
 | 
			
		||||
    font-size: 10pt;
 | 
			
		||||
    color: white;
 | 
			
		||||
    spacing: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.network-dialog-secret-table {
 | 
			
		||||
    spacing-rows: 15px;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,7 @@ nobase_dist_js_DATA = 	\
 | 
			
		||||
	ui/messageTray.js	\
 | 
			
		||||
	ui/modalDialog.js	\
 | 
			
		||||
	ui/networkAgent.js	\
 | 
			
		||||
	ui/shellEntry.js	\
 | 
			
		||||
	ui/shellMountOperation.js \
 | 
			
		||||
	ui/notificationDaemon.js \
 | 
			
		||||
	ui/overview.js		\
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Red Hat, Inc
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Red Hat, Inc
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
@@ -297,6 +297,20 @@ UserList.prototype = {
 | 
			
		||||
                               x_align: St.Align.START,
 | 
			
		||||
                               y_align: St.Align.MIDDLE });
 | 
			
		||||
        this._items = {};
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('key-focus-in', Lang.bind(this, this._moveFocusToItems));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _moveFocusToItems: function() {
 | 
			
		||||
        let hasItems = Object.keys(this._items).length > 0;
 | 
			
		||||
 | 
			
		||||
        if (!hasItems)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (global.stage.get_key_focus() != this.actor)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _showItem: function(item) {
 | 
			
		||||
@@ -502,6 +516,8 @@ UserList.prototype = {
 | 
			
		||||
                                         item.showFocusAnimation(0);
 | 
			
		||||
                                     }));
 | 
			
		||||
 | 
			
		||||
        this._moveFocusToItems();
 | 
			
		||||
 | 
			
		||||
        this.emit('item-added', item);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -694,10 +710,13 @@ SessionList.prototype = {
 | 
			
		||||
        let ids = GdmGreeter.get_session_ids();
 | 
			
		||||
        ids.sort();
 | 
			
		||||
 | 
			
		||||
        if (ids.length <= 1)
 | 
			
		||||
        if (ids.length <= 1) {
 | 
			
		||||
            this._box.hide();
 | 
			
		||||
        else
 | 
			
		||||
            this._button.hide();
 | 
			
		||||
        } else {
 | 
			
		||||
            this._button.show();
 | 
			
		||||
            this._box.show();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < ids.length; i++) {
 | 
			
		||||
            let [sessionName, sessionDescription] = GdmGreeter.get_session_name_and_description(ids[i]);
 | 
			
		||||
@@ -922,6 +941,7 @@ LoginDialog.prototype = {
 | 
			
		||||
 | 
			
		||||
                     function() {
 | 
			
		||||
                         this._sessionList.close();
 | 
			
		||||
                         this._promptFingerprintMessage.hide();
 | 
			
		||||
                         this._userList.actor.show();
 | 
			
		||||
                         this._userList.actor.opacity = 255;
 | 
			
		||||
                         return this._userList.showItems();
 | 
			
		||||
@@ -943,7 +963,18 @@ LoginDialog.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onInfo: function(client, serviceName, info) {
 | 
			
		||||
        // we don't want fingerprint messages with the word UPEK in them
 | 
			
		||||
        // We don't display fingerprint messages, because they
 | 
			
		||||
        // have words like UPEK in them. Instead we use the messages
 | 
			
		||||
        // as a cue to display our own message.
 | 
			
		||||
        if (serviceName == _FINGERPRINT_SERVICE_NAME &&
 | 
			
		||||
            this._haveFingerprintReader &&
 | 
			
		||||
            (!this._promptFingerprintMessage.visible ||
 | 
			
		||||
             this._promptFingerprintMessage.opacity != 255)) {
 | 
			
		||||
 | 
			
		||||
            _fadeInActor(this._promptFingerprintMessage);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (serviceName != _PASSWORD_SERVICE_NAME)
 | 
			
		||||
            return;
 | 
			
		||||
        Main.notifyError(info);
 | 
			
		||||
@@ -971,10 +1002,10 @@ LoginDialog.prototype = {
 | 
			
		||||
                     },
 | 
			
		||||
 | 
			
		||||
                     function() {
 | 
			
		||||
                         if (!this._haveFingerprintReader)
 | 
			
		||||
                             return null;
 | 
			
		||||
 | 
			
		||||
                         return _fadeInActor(this._promptFingerprintMessage);
 | 
			
		||||
                         // Show it with 0 opacity so we preallocate space for it
 | 
			
		||||
                         // in the event we need to fade in the message
 | 
			
		||||
                         this._promptFingerprintMessage.opacity = 0;
 | 
			
		||||
                         this._promptFingerprintMessage.show();
 | 
			
		||||
                     },
 | 
			
		||||
 | 
			
		||||
                     function() {
 | 
			
		||||
@@ -1046,6 +1077,8 @@ LoginDialog.prototype = {
 | 
			
		||||
 | 
			
		||||
                     function() {
 | 
			
		||||
                         this._promptFingerprintMessage.hide();
 | 
			
		||||
                         this._promptEntry.reactive = true;
 | 
			
		||||
                         this._promptEntry.remove_style_pseudo_class('insensitive');
 | 
			
		||||
                         this._promptEntry.set_text('');
 | 
			
		||||
                     }];
 | 
			
		||||
 | 
			
		||||
@@ -1061,7 +1094,8 @@ LoginDialog.prototype = {
 | 
			
		||||
 | 
			
		||||
                     function() {
 | 
			
		||||
                         let _text = this._promptEntry.get_text();
 | 
			
		||||
                         this._promptEntry.set_text('');
 | 
			
		||||
                         this._promptEntry.reactive = false;
 | 
			
		||||
                         this._promptEntry.add_style_pseudo_class('insensitive');
 | 
			
		||||
                         this._greeterClient.call_answer_query(serviceName, _text);
 | 
			
		||||
                     }];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Red Hat, Inc
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
/* mode: js2; indent-tabs-mode: nil; tab-size: 4 */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
/* The name of this package (not localized) */
 | 
			
		||||
const PACKAGE_NAME = '@PACKAGE_NAME@';
 | 
			
		||||
/* The version of this package */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +38,7 @@ function recursivelyDeleteDir(dir) {
 | 
			
		||||
        let child = dir.get_child(info.get_name());
 | 
			
		||||
        if (type == Gio.FileType.REGULAR)
 | 
			
		||||
            deleteGFile(child);
 | 
			
		||||
        else if (type == Gio.TypeType.DIRECTORY)
 | 
			
		||||
        else if (type == Gio.FileType.DIRECTORY)
 | 
			
		||||
            recursivelyDeleteDir(child);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This function is intended to extend the String object and provide
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -78,7 +78,7 @@ function Inhibitor(objectPath) {
 | 
			
		||||
Inhibitor.prototype = {
 | 
			
		||||
    _init: function(objectPath) {
 | 
			
		||||
        DBus.session.proxifyObject(this,
 | 
			
		||||
                                   "org.gnome.SessionManager",
 | 
			
		||||
                                   'org.gnome.SessionManager',
 | 
			
		||||
                                   objectPath);
 | 
			
		||||
        this.isLoaded = false;
 | 
			
		||||
        this._loadingPropertiesCount = InhibitorIface.properties.length;
 | 
			
		||||
@@ -94,7 +94,7 @@ Inhibitor.prototype = {
 | 
			
		||||
 | 
			
		||||
                    if (this._loadingPropertiesCount == 0) {
 | 
			
		||||
                        this.isLoaded = true;
 | 
			
		||||
                        this.emit("is-loaded");
 | 
			
		||||
                        this.emit('is-loaded');
 | 
			
		||||
                    }
 | 
			
		||||
                }));
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
// parse:
 | 
			
		||||
// @params: caller-provided parameter object, or %null
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Gdk = imports.gi.Gdk;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const Scripting = imports.ui.scripting;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gdk = imports.gi.Gdk;
 | 
			
		||||
@@ -134,11 +134,40 @@ AltTabPopup.prototype = {
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    show : function(backward, binding, mask) {
 | 
			
		||||
    _getAppLists: function() {
 | 
			
		||||
        let tracker = Shell.WindowTracker.get_default();
 | 
			
		||||
        let appSys = Shell.AppSystem.get_default();
 | 
			
		||||
        let apps = appSys.get_running ();
 | 
			
		||||
        let allApps = appSys.get_running ();
 | 
			
		||||
 | 
			
		||||
        if (!apps.length)
 | 
			
		||||
        let screen = global.screen;
 | 
			
		||||
        let display = screen.get_display();
 | 
			
		||||
        let windows = display.get_tab_list(Meta.TabList.NORMAL, screen,
 | 
			
		||||
                                           screen.get_active_workspace());
 | 
			
		||||
 | 
			
		||||
        // windows is only the windows on the current workspace. For
 | 
			
		||||
        // each one, if it corresponds to an app we know, move that
 | 
			
		||||
        // app from allApps to apps.
 | 
			
		||||
        let apps = [];
 | 
			
		||||
        for (let i = 0; i < windows.length && allApps.length != 0; i++) {
 | 
			
		||||
            let app = tracker.get_window_app(windows[i]);
 | 
			
		||||
            let index = allApps.indexOf(app);
 | 
			
		||||
            if (index != -1) {
 | 
			
		||||
                apps.push(app);
 | 
			
		||||
                allApps.splice(index, 1);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Now @apps is a list of apps on the current workspace, in
 | 
			
		||||
        // standard Alt+Tab order (MRU except for minimized windows),
 | 
			
		||||
        // and allApps is a list of apps that only appear on other
 | 
			
		||||
        // workspaces, sorted by user_time, which is good enough.
 | 
			
		||||
        return [apps, allApps];
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    show : function(backward, binding, mask) {
 | 
			
		||||
        let [localApps, otherApps] = this._getAppLists();
 | 
			
		||||
 | 
			
		||||
        if (localApps.length == 0 && otherApps.length == 0)
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        if (!Main.pushModal(this.actor))
 | 
			
		||||
@@ -152,7 +181,7 @@ AltTabPopup.prototype = {
 | 
			
		||||
        this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
 | 
			
		||||
        this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
 | 
			
		||||
 | 
			
		||||
        this._appSwitcher = new AppSwitcher(apps, this);
 | 
			
		||||
        this._appSwitcher = new AppSwitcher(localApps, otherApps, this);
 | 
			
		||||
        this.actor.add_actor(this._appSwitcher.actor);
 | 
			
		||||
        this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));
 | 
			
		||||
        this._appSwitcher.connect('item-entered', Lang.bind(this, this._appEntered));
 | 
			
		||||
@@ -846,33 +875,32 @@ AppIcon.prototype = {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function AppSwitcher(apps, altTabPopup) {
 | 
			
		||||
    this._init(apps, altTabPopup);
 | 
			
		||||
function AppSwitcher() {
 | 
			
		||||
    this._init.apply(this, arguments);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
AppSwitcher.prototype = {
 | 
			
		||||
    __proto__ : SwitcherList.prototype,
 | 
			
		||||
 | 
			
		||||
    _init : function(apps, altTabPopup) {
 | 
			
		||||
    _init : function(localApps, otherApps, altTabPopup) {
 | 
			
		||||
        SwitcherList.prototype._init.call(this, true);
 | 
			
		||||
 | 
			
		||||
        // Construct the AppIcons, sort by time, add to the popup
 | 
			
		||||
        // Construct the AppIcons, add to the popup
 | 
			
		||||
        let activeWorkspace = global.screen.get_active_workspace();
 | 
			
		||||
        let workspaceIcons = [];
 | 
			
		||||
        let otherIcons = [];
 | 
			
		||||
        for (let i = 0; i < apps.length; i++) {
 | 
			
		||||
            let appIcon = new AppIcon(apps[i]);
 | 
			
		||||
        for (let i = 0; i < localApps.length; i++) {
 | 
			
		||||
            let appIcon = new AppIcon(localApps[i]);
 | 
			
		||||
            // Cache the window list now; we don't handle dynamic changes here,
 | 
			
		||||
            // and we don't want to be continually retrieving it
 | 
			
		||||
            appIcon.cachedWindows = appIcon.app.get_windows();
 | 
			
		||||
            if (this._hasWindowsOnWorkspace(appIcon, activeWorkspace))
 | 
			
		||||
              workspaceIcons.push(appIcon);
 | 
			
		||||
            else
 | 
			
		||||
              otherIcons.push(appIcon);
 | 
			
		||||
            workspaceIcons.push(appIcon);
 | 
			
		||||
        }
 | 
			
		||||
        for (let i = 0; i < otherApps.length; i++) {
 | 
			
		||||
            let appIcon = new AppIcon(otherApps[i]);
 | 
			
		||||
            appIcon.cachedWindows = appIcon.app.get_windows();
 | 
			
		||||
            otherIcons.push(appIcon);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        workspaceIcons.sort(Lang.bind(this, this._sortAppIcon));
 | 
			
		||||
        otherIcons.sort(Lang.bind(this, this._sortAppIcon));
 | 
			
		||||
 | 
			
		||||
        this.icons = [];
 | 
			
		||||
        this._arrows = [];
 | 
			
		||||
@@ -1012,19 +1040,6 @@ AppSwitcher.prototype = {
 | 
			
		||||
 | 
			
		||||
        if (appIcon.cachedWindows.length == 1)
 | 
			
		||||
            arrow.hide();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _hasWindowsOnWorkspace: function(appIcon, workspace) {
 | 
			
		||||
        let windows = appIcon.cachedWindows;
 | 
			
		||||
        for (let i = 0; i < windows.length; i++) {
 | 
			
		||||
            if (windows[i].get_workspace() == workspace)
 | 
			
		||||
                return true;
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sortAppIcon : function(appIcon1, appIcon2) {
 | 
			
		||||
        return appIcon1.app.compare(appIcon2.app);
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -209,10 +209,14 @@ AutomountManager.prototype = {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Volume is already mounted, don't bother.
 | 
			
		||||
        if (volume.get_mount())
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (!this._settings.get_boolean(SETTING_ENABLE_AUTOMOUNT) ||
 | 
			
		||||
            !volume.should_automount() ||
 | 
			
		||||
            !volume.can_mount()) {
 | 
			
		||||
	    // allow the autorun to run anyway; this can happen if the
 | 
			
		||||
            // allow the autorun to run anyway; this can happen if the
 | 
			
		||||
            // mount gets added programmatically later, even if 
 | 
			
		||||
            // should_automount() or can_mount() are false, like for
 | 
			
		||||
            // blank optical media.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -491,7 +491,7 @@ AutorunTransientDispatcher.prototype = {
 | 
			
		||||
        let app = null;
 | 
			
		||||
 | 
			
		||||
        if (setting == AutorunSetting.RUN) {
 | 
			
		||||
            app = Gio.app_info_get_default_for_type(type, false);
 | 
			
		||||
            app = Gio.app_info_get_default_for_type(contentTypes[0], false);
 | 
			
		||||
        } else if (setting == AutorunSetting.FILES) {
 | 
			
		||||
            app = Gio.app_info_get_default_for_type('inode/directory', false);
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -46,6 +46,7 @@ BoxPointer.prototype = {
 | 
			
		||||
        this._yOffset = 0;
 | 
			
		||||
        this._xPosition = 0;
 | 
			
		||||
        this._yPosition = 0;
 | 
			
		||||
        this._sourceAlignment = 0.5;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    show: function(animate, onComplete) {
 | 
			
		||||
@@ -75,7 +76,7 @@ BoxPointer.prototype = {
 | 
			
		||||
        Tweener.addTween(this, { opacity: 255,
 | 
			
		||||
                                 xOffset: 0,
 | 
			
		||||
                                 yOffset: 0,
 | 
			
		||||
                                 transition: "linear",
 | 
			
		||||
                                 transition: 'linear',
 | 
			
		||||
                                 onComplete: onComplete,
 | 
			
		||||
                                 time: POPUP_ANIMATION_TIME });
 | 
			
		||||
    },
 | 
			
		||||
@@ -106,7 +107,7 @@ BoxPointer.prototype = {
 | 
			
		||||
        Tweener.addTween(this, { opacity: 0,
 | 
			
		||||
                                 xOffset: xOffset,
 | 
			
		||||
                                 yOffset: yOffset,
 | 
			
		||||
                                 transition: "linear",
 | 
			
		||||
                                 transition: 'linear',
 | 
			
		||||
                                 time: POPUP_ANIMATION_TIME,
 | 
			
		||||
                                 onComplete: Lang.bind(this, function () {
 | 
			
		||||
                                     this.actor.hide();
 | 
			
		||||
@@ -180,7 +181,7 @@ BoxPointer.prototype = {
 | 
			
		||||
        this.bin.allocate(childBox, flags);
 | 
			
		||||
 | 
			
		||||
        if (this._sourceActor && this._sourceActor.mapped)
 | 
			
		||||
            this._reposition(this._sourceActor, this._alignment);
 | 
			
		||||
            this._reposition(this._sourceActor, this._arrowAlignment);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _drawBorder: function(area) {
 | 
			
		||||
@@ -312,24 +313,37 @@ BoxPointer.prototype = {
 | 
			
		||||
        this.actor.show();
 | 
			
		||||
 | 
			
		||||
        this._sourceActor = sourceActor;
 | 
			
		||||
        this._alignment = alignment;
 | 
			
		||||
        this._arrowAlignment = alignment;
 | 
			
		||||
 | 
			
		||||
        this._reposition(sourceActor, alignment);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setSourceAlignment: function(alignment) {
 | 
			
		||||
        this._sourceAlignment = alignment;
 | 
			
		||||
 | 
			
		||||
        if (!this._sourceActor)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        // We need to show it now to force an allocation,
 | 
			
		||||
        // so that we can query the correct size.
 | 
			
		||||
        this.actor.show();
 | 
			
		||||
 | 
			
		||||
        this._reposition(this._sourceActor, this._arrowAlignment);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _reposition: function(sourceActor, alignment) {
 | 
			
		||||
        // Position correctly relative to the sourceActor
 | 
			
		||||
        let sourceNode = sourceActor.get_theme_node();
 | 
			
		||||
        let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box());
 | 
			
		||||
        let sourceAllocation = Shell.util_get_transformed_allocation(sourceActor);
 | 
			
		||||
        let sourceCenterX = sourceAllocation.x1 + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) / 2;
 | 
			
		||||
        let sourceCenterY = sourceAllocation.y1 + sourceContentBox.y1 + (sourceContentBox.y2 - sourceContentBox.y1) / 2;
 | 
			
		||||
        let sourceCenterX = sourceAllocation.x1 + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) * this._sourceAlignment;
 | 
			
		||||
        let sourceCenterY = sourceAllocation.y1 + sourceContentBox.y1 + (sourceContentBox.y2 - sourceContentBox.y1) * this._sourceAlignment;
 | 
			
		||||
        let [minWidth, minHeight, natWidth, natHeight] = this.actor.get_preferred_size();
 | 
			
		||||
 | 
			
		||||
        // We also want to keep it onscreen, and separated from the
 | 
			
		||||
        // edge by the same distance as the main part of the box is
 | 
			
		||||
        // separated from its sourceActor
 | 
			
		||||
        let primary = Main.layoutManager.primaryMonitor;
 | 
			
		||||
        let monitor = Main.layoutManager.findMonitorForActor(sourceActor);
 | 
			
		||||
        let themeNode = this.actor.get_theme_node();
 | 
			
		||||
        let borderWidth = themeNode.get_length('-arrow-border-width');
 | 
			
		||||
        let arrowBase = themeNode.get_length('-arrow-base');
 | 
			
		||||
@@ -364,8 +378,8 @@ BoxPointer.prototype = {
 | 
			
		||||
        case St.Side.BOTTOM:
 | 
			
		||||
            resX = sourceCenterX - (halfMargin + (natWidth - margin) * alignment);
 | 
			
		||||
 | 
			
		||||
            resX = Math.max(resX, primary.x + 10);
 | 
			
		||||
            resX = Math.min(resX, primary.x + primary.width - (10 + natWidth));
 | 
			
		||||
            resX = Math.max(resX, monitor.x + 10);
 | 
			
		||||
            resX = Math.min(resX, monitor.x + monitor.width - (10 + natWidth));
 | 
			
		||||
            this.setArrowOrigin(sourceCenterX - resX);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
@@ -373,8 +387,8 @@ BoxPointer.prototype = {
 | 
			
		||||
        case St.Side.RIGHT:
 | 
			
		||||
            resY = sourceCenterY - (halfMargin + (natHeight - margin) * alignment);
 | 
			
		||||
 | 
			
		||||
            resY = Math.max(resY, primary.y + 10);
 | 
			
		||||
            resY = Math.min(resY, primary.y + primary.height - (10 + natHeight));
 | 
			
		||||
            resY = Math.max(resY, monitor.y + 10);
 | 
			
		||||
            resY = Math.min(resY, monitor.y + monitor.height - (10 + natHeight));
 | 
			
		||||
 | 
			
		||||
            this.setArrowOrigin(sourceCenterY - resY);
 | 
			
		||||
            break;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Folks = imports.gi.Folks
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -26,7 +26,8 @@ function Contact(id) {
 | 
			
		||||
 | 
			
		||||
Contact.prototype = {
 | 
			
		||||
    _init: function(id) {
 | 
			
		||||
        this.individual = Shell.ContactSystem.get_default().get_individual(id);
 | 
			
		||||
        this._contactSys = Shell.ContactSystem.get_default();
 | 
			
		||||
        this.individual = this._contactSys.get_individual(id);
 | 
			
		||||
 | 
			
		||||
        this.actor = new St.Bin({ style_class: 'contact',
 | 
			
		||||
                                  reactive: true,
 | 
			
		||||
@@ -56,7 +57,12 @@ Contact.prototype = {
 | 
			
		||||
                               x_align: St.Align.START,
 | 
			
		||||
                               y_align: St.Align.MIDDLE });
 | 
			
		||||
 | 
			
		||||
        let aliasText = this.individual.alias || _("Unknown");
 | 
			
		||||
        let email = this._contactSys.get_email_for_display(this.individual);
 | 
			
		||||
        let aliasText = this.individual.alias     ||
 | 
			
		||||
                        this.individual.full_name ||
 | 
			
		||||
                        this.individual.nickname  ||
 | 
			
		||||
                        email                     ||
 | 
			
		||||
                        _("Unknown");
 | 
			
		||||
        let aliasLabel = new St.Label({ text: aliasText,
 | 
			
		||||
                                        style_class: 'contact-details-alias' });
 | 
			
		||||
        details.add(aliasLabel, { x_fill: true,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gdk = imports.gi.Gdk;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										110
									
								
								js/ui/dash.js
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								js/ui/dash.js
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
@@ -37,6 +37,7 @@ DashItemContainer.prototype = {
 | 
			
		||||
        this.child = null;
 | 
			
		||||
        this._childScale = 1;
 | 
			
		||||
        this._childOpacity = 255;
 | 
			
		||||
        this.animatingOut = false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _allocate: function(actor, box, flags) {
 | 
			
		||||
@@ -115,6 +116,7 @@ DashItemContainer.prototype = {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.animatingOut = true;
 | 
			
		||||
        this.childScale = 1.0;
 | 
			
		||||
        Tweener.addTween(this,
 | 
			
		||||
                         { childScale: 0.0,
 | 
			
		||||
@@ -177,12 +179,6 @@ RemoveFavoriteIcon.prototype = {
 | 
			
		||||
        this._iconBin._delegate = this;
 | 
			
		||||
 | 
			
		||||
        this.setChild(this._iconBin);
 | 
			
		||||
        this.hiding = false;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    animateOutAndDestroy: function() {
 | 
			
		||||
        DashItemContainer.prototype.animateOutAndDestroy.call(this);
 | 
			
		||||
        this.hiding = true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _createIcon: function(size) {
 | 
			
		||||
@@ -314,15 +310,12 @@ Dash.prototype = {
 | 
			
		||||
    _endDrag: function() {
 | 
			
		||||
        this._clearDragPlaceholder();
 | 
			
		||||
        if (this._favRemoveTarget) {
 | 
			
		||||
            this._favRemoveTarget.actor.hide();
 | 
			
		||||
            this._adjustIconSize();
 | 
			
		||||
            this._favRemoveTarget.actor.show();
 | 
			
		||||
 | 
			
		||||
            this._favRemoveTarget.animateOutAndDestroy();
 | 
			
		||||
            this._favRemoveTarget.actor.connect('destroy', Lang.bind(this,
 | 
			
		||||
                function() {
 | 
			
		||||
                    this._favRemoveTarget = null;
 | 
			
		||||
                }));
 | 
			
		||||
            this._adjustIconSize();
 | 
			
		||||
        }
 | 
			
		||||
        DND.removeDragMonitor(this._dragMonitor);
 | 
			
		||||
    },
 | 
			
		||||
@@ -401,8 +394,18 @@ Dash.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _adjustIconSize: function() {
 | 
			
		||||
        let children = this._box.get_children();
 | 
			
		||||
        if (children.length == 0) {
 | 
			
		||||
        // For the icon size, we only consider children which are "proper"
 | 
			
		||||
        // icons (i.e. ignoring drag placeholders) and which are not
 | 
			
		||||
        // animating out (which means they will be destroyed at the end of
 | 
			
		||||
        // the animation)
 | 
			
		||||
        let iconChildren = this._box.get_children().filter(function(actor) {
 | 
			
		||||
            return actor._delegate.child &&
 | 
			
		||||
                   actor._delegate.child._delegate &&
 | 
			
		||||
                   actor._delegate.child._delegate.icon &&
 | 
			
		||||
                   !actor._delegate.animatingOut;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        if (iconChildren.length == 0) {
 | 
			
		||||
            this._box.add_style_pseudo_class('empty');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
@@ -412,23 +415,45 @@ Dash.prototype = {
 | 
			
		||||
        if (this._maxHeight == -1)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        let iconChildren = children.filter(function(actor) {
 | 
			
		||||
            return actor.visible &&
 | 
			
		||||
                   actor._delegate.child &&
 | 
			
		||||
                   actor._delegate.child._delegate &&
 | 
			
		||||
                   actor._delegate.child._delegate.icon;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // Compute the amount of extra space (or missing space) we have
 | 
			
		||||
        // per icon with the current icon size
 | 
			
		||||
        let [minHeight, natHeight] = this.actor.get_preferred_height(-1);
 | 
			
		||||
        let diff = (this._maxHeight - natHeight) / iconChildren.length;
 | 
			
		||||
        let themeNode = this.actor.get_theme_node();
 | 
			
		||||
        let maxAllocation = new Clutter.ActorBox({ x1: 0, y1: 0,
 | 
			
		||||
                                                   x2: 42 /* whatever */,
 | 
			
		||||
                                                   y2: this._maxHeight });
 | 
			
		||||
        let maxContent = themeNode.get_content_box(maxAllocation);
 | 
			
		||||
        let availHeight = maxContent.y2 - maxContent.y1;
 | 
			
		||||
        let spacing = themeNode.get_length('spacing');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        let firstIcon = iconChildren[0]._delegate.child._delegate.icon;
 | 
			
		||||
 | 
			
		||||
        let minHeight, natHeight;
 | 
			
		||||
 | 
			
		||||
        // Enforce the current icon size during the size request if
 | 
			
		||||
        // the icon is animating
 | 
			
		||||
        if (firstIcon._animating) {
 | 
			
		||||
            let [currentWidth, currentHeight] = firstIcon.icon.get_size();
 | 
			
		||||
 | 
			
		||||
            firstIcon.icon.set_size(this.iconSize, this.iconSize);
 | 
			
		||||
            [minHeight, natHeight] = iconChildren[0].get_preferred_height(-1);
 | 
			
		||||
 | 
			
		||||
            firstIcon.icon.set_size(currentWidth, currentHeight);
 | 
			
		||||
        } else {
 | 
			
		||||
            [minHeight, natHeight] = iconChildren[0].get_preferred_height(-1);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        // Subtract icon padding and box spacing from the available height
 | 
			
		||||
        availHeight -= iconChildren.length * (natHeight - this.iconSize) +
 | 
			
		||||
                       (iconChildren.length - 1) * spacing;
 | 
			
		||||
 | 
			
		||||
        let availSize = availHeight / iconChildren.length;
 | 
			
		||||
 | 
			
		||||
        let iconSizes = [ 16, 22, 24, 32, 48, 64 ];
 | 
			
		||||
 | 
			
		||||
        let newIconSize = 16;
 | 
			
		||||
        for (let i = 0; i < iconSizes.length; i++) {
 | 
			
		||||
            if (iconSizes[i] < this.iconSize + diff)
 | 
			
		||||
            if (iconSizes[i] < availSize)
 | 
			
		||||
                newIconSize = iconSizes[i];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -459,11 +484,15 @@ Dash.prototype = {
 | 
			
		||||
            icon.icon.set_size(icon.icon.width * scale,
 | 
			
		||||
                               icon.icon.height * scale);
 | 
			
		||||
 | 
			
		||||
            icon._animating = true;
 | 
			
		||||
            Tweener.addTween(icon.icon,
 | 
			
		||||
                             { width: targetWidth,
 | 
			
		||||
                               height: targetHeight,
 | 
			
		||||
                               time: DASH_ANIMATION_TIME,
 | 
			
		||||
                               transition: 'easeOutQuad'
 | 
			
		||||
                               transition: 'easeOutQuad',
 | 
			
		||||
                               onComplete: function() {
 | 
			
		||||
                                   icon._animating = false;
 | 
			
		||||
                               }
 | 
			
		||||
                             });
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
@@ -566,29 +595,7 @@ Dash.prototype = {
 | 
			
		||||
            this._box.insert_actor(addedItems[i].item.actor,
 | 
			
		||||
                                   addedItems[i].pos);
 | 
			
		||||
 | 
			
		||||
        // Hide removed actors to not take them into account
 | 
			
		||||
        // when adjusting the icon size ...
 | 
			
		||||
        for (let i = 0; i < removedActors.length; i++)
 | 
			
		||||
            removedActors[i].hide();
 | 
			
		||||
 | 
			
		||||
        // ... and do the same for the remove target if necessary
 | 
			
		||||
        if (this._favRemoveTarget && this._favRemoveTarget.hiding)
 | 
			
		||||
            this._favRemoveTarget.actor.hide();
 | 
			
		||||
 | 
			
		||||
        this._adjustIconSize();
 | 
			
		||||
 | 
			
		||||
        if (this._favRemoveTarget && this._favRemoveTarget.hiding)
 | 
			
		||||
            this._favRemoveTarget.actor.show();
 | 
			
		||||
 | 
			
		||||
        // Skip animations on first run when adding the initial set
 | 
			
		||||
        // of items, to avoid all items zooming in at once
 | 
			
		||||
        if (!this._shownInitially) {
 | 
			
		||||
            this._shownInitially = true;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < removedActors.length; i++) {
 | 
			
		||||
            removedActors[i].show();
 | 
			
		||||
            let item = removedActors[i]._delegate;
 | 
			
		||||
 | 
			
		||||
            // Don't animate item removal when the overview is hidden
 | 
			
		||||
@@ -598,6 +605,15 @@ Dash.prototype = {
 | 
			
		||||
                item.actor.destroy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._adjustIconSize();
 | 
			
		||||
 | 
			
		||||
        // Skip animations on first run when adding the initial set
 | 
			
		||||
        // of items, to avoid all items zooming in at once
 | 
			
		||||
        if (!this._shownInitially) {
 | 
			
		||||
            this._shownInitially = true;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Don't animate item addition when the overview is hidden
 | 
			
		||||
        if (!Main.overview.visible)
 | 
			
		||||
            return;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DocInfo = imports.misc.docInfo;
 | 
			
		||||
const Params = imports.misc.params;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2010 Red Hat, Inc
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
imports.gi.versions.Clutter = '1.0';
 | 
			
		||||
imports.gi.versions.Gio = '2.0';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
@@ -289,7 +289,7 @@ function loadExtension(dir, enabled, type) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (extensions[uuid] != undefined) {
 | 
			
		||||
        logExtensionError(uuid, "extension already loaded");
 | 
			
		||||
        logExtensionError(uuid, 'extension already loaded');
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -450,7 +450,6 @@ function _loadExtensionsIn(dir, type) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadExtensions() {
 | 
			
		||||
    _loadExtensionsIn(userExtensionsDir, ExtensionType.PER_USER);
 | 
			
		||||
    let systemDataDirs = GLib.get_system_data_dirs();
 | 
			
		||||
    for (let i = 0; i < systemDataDirs.length; i++) {
 | 
			
		||||
        let dirPath = systemDataDirs[i] + '/gnome-shell/extensions';
 | 
			
		||||
@@ -458,6 +457,7 @@ function loadExtensions() {
 | 
			
		||||
        if (dir.query_exists(null))
 | 
			
		||||
            _loadExtensionsIn(dir, ExtensionType.SYSTEM);
 | 
			
		||||
    }
 | 
			
		||||
    _loadExtensionsIn(userExtensionsDir, ExtensionType.PER_USER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function InstallExtensionDialog(uuid, version_tag, name) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
@@ -147,6 +147,11 @@ BaseIcon.prototype = {
 | 
			
		||||
            size = found ? len : ICON_SIZE;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // don't create icons unnecessarily
 | 
			
		||||
        if (size == this.iconSize &&
 | 
			
		||||
            this._iconBin.child)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._createIconTexture(size);
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Caribou = imports.gi.Caribou;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
@@ -75,7 +75,7 @@ Key.prototype = {
 | 
			
		||||
        this._extended_keys = this._key.get_extended_keys();
 | 
			
		||||
        this._extended_keyboard = null;
 | 
			
		||||
 | 
			
		||||
        if (this._key.name == "Control_L" || this._key.name == "Alt_L")
 | 
			
		||||
        if (this._key.name == 'Control_L' || this._key.name == 'Alt_L')
 | 
			
		||||
            this._key.latch = true;
 | 
			
		||||
 | 
			
		||||
        this._key.connect('key-pressed', Lang.bind(this, function ()
 | 
			
		||||
@@ -218,7 +218,7 @@ Keyboard.prototype = {
 | 
			
		||||
        this._redraw();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _settingsChanged: function () {
 | 
			
		||||
    _settingsChanged: function (settings, key) {
 | 
			
		||||
        this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);
 | 
			
		||||
        if (!this._enableKeyboard && !this._keyboard)
 | 
			
		||||
            return;
 | 
			
		||||
@@ -228,9 +228,20 @@ Keyboard.prototype = {
 | 
			
		||||
 | 
			
		||||
        if (this._keyboard)
 | 
			
		||||
            this._destroyKeyboard();
 | 
			
		||||
        if (this._enableKeyboard)
 | 
			
		||||
            this._setupKeyboard();
 | 
			
		||||
        else
 | 
			
		||||
 | 
			
		||||
        if (this._enableKeyboard) {
 | 
			
		||||
            // If we've been called because the setting actually just
 | 
			
		||||
            // changed to true (as opposed to being called from
 | 
			
		||||
            // this._init()), then we want to pop up the keyboard.
 | 
			
		||||
            let showKeyboard = (settings != null);
 | 
			
		||||
 | 
			
		||||
            // However, caribou-gtk-module or this._onKeyFocusChanged
 | 
			
		||||
            // will probably immediately tell us to hide it, so we
 | 
			
		||||
            // have to fake things out so we'll ignore that request.
 | 
			
		||||
            if (showKeyboard)
 | 
			
		||||
                this._timestamp = global.display.get_current_time_roundtrip() + 1;
 | 
			
		||||
            this._setupKeyboard(showKeyboard);
 | 
			
		||||
        } else
 | 
			
		||||
            Main.layoutManager.hideKeyboard(true);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -246,7 +257,7 @@ Keyboard.prototype = {
 | 
			
		||||
        this._destroySource();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setupKeyboard: function() {
 | 
			
		||||
    _setupKeyboard: function(show) {
 | 
			
		||||
        this.actor = new St.BoxLayout({ name: 'keyboard', vertical: true, reactive: true });
 | 
			
		||||
        Main.layoutManager.keyboardBox.add_actor(this.actor);
 | 
			
		||||
        Main.layoutManager.trackChrome(this.actor);
 | 
			
		||||
@@ -263,20 +274,26 @@ Keyboard.prototype = {
 | 
			
		||||
 | 
			
		||||
        this._keyboardNotifyId = this._keyboard.connect('notify::active-group', Lang.bind(this, this._onGroupChanged));
 | 
			
		||||
        this._focusNotifyId = global.stage.connect('notify::key-focus', Lang.bind(this, this._onKeyFocusChanged));
 | 
			
		||||
        this._createSource();
 | 
			
		||||
 | 
			
		||||
        if (show)
 | 
			
		||||
            this.show();
 | 
			
		||||
        else
 | 
			
		||||
            this._createSource();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onKeyFocusChanged: function () {
 | 
			
		||||
        let focus = global.stage.key_focus;
 | 
			
		||||
 | 
			
		||||
        // Showing an extended key popup will grab focus, but ignore that
 | 
			
		||||
        if (focus && focus._extended_keys)
 | 
			
		||||
        // Showing an extended key popup and clicking a key from the extended keys
 | 
			
		||||
        // will grab focus, but ignore that
 | 
			
		||||
        if (focus && (focus._extended_keys || (focus._key && focus._key.extended_key)))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        let time = global.current_event_time();
 | 
			
		||||
        if (focus instanceof Clutter.Text)
 | 
			
		||||
            this.show();
 | 
			
		||||
            this.Show(time);
 | 
			
		||||
        else
 | 
			
		||||
            this.hide();
 | 
			
		||||
            this.Hide(time);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _addKeys: function () {
 | 
			
		||||
@@ -305,7 +322,8 @@ Keyboard.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _getTrayIcon: function () {
 | 
			
		||||
        let trayButton = new St.Button ({ label: "tray", style_class: 'keyboard-key' });
 | 
			
		||||
        let trayButton = new St.Button ({ label: _("tray"),
 | 
			
		||||
                                          style_class: 'keyboard-key' });
 | 
			
		||||
        trayButton.key_width = 1;
 | 
			
		||||
        trayButton.connect('button-press-event', Lang.bind(this, function () {
 | 
			
		||||
            Main.messageTray.toggle();
 | 
			
		||||
@@ -339,7 +357,7 @@ Keyboard.prototype = {
 | 
			
		||||
                    right_box.add(button.actor);
 | 
			
		||||
                else
 | 
			
		||||
                    left_box.add(button.actor);
 | 
			
		||||
                if (key.name == "Caribou_Prefs") {
 | 
			
		||||
                if (key.name == 'Caribou_Prefs') {
 | 
			
		||||
                    key.connect('key-released', Lang.bind(this, this.hide));
 | 
			
		||||
 | 
			
		||||
                    // Add new key for hiding message tray
 | 
			
		||||
@@ -476,6 +494,9 @@ Keyboard.prototype = {
 | 
			
		||||
 | 
			
		||||
    // D-Bus methods
 | 
			
		||||
    Show: function(timestamp) {
 | 
			
		||||
        if (!this._enableKeyboard)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (timestamp - this._timestamp < 0)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
@@ -484,6 +505,9 @@ Keyboard.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    Hide: function(timestamp) {
 | 
			
		||||
        if (!this._enableKeyboard)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (timestamp - this._timestamp < 0)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
@@ -492,10 +516,16 @@ Keyboard.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    SetCursorLocation: function(x, y, w, h) {
 | 
			
		||||
        if (!this._enableKeyboard)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
//        this._setLocation(x, y);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    SetEntryLocation: function(x, y, w, h) {
 | 
			
		||||
        if (!this._enableKeyboard)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
//        this._setLocation(x, y);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -216,10 +216,10 @@ LayoutManager.prototype = {
 | 
			
		||||
        let monitorLeft = monitor.x, monitorRight = monitor.x + monitor.width;
 | 
			
		||||
        let primaryLeft = primary.x, primaryRight = primary.x + primary.width;
 | 
			
		||||
 | 
			
		||||
        if ((monitorLeft >= primaryLeft && monitorLeft <= primaryRight) ||
 | 
			
		||||
            (monitorRight >= primaryLeft && monitorRight <= primaryRight) ||
 | 
			
		||||
            (primaryLeft >= monitorLeft && primaryLeft <= monitorRight) ||
 | 
			
		||||
            (primaryRight >= monitorLeft && primaryRight <= monitorRight))
 | 
			
		||||
        if ((monitorLeft >= primaryLeft && monitorLeft < primaryRight) ||
 | 
			
		||||
            (monitorRight > primaryLeft && monitorRight <= primaryRight) ||
 | 
			
		||||
            (primaryLeft >= monitorLeft && primaryLeft < monitorRight) ||
 | 
			
		||||
            (primaryRight > monitorLeft && primaryRight <= monitorRight))
 | 
			
		||||
            return true;
 | 
			
		||||
 | 
			
		||||
        return false;
 | 
			
		||||
@@ -369,6 +369,10 @@ LayoutManager.prototype = {
 | 
			
		||||
    // Removes @actor from the chrome
 | 
			
		||||
    removeChrome: function(actor) {
 | 
			
		||||
        this._chrome.removeActor(actor);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    findMonitorForActor: function(actor) {
 | 
			
		||||
        return this._chrome.findMonitorForActor(actor);
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
Signals.addSignalMethods(LayoutManager.prototype);
 | 
			
		||||
@@ -621,7 +625,7 @@ Chrome.prototype = {
 | 
			
		||||
        // We can't use Params.parse here because we want to drop
 | 
			
		||||
        // the extra values like ancestorData.actor
 | 
			
		||||
        for (let prop in defaultParams) {
 | 
			
		||||
            if (!params[prop])
 | 
			
		||||
            if (!params.hasOwnProperty(prop))
 | 
			
		||||
                params[prop] = ancestorData[prop];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -700,7 +704,7 @@ Chrome.prototype = {
 | 
			
		||||
            else if (this._inOverview)
 | 
			
		||||
                visible = true;
 | 
			
		||||
            else if (!actorData.visibleInFullscreen &&
 | 
			
		||||
                     this._findMonitorForActor(actorData.actor).inFullscreen)
 | 
			
		||||
                     this.findMonitorForActor(actorData.actor).inFullscreen)
 | 
			
		||||
                visible = false;
 | 
			
		||||
            else
 | 
			
		||||
                visible = true;
 | 
			
		||||
@@ -762,7 +766,7 @@ Chrome.prototype = {
 | 
			
		||||
 | 
			
		||||
    // This call guarantees that we return some monitor to simplify usage of it
 | 
			
		||||
    // In practice all tracked actors should be visible on some monitor anyway
 | 
			
		||||
    _findMonitorForActor: function(actor) {
 | 
			
		||||
    findMonitorForActor: function(actor) {
 | 
			
		||||
        let [x, y] = actor.get_transformed_position();
 | 
			
		||||
        let [w, h] = actor.get_transformed_size();
 | 
			
		||||
        let monitor = this._findMonitorForRect(x, y, w, h);
 | 
			
		||||
@@ -821,6 +825,18 @@ Chrome.prototype = {
 | 
			
		||||
                    monitor.inFullscreen = true;
 | 
			
		||||
            }
 | 
			
		||||
            if (layer == Meta.StackLayer.OVERRIDE_REDIRECT) {
 | 
			
		||||
                // Check whether the window is screen sized
 | 
			
		||||
                let isScreenSized =
 | 
			
		||||
                    (window.x == 0 && window.y == 0 &&
 | 
			
		||||
                    window.width == global.screen_width &&
 | 
			
		||||
                    window.height == global.screen_height);
 | 
			
		||||
 | 
			
		||||
                if (isScreenSized) {
 | 
			
		||||
                    for (let i = 0; i < this._monitors.length; i++)
 | 
			
		||||
                        this._monitors[i].inFullscreen = true;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // Or whether it is monitor sized
 | 
			
		||||
                let monitor = this._findMonitorForWindow(window);
 | 
			
		||||
                if (monitor &&
 | 
			
		||||
                    window.x <= monitor.x &&
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Meta = imports.gi.Meta;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Cogl = imports.gi.Cogl;
 | 
			
		||||
@@ -17,6 +17,7 @@ const Mainloop = imports.mainloop;
 | 
			
		||||
const History = imports.misc.history;
 | 
			
		||||
const ExtensionSystem = imports.ui.extensionSystem;
 | 
			
		||||
const Link = imports.ui.link;
 | 
			
		||||
const ShellEntry = imports.ui.shellEntry;
 | 
			
		||||
const Tweener = imports.ui.tweener;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
 | 
			
		||||
@@ -157,9 +158,9 @@ Signals.addSignalMethods(Notebook.prototype);
 | 
			
		||||
function objectToString(o) {
 | 
			
		||||
    if (typeof(o) == typeof(objectToString)) {
 | 
			
		||||
        // special case this since the default is way, way too verbose
 | 
			
		||||
        return "<js function>";
 | 
			
		||||
        return '<js function>';
 | 
			
		||||
    } else {
 | 
			
		||||
        return "" + o;
 | 
			
		||||
        return '' + o;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -322,7 +323,7 @@ ObjInspector.prototype = {
 | 
			
		||||
                    link = new St.Label({ text: '<error>' });
 | 
			
		||||
                }
 | 
			
		||||
                let hbox = new St.BoxLayout();
 | 
			
		||||
                let propText = propName + ": " + valueStr;
 | 
			
		||||
                let propText = propName + ': ' + valueStr;
 | 
			
		||||
                hbox.add(new St.Label({ text: propName + ': ' }));
 | 
			
		||||
                hbox.add(link);
 | 
			
		||||
                this._container.add_actor(hbox);
 | 
			
		||||
@@ -343,7 +344,7 @@ ObjInspector.prototype = {
 | 
			
		||||
            this.actor.move_anchor_point(Math.floor(sourceX + sourceWidth / 2),
 | 
			
		||||
                                         Math.floor(sourceY + sourceHeight / 2));
 | 
			
		||||
            Tweener.addTween(this.actor, { scale_x: 1, scale_y: 1,
 | 
			
		||||
                                           transition: "easeOutQuad",
 | 
			
		||||
                                           transition: 'easeOutQuad',
 | 
			
		||||
                                           time: 0.2 });
 | 
			
		||||
        } else {
 | 
			
		||||
            this.actor.set_scale(1, 1);
 | 
			
		||||
@@ -710,27 +711,23 @@ Extensions.prototype = {
 | 
			
		||||
                                         text: meta.description || 'No description' });
 | 
			
		||||
        box.add(description, { expand: true });
 | 
			
		||||
 | 
			
		||||
        let metaBox = new St.BoxLayout();
 | 
			
		||||
        let metaBox = new St.BoxLayout({ style_class: 'lg-extension-meta' });
 | 
			
		||||
        box.add(metaBox);
 | 
			
		||||
        let stateString = this._stateToString(meta.state);
 | 
			
		||||
        let state = new St.Label({ style_class: 'lg-extension-state',
 | 
			
		||||
                                   text: this._stateToString(meta.state) });
 | 
			
		||||
 | 
			
		||||
        let actionsContainer = new St.Bin({ x_align: St.Align.END });
 | 
			
		||||
        metaBox.add(actionsContainer);
 | 
			
		||||
        let actionsBox = new St.BoxLayout({ style_class: 'lg-extension-actions' });
 | 
			
		||||
        actionsContainer.set_child(actionsBox);
 | 
			
		||||
        metaBox.add(state);
 | 
			
		||||
 | 
			
		||||
        let viewsource = new Link.Link({ label: _("View Source") });
 | 
			
		||||
        viewsource.actor._extensionMeta = meta;
 | 
			
		||||
        viewsource.actor.connect('clicked', Lang.bind(this, this._onViewSource));
 | 
			
		||||
        actionsBox.add(viewsource.actor);
 | 
			
		||||
        metaBox.add(viewsource.actor);
 | 
			
		||||
 | 
			
		||||
        if (meta.url) {
 | 
			
		||||
            let webpage = new Link.Link({ label: _("Web Page") });
 | 
			
		||||
            webpage.actor._extensionMeta = meta;
 | 
			
		||||
            webpage.actor.connect('clicked', Lang.bind(this, this._onWebPage));
 | 
			
		||||
            actionsBox.add(webpage.actor);
 | 
			
		||||
            metaBox.add(webpage.actor);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return box;
 | 
			
		||||
@@ -820,6 +817,7 @@ LookingGlass.prototype = {
 | 
			
		||||
        entryArea.add(label);
 | 
			
		||||
 | 
			
		||||
        this._entry = new St.Entry({ can_focus: true });
 | 
			
		||||
        ShellEntry.addContextMenu(this._entry);
 | 
			
		||||
        entryArea.add(this._entry, { expand: true });
 | 
			
		||||
 | 
			
		||||
        this._windowList = new WindowList();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -129,8 +129,6 @@ function _initRecorder() {
 | 
			
		||||
function _initUserSession() {
 | 
			
		||||
    _initRecorder();
 | 
			
		||||
 | 
			
		||||
    keyboard.init();
 | 
			
		||||
 | 
			
		||||
    global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, -1, 1);
 | 
			
		||||
 | 
			
		||||
    ExtensionSystem.init();
 | 
			
		||||
@@ -496,9 +494,9 @@ function notify(msg, details) {
 | 
			
		||||
function notifyError(msg, details) {
 | 
			
		||||
    // Also print to stderr so it's logged somewhere
 | 
			
		||||
    if (details)
 | 
			
		||||
        log("error: " + msg + ": " + details);
 | 
			
		||||
        log('error: ' + msg + ': ' + details);
 | 
			
		||||
    else
 | 
			
		||||
        log("error: " + msg)
 | 
			
		||||
        log('error: ' + msg);
 | 
			
		||||
 | 
			
		||||
    notify(msg, details);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
@@ -252,7 +252,8 @@ FocusGrabber.prototype = {
 | 
			
		||||
        this._prevFocusedWindow = global.display.focus_window;
 | 
			
		||||
        this._prevKeyFocusActor = global.stage.get_key_focus();
 | 
			
		||||
 | 
			
		||||
        if (!Main.overview.visible)
 | 
			
		||||
        if (global.stage_input_mode == Shell.StageInputMode.NONREACTIVE ||
 | 
			
		||||
            global.stage_input_mode == Shell.StageInputMode.NORMAL)
 | 
			
		||||
            global.set_stage_input_mode(Shell.StageInputMode.FOCUSED);
 | 
			
		||||
 | 
			
		||||
        // Use captured-event to notice clicks outside the focused actor
 | 
			
		||||
@@ -702,6 +703,7 @@ Notification.prototype = {
 | 
			
		||||
        this._imageBin.opacity = 230;
 | 
			
		||||
        this._table.add_style_class_name('multi-line-notification');
 | 
			
		||||
        this._table.add_style_class_name('notification-with-image');
 | 
			
		||||
        this._addBannerBody();
 | 
			
		||||
        this._updateLastColumnSettings();
 | 
			
		||||
        this._table.add(this._imageBin, { row: 1,
 | 
			
		||||
                                          col: 1,
 | 
			
		||||
@@ -1417,8 +1419,16 @@ MessageTray.prototype = {
 | 
			
		||||
        this._notificationRemoved = false;
 | 
			
		||||
        this._reNotifyAfterHideNotification = null;
 | 
			
		||||
 | 
			
		||||
        this._corner = new Clutter.Rectangle({ width: 1,
 | 
			
		||||
                                               height: 1,
 | 
			
		||||
                                               opacity: 0,
 | 
			
		||||
                                               reactive: true });
 | 
			
		||||
        this._corner.connect('enter-event', Lang.bind(this, this._onCornerEnter));
 | 
			
		||||
        Main.layoutManager.trayBox.add_actor(this._corner);
 | 
			
		||||
        Main.layoutManager.trackChrome(this._corner);
 | 
			
		||||
 | 
			
		||||
        Main.layoutManager.trayBox.add_actor(this.actor);
 | 
			
		||||
        this.actor.y = -1;
 | 
			
		||||
        this.actor.y = this.actor.height;
 | 
			
		||||
        Main.layoutManager.trackChrome(this.actor);
 | 
			
		||||
        Main.layoutManager.trackChrome(this._notificationBin);
 | 
			
		||||
 | 
			
		||||
@@ -1457,12 +1467,24 @@ MessageTray.prototype = {
 | 
			
		||||
        this._chatSummaryItemsCount = 0;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onCornerEnter: function(actor, event) {
 | 
			
		||||
        this._pointerInSummary = true;
 | 
			
		||||
        this._updateState();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setSizePosition: function() {
 | 
			
		||||
        let monitor = Main.layoutManager.bottomMonitor;
 | 
			
		||||
        this._notificationBin.x = 0;
 | 
			
		||||
        this._notificationBin.width = monitor.width;
 | 
			
		||||
        this._summaryBin.x = 0;
 | 
			
		||||
        this._summaryBin.width = monitor.width;
 | 
			
		||||
 | 
			
		||||
        if (St.Widget.get_default_direction() == St.TextDirection.RTL)
 | 
			
		||||
            this._corner.x = 0;
 | 
			
		||||
        else
 | 
			
		||||
            this._corner.x = Main.layoutManager.trayBox.width - 1;
 | 
			
		||||
 | 
			
		||||
        this._corner.y = Main.layoutManager.trayBox.height - 1;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    contains: function(source) {
 | 
			
		||||
@@ -1585,7 +1607,7 @@ MessageTray.prototype = {
 | 
			
		||||
 | 
			
		||||
        summaryItemToRemove.actor.destroy();
 | 
			
		||||
 | 
			
		||||
        if (needUpdate);
 | 
			
		||||
        if (needUpdate)
 | 
			
		||||
            this._updateState();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -1830,7 +1852,7 @@ MessageTray.prototype = {
 | 
			
		||||
                // automatically. Instead, the user is able to expand the notification by mousing away from it and then
 | 
			
		||||
                // mousing back in. Because this is an expected action, we set the boolean flag that indicates that a longer
 | 
			
		||||
                // timeout should be used before popping down the notification.
 | 
			
		||||
                if (this._notificationBin.contains(actorAtShowNotificationPosition)) {
 | 
			
		||||
                if (this.actor.contains(actorAtShowNotificationPosition)) {
 | 
			
		||||
                    this._useLongerTrayLeftTimeout = true;
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
@@ -2055,7 +2077,7 @@ MessageTray.prototype = {
 | 
			
		||||
 | 
			
		||||
    _hideTray: function() {
 | 
			
		||||
        this._tween(this.actor, '_trayState', State.HIDDEN,
 | 
			
		||||
                    { y: -1,
 | 
			
		||||
                    { y: this.actor.height,
 | 
			
		||||
                      time: ANIMATION_TIME,
 | 
			
		||||
                      transition: 'easeOutQuad'
 | 
			
		||||
                    });
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gdk = imports.gi.Gdk;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Giovanni Campagna <scampa.giovanni@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
@@ -30,6 +30,7 @@ const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const ModalDialog = imports.ui.modalDialog;
 | 
			
		||||
const PopupMenu = imports.ui.popupMenu;
 | 
			
		||||
const ShellEntry = imports.ui.shellEntry;
 | 
			
		||||
 | 
			
		||||
function NetworkSecretDialog() {
 | 
			
		||||
    this._init.apply(this, arguments);
 | 
			
		||||
@@ -103,6 +104,8 @@ NetworkSecretDialog.prototype = {
 | 
			
		||||
            secret.entry = new St.Entry({ style_class: 'polkit-dialog-password-entry',
 | 
			
		||||
                                          text: secret.value, can_focus: reactive,
 | 
			
		||||
                                          reactive: reactive });
 | 
			
		||||
            ShellEntry.addContextMenu(secret.entry,
 | 
			
		||||
                                      { isPassword: secret.password });
 | 
			
		||||
 | 
			
		||||
            if (secret.validate)
 | 
			
		||||
                secret.valid = secret.validate(secret);
 | 
			
		||||
@@ -127,34 +130,14 @@ NetworkSecretDialog.prototype = {
 | 
			
		||||
            } else
 | 
			
		||||
                secret.valid = true;
 | 
			
		||||
 | 
			
		||||
            secretTable.add(label, { row: pos, col: 0, x_align: St.Align.START, y_align: St.Align.START });
 | 
			
		||||
            secretTable.add(label, { row: pos, col: 0, x_expand: false, x_fill: true, x_align: St.Align.START, y_align: St.Align.START });
 | 
			
		||||
            secretTable.add(secret.entry, { row: pos, col: 1, x_expand: true, x_fill: true, y_align: St.Align.END });
 | 
			
		||||
            pos++;
 | 
			
		||||
 | 
			
		||||
            if (secret.password) {
 | 
			
		||||
            if (secret.password)
 | 
			
		||||
                secret.entry.clutter_text.set_password_char('\u25cf');
 | 
			
		||||
 | 
			
		||||
                // FIXME: need a real checkbox here
 | 
			
		||||
                let button = new St.Button({ button_mask: St.ButtonMask.ONE,
 | 
			
		||||
                                             can_focus: true });
 | 
			
		||||
                let checkbox = new St.BoxLayout({ vertical: false,
 | 
			
		||||
                                                  style_class: 'network-dialog-show-password-checkbox' 
 | 
			
		||||
                                                });
 | 
			
		||||
                let _switch = new PopupMenu.Switch(false);
 | 
			
		||||
                checkbox.add(_switch.actor);
 | 
			
		||||
                checkbox.add(new St.Label({ text: _("Show password") }), { expand: true });
 | 
			
		||||
                button.connect('clicked', function() {
 | 
			
		||||
                    _switch.toggle();
 | 
			
		||||
                    if (_switch.state)
 | 
			
		||||
                        secret.entry.clutter_text.set_password_char('');
 | 
			
		||||
                    else
 | 
			
		||||
                        secret.entry.clutter_text.set_password_char('\u25cf');
 | 
			
		||||
                });
 | 
			
		||||
                button.child = checkbox;
 | 
			
		||||
                secretTable.add(button, { row: pos, col: 1, x_expand: true, x_fill: true, y_fill: true })
 | 
			
		||||
                pos++;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        messageBox.add(secretTable);
 | 
			
		||||
 | 
			
		||||
        this._okButton = { label:  _("Connect"),
 | 
			
		||||
@@ -404,4 +387,4 @@ NetworkAgent.prototype = {
 | 
			
		||||
        this._dialogs[requestId].close(global.get_current_time());
 | 
			
		||||
        this._dialogs[requestId].destroy();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -92,7 +92,7 @@ NotificationDaemon.prototype = {
 | 
			
		||||
    _init: function() {
 | 
			
		||||
        DBus.session.exportObject('/org/freedesktop/Notifications', this);
 | 
			
		||||
 | 
			
		||||
        this._sources = {};
 | 
			
		||||
        this._sources = [];
 | 
			
		||||
        this._senderToPid = {};
 | 
			
		||||
        this._notifications = {};
 | 
			
		||||
        this._busProxy = new Bus();
 | 
			
		||||
@@ -109,6 +109,14 @@ NotificationDaemon.prototype = {
 | 
			
		||||
    _iconForNotificationData: function(icon, hints, size) {
 | 
			
		||||
        let textureCache = St.TextureCache.get_default();
 | 
			
		||||
 | 
			
		||||
        // If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
 | 
			
		||||
        // and don't show a large image. There are currently many applications that use
 | 
			
		||||
        // notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
 | 
			
		||||
        // the 'image-data' hint. These applications don't typically pass in 'app_icon'
 | 
			
		||||
        // argument to Notify() and actually expect the pixbuf to be shown as an icon.
 | 
			
		||||
        // So the logic here does the right thing for this case. If both an icon and either
 | 
			
		||||
        // one of 'image-data' or 'image-path' are specified, we show both an icon and
 | 
			
		||||
        // a large image.
 | 
			
		||||
        if (icon) {
 | 
			
		||||
            if (icon.substr(0, 7) == 'file://')
 | 
			
		||||
                return textureCache.load_uri_async(icon, size, size);
 | 
			
		||||
@@ -119,6 +127,12 @@ NotificationDaemon.prototype = {
 | 
			
		||||
                return new St.Icon({ icon_name: icon,
 | 
			
		||||
                                     icon_type: St.IconType.FULLCOLOR,
 | 
			
		||||
                                     icon_size: size });
 | 
			
		||||
        } else if (hints['image-data']) {
 | 
			
		||||
            let [width, height, rowStride, hasAlpha,
 | 
			
		||||
                 bitsPerSample, nChannels, data] = hints['image-data'];
 | 
			
		||||
            return textureCache.load_from_raw(data, hasAlpha, width, height, rowStride, size);
 | 
			
		||||
        } else if (hints['image-path']) {
 | 
			
		||||
            return textureCache.load_uri_async(GLib.filename_to_uri(hints['image-path'], null), size, size);
 | 
			
		||||
        } else {
 | 
			
		||||
            let stockIcon;
 | 
			
		||||
            switch (hints.urgency) {
 | 
			
		||||
@@ -136,14 +150,30 @@ NotificationDaemon.prototype = {
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _lookupSource: function(title, pid, trayIcon) {
 | 
			
		||||
        for (let i = 0; i < this._sources.length; i++) {
 | 
			
		||||
            let source = this._sources[i];
 | 
			
		||||
            if (source.pid == pid &&
 | 
			
		||||
                (source.initialTitle == title || source.trayIcon || trayIcon))
 | 
			
		||||
                return source;
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // Returns the source associated with ndata.notification if it is set.
 | 
			
		||||
    // Otherwise, returns the source associated with the pid if one is
 | 
			
		||||
    // stored in this._sources and the notification is not transient.
 | 
			
		||||
    // Otherwise, creates a new source as long as pid is provided.
 | 
			
		||||
    // Otherwise, returns the source associated with the title and pid if
 | 
			
		||||
    // such source is stored in this._sources and the notification is not
 | 
			
		||||
    // transient. If the existing or requested source is associated with
 | 
			
		||||
    // a tray icon and passed in pid matches a pid of an existing source,
 | 
			
		||||
    // the title match is ignored to enable representing a tray icon and
 | 
			
		||||
    // notifications from the same application with a single source.
 | 
			
		||||
    //
 | 
			
		||||
    // If no existing source is found, a new source is created as long as
 | 
			
		||||
    // pid is provided.
 | 
			
		||||
    //
 | 
			
		||||
    // Either a pid or ndata.notification is needed to retrieve or
 | 
			
		||||
    // create a source.
 | 
			
		||||
    _getSource: function(title, pid, ndata, sender) {
 | 
			
		||||
    _getSource: function(title, pid, ndata, sender, trayIcon) {
 | 
			
		||||
        if (!pid && !(ndata && ndata.notification))
 | 
			
		||||
            return null;
 | 
			
		||||
 | 
			
		||||
@@ -160,20 +190,24 @@ NotificationDaemon.prototype = {
 | 
			
		||||
        // with a transient one from the same sender, so we
 | 
			
		||||
        // always create a new source object for new transient notifications
 | 
			
		||||
        // and never add it to this._sources .
 | 
			
		||||
        if (!isForTransientNotification && this._sources[pid]) {
 | 
			
		||||
            let source = this._sources[pid];
 | 
			
		||||
            source.setTitle(title);
 | 
			
		||||
            return source;
 | 
			
		||||
        if (!isForTransientNotification) {
 | 
			
		||||
            let source = this._lookupSource(title, pid, trayIcon);
 | 
			
		||||
            if (source) {
 | 
			
		||||
                source.setTitle(title);
 | 
			
		||||
                return source;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let source = new Source(title, pid, sender);
 | 
			
		||||
        let source = new Source(title, pid, sender, trayIcon);
 | 
			
		||||
        source.setTransient(isForTransientNotification);
 | 
			
		||||
 | 
			
		||||
        if (!isForTransientNotification) {
 | 
			
		||||
            this._sources[pid] = source;
 | 
			
		||||
            this._sources.push(source);
 | 
			
		||||
            source.connect('destroy', Lang.bind(this,
 | 
			
		||||
                function() {
 | 
			
		||||
                    delete this._sources[pid];
 | 
			
		||||
                    let index = this._sources.indexOf(source);
 | 
			
		||||
                    if (index >= 0)
 | 
			
		||||
                        this._sources.splice(index, 1);
 | 
			
		||||
                }));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -247,7 +281,7 @@ NotificationDaemon.prototype = {
 | 
			
		||||
        let sender = DBus.getCurrentMessageContext().sender;
 | 
			
		||||
        let pid = this._senderToPid[sender];
 | 
			
		||||
 | 
			
		||||
        let source = this._getSource(appName, pid, ndata, sender);
 | 
			
		||||
        let source = this._getSource(appName, pid, ndata, sender, null);
 | 
			
		||||
 | 
			
		||||
        if (source) {
 | 
			
		||||
            this._notifyForSource(source, ndata);
 | 
			
		||||
@@ -268,7 +302,7 @@ NotificationDaemon.prototype = {
 | 
			
		||||
                if (!ndata)
 | 
			
		||||
                    return;
 | 
			
		||||
 | 
			
		||||
                source = this._getSource(appName, pid, ndata, sender);
 | 
			
		||||
                source = this._getSource(appName, pid, ndata, sender, null);
 | 
			
		||||
 | 
			
		||||
                // We only store sender-pid entries for persistent sources.
 | 
			
		||||
                // Removing the entries once the source is destroyed
 | 
			
		||||
@@ -330,7 +364,8 @@ NotificationDaemon.prototype = {
 | 
			
		||||
                                                 clear: true });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (hints['image-data'] || hints['image-path']) {
 | 
			
		||||
        // We only display a large image if an icon is also specified.
 | 
			
		||||
        if (icon && (hints['image-data'] || hints['image-path'])) {
 | 
			
		||||
            let image = null;
 | 
			
		||||
            if (hints['image-data']) {
 | 
			
		||||
                let [width, height, rowStride, hasAlpha,
 | 
			
		||||
@@ -417,8 +452,8 @@ NotificationDaemon.prototype = {
 | 
			
		||||
        if (!tracker.focus_app)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        for (let id in this._sources) {
 | 
			
		||||
            let source = this._sources[id];
 | 
			
		||||
        for (let i = 0; i < this._sources.length; i++) {
 | 
			
		||||
            let source = this._sources[i];
 | 
			
		||||
            if (source.app == tracker.focus_app) {
 | 
			
		||||
                source.destroyNonResidentNotifications();
 | 
			
		||||
                return;
 | 
			
		||||
@@ -441,12 +476,11 @@ NotificationDaemon.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTrayIconAdded: function(o, icon) {
 | 
			
		||||
        let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null);
 | 
			
		||||
        source.setTrayIcon(icon);
 | 
			
		||||
        let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null, icon);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onTrayIconRemoved: function(o, icon) {
 | 
			
		||||
        let source = this._sources[icon.pid];
 | 
			
		||||
        let source = this._lookupSource(null, icon.pid, true);
 | 
			
		||||
        if (source)
 | 
			
		||||
            source.destroy();
 | 
			
		||||
    }
 | 
			
		||||
@@ -454,17 +488,19 @@ NotificationDaemon.prototype = {
 | 
			
		||||
 | 
			
		||||
DBus.conformExport(NotificationDaemon.prototype, NotificationDaemonIface);
 | 
			
		||||
 | 
			
		||||
function Source(title, pid, sender) {
 | 
			
		||||
    this._init(title, pid, sender);
 | 
			
		||||
function Source(title, pid, sender, trayIcon) {
 | 
			
		||||
    this._init(title, pid, sender, trayIcon);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Source.prototype = {
 | 
			
		||||
    __proto__:  MessageTray.Source.prototype,
 | 
			
		||||
 | 
			
		||||
    _init: function(title, pid, sender) {
 | 
			
		||||
    _init: function(title, pid, sender, trayIcon) {
 | 
			
		||||
        MessageTray.Source.prototype._init.call(this, title);
 | 
			
		||||
 | 
			
		||||
        this._pid = pid;
 | 
			
		||||
        this.initialTitle = title;
 | 
			
		||||
 | 
			
		||||
        this.pid = pid;
 | 
			
		||||
        if (sender)
 | 
			
		||||
            // TODO: dbus-glib implementation of watch_name() doesn’t return an id to be used for
 | 
			
		||||
            // unwatch_name() or implement unwatch_name(), however when we move to using GDBus implementation,
 | 
			
		||||
@@ -481,7 +517,12 @@ Source.prototype = {
 | 
			
		||||
            this.title = this.app.get_name();
 | 
			
		||||
        else
 | 
			
		||||
            this.useNotificationIcon = true;
 | 
			
		||||
        this._trayIcon = null;
 | 
			
		||||
 | 
			
		||||
        this.trayIcon = trayIcon;
 | 
			
		||||
        if (this.trayIcon) {
 | 
			
		||||
           this._setSummaryIcon(this.trayIcon);
 | 
			
		||||
           this.useNotificationIcon = false;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onNameVanished: function() {
 | 
			
		||||
@@ -508,7 +549,7 @@ Source.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    handleSummaryClick: function() {
 | 
			
		||||
        if (!this._trayIcon)
 | 
			
		||||
        if (!this.trayIcon)
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        let event = Clutter.get_current_event();
 | 
			
		||||
@@ -529,11 +570,11 @@ Source.prototype = {
 | 
			
		||||
            let id = global.connect('notify::stage-input-mode', Lang.bind(this,
 | 
			
		||||
                function () {
 | 
			
		||||
                    global.disconnect(id);
 | 
			
		||||
                    this._trayIcon.click(event);
 | 
			
		||||
                    this.trayIcon.click(event);
 | 
			
		||||
                }));
 | 
			
		||||
            Main.overview.hide();
 | 
			
		||||
        } else {
 | 
			
		||||
            this._trayIcon.click(event);
 | 
			
		||||
            this.trayIcon.click(event);
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
@@ -542,31 +583,25 @@ Source.prototype = {
 | 
			
		||||
        if (this.app)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this.app = Shell.WindowTracker.get_default().get_app_from_pid(this._pid);
 | 
			
		||||
        this.app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid);
 | 
			
		||||
        if (!this.app)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        // Only override the icon if we were previously using
 | 
			
		||||
        // notification-based icons (ie, not a trayicon) or if it was unset before
 | 
			
		||||
        if (!this._trayIcon) {
 | 
			
		||||
        if (!this.trayIcon) {
 | 
			
		||||
            this.useNotificationIcon = false;
 | 
			
		||||
            this._setSummaryIcon(this.app.create_icon_texture (this.ICON_SIZE));
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setTrayIcon: function(icon) {
 | 
			
		||||
        this._setSummaryIcon(icon);
 | 
			
		||||
        this.useNotificationIcon = false;
 | 
			
		||||
        this._trayIcon = icon;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    open: function(notification) {
 | 
			
		||||
        this.destroyNonResidentNotifications();
 | 
			
		||||
        this.openApp();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _lastNotificationRemoved: function() {
 | 
			
		||||
        if (!this._trayIcon)
 | 
			
		||||
        if (!this.trayIcon)
 | 
			
		||||
            this.destroy();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Cairo = imports.cairo;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 *
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2010 Red Hat, Inc
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
@@ -33,6 +33,7 @@ const Polkit = imports.gi.Polkit;
 | 
			
		||||
const PolkitAgent = imports.gi.PolkitAgent;
 | 
			
		||||
 | 
			
		||||
const ModalDialog = imports.ui.modalDialog;
 | 
			
		||||
const ShellEntry = imports.ui.shellEntry;
 | 
			
		||||
 | 
			
		||||
function AuthenticationDialog(actionId, message, cookie, userNames) {
 | 
			
		||||
    this._init(actionId, message, cookie, userNames);
 | 
			
		||||
@@ -139,6 +140,7 @@ AuthenticationDialog.prototype = {
 | 
			
		||||
        this._passwordEntry = new St.Entry({ style_class: 'polkit-dialog-password-entry',
 | 
			
		||||
                                             text: "",
 | 
			
		||||
                                             can_focus: true});
 | 
			
		||||
        ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
 | 
			
		||||
        this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate));
 | 
			
		||||
        this._passwordBox.add(this._passwordEntry,
 | 
			
		||||
                              {expand: true });
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Cairo = imports.cairo;
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
@@ -1142,10 +1142,10 @@ function PopupMenu() {
 | 
			
		||||
PopupMenu.prototype = {
 | 
			
		||||
    __proto__: PopupMenuBase.prototype,
 | 
			
		||||
 | 
			
		||||
    _init: function(sourceActor, alignment, arrowSide) {
 | 
			
		||||
    _init: function(sourceActor, arrowAlignment, arrowSide) {
 | 
			
		||||
        PopupMenuBase.prototype._init.call (this, sourceActor, 'popup-menu-content');
 | 
			
		||||
 | 
			
		||||
        this._alignment = alignment;
 | 
			
		||||
        this._arrowAlignment = arrowAlignment;
 | 
			
		||||
        this._arrowSide = arrowSide;
 | 
			
		||||
 | 
			
		||||
        this._boxPointer = new BoxPointer.BoxPointer(arrowSide,
 | 
			
		||||
@@ -1198,13 +1198,17 @@ PopupMenu.prototype = {
 | 
			
		||||
        this._boxPointer.setArrowOrigin(origin);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setSourceAlignment: function(alignment) {
 | 
			
		||||
        this._boxPointer.setSourceAlignment(alignment);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    open: function(animate) {
 | 
			
		||||
        if (this.isOpen)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this.isOpen = true;
 | 
			
		||||
 | 
			
		||||
        this._boxPointer.setPosition(this.sourceActor, this._alignment);
 | 
			
		||||
        this._boxPointer.setPosition(this.sourceActor, this._arrowAlignment);
 | 
			
		||||
        this._boxPointer.show(animate);
 | 
			
		||||
 | 
			
		||||
        this.actor.raise_top();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
@@ -12,6 +12,7 @@ const Signals = imports.signals;
 | 
			
		||||
const FileUtils = imports.misc.fileUtils;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const ModalDialog = imports.ui.modalDialog;
 | 
			
		||||
const ShellEntry = imports.ui.shellEntry;
 | 
			
		||||
const Tweener = imports.ui.tweener;
 | 
			
		||||
const Util = imports.misc.util;
 | 
			
		||||
const History = imports.misc.history;
 | 
			
		||||
@@ -210,6 +211,7 @@ __proto__: ModalDialog.ModalDialog.prototype,
 | 
			
		||||
        this.contentLayout.add(label, { y_align: St.Align.START });
 | 
			
		||||
 | 
			
		||||
        let entry = new St.Entry({ style_class: 'run-dialog-entry' });
 | 
			
		||||
        ShellEntry.addContextMenu(entry);
 | 
			
		||||
 | 
			
		||||
        this._entryText = entry.clutter_text;
 | 
			
		||||
        this.contentLayout.add(entry, { y_align: St.Align.START });
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										173
									
								
								js/ui/shellEntry.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								js/ui/shellEntry.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,173 @@
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const St = imports.gi.St;
 | 
			
		||||
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const Params = imports.misc.params;
 | 
			
		||||
const PopupMenu = imports.ui.popupMenu;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function _EntryMenu(entry, params) {
 | 
			
		||||
    this._init(entry, params);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
_EntryMenu.prototype = {
 | 
			
		||||
    __proto__: PopupMenu.PopupMenu.prototype,
 | 
			
		||||
 | 
			
		||||
    _init: function(entry, params) {
 | 
			
		||||
        params = Params.parse (params, { isPassword: false });
 | 
			
		||||
 | 
			
		||||
        PopupMenu.PopupMenu.prototype._init.call(this, entry, 0, St.Side.TOP);
 | 
			
		||||
 | 
			
		||||
        this.actor.add_style_class_name('entry-context-menu');
 | 
			
		||||
 | 
			
		||||
        this._entry = entry;
 | 
			
		||||
        this._clipboard = St.Clipboard.get_default();
 | 
			
		||||
 | 
			
		||||
        // Populate menu
 | 
			
		||||
        let item;
 | 
			
		||||
        item = new PopupMenu.PopupMenuItem(_("Copy"));
 | 
			
		||||
        item.connect('activate', Lang.bind(this, this._onCopyActivated));
 | 
			
		||||
        this.addMenuItem(item);
 | 
			
		||||
        this._copyItem = item;
 | 
			
		||||
 | 
			
		||||
        item = new PopupMenu.PopupMenuItem(_("Paste"));
 | 
			
		||||
        item.connect('activate', Lang.bind(this, this._onPasteActivated));
 | 
			
		||||
        this.addMenuItem(item);
 | 
			
		||||
        this._pasteItem = item;
 | 
			
		||||
 | 
			
		||||
        this._passwordItem = null;
 | 
			
		||||
        if (params.isPassword) {
 | 
			
		||||
            item = new PopupMenu.PopupMenuItem('');
 | 
			
		||||
            item.connect('activate', Lang.bind(this,
 | 
			
		||||
                                               this._onPasswordActivated));
 | 
			
		||||
            this.addMenuItem(item);
 | 
			
		||||
            this._passwordItem = item;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Main.uiGroup.add_actor(this.actor);
 | 
			
		||||
        this.actor.hide();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    open: function() {
 | 
			
		||||
        this._updatePasteItem();
 | 
			
		||||
        this._updateCopyItem();
 | 
			
		||||
        if (this._passwordItem)
 | 
			
		||||
            this._updatePasswordItem();
 | 
			
		||||
 | 
			
		||||
        let direction = Gtk.DirectionType.TAB_FORWARD;
 | 
			
		||||
        if (!this.actor.navigate_focus(null, direction, false))
 | 
			
		||||
            this.actor.grab_key_focus();
 | 
			
		||||
 | 
			
		||||
        PopupMenu.PopupMenu.prototype.open.call(this);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updateCopyItem: function() {
 | 
			
		||||
        let selection = this._entry.clutter_text.get_selection();
 | 
			
		||||
        this._copyItem.setSensitive(selection && selection != '');
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updatePasteItem: function() {
 | 
			
		||||
        this._clipboard.get_text(Lang.bind(this,
 | 
			
		||||
            function(clipboard, text) {
 | 
			
		||||
                this._pasteItem.setSensitive(text && text != '');
 | 
			
		||||
            }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _updatePasswordItem: function() {
 | 
			
		||||
        let textHidden = (this._entry.clutter_text.password_char);
 | 
			
		||||
        if (textHidden)
 | 
			
		||||
            this._passwordItem.label.set_text(_("Show Text"));
 | 
			
		||||
        else
 | 
			
		||||
            this._passwordItem.label.set_text(_("Hide Text"));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onCopyActivated: function() {
 | 
			
		||||
        let selection = this._entry.clutter_text.get_selection();
 | 
			
		||||
        this._clipboard.set_text(selection);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onPasteActivated: function() {
 | 
			
		||||
        this._clipboard.get_text(Lang.bind(this,
 | 
			
		||||
            function(clipboard, text) {
 | 
			
		||||
                if (!text)
 | 
			
		||||
                    return;
 | 
			
		||||
                this._entry.clutter_text.delete_selection();
 | 
			
		||||
                let pos = this._entry.clutter_text.get_cursor_position();
 | 
			
		||||
                this._entry.clutter_text.insert_text(text, pos);
 | 
			
		||||
            }));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onPasswordActivated: function() {
 | 
			
		||||
        let visible = !!(this._entry.clutter_text.password_char);
 | 
			
		||||
        this._entry.clutter_text.set_password_char(visible ? '' : '\u25cf');
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function _setMenuAlignment(entry, stageX) {
 | 
			
		||||
    let [success, entryX, entryY] = entry.transform_stage_point(stageX, 0);
 | 
			
		||||
    if (success)
 | 
			
		||||
        entry._menu.setSourceAlignment(entryX / entry.width);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function _onClicked(action, actor) {
 | 
			
		||||
    let entry = actor._menu ? actor : actor.get_parent();
 | 
			
		||||
 | 
			
		||||
    if (entry._menu.isOpen) {
 | 
			
		||||
        entry._menu.close();
 | 
			
		||||
    } else if (action.get_button() == 3) {
 | 
			
		||||
        let [stageX, stageY] = action.get_coords();
 | 
			
		||||
        _setMenuAlignment(entry, stageX);
 | 
			
		||||
        entry._menu.open();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function _onLongPress(action, actor, state) {
 | 
			
		||||
    let entry = actor._menu ? actor : actor.get_parent();
 | 
			
		||||
 | 
			
		||||
    if (state == Clutter.LongPressState.QUERY)
 | 
			
		||||
        return action.get_button() == 1 && !entry._menu.isOpen;
 | 
			
		||||
 | 
			
		||||
    if (state == Clutter.LongPressState.ACTIVATE) {
 | 
			
		||||
        let [stageX, stageY] = action.get_coords();
 | 
			
		||||
        _setMenuAlignment(entry, stageX);
 | 
			
		||||
        entry._menu.open();
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function _onPopup(actor) {
 | 
			
		||||
    let entry = actor._menu ? actor : actor.get_parent();
 | 
			
		||||
    let [success, textX, textY, lineHeight] = entry.clutter_text.position_to_coords(-1);
 | 
			
		||||
    if (success)
 | 
			
		||||
        entry._menu.setSourceAlignment(textX / entry.width);
 | 
			
		||||
    entry._menu.open();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function addContextMenu(entry, params) {
 | 
			
		||||
    if (entry._menu)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    entry._menu = new _EntryMenu(entry, params);
 | 
			
		||||
    entry._menuManager = new PopupMenu.PopupMenuManager({ actor: entry });
 | 
			
		||||
    entry._menuManager.addMenu(entry._menu);
 | 
			
		||||
 | 
			
		||||
    let clickAction;
 | 
			
		||||
 | 
			
		||||
    // Add a click action to both the entry and its clutter_text; the former
 | 
			
		||||
    // so padding is included in the clickable area, the latter because the
 | 
			
		||||
    // event processing of ClutterText prevents event-bubbling.
 | 
			
		||||
    clickAction = new Clutter.ClickAction();
 | 
			
		||||
    clickAction.connect('clicked', _onClicked);
 | 
			
		||||
    clickAction.connect('long-press', _onLongPress);
 | 
			
		||||
    entry.clutter_text.add_action(clickAction);
 | 
			
		||||
 | 
			
		||||
    clickAction = new Clutter.ClickAction();
 | 
			
		||||
    clickAction.connect('clicked', _onClicked);
 | 
			
		||||
    clickAction.connect('long-press', _onLongPress);
 | 
			
		||||
    entry.add_action(clickAction);
 | 
			
		||||
 | 
			
		||||
    entry.connect('popup-menu', _onPopup);
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Signals = imports.signals;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const GConf = imports.gi.GConf;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gdk = imports.gi.Gdk;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GdkPixbuf = imports.gi.GdkPixbuf;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
const ByteArray = imports.byteArray;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
@@ -1104,10 +1104,10 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
        let activeAp = this.device.active_access_point;
 | 
			
		||||
 | 
			
		||||
        if (activeAp) {
 | 
			
		||||
            let pos = this._findNetwork(activeAp);
 | 
			
		||||
            let res = this._findExistingNetwork(activeAp);
 | 
			
		||||
 | 
			
		||||
            if (pos != -1)
 | 
			
		||||
                this._activeNetwork = this._networks[pos];
 | 
			
		||||
            if (res != null)
 | 
			
		||||
                this._activeNetwork = this._networks[res.network];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // we don't refresh the view here, setActiveConnection will
 | 
			
		||||
@@ -1181,6 +1181,18 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _findExistingNetwork: function(accessPoint) {
 | 
			
		||||
        for (let i = 0; i < this._networks.length; i++) {
 | 
			
		||||
            let apObj = this._networks[i];
 | 
			
		||||
            for (let j = 0; j < apObj.accessPoints.length; j++) {
 | 
			
		||||
                if (apObj.accessPoints[j] == accessPoint)
 | 
			
		||||
                    return { network: i, ap: j };
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _findNetwork: function(accessPoint) {
 | 
			
		||||
        if (accessPoint.get_ssid() == null)
 | 
			
		||||
            return -1;
 | 
			
		||||
@@ -1273,22 +1285,15 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _accessPointRemoved: function(device, accessPoint) {
 | 
			
		||||
        let pos = this._findNetwork(accessPoint);
 | 
			
		||||
        let res = this._findExistingNetwork(accessPoint);
 | 
			
		||||
 | 
			
		||||
        if (pos == -1) {
 | 
			
		||||
        if (res == null) {
 | 
			
		||||
            log('Removing an access point that was never added');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let apObj = this._networks[pos];
 | 
			
		||||
        let i = apObj.accessPoints.indexOf(accessPoint);
 | 
			
		||||
 | 
			
		||||
        if (i == -1) {
 | 
			
		||||
            log('Removing an access point that was never added');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        apObj.accessPoints.splice(i, 1);
 | 
			
		||||
        let apObj = this._networks[res.network];
 | 
			
		||||
        apObj.accessPoints.splice(res.ap, 1);
 | 
			
		||||
 | 
			
		||||
        if (apObj.accessPoints.length == 0) {
 | 
			
		||||
            if (this._activeNetwork == apObj)
 | 
			
		||||
@@ -1302,22 +1307,26 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
                    // we removed an item in the main menu, and we have a more submenu
 | 
			
		||||
                    // we need to extract the first item in more and move it to the submenu
 | 
			
		||||
 | 
			
		||||
                    let apObj = this._overflowItem.menu.firstMenuItem;
 | 
			
		||||
                    if (apObj.item) {
 | 
			
		||||
                        apObj.item.destroy();
 | 
			
		||||
                    let item = this._overflowItem.menu.firstMenuItem;
 | 
			
		||||
                    if (item && item._apObj) {
 | 
			
		||||
                        item.destroy();
 | 
			
		||||
                        // clear the cycle, and allow the construction of the new item
 | 
			
		||||
                        item._apObj.item = null;
 | 
			
		||||
 | 
			
		||||
                        this._createNetworkItem(apObj, NUM_VISIBLE_NETWORKS-1);
 | 
			
		||||
                        this._createNetworkItem(item._apObj, NUM_VISIBLE_NETWORKS-1);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        log('The more... menu was existing and empty! This should not happen');
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // This can happen if the removed connection is from the overflow
 | 
			
		||||
                // menu, or if we just moved the last connection out from the menu
 | 
			
		||||
                if (this._overflowItem.menu.length == 0) {
 | 
			
		||||
                if (this._overflowItem.menu.numMenuItems == 0) {
 | 
			
		||||
                    this._overflowItem.destroy();
 | 
			
		||||
                    this._overflowItem = null;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            this._networks.splice(pos, 1);
 | 
			
		||||
            this._networks.splice(res.network, 1);
 | 
			
		||||
 | 
			
		||||
        } else if (apObj.item)
 | 
			
		||||
            apObj.item.updateAccessPoints(apObj.accessPoints);
 | 
			
		||||
@@ -1489,18 +1498,16 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(apObj.connections.length > 0) {
 | 
			
		||||
            if (apObj.connections.length == 1)
 | 
			
		||||
            if (apObj.connections.length == 1) {
 | 
			
		||||
                apObj.item = this._createAPItem(apObj.connections[0], apObj, false);
 | 
			
		||||
            else {
 | 
			
		||||
            } else {
 | 
			
		||||
                let title = apObj.ssidText;
 | 
			
		||||
                apObj.item = new PopupMenu.PopupSubMenuMenuItem(title);
 | 
			
		||||
                apObj.item._apObj = apObj;
 | 
			
		||||
                for (let i = 0; i < apObj.connections.length; i++)
 | 
			
		||||
                    apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true));
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
 | 
			
		||||
            apObj.item._apObj = apObj;
 | 
			
		||||
            apObj.item.connect('activate', Lang.bind(this, function() {
 | 
			
		||||
                let accessPoints = sortAccessPoints(apObj.accessPoints);
 | 
			
		||||
                if (   (accessPoints[0]._secType == NMAccessPointSecurity.WPA2_ENT)
 | 
			
		||||
@@ -1515,6 +1522,8 @@ NMDeviceWireless.prototype = {
 | 
			
		||||
                }
 | 
			
		||||
            }));
 | 
			
		||||
        }
 | 
			
		||||
        apObj.item._apObj = apObj;
 | 
			
		||||
 | 
			
		||||
        if (position < NUM_VISIBLE_NETWORKS) {
 | 
			
		||||
            apObj.isMore = false;
 | 
			
		||||
            this.section.addMenuItem(apObj.item, position);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -43,8 +43,8 @@ const UPDeviceState = {
 | 
			
		||||
const PowerManagerInterface = {
 | 
			
		||||
    name: 'org.gnome.SettingsDaemon.Power',
 | 
			
		||||
    methods: [
 | 
			
		||||
        { name: 'GetDevices', inSignature: '', outSignature: 'a(susbut)' },
 | 
			
		||||
        { name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susbut)' },
 | 
			
		||||
        { name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
 | 
			
		||||
        { name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
 | 
			
		||||
        ],
 | 
			
		||||
    signals: [
 | 
			
		||||
        { name: 'Changed', inSignature: '' },
 | 
			
		||||
@@ -155,7 +155,7 @@ Indicator.prototype = {
 | 
			
		||||
    _devicesChanged: function() {
 | 
			
		||||
        this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
 | 
			
		||||
            if (icon) {
 | 
			
		||||
                let gicon = Shell.util_icon_from_string (icon);
 | 
			
		||||
                let gicon = Gio.icon_new_for_string(icon);
 | 
			
		||||
                this.setGIcon(gicon);
 | 
			
		||||
                this.actor.show();
 | 
			
		||||
            } else {
 | 
			
		||||
@@ -183,7 +183,7 @@ DeviceItem.prototype = {
 | 
			
		||||
        this._box = new St.BoxLayout({ style_class: 'popup-device-menu-item' });
 | 
			
		||||
        this._label = new St.Label({ text: this._deviceTypeToString(device_type) });
 | 
			
		||||
 | 
			
		||||
        this._icon = new St.Icon({ gicon: Shell.util_icon_from_string(icon),
 | 
			
		||||
        this._icon = new St.Icon({ gicon: Gio.icon_new_for_string(icon),
 | 
			
		||||
                                   icon_type: St.IconType.SYMBOLIC,
 | 
			
		||||
                                   style_class: 'popup-menu-icon' });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
const Gio = imports.gi.Gio;
 | 
			
		||||
@@ -257,7 +257,7 @@ Client.prototype = {
 | 
			
		||||
        // FIXME: We don't have a 'chat room' icon (bgo #653737) use
 | 
			
		||||
        // system-users for now as Empathy does.
 | 
			
		||||
        let source = new ApproverSource(dispatchOp, _("Invitation"),
 | 
			
		||||
                                        Shell.util_icon_from_string('system-users'));
 | 
			
		||||
                                        Gio.icon_new_for_string('system-users'));
 | 
			
		||||
        Main.messageTray.add(source);
 | 
			
		||||
 | 
			
		||||
        let notif = new RoomInviteNotification(source, dispatchOp, channel, contacts[0]);
 | 
			
		||||
@@ -325,8 +325,8 @@ Client.prototype = {
 | 
			
		||||
 | 
			
		||||
        // We got the TpContact
 | 
			
		||||
        let source = new ApproverSource(dispatchOp, _("Call"), isVideo ?
 | 
			
		||||
                                        Shell.util_icon_from_string('camera-web') :
 | 
			
		||||
                                        Shell.util_icon_from_string('audio-input-microphone'));
 | 
			
		||||
                                        Gio.icon_new_for_string('camera-web') :
 | 
			
		||||
                                        Gio.icon_new_for_string('audio-input-microphone'));
 | 
			
		||||
        Main.messageTray.add(source);
 | 
			
		||||
 | 
			
		||||
        let notif = new AudioVideoNotification(source, dispatchOp, channel, contacts[0], isVideo);
 | 
			
		||||
@@ -539,9 +539,13 @@ ChatSource.prototype = {
 | 
			
		||||
 | 
			
		||||
    _updateAlias: function() {
 | 
			
		||||
        let oldAlias = this.title;
 | 
			
		||||
        this.setTitle(this._contact.get_alias());
 | 
			
		||||
        this._notification.appendAliasChange(oldAlias, this.title);
 | 
			
		||||
        this.pushNotification(this._notification);
 | 
			
		||||
        let newAlias = this._contact.get_alias();
 | 
			
		||||
 | 
			
		||||
        if (oldAlias == newAlias)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this.setTitle(newAlias);
 | 
			
		||||
        this._notification.appendAliasChange(oldAlias, newAlias);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    createNotificationIcon: function() {
 | 
			
		||||
@@ -570,7 +574,7 @@ ChatSource.prototype = {
 | 
			
		||||
    open: function(notification) {
 | 
			
		||||
          if (this._client.is_handling_channel(this._channel)) {
 | 
			
		||||
              // We are handling the channel, try to pass it to Empathy
 | 
			
		||||
              this._client.delegate_channels_async([this._channel], global.get_current_time(), "", null);
 | 
			
		||||
              this._client.delegate_channels_async([this._channel], global.get_current_time(), '', null);
 | 
			
		||||
          }
 | 
			
		||||
          else {
 | 
			
		||||
              // We are not the handler, just ask to present the channel
 | 
			
		||||
@@ -1198,6 +1202,7 @@ AudioVideoNotification.prototype = {
 | 
			
		||||
        this.setResident(true);
 | 
			
		||||
 | 
			
		||||
        this.addButton('reject', _("Reject"));
 | 
			
		||||
        /* translators: this is a button label (verb), not a noun */
 | 
			
		||||
        this.addButton('answer', _("Answer"));
 | 
			
		||||
 | 
			
		||||
        this.connect('action-invoked', Lang.bind(this, function(self, action) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const AccountsService = imports.gi.AccountsService;
 | 
			
		||||
const DBus = imports.dbus;
 | 
			
		||||
@@ -158,22 +158,29 @@ IMStatusChooserItem.prototype = {
 | 
			
		||||
                            Lang.bind(this, this._changeIMStatus));
 | 
			
		||||
 | 
			
		||||
        this._presence = new GnomeSession.Presence();
 | 
			
		||||
        this._presence.getStatus(Lang.bind(this, this._sessionStatusChanged));
 | 
			
		||||
        this._presence.connect('StatusChanged',
 | 
			
		||||
                               Lang.bind(this, this._sessionStatusChanged));
 | 
			
		||||
 | 
			
		||||
        this._sessionPresenceRestored = false;
 | 
			
		||||
        this._imPresenceRestored = false;
 | 
			
		||||
        this._currentPresence = undefined;
 | 
			
		||||
        this._previousPresence = undefined;
 | 
			
		||||
 | 
			
		||||
        this._accountMgr = Tp.AccountManager.dup()
 | 
			
		||||
        this._accountMgr.connect('most-available-presence-changed',
 | 
			
		||||
                                 Lang.bind(this, this._IMStatusChanged));
 | 
			
		||||
        this._accountMgr.prepare_async(null, Lang.bind(this,
 | 
			
		||||
            function(mgr) {
 | 
			
		||||
                let [presence, s, msg] = mgr.get_most_available_presence();
 | 
			
		||||
                let [presence, status, msg] = mgr.get_most_available_presence();
 | 
			
		||||
 | 
			
		||||
                this._previousPresence = presence;
 | 
			
		||||
                this._IMStatusChanged(mgr, presence, s, msg);
 | 
			
		||||
                let savedPresence = global.settings.get_int('saved-im-presence');
 | 
			
		||||
                if (savedPresence == presence) {
 | 
			
		||||
                    this._IMStatusChanged(mgr, presence, status, msg);
 | 
			
		||||
                } else {
 | 
			
		||||
                    this._setComboboxPresence(savedPresence);
 | 
			
		||||
                    status = this._statusForPresence(savedPresence);
 | 
			
		||||
                    msg = msg ? msg : '';
 | 
			
		||||
                    mgr.set_all_requested_presences(savedPresence, status, msg);
 | 
			
		||||
                }
 | 
			
		||||
            }));
 | 
			
		||||
 | 
			
		||||
        this._userManager = AccountsService.UserManager.get_default();
 | 
			
		||||
@@ -261,19 +268,35 @@ IMStatusChooserItem.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _IMStatusChanged: function(accountMgr, presence, status, message) {
 | 
			
		||||
        if (!this._imPresenceRestored)
 | 
			
		||||
            this._imPresenceRestored = true;
 | 
			
		||||
 | 
			
		||||
        if (presence == this._currentPresence)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._currentPresence = presence;
 | 
			
		||||
        this._setComboboxPresence(presence);
 | 
			
		||||
 | 
			
		||||
        if (!this._sessionPresenceRestored) {
 | 
			
		||||
            this._presence.getStatus(Lang.bind(this, this._sessionStatusChanged));
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (presence == Tp.ConnectionPresenceType.AVAILABLE)
 | 
			
		||||
            this._presence.setStatus(GnomeSession.PresenceStatus.AVAILABLE);
 | 
			
		||||
 | 
			
		||||
        if (!this._expectedPresence || presence != this._expectedPresence)
 | 
			
		||||
            this._previousPresence = presence;
 | 
			
		||||
        // We ignore the actual value of _expectedPresence and never safe
 | 
			
		||||
        // the first presence change after an "automatic" change, assuming
 | 
			
		||||
        // that it is the response to our request; this is to account for
 | 
			
		||||
        // mission control falling back to "similar" presences if an account
 | 
			
		||||
        // type does not implement the requested presence.
 | 
			
		||||
        if (!this._expectedPresence)
 | 
			
		||||
            global.settings.set_int('saved-im-presence', presence);
 | 
			
		||||
        else
 | 
			
		||||
            this._expectedPresence = undefined;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _setComboboxPresence: function(presence) {
 | 
			
		||||
        let activatedItem;
 | 
			
		||||
 | 
			
		||||
        if (presence == Tp.ConnectionPresenceType.AVAILABLE)
 | 
			
		||||
@@ -310,13 +333,16 @@ IMStatusChooserItem.prototype = {
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        status = this._statusForPresence(newPresence);
 | 
			
		||||
        msg = msg ? msg : "";
 | 
			
		||||
        msg = msg ? msg : '';
 | 
			
		||||
        this._accountMgr.set_all_requested_presences(newPresence, status, msg);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    getIMPresenceForSessionStatus: function(sessionStatus) {
 | 
			
		||||
        // Restore the last user-set presence when coming back from
 | 
			
		||||
        // BUSY/IDLE (otherwise the last user-set presence matches
 | 
			
		||||
        // the current one)
 | 
			
		||||
        if (sessionStatus == GnomeSession.PresenceStatus.AVAILABLE)
 | 
			
		||||
            return this._previousPresence;
 | 
			
		||||
            return global.settings.get_int('saved-im-presence');
 | 
			
		||||
 | 
			
		||||
        if (sessionStatus == GnomeSession.PresenceStatus.BUSY) {
 | 
			
		||||
            // Only change presence if the current one is "more present" than
 | 
			
		||||
@@ -337,6 +363,20 @@ IMStatusChooserItem.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _sessionStatusChanged: function(sessionPresence, sessionStatus) {
 | 
			
		||||
        if (!this._imPresenceRestored)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (!this._sessionPresenceRestored) {
 | 
			
		||||
            let savedStatus = global.settings.get_int('saved-session-presence');
 | 
			
		||||
            if (sessionStatus != savedStatus) {
 | 
			
		||||
                this._presence.setStatus(savedStatus);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            this._sessionPresenceRestored = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        global.settings.set_int('saved-session-presence', sessionStatus);
 | 
			
		||||
 | 
			
		||||
        let [presence, s, msg] = this._accountMgr.get_most_available_presence();
 | 
			
		||||
        let newPresence, status;
 | 
			
		||||
 | 
			
		||||
@@ -346,7 +386,7 @@ IMStatusChooserItem.prototype = {
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        status = this._statusForPresence(newPresence);
 | 
			
		||||
        msg = msg ? msg : "";
 | 
			
		||||
        msg = msg ? msg : '';
 | 
			
		||||
 | 
			
		||||
        this._expectedPresence = newPresence;
 | 
			
		||||
        this._accountMgr.set_all_requested_presences(newPresence, status, msg);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Gtk = imports.gi.Gtk;
 | 
			
		||||
@@ -12,6 +12,7 @@ const St = imports.gi.St;
 | 
			
		||||
const Main = imports.ui.main;
 | 
			
		||||
const Search = imports.ui.search;
 | 
			
		||||
const SearchDisplay = imports.ui.searchDisplay;
 | 
			
		||||
const ShellEntry = imports.ui.shellEntry;
 | 
			
		||||
const Tweener = imports.ui.tweener;
 | 
			
		||||
 | 
			
		||||
function BaseTab(titleActor, pageActor, name, a11yIcon) {
 | 
			
		||||
@@ -120,6 +121,7 @@ SearchTab.prototype = {
 | 
			
		||||
                                     hint_text: _("Type to search..."),
 | 
			
		||||
                                     track_hover: true,
 | 
			
		||||
                                     can_focus: true });
 | 
			
		||||
        ShellEntry.addContextMenu(this._entry);
 | 
			
		||||
        this._text = this._entry.clutter_text;
 | 
			
		||||
        this._text.connect('key-press-event', Lang.bind(this, this._onKeyPress));
 | 
			
		||||
 | 
			
		||||
@@ -289,9 +291,11 @@ SearchTab.prototype = {
 | 
			
		||||
    _onCapturedEvent: function(actor, event) {
 | 
			
		||||
        if (event.type() == Clutter.EventType.BUTTON_PRESS) {
 | 
			
		||||
            let source = event.get_source();
 | 
			
		||||
            if (source != this._text && this._text.text == '') {
 | 
			
		||||
            if (source != this._text && this._text.text == '' &&
 | 
			
		||||
                !Main.layoutManager.keyboardBox.contains(source)) {
 | 
			
		||||
                // the user clicked outside after activating the entry, but
 | 
			
		||||
                // with no search term entered - cancel the search
 | 
			
		||||
                // with no search term entered and no keyboard button pressed
 | 
			
		||||
                // - cancel the search
 | 
			
		||||
                this._reset();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
const Shell = imports.gi.Shell;
 | 
			
		||||
@@ -12,35 +12,10 @@ function WindowAttentionHandler() {
 | 
			
		||||
 | 
			
		||||
WindowAttentionHandler.prototype = {
 | 
			
		||||
    _init : function() {
 | 
			
		||||
        this._startupIds = {};
 | 
			
		||||
        this._tracker = Shell.WindowTracker.get_default();
 | 
			
		||||
        this._tracker.connect('startup-sequence-changed', Lang.bind(this, this._onStartupSequenceChanged));
 | 
			
		||||
 | 
			
		||||
        global.display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onStartupSequenceChanged : function(tracker) {
 | 
			
		||||
        let sequences = tracker.get_startup_sequences();
 | 
			
		||||
        this._startupIds = {};
 | 
			
		||||
        for(let i = 0; i < sequences.length; i++) {
 | 
			
		||||
            this._startupIds[sequences[i].get_id()] = true;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _getTitle : function(app, window) {
 | 
			
		||||
        if (this._startupIds[window.get_startup_id()])
 | 
			
		||||
            return app.get_name();
 | 
			
		||||
        else
 | 
			
		||||
            return window.title;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _getBanner : function(app, window) {
 | 
			
		||||
        if (this._startupIds[window.get_startup_id()])
 | 
			
		||||
            return _("%s has finished starting").format(app.get_name());
 | 
			
		||||
        else
 | 
			
		||||
            return _("'%s' is ready").format(window.title);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onWindowDemandsAttention : function(display, window) {
 | 
			
		||||
        // We don't want to show the notification when the window is already focused,
 | 
			
		||||
        // because this is rather pointless.
 | 
			
		||||
@@ -57,12 +32,16 @@ WindowAttentionHandler.prototype = {
 | 
			
		||||
        let source = new Source(app, window);
 | 
			
		||||
        Main.messageTray.add(source);
 | 
			
		||||
 | 
			
		||||
        let notification = new MessageTray.Notification(source, this._getTitle(app, window), this._getBanner(app, window));
 | 
			
		||||
        let banner = _("'%s' is ready").format(window.title);
 | 
			
		||||
        let title = app.get_name();
 | 
			
		||||
 | 
			
		||||
        let notification = new MessageTray.Notification(source, title, banner);
 | 
			
		||||
        source.notify(notification);
 | 
			
		||||
 | 
			
		||||
        source.signalIDs.push(window.connect('notify::title', Lang.bind(this, function(win) {
 | 
			
		||||
                                    notification.update(this._getTitle(app, win), this._getBanner(app, win));
 | 
			
		||||
                              })));
 | 
			
		||||
        source.signalIDs.push(window.connect('notify::title',
 | 
			
		||||
                                             Lang.bind(this, function() {
 | 
			
		||||
                                                 notification.update(title, banner);
 | 
			
		||||
                                             })));
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GLib = imports.gi.GLib;
 | 
			
		||||
@@ -37,28 +37,36 @@ function WindowDimmer(actor) {
 | 
			
		||||
 | 
			
		||||
WindowDimmer.prototype = {
 | 
			
		||||
    _init: function(actor) {
 | 
			
		||||
        this.effect = new Clutter.ShaderEffect({ shader_type: Clutter.ShaderType.FRAGMENT_SHADER });
 | 
			
		||||
        this.effect.set_shader_source(getDimShaderSource());
 | 
			
		||||
        if (Clutter.feature_available(Clutter.FeatureFlags.SHADERS_GLSL)) {
 | 
			
		||||
            this._effect = new Clutter.ShaderEffect({ shader_type: Clutter.ShaderType.FRAGMENT_SHADER });
 | 
			
		||||
            this._effect.set_shader_source(getDimShaderSource());
 | 
			
		||||
        } else {
 | 
			
		||||
            this._effect = null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.actor = actor;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    set dimFraction(fraction) {
 | 
			
		||||
        this._dimFraction = fraction;
 | 
			
		||||
 | 
			
		||||
        if (this._effect == null)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (!Meta.prefs_get_attach_modal_dialogs()) {
 | 
			
		||||
            this.effect.enabled = false;
 | 
			
		||||
            this._effect.enabled = false;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (fraction > 0.01) {
 | 
			
		||||
            Shell.shader_effect_set_double_uniform(this.effect, 'height', this.actor.get_height());
 | 
			
		||||
            Shell.shader_effect_set_double_uniform(this.effect, 'fraction', fraction);
 | 
			
		||||
            Shell.shader_effect_set_double_uniform(this._effect, 'height', this.actor.get_height());
 | 
			
		||||
            Shell.shader_effect_set_double_uniform(this._effect, 'fraction', fraction);
 | 
			
		||||
 | 
			
		||||
            if (!this.effect.actor)
 | 
			
		||||
                this.actor.add_effect(this.effect);
 | 
			
		||||
            if (!this._effect.actor)
 | 
			
		||||
                this.actor.add_effect(this._effect);
 | 
			
		||||
        } else {
 | 
			
		||||
            if (this.effect.actor)
 | 
			
		||||
                this.actor.remove_effect(this.effect);
 | 
			
		||||
            if (this._effect.actor)
 | 
			
		||||
                this.actor.remove_effect(this._effect);
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const GConf = imports.gi.GConf;
 | 
			
		||||
@@ -135,8 +135,11 @@ WindowClone.prototype = {
 | 
			
		||||
        this._realWindowDestroyId = this.realWindow.connect('destroy',
 | 
			
		||||
            Lang.bind(this, this._disconnectRealWindowSignals));
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('button-release-event',
 | 
			
		||||
                           Lang.bind(this, this._onButtonRelease));
 | 
			
		||||
        let clickAction = new Clutter.ClickAction();
 | 
			
		||||
        clickAction.connect('clicked', Lang.bind(this, this._onClicked));
 | 
			
		||||
        clickAction.connect('long-press', Lang.bind(this, this._onLongPress));
 | 
			
		||||
 | 
			
		||||
        this.actor.add_action(clickAction);
 | 
			
		||||
 | 
			
		||||
        this.actor.connect('scroll-event',
 | 
			
		||||
                           Lang.bind(this, this._onScroll));
 | 
			
		||||
@@ -147,6 +150,7 @@ WindowClone.prototype = {
 | 
			
		||||
 | 
			
		||||
        this._draggable = DND.makeDraggable(this.actor,
 | 
			
		||||
                                            { restoreOnSuccess: true,
 | 
			
		||||
                                              manualMode: true,
 | 
			
		||||
                                              dragActorMaxSize: WINDOW_DND_SIZE,
 | 
			
		||||
                                              dragActorOpacity: DRAGGING_WINDOW_OPACITY });
 | 
			
		||||
        this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin));
 | 
			
		||||
@@ -345,9 +349,27 @@ WindowClone.prototype = {
 | 
			
		||||
        this._zoomStep           = undefined;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onButtonRelease : function (actor, event) {
 | 
			
		||||
    _onClicked: function(action, actor) {
 | 
			
		||||
        this._selected = true;
 | 
			
		||||
        this.emit('selected', event.get_time());
 | 
			
		||||
        this.emit('selected', global.get_current_time());
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onLongPress: function(action, actor, state) {
 | 
			
		||||
        // Take advantage of the Clutter policy to consider
 | 
			
		||||
        // a long-press canceled when the pointer movement
 | 
			
		||||
        // exceeds dnd-drag-threshold to manually start the drag
 | 
			
		||||
        if (state == Clutter.LongPressState.CANCEL) {
 | 
			
		||||
            // 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,
 | 
			
		||||
                function() {
 | 
			
		||||
                    if (this._selected)
 | 
			
		||||
                        return;
 | 
			
		||||
                    let [x, y] = action.get_coords();
 | 
			
		||||
                    this._draggable.startDrag(x, y, global.get_current_time());
 | 
			
		||||
                }));
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDragBegin : function (draggable, time) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -148,6 +148,8 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
        this.metaWorkspace = metaWorkspace;
 | 
			
		||||
        this.monitorIndex = Main.layoutManager.primaryIndex;
 | 
			
		||||
 | 
			
		||||
        this._removed = false;
 | 
			
		||||
 | 
			
		||||
        this.actor = new St.Group({ reactive: true,
 | 
			
		||||
                                    clip_to_allocation: true,
 | 
			
		||||
                                    style_class: 'workspace-thumbnail' });
 | 
			
		||||
@@ -173,17 +175,21 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
        let monitor = Main.layoutManager.primaryMonitor;
 | 
			
		||||
        this.setPorthole(monitor.x, monitor.y, monitor.width, monitor.height);
 | 
			
		||||
 | 
			
		||||
        let windows = global.get_window_actors().filter(this._isMyWindow, this);
 | 
			
		||||
        let windows = global.get_window_actors().filter(this._isWorkspaceWindow, this);
 | 
			
		||||
 | 
			
		||||
        // Create clones for windows that should be visible in the Overview
 | 
			
		||||
        this._windows = [];
 | 
			
		||||
        this._allWindows = [];
 | 
			
		||||
        this._minimizedChangedIds = [];
 | 
			
		||||
        for (let i = 0; i < windows.length; i++) {
 | 
			
		||||
            windows[i].meta_window._minimizedChangedId =
 | 
			
		||||
            let minimizedChangedId =
 | 
			
		||||
                windows[i].meta_window.connect('notify::minimized',
 | 
			
		||||
                                               Lang.bind(this,
 | 
			
		||||
                                                         this._updateMinimized));
 | 
			
		||||
            this._allWindows.push(windows[i].meta_window);
 | 
			
		||||
            this._minimizedChangedIds.push(minimizedChangedId);
 | 
			
		||||
 | 
			
		||||
            if (this._isOverviewWindow(windows[i])) {
 | 
			
		||||
            if (this._isMyWindow(windows[i]) && this._isOverviewWindow(windows[i])) {
 | 
			
		||||
                this._addWindowClone(windows[i]);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -268,17 +274,11 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
        let clone = this._windows[index];
 | 
			
		||||
        this._windows.splice(index, 1);
 | 
			
		||||
 | 
			
		||||
        if (win && this._isOverviewWindow(win)) {
 | 
			
		||||
            if (metaWin._minimizedChangedId) {
 | 
			
		||||
                metaWin.disconnect(metaWin._minimizedChangedId);
 | 
			
		||||
                delete metaWin._minimizedChangedId;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        clone.destroy();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _doAddWindow : function(metaWin) {
 | 
			
		||||
        if (this.leavingOverview)
 | 
			
		||||
        if (this._removed)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        let win = metaWin.get_compositor_private();
 | 
			
		||||
@@ -288,7 +288,7 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
            // the compositor finds out about them...
 | 
			
		||||
            Mainloop.idle_add(Lang.bind(this,
 | 
			
		||||
                                        function () {
 | 
			
		||||
                                            if (this.actor &&
 | 
			
		||||
                                            if (!this._removed &&
 | 
			
		||||
                                                metaWin.get_compositor_private() &&
 | 
			
		||||
                                                metaWin.get_workspace() == this.metaWorkspace)
 | 
			
		||||
                                                this._doAddWindow(metaWin);
 | 
			
		||||
@@ -297,16 +297,19 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this._allWindows.indexOf(metaWin) == -1) {
 | 
			
		||||
            let minimizedChangedId = metaWin.connect('notify::minimized',
 | 
			
		||||
                                                     Lang.bind(this,
 | 
			
		||||
                                                               this._updateMinimized));
 | 
			
		||||
            this._allWindows.push(metaWin);
 | 
			
		||||
            this._minimizedChangedIds.push(minimizedChangedId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // We might have the window in our list already if it was on all workspaces and
 | 
			
		||||
        // now was moved to this workspace
 | 
			
		||||
        if (this._lookupIndex (metaWin) != -1)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        if (!metaWin._minimizedChangedId)
 | 
			
		||||
            metaWin._minimizedChangedId = metaWin.connect('notify::minimized',
 | 
			
		||||
                                                          Lang.bind(this,
 | 
			
		||||
                                                                    this._updateMinimized));
 | 
			
		||||
 | 
			
		||||
        if (!this._isMyWindow(win) || !this._isOverviewWindow(win))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
@@ -318,6 +321,13 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _windowRemoved : function(metaWorkspace, metaWin) {
 | 
			
		||||
        let index = this._allWindows.indexOf(metaWin);
 | 
			
		||||
        if (index != -1) {
 | 
			
		||||
            metaWin.disconnect(this._minimizedChangedIds[index]);
 | 
			
		||||
            this._allWindows.splice(index, 1);
 | 
			
		||||
            this._minimizedChangedIds.splice(index, 1);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this._doRemoveWindow(metaWin);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -344,27 +354,36 @@ WorkspaceThumbnail.prototype = {
 | 
			
		||||
        this.actor.destroy();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function(actor) {
 | 
			
		||||
    workspaceRemoved : function() {
 | 
			
		||||
        if (this._removed)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        this._removed = true;
 | 
			
		||||
 | 
			
		||||
        this.metaWorkspace.disconnect(this._windowAddedId);
 | 
			
		||||
        this.metaWorkspace.disconnect(this._windowRemovedId);
 | 
			
		||||
        global.screen.disconnect(this._windowEnteredMonitorId);
 | 
			
		||||
        global.screen.disconnect(this._windowLeftMonitorId);
 | 
			
		||||
 | 
			
		||||
        for (let i = 0; i < this._windows.length; i++) {
 | 
			
		||||
            let metaWin = this._windows[i].metaWindow;
 | 
			
		||||
            if (metaWin._minimizedChangedId) {
 | 
			
		||||
                metaWin.disconnect(metaWin._minimizedChangedId);
 | 
			
		||||
                delete metaWin._minimizedChangedId;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        for (let i = 0; i < this._allWindows.length; i++)
 | 
			
		||||
            this._allWindows[i].disconnect(this._minimizedChangedIds[i]);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _onDestroy: function(actor) {
 | 
			
		||||
        this.workspaceRemoved();
 | 
			
		||||
 | 
			
		||||
        this._windows = [];
 | 
			
		||||
        this.actor = null;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // Tests if @win belongs to this workspace
 | 
			
		||||
    _isWorkspaceWindow : function (win) {
 | 
			
		||||
        return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index());
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // Tests if @win belongs to this workspace and monitor
 | 
			
		||||
    _isMyWindow : function (win) {
 | 
			
		||||
        return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()) &&
 | 
			
		||||
        return this._isWorkspaceWindow(win) &&
 | 
			
		||||
            (!win.get_meta_window() || win.get_meta_window().get_monitor() == this.monitorIndex);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -584,8 +603,10 @@ ThumbnailsBox.prototype = {
 | 
			
		||||
            if (thumbnail.state > ThumbnailState.NORMAL)
 | 
			
		||||
                continue;
 | 
			
		||||
 | 
			
		||||
            if (currentPos >= start && currentPos < start + count)
 | 
			
		||||
            if (currentPos >= start && currentPos < start + count) {
 | 
			
		||||
                thumbnail.workspaceRemoved();
 | 
			
		||||
                this._setThumbnailState(thumbnail, ThumbnailState.REMOVING);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            currentPos++;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
@@ -109,8 +109,6 @@ WorkspacesView.prototype = {
 | 
			
		||||
        this._scrollAdjustment.connect('notify::value',
 | 
			
		||||
                                       Lang.bind(this, this._onScroll));
 | 
			
		||||
 | 
			
		||||
        this._timeoutId = 0;
 | 
			
		||||
 | 
			
		||||
        this._switchWorkspaceNotifyId =
 | 
			
		||||
            global.window_manager.connect('switch-workspace',
 | 
			
		||||
                                          Lang.bind(this, this._activeWorkspaceChanged));
 | 
			
		||||
@@ -321,10 +319,6 @@ WorkspacesView.prototype = {
 | 
			
		||||
        if (this._inDrag)
 | 
			
		||||
            this._dragEnd();
 | 
			
		||||
 | 
			
		||||
        if (this._timeoutId) {
 | 
			
		||||
            Mainloop.source_remove(this._timeoutId);
 | 
			
		||||
            this._timeoutId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        if (this._itemDragBeginId > 0) {
 | 
			
		||||
            Main.overview.disconnect(this._itemDragBeginId);
 | 
			
		||||
            this._itemDragBeginId = 0;
 | 
			
		||||
@@ -383,72 +377,10 @@ WorkspacesView.prototype = {
 | 
			
		||||
                this._extraWorkspaces[i].setReservedSlot(dragEvent.dragActor._delegate);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let primary = Main.layoutManager.primaryMonitor;
 | 
			
		||||
 | 
			
		||||
        let activeWorkspaceIndex = global.screen.get_active_workspace_index();
 | 
			
		||||
        let topWorkspace, bottomWorkspace;
 | 
			
		||||
        topWorkspace  = this._workspaces[activeWorkspaceIndex - 1];
 | 
			
		||||
        bottomWorkspace = this._workspaces[activeWorkspaceIndex + 1];
 | 
			
		||||
        let hoverWorkspace = null;
 | 
			
		||||
 | 
			
		||||
        // reactive monitor edges
 | 
			
		||||
        let topEdge = primary.y;
 | 
			
		||||
        let switchTop = (dragEvent.y <= topEdge && topWorkspace);
 | 
			
		||||
        if (switchTop && this._dragOverLastY != topEdge) {
 | 
			
		||||
            topWorkspace.metaWorkspace.activate(global.get_current_time());
 | 
			
		||||
            this._dragOverLastY = topEdge;
 | 
			
		||||
 | 
			
		||||
            return DND.DragMotionResult.CONTINUE;
 | 
			
		||||
        }
 | 
			
		||||
        let bottomEdge = primary.y + primary.height - 1;
 | 
			
		||||
        let switchBottom = (dragEvent.y >= bottomEdge && bottomWorkspace);
 | 
			
		||||
        if (switchBottom && this._dragOverLastY != bottomEdge) {
 | 
			
		||||
            bottomWorkspace.metaWorkspace.activate(global.get_current_time());
 | 
			
		||||
            this._dragOverLastY = bottomEdge;
 | 
			
		||||
 | 
			
		||||
            return DND.DragMotionResult.CONTINUE;
 | 
			
		||||
        }
 | 
			
		||||
        this._dragOverLastY = dragEvent.y;
 | 
			
		||||
        let result = DND.DragMotionResult.CONTINUE;
 | 
			
		||||
 | 
			
		||||
        // check hover state of new workspace area / inactive workspaces
 | 
			
		||||
        if (topWorkspace) {
 | 
			
		||||
            if (topWorkspace.actor.contains(dragEvent.targetActor)) {
 | 
			
		||||
                hoverWorkspace = topWorkspace;
 | 
			
		||||
                result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (bottomWorkspace) {
 | 
			
		||||
            if (bottomWorkspace.actor.contains(dragEvent.targetActor)) {
 | 
			
		||||
                hoverWorkspace = bottomWorkspace;
 | 
			
		||||
                result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // handle delayed workspace switches
 | 
			
		||||
        if (hoverWorkspace) {
 | 
			
		||||
            if (!this._timeoutId)
 | 
			
		||||
                this._timeoutId = Mainloop.timeout_add_seconds(1,
 | 
			
		||||
                    Lang.bind(this, function() {
 | 
			
		||||
                       hoverWorkspace.metaWorkspace.activate(global.get_current_time());
 | 
			
		||||
                       return false;
 | 
			
		||||
                    }));
 | 
			
		||||
        } else {
 | 
			
		||||
            if (this._timeoutId) {
 | 
			
		||||
                Mainloop.source_remove(this._timeoutId);
 | 
			
		||||
                this._timeoutId = 0;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return result;
 | 
			
		||||
        return DND.DragMotionResult.CONTINUE;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    _dragEnd: function() {
 | 
			
		||||
        if (this._timeoutId) {
 | 
			
		||||
            Mainloop.source_remove(this._timeoutId);
 | 
			
		||||
            this._timeoutId = 0;
 | 
			
		||||
        }
 | 
			
		||||
        DND.removeDragMonitor(this._dragMonitor);
 | 
			
		||||
        this._inDrag = false;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 | 
			
		||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | 
			
		||||
 | 
			
		||||
const Clutter = imports.gi.Clutter;
 | 
			
		||||
const Lang = imports.lang;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ af
 | 
			
		||||
an
 | 
			
		||||
ar
 | 
			
		||||
as
 | 
			
		||||
ast
 | 
			
		||||
be
 | 
			
		||||
bg
 | 
			
		||||
bn
 | 
			
		||||
@@ -31,6 +32,7 @@ it
 | 
			
		||||
ja
 | 
			
		||||
ko
 | 
			
		||||
kn
 | 
			
		||||
ku
 | 
			
		||||
lt
 | 
			
		||||
lv
 | 
			
		||||
mr
 | 
			
		||||
@@ -38,6 +40,7 @@ ms
 | 
			
		||||
nb
 | 
			
		||||
nl
 | 
			
		||||
nn
 | 
			
		||||
oc
 | 
			
		||||
or
 | 
			
		||||
pa
 | 
			
		||||
pl
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@ js/ui/polkitAuthenticationAgent.js
 | 
			
		||||
js/ui/popupMenu.js
 | 
			
		||||
js/ui/runDialog.js
 | 
			
		||||
js/ui/searchDisplay.js
 | 
			
		||||
js/ui/shellEntry.js
 | 
			
		||||
js/ui/shellMountOperation.js
 | 
			
		||||
js/ui/status/accessibility.js
 | 
			
		||||
js/ui/status/bluetooth.js
 | 
			
		||||
@@ -44,4 +45,3 @@ src/shell-global.c
 | 
			
		||||
src/shell-mobile-providers.c
 | 
			
		||||
src/shell-polkit-authentication-agent.c
 | 
			
		||||
src/shell-util.c
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										274
									
								
								po/bg.po
									
									
									
									
									
								
							
							
						
						
									
										274
									
								
								po/bg.po
									
									
									
									
									
								
							@@ -5,10 +5,10 @@
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell master\n"
 | 
			
		||||
"Project-Id-Version: gnome-shell gnome-3-2\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2011-09-25 08:34+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-25 08:34+0300\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-21 23:30+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-21 23:30+0300\n"
 | 
			
		||||
"Last-Translator: Ivaylo Valkov <ivaylo@e-valkov.org>\n"
 | 
			
		||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
 | 
			
		||||
"Language: bg\n"
 | 
			
		||||
@@ -184,42 +184,42 @@ msgstr "Коя клавиатура да бъде да се ползва"
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "изключени доставчици на OpenSearch"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:617
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Сесия…"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Регистриране"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(или се регистрирайте с пръстов отпечатък)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Липсва в списъка?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Отказване"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Регистриране"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Екран за идентификация"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Приспиване"
 | 
			
		||||
 | 
			
		||||
@@ -442,32 +442,32 @@ msgstr "Тази седмица"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "Следващата седмица"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Неизвестно"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "На линия"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Отсъстващ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Зает"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Извън мрежата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "КОНТАКТИ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Изтриване"
 | 
			
		||||
 | 
			
		||||
@@ -607,96 +607,96 @@ msgstr "Инсталиране"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Да се изтегли и инсталира ли „%s“ от from extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "област за уведомяване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Клавиатура"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Няма инсталирани разширения"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Включено"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Изключено"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Грешка"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Остаряло"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Изтегляне"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Преглед на изходния код"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Домашна страница"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Отваряне"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2405
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Информация за системата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Показване на парола"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Свързване"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Парола: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Ключ: "
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Потребител: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Самоличност: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Парола за частният ключ: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Услуга: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "Изисква се удостоверяване за безжична мрежа"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network "
 | 
			
		||||
@@ -705,35 +705,35 @@ msgstr ""
 | 
			
		||||
"За достъп до безжичната мрежа „%s“ са необходими пароли или криптирани "
 | 
			
		||||
"ключове."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Жична идентификация 802.1Х"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Име на мрежата: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "Удостоверяване за DSL"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "Необходим е PIN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Мобилното устройство изисква ПИН"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "ПИН: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Парола за мобилна широколентова връзка"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "За свързване към „%s“ се изисква парола."
 | 
			
		||||
@@ -789,15 +789,15 @@ msgstr "Свързване към…"
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "МЕСТА И УСТРОЙСТВА"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Необходимо е удостоверяване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Администратор"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Удостоверяване"
 | 
			
		||||
 | 
			
		||||
@@ -805,11 +805,11 @@ msgstr "Удостоверяване"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Действието не беше успешно. Опитайте отново."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Парола:"
 | 
			
		||||
 | 
			
		||||
@@ -822,7 +822,7 @@ msgstr "Парола:"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Въведете команда:"
 | 
			
		||||
 | 
			
		||||
@@ -834,6 +834,22 @@ msgstr "Търсене…"
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Няма съвпадения."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Копиране"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Поставяне"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Показване на текста"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Скриване на текста"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Грешна парола. Опитайте отново."
 | 
			
		||||
@@ -967,7 +983,7 @@ msgstr "Винаги позволяване на достъп"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Позволяване само този път"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Отхвърляне"
 | 
			
		||||
 | 
			
		||||
@@ -1236,39 +1252,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Покана"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Разговор"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Обмен на файлове"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Искане за записване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Грешка при свързване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s е на линия."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s не е на линия."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s отсъства."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s е зает."
 | 
			
		||||
@@ -1276,35 +1292,35 @@ msgstr "%s е зает."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Изпратено в <b>%X</b> на <b>%A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Изпратено на <b>%3$d %2$B</b>, <b>%1$A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Изпратено на <b>%3$d %2$B %4$Y</b>, <b>%1$A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s в момента е познат като %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Покана за присъединяване към %s"
 | 
			
		||||
@@ -1312,34 +1328,35 @@ msgstr "Покана за присъединяване към %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s ви кани да се присъедините към %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Отклоняване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Приемане"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Видео разговор от %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Повикване от %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Отговор"
 | 
			
		||||
 | 
			
		||||
@@ -1348,109 +1365,109 @@ msgstr "Отговор"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s ви праща „%s“"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s иска разрешение да вижда дали сте в мрежата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Мрежова грешка"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Неуспешно идентифициране"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Грешка в шифрирането"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Не е предоставен сертификат"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Сертификатът не е доверен"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Сертификатът е изтекъл"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Сертификатът не е влязъл в сила"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Несъвпадане на името с това в сертификата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "Несъвпадане на отпечатъка на сертификата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Сертификатът е самоподписан"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Състоянието е „Извън мрежата“."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Не е налично шифриране"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Сертификатът е неправилен"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Връзката е отказана"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "Не може да се установи връзка"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Връзката прекъсна"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Ресурсът вече е свързан към сървъра"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr "Връзката бе заместена от нова връзка, използваща същия ресурс"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "На сървъра вече има регистрация с такова име."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"В момента сървърът е твърде натоварен, за да обработи заявката за свързване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Сертификатът е анулиран"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr "Сертификатът използва несигурен шифър или слаб алгоритъм за шифриране"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1460,20 +1477,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Връзката е към „%s“ е неуспешна"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Ново свързване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Редактиране на регистрацията"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Неизвестна причина"
 | 
			
		||||
 | 
			
		||||
@@ -1489,39 +1506,39 @@ msgstr "Бездействие"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Недостъпно"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Изключване..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Известяване"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Мрежови регистрации"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Настройки на системата"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Заключване на екрана"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Смяна на потребител"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Изход…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Състоянието ви ще се зададе да е „Зает“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1534,20 +1551,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Търсене на написаното…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Търсене"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "Програмата „%s“ стартира успешно"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "Програмата „%s“ е готова за употреба"
 | 
			
		||||
@@ -1582,7 +1594,7 @@ msgstr "Показване на версията"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Режим използван от GDM за екрана за влизане"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Неуспех при стартиране на „%s“"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,10 +8,10 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2011-09-26 14:26+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-22 19:53+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-23 23:43+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-23 23:41+0200\n"
 | 
			
		||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
 | 
			
		||||
"Language-Team: català; valencià <tradgnome@softcatala.org>\n"
 | 
			
		||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
 | 
			
		||||
"Language: ca-XV\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
@@ -187,42 +187,42 @@ msgstr "Quin tipus de teclat s'ha d'utilitzar"
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "inhabilita els proveïdors d'OpenSearch"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:617
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Sessió..."
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Entrada"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(o passeu el dit)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "No esteu llistat?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Cancel·la"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Entra"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Finestra d'entrada"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Atura temporalment"
 | 
			
		||||
 | 
			
		||||
@@ -445,32 +445,32 @@ msgstr "Esta setmana"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "La setmana que ve"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Desconegut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Absent"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Ocupat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Fora de línia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "Contactes"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Suprimeix"
 | 
			
		||||
 | 
			
		||||
@@ -604,96 +604,96 @@ msgstr "Instal·la"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Voleu baixar i instal·lar «%s» d'extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "safata"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Teclat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "No hi ha cap extensió instal·lada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Habilitat"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Inhabilitat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Error"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Fora d'hora"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "S'està baixant"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Mostra el codi font"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Pàgina web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Obri"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2405
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informació de l'ordinador"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Mostra la contrasenya"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Connecta"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Contrasenya:"
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Clau:"
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nom d'usuari:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Identitat:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Contrasenya de la clau privada:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Servei:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "La xarxa sense fil requereix autenticació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network "
 | 
			
		||||
@@ -702,35 +702,35 @@ msgstr ""
 | 
			
		||||
"Per accedir a la xarxa sense fil «%s» calen les contrasenyes o les claus "
 | 
			
		||||
"d'encriptació."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Autenticació 802.1X amb fil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Nom de la xarxa: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "Autenticació DSL"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "Cal que introduïu el codi PIN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Cal que introduïu el codi PIN del dispositiu de banda ampla mòbil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Contrasenya de la xarxa de banda ampla mòbil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Cal que introduïu una contrasenya per connectar-vos a «%s»."
 | 
			
		||||
@@ -786,15 +786,15 @@ msgstr "Connecta a..."
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "LLOCS I DISPOSITIUS"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Cal autenticació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Administrador"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Autentica"
 | 
			
		||||
 | 
			
		||||
@@ -802,11 +802,11 @@ msgstr "Autentica"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "No ha funcionat. Torneu-ho a provar."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Contrasenya:"
 | 
			
		||||
 | 
			
		||||
@@ -819,7 +819,7 @@ msgstr "Contrasenya:"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Introduïu una orde:"
 | 
			
		||||
 | 
			
		||||
@@ -831,6 +831,22 @@ msgstr "S'està cercant..."
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "No s'ha trobat cap coincidència."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Copia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Enganxa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Mostra el text"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Oculta el text"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "La contrasenya és errònia, torneu-ho a intentar"
 | 
			
		||||
@@ -964,7 +980,7 @@ msgstr "Permet l'accés sempre"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Permet-ho només ara"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Rebutja"
 | 
			
		||||
 | 
			
		||||
@@ -1233,39 +1249,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Invitació"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Trucada"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Transferència de fitxers"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Teniu una petició de subscripció"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "S'ha produït un error de connexió"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s és en línia."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s no hi és."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s és lluny."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s està ocupat."
 | 
			
		||||
@@ -1273,35 +1289,35 @@ msgstr "%s està ocupat."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Enviat a les <b>%X</b> del <b>%A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Enviat el <b>%A %d de %B</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Enviat el <b>%A %d de %B</b> de %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "En/na %s ara es diu %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Vos han convidat a entrar a %s"
 | 
			
		||||
@@ -1309,34 +1325,35 @@ msgstr "Vos han convidat a entrar a %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "En/na %s vos convida a entrar a %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Declina"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Accepta"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Videotrucada de %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Trucada de %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Contesta"
 | 
			
		||||
 | 
			
		||||
@@ -1345,112 +1362,112 @@ msgstr "Contesta"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "En/na %s vos envia %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s vol poder saber quan esteu en línia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Error de la xarxa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Ha fallat l'autenticació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Error d'encriptació"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "No s'ha proporcionat el certificat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "El certificat no és de confiança"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "El certificat ha vençut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "El certificat no està activat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "No coincideix el nom de la màquina del certificat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "No coincideix l'empremta digital del certificat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Certificat signat per un mateix"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "S'ha establit l'estat a fora de línia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "L'encriptació no està disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "El certificat no és vàlid"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "S'ha rebutjat la connexió"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "No es pot establir la connexió"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "S'ha perdut la connexió"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Este recurs ja està connectat al servidor"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"S'ha reemplaçat la connexió per una altra de nova fent servir el mateix "
 | 
			
		||||
"recurs"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "Ja existeix este compte al servidor"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr "El servidor està massa ocupat per gestionar la connexió"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "S'ha revocat el certificat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El certificat utilitza un algorisme criptògraf no segur o la seua fortalesa "
 | 
			
		||||
"criptogràfica és feble"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1460,20 +1477,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Ha fallat la connexió a %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Torna a connectar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Edita el compte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Motiu desconegut"
 | 
			
		||||
 | 
			
		||||
@@ -1489,39 +1506,39 @@ msgstr "Inactiu"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "No disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Apaga..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notificacions"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Comptes en línia"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Paràmetres de l'ordinador"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Bloca la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Canvia d'usuari"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Ix..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "L'estat del xat s'establirà a ocupat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1534,20 +1551,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Teclegeu per cercar..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Cerca"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "S'ha acabat d'iniciar %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "«%s» ja està a punt"
 | 
			
		||||
@@ -1582,7 +1594,7 @@ msgstr "Mostra la versió"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "No s'ha pogut iniciar «%s»"
 | 
			
		||||
@@ -1619,6 +1631,21 @@ msgstr "Sistema de fitxers"
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show password"
 | 
			
		||||
#~ msgstr "Mostra la contrasenya"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has not emitted any errors."
 | 
			
		||||
#~ msgstr "%s no ha emès cap error."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Hide Errors"
 | 
			
		||||
#~ msgstr "Amaga els errors"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show Errors"
 | 
			
		||||
#~ msgstr "Mostra els errors"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has finished starting"
 | 
			
		||||
#~ msgstr "S'ha acabat d'iniciar %s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "If true, display onscreen keyboard."
 | 
			
		||||
#~ msgstr "Si és «true» (cert) mostra el teclat en pantalla."
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										385
									
								
								po/cs.po
									
									
									
									
									
								
							
							
						
						
									
										385
									
								
								po/cs.po
									
									
									
									
									
								
							@@ -1,20 +1,23 @@
 | 
			
		||||
# Czech translation of gnome-shell.
 | 
			
		||||
# Copyright (C) 2009, 2010, 2011 the author(s) of gnome-shell.
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
#
 | 
			
		||||
# Andre Klapper <ak-47@gmx.net>, 2009.
 | 
			
		||||
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2011-09-26 02:00+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-26 02:00+0200\n"
 | 
			
		||||
"Project-Id-Version: gnome-shell gnome-3.2\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-30 14:12+0100\n"
 | 
			
		||||
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
 | 
			
		||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
 | 
			
		||||
"Language: cs\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Language: cs\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 | 
			
		||||
"X-Generator: Lokalize 1.2\n"
 | 
			
		||||
 | 
			
		||||
@@ -62,19 +65,19 @@ msgstr "Historie příkazového dialogového okna (Alt-F2)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
 | 
			
		||||
msgid "History for the looking glass dialog"
 | 
			
		||||
msgstr "Historie dialogového okna \"looking glass\" (Alt-F2)"
 | 
			
		||||
msgstr "Historie dialogového okna „looking glass“ (Alt-F2)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
 | 
			
		||||
msgid "If true, display date in the clock, in addition to time."
 | 
			
		||||
msgstr "Je-li \"true\", zobrazovat v hodinách kromě času i datum."
 | 
			
		||||
msgstr "Je-li zapnuto, zobrazovat v hodinách kromě času i datum."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
 | 
			
		||||
msgid "If true, display seconds in time."
 | 
			
		||||
msgstr "Je-li \"true\", zobrazovat čas včetně sekund."
 | 
			
		||||
msgstr "Je-li zapnuto, zobrazovat čas včetně sekund."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Je-li \"true\", zobrazovat v kalendáři čísla týdnů dle ISO."
 | 
			
		||||
msgstr "Je-li zapnuto, zobrazovat v kalendáři čísla týdnů dle ISO."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
 | 
			
		||||
msgid "List of desktop file IDs for favorite applications"
 | 
			
		||||
@@ -179,42 +182,42 @@ msgstr "Která klávesnice se má používat"
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "zakázaní poskytovatelé OpenSearch"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:617
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Sezení..."
 | 
			
		||||
msgstr "Sezení…"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Přihlášení"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(nebo otiskněte prst)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Nejste na seznamu?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Zrušit"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Přihlásit se"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Přihlašovací okno"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Uspat do paměti"
 | 
			
		||||
 | 
			
		||||
@@ -241,7 +244,7 @@ msgstr "Nelze analyzovat příkaz:"
 | 
			
		||||
#: ../js/misc/util.js:127
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Execution of '%s' failed:"
 | 
			
		||||
msgstr "Vykonání \"%s\" selhalo:"
 | 
			
		||||
msgstr "Vykonání „%s“ selhalo:"
 | 
			
		||||
 | 
			
		||||
#. Translators: Filter to display all applications
 | 
			
		||||
#: ../js/ui/appDisplay.js:255
 | 
			
		||||
@@ -438,32 +441,32 @@ msgstr "Tento týden"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "Následující týden"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Neznámé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Přítomen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Nepřítomen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Zaneprázdněn"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Odpojen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "KONTAKTY"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Odstranit"
 | 
			
		||||
 | 
			
		||||
@@ -608,138 +611,139 @@ msgstr "Instalovat"
 | 
			
		||||
#: ../js/ui/extensionSystem.js:485
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Stáhnout a nainstalovat \"%s\" z extensions.gnome.org?"
 | 
			
		||||
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
#| msgid "Retry"
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "panel"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Klávesnice"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Nejsou nainstalována žádná rozšíření"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Povoleno"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Zakázáno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Chyba"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Neaktuální"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Stahování"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Zobrazit zdroj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Webová stránka"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Otevřít"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2405
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informace o systému"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Zobrazit heslo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Připojit"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Heslo: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Klíč: "
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Uživatelské jméno: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Indentita: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Heslo soukromého klíče: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Služba: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "K bezdrátové síti je vyžadováno ověření"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network "
 | 
			
		||||
"'%s'."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Pro přístup k bezdrátové síti \"%s\" jsou vyžadována hesla nebo šifrovací "
 | 
			
		||||
"Pro přístup k bezdrátové síti „%s“ jsou vyžadována hesla nebo šifrovací "
 | 
			
		||||
"klíče."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Ověření drátového připojení 802.1X"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Název sítě: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "Ověření DSL"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "Požadován kód PIN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Pro mobilní širokopásmové zařízení je vyžadován kód PIN"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Heslo k mobilní širokopásmové síti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Pro připojení k \"%s\" je vyžadováno heslo."
 | 
			
		||||
msgstr "Pro připojení k „%s“ je vyžadováno heslo."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/overview.js:91
 | 
			
		||||
msgid "Undo"
 | 
			
		||||
@@ -778,7 +782,7 @@ msgstr "Horní lišta"
 | 
			
		||||
#: ../js/ui/placeDisplay.js:120
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to unmount '%s'"
 | 
			
		||||
msgstr "Nelze odpojit \"%s\""
 | 
			
		||||
msgstr "Nelze odpojit „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/placeDisplay.js:123
 | 
			
		||||
msgid "Retry"
 | 
			
		||||
@@ -786,21 +790,21 @@ msgstr "Opakovat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/placeDisplay.js:163
 | 
			
		||||
msgid "Connect to..."
 | 
			
		||||
msgstr "Připojit se k..."
 | 
			
		||||
msgstr "Připojit se k…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/placeDisplay.js:375
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "MÍSTA A ZAŘÍZENÍ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Je vyžadováno ověření"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Správce"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Ověřit"
 | 
			
		||||
 | 
			
		||||
@@ -808,11 +812,11 @@ msgstr "Ověřit"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Heslo:"
 | 
			
		||||
 | 
			
		||||
@@ -825,18 +829,35 @@ msgstr "Heslo:"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Zadejte prosím příkaz:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/searchDisplay.js:340
 | 
			
		||||
msgid "Searching..."
 | 
			
		||||
msgstr "Hledá se..."
 | 
			
		||||
msgstr "Hledá se…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/searchDisplay.js:363
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Neodpovídá ani jeden z výsledků."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Kopírovat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Vložit"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Zobrazit text"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
#| msgid "Large Text"
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Skrýt text"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Špatné heslo, zkuste to prosím znovu"
 | 
			
		||||
@@ -896,11 +917,11 @@ msgstr "Viditelnost"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:66
 | 
			
		||||
msgid "Send Files to Device..."
 | 
			
		||||
msgstr "Odeslat soubory na zařízení..."
 | 
			
		||||
msgstr "Odeslat soubory na zařízení…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:67
 | 
			
		||||
msgid "Set up a New Device..."
 | 
			
		||||
msgstr "Nastavit nové zařízení..."
 | 
			
		||||
msgstr "Nastavit nové zařízení…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:91
 | 
			
		||||
msgid "Bluetooth Settings"
 | 
			
		||||
@@ -917,19 +938,19 @@ msgstr "Připojení"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:217 ../js/ui/status/network.js:486
 | 
			
		||||
msgid "disconnecting..."
 | 
			
		||||
msgstr "odpojování..."
 | 
			
		||||
msgstr "odpojování…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:230 ../js/ui/status/network.js:492
 | 
			
		||||
msgid "connecting..."
 | 
			
		||||
msgstr "připojování..."
 | 
			
		||||
msgstr "připojování…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:248
 | 
			
		||||
msgid "Send Files..."
 | 
			
		||||
msgstr "Odeslat soubory..."
 | 
			
		||||
msgstr "Odeslat soubory…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:253
 | 
			
		||||
msgid "Browse Files..."
 | 
			
		||||
msgstr "Procházet soubory..."
 | 
			
		||||
msgstr "Procházet soubory…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:262
 | 
			
		||||
msgid "Error browsing device"
 | 
			
		||||
@@ -938,7 +959,7 @@ msgstr "Chyba při procházení zařízením"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:263
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "The requested device cannot be browsed, error is '%s'"
 | 
			
		||||
msgstr "Procházení požadovaného zařízení se nezdařilo, chybou je \"%s\""
 | 
			
		||||
msgstr "Procházení požadovaného zařízení se nezdařilo, chybou je „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:271
 | 
			
		||||
msgid "Keyboard Settings"
 | 
			
		||||
@@ -960,7 +981,7 @@ msgstr "Požadavek na autorizaci od %s"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:388
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Device %s wants access to the service '%s'"
 | 
			
		||||
msgstr "Zařízení %s požaduje přístup ke službě \"%s\""
 | 
			
		||||
msgstr "Zařízení %s požaduje přístup ke službě „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:390
 | 
			
		||||
msgid "Always grant access"
 | 
			
		||||
@@ -970,7 +991,7 @@ msgstr "Vždy udělovat přístup"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Udělit pouze tentokrát"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Odmítnout"
 | 
			
		||||
 | 
			
		||||
@@ -987,7 +1008,7 @@ msgstr "Zařízení %s se chce spárovat s tímto počítačem"
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:429
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
 | 
			
		||||
msgstr "Ověřte prosím, zda PIN \"%s\" souhlasí s tím na zařízení."
 | 
			
		||||
msgstr "Ověřte prosím, zda PIN „%s“ souhlasí s tím na zařízení."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:431
 | 
			
		||||
msgid "Matches"
 | 
			
		||||
@@ -1061,7 +1082,7 @@ msgstr "připojení selhalo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
 | 
			
		||||
msgid "More..."
 | 
			
		||||
msgstr "Více..."
 | 
			
		||||
msgstr "Více…"
 | 
			
		||||
 | 
			
		||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
 | 
			
		||||
#. and we cannot access its settings (including the name)
 | 
			
		||||
@@ -1143,7 +1164,7 @@ msgstr "Nastavení napájení"
 | 
			
		||||
#. to estimate battery life
 | 
			
		||||
#: ../js/ui/status/power.js:103
 | 
			
		||||
msgid "Estimating..."
 | 
			
		||||
msgstr "Odhaduje se..."
 | 
			
		||||
msgstr "Odhaduje se…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:110
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -1243,39 +1264,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Pozvání"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Hovor"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Přenos souborů"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Požadavek na přihlášení"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Chyba připojení"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "Kontakt %s je připojen."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "Kontakt %s je odpojen."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "Kontakt %s je nepřítomen."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "Kontakt %s je zaneprázdněn."
 | 
			
		||||
@@ -1283,35 +1304,35 @@ msgstr "Kontakt %s je zaneprázdněn."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Čas odeslání: <b>%X</b>, den odeslání: <b>%A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Den odeslání: <b>%A</b>, <b>%e. %B</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Den odeslání: <b>%A</b>, <b>%e. %B</b> %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s je teď znám jako %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Pozvánka na připojení %s"
 | 
			
		||||
@@ -1319,34 +1340,35 @@ msgstr "Pozvánka na připojení %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s vás zve do %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Odmítnout"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Přijmout"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Videohovor od %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Hovor od %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Zvednout"
 | 
			
		||||
 | 
			
		||||
@@ -1355,110 +1377,110 @@ msgstr "Zvednout"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s vám posílá %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s by chtěl oprávnění vidět, že jste dostupní"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Chyba sítě"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Ověření selhalo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Chyba šifrování"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Certifikát neposkytnut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Nedůvěryhodný certifikát"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Platnost certifikátu vypršela"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Certifikát není aktivován"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Název počítače certifikátu nesouhlasí"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "Otisk prstu certifikátu nesouhlasí"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Certifikát je podepsán sám sebou"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Stav nastaven na „Odhlášen“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Šifrování není dostupné"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Certifikát je neplatný"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Spojení bylo odmítnuto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "Spojení nemohlo bát navázáno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Spojení bylo ztraceno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Zdroj je již připojen k serveru"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr "Spojení bylo nahrazeno novým spojením, které používá stejný zdroj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "Takový účet již na serveru existuje"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr "Server je právě příliš zaneprázdněn na to, aby obsloužil spojení"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Certifikát byl odvolán"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z "
 | 
			
		||||
"kryptografického hlediska slabý"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1468,20 +1490,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Připojení k \"%s\" selhalo"
 | 
			
		||||
msgstr "Připojení k „%s“ selhalo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Znovu připojit"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Upravit účet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Neznámý důvod"
 | 
			
		||||
 | 
			
		||||
@@ -1497,39 +1519,39 @@ msgstr "Nečinný"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Nedostupný"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Vypnout..."
 | 
			
		||||
msgstr "Vypnout…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Upozornění"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Účty on-line"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Nastavení systému"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Uzamknout obrazovku"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Přepnout uživatele"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Odhlásit..."
 | 
			
		||||
msgstr "Odhlásit…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Váš stav v konverzacích byl nastaven na „Zaneprázdněn“"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1541,23 +1563,18 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Vyhledávejte psaním..."
 | 
			
		||||
msgstr "Vyhledávejte psaním…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Hledat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "Spouštění %s dokončeno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "Připraveno \"%s\""
 | 
			
		||||
msgstr "Připraveno „%s“"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The number of sound outputs on a particular device
 | 
			
		||||
@@ -1591,10 +1608,10 @@ msgstr "Vypsat verzi"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Nelze spustit \"%s\""
 | 
			
		||||
msgstr "Nelze spustit „%s“"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-mobile-providers.c:80
 | 
			
		||||
msgid "United Kingdom"
 | 
			
		||||
@@ -1626,46 +1643,4 @@ msgstr "Systém souborů"
 | 
			
		||||
#: ../src/shell-util.c:311
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Localization Settings"
 | 
			
		||||
#~ msgstr "Nastavení národního prostředí"
 | 
			
		||||
 | 
			
		||||
#~ msgid "You're now connected to mobile broadband connection '%s'"
 | 
			
		||||
#~ msgstr "Právě jste připojeni k mobilnímu širokopásmovému připojení \"%s\""
 | 
			
		||||
 | 
			
		||||
#~ msgid "You're now connected to wireless network '%s'"
 | 
			
		||||
#~ msgstr "Právě jste připojeni k bezdrátové síti \"%s\""
 | 
			
		||||
 | 
			
		||||
#~ msgid "You're now connected to wired network '%s'"
 | 
			
		||||
#~ msgstr "Právě jste připojeni k drátové síti \"%s\""
 | 
			
		||||
 | 
			
		||||
#~ msgid "You're now connected to VPN network '%s'"
 | 
			
		||||
#~ msgstr "Právě jste připojeni k síti VPN \"%s\""
 | 
			
		||||
 | 
			
		||||
#~ msgid "Less than a minute ago"
 | 
			
		||||
#~ msgstr "Před méně než minutou"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d minute ago"
 | 
			
		||||
#~ msgid_plural "%d minutes ago"
 | 
			
		||||
#~ msgstr[0] "Před %d minutou"
 | 
			
		||||
#~ msgstr[1] "Před %d minutami"
 | 
			
		||||
#~ msgstr[2] "Před %d minutami"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d hour ago"
 | 
			
		||||
#~ msgid_plural "%d hours ago"
 | 
			
		||||
#~ msgstr[0] "Před %d hodinou"
 | 
			
		||||
#~ msgstr[1] "Před %d hodinami"
 | 
			
		||||
#~ msgstr[2] "Před %d hodinami"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d day ago"
 | 
			
		||||
#~ msgid_plural "%d days ago"
 | 
			
		||||
#~ msgstr[0] "Před %d dnem"
 | 
			
		||||
#~ msgstr[1] "Před %d dny"
 | 
			
		||||
#~ msgstr[2] "Před %d dny"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%d week ago"
 | 
			
		||||
#~ msgid_plural "%d weeks ago"
 | 
			
		||||
#~ msgstr[0] "Před %d týdnem"
 | 
			
		||||
#~ msgstr[1] "Před %d týdny"
 | 
			
		||||
#~ msgstr[2] "Před %d týdny"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
							
								
								
									
										289
									
								
								po/de.po
									
									
									
									
									
								
							
							
						
						
									
										289
									
								
								po/de.po
									
									
									
									
									
								
							@@ -17,9 +17,9 @@ 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: 2011-09-22 06:54+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-24 20:49+0100\n"
 | 
			
		||||
"Last-Translator: Mario Blättermann <mariobl@freenet.de>\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-17 20:04+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-17 22:05+0100\n"
 | 
			
		||||
"Last-Translator: Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>\n"
 | 
			
		||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
@@ -200,38 +200,38 @@ msgstr "deaktivierte OpenSearch-Provider"
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Sitzung …"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:788
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Anmelden"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:833
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:851
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Nicht aufgeführt?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Abbrechen"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1024
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Anmelden"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1373
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Anmeldefenster"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
 | 
			
		||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Bereitschaft"
 | 
			
		||||
 | 
			
		||||
@@ -458,32 +458,32 @@ msgstr "Diese Woche"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "Nächste Woche"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Unbekannt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Verfügbar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Abwesend"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Beschäftigt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Abgemeldet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "KONTAKTE"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1205
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Entfernen"
 | 
			
		||||
 | 
			
		||||
@@ -622,96 +622,96 @@ msgstr "Installieren"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "Benachrichtigungsfeld"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Tastatur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Keine Erweiterungen installiert"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Aktiviert"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Deaktiviert"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Fehler"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Veraltet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Herunterladen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Quelle zeigen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Webseite"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1190
 | 
			
		||||
#: ../js/ui/messageTray.js:1198
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Öffnen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2372
 | 
			
		||||
#: ../js/ui/messageTray.js:2407
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Systeminformationen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Passwort anzeigen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Verbinden"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Passwort:"
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Schlüssel:"
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Benutzername:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Identität:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Passwort für geheimen Schlüssel:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Dienst:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "Legitimierung für Funknetzwerk wird benötigt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network '%"
 | 
			
		||||
@@ -720,35 +720,35 @@ msgstr ""
 | 
			
		||||
"Passwörter oder Schlüssel sind erforderlich, um auf das Funknetzwerk »%s« "
 | 
			
		||||
"zuzugreifen."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Kabelgebundene 802.1X-Legitimierung"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Netzwerkname:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "DSL-Legitimierung"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "PIN-Code ist erforderlich"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Für das mobile Breitbandgerät wird ein PIN-Code benötigt."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Passwort der mobilen Breitbandverbindung"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
 | 
			
		||||
@@ -805,15 +805,15 @@ msgstr "Verbinden mit …"
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "ORTE UND GERÄTE"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Legitimierung erforderlich"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Systemverwalter"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Legitimieren"
 | 
			
		||||
 | 
			
		||||
@@ -821,11 +821,11 @@ msgstr "Legitimieren"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Entschuldigung, das hat nicht geklappt. Bitte versuchen Sie es erneut."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Passwort:"
 | 
			
		||||
 | 
			
		||||
@@ -834,11 +834,11 @@ msgstr "Passwort:"
 | 
			
		||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
 | 
			
		||||
#. switches containing "◯" and "|"). Other values will
 | 
			
		||||
#. simply result in invisible toggle switches.
 | 
			
		||||
#: ../js/ui/popupMenu.js:727
 | 
			
		||||
#: ../js/ui/popupMenu.js:731
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Bitte geben Sie einen Befehl ein:"
 | 
			
		||||
 | 
			
		||||
@@ -850,6 +850,22 @@ msgstr "Suche läuft …"
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Keine passenden Ergebnisse."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Kopieren"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Einfügen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Text anzeigen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Text verbergen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Falsches Passwort, bitte versuchen Sie es erneut"
 | 
			
		||||
@@ -984,7 +1000,7 @@ msgstr "Immer Zugriff gewähren"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Nur dieses Mal gewähren"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Abweisen"
 | 
			
		||||
 | 
			
		||||
@@ -1254,39 +1270,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Einladung"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Anruf"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Dateiübertragung"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Abonnementanfrage"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Verbindungsfehler"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s ist angemeldet."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s ist abgemeldet."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "»%s« ist abwesend."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s ist beschäftigt."
 | 
			
		||||
@@ -1294,35 +1310,35 @@ msgstr "%s ist beschäftigt."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Gesendet am <b>%A</b> um <b>%X</b> "
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Gesendet am <b>%A</b>, <b>%d. %B</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Gesendet am <b>%A</b>, <b>%d. %B</b> %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s heißt jetzt %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Einladung zum Betreten von %s"
 | 
			
		||||
@@ -1330,34 +1346,35 @@ msgstr "Einladung zum Betreten von %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s lädt Sie ein, %s beizutreten"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Ablehnen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Annehmen"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Video-Anruf von %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Anruf von %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Antworten"
 | 
			
		||||
 | 
			
		||||
@@ -1366,113 +1383,113 @@ msgstr "Antworten"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s sendet Ihnen %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s bittet um das Recht, Ihre Online-Verfügbarkeit sehen zu dürfen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Netzwerkfehler"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Legitimierung fehlgeschlagen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Verschlüsselungsfehler"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Zertifikat wurde nicht bereitgestellt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Zertifikat nicht vertrauenswürdig"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Zertifikat abgelaufen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Zertifikat nicht aktiviert"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Rechnername des Zertifikats stimmt nicht überein"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "Fingerabdruck des Zertifikats stimmt nicht überein"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Selbstsigniertes Zertifikat"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Der Status ist auf »Abgemeldet« gesetzt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Verschlüsselung ist nicht verfügbar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Zertifikat ist ungültig"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Verbindungsaufbau wurde verweigert"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "Verbindung kann nicht hergestellt werden"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Verbindung wurde unterbrochen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Diese Ressource ist bereits mit dem Server verbunden"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Die Verbindung wurde durch eine neue Verbindung mit der gleichen Ressource "
 | 
			
		||||
"ersetzt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "Dieses Konto ist bereits auf dem Server vorhanden"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Der Server ist derzeit überlastet und kann die Verbindung nicht annehmen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Zertifikat wurde zurückgezogen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Das Zertifikat verwendet einen unsicheren Chiffrier-Algorithmus oder ist "
 | 
			
		||||
"kryptografisch schwach"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1483,20 +1500,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Verbindung zu %s ist fehlgeschlagen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Erneut verbinden"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Konto bearbeiten"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Unbekannter Grund"
 | 
			
		||||
 | 
			
		||||
@@ -1512,39 +1529,39 @@ msgstr "Untätig"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Nicht verfügbar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Ausschalten …"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:583
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Benachrichtigungen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:591
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Online-Konten"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:595
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Systemeinstellungen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:602
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Bildschirm sperren"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Benutzer wechseln"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Abmelden …"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:640
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Ihr Anwesenheitsstatus wird auf »Beschäftigt« gesetzt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:641
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1557,20 +1574,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Suchbegriff eingeben …"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Suchen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "Start von %s ist abgeschlossen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "»%s« ist bereit"
 | 
			
		||||
@@ -1605,7 +1617,7 @@ msgstr "Version ausgeben"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Der durch GDM im Anmeldefenster verwendete Modus"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "»%s« konnte nicht gestartet werden"
 | 
			
		||||
@@ -1642,6 +1654,21 @@ msgstr "Dateisystem"
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show password"
 | 
			
		||||
#~ msgstr "Passwort anzeigen"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has not emitted any errors."
 | 
			
		||||
#~ msgstr "%s hat keine Fehler ausgegeben."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Hide Errors"
 | 
			
		||||
#~ msgstr "Fehler verbergen"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show Errors"
 | 
			
		||||
#~ msgstr "Fehler anzeigen"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has finished starting"
 | 
			
		||||
#~ msgstr "Start von %s ist abgeschlossen"
 | 
			
		||||
 | 
			
		||||
#~ msgid "If true, display onscreen keyboard."
 | 
			
		||||
#~ msgstr "Legt fest, ob eine Bildschirmtastatur angezeigt wird."
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										512
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										512
									
								
								po/en_GB.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										354
									
								
								po/eo.po
									
									
									
									
									
								
							
							
						
						
									
										354
									
								
								po/eo.po
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
# Esperanto translation of gnome-shell.
 | 
			
		||||
# Esperanto translation for gnome-shell.
 | 
			
		||||
# Copyright (C) 2011 Free Software Foundation, Inc.
 | 
			
		||||
# This file is distributed under the same license as the gnome-shell package.
 | 
			
		||||
# Tiffany Antopolski <tiffany.antopolski@gmail.com>, 2011.
 | 
			
		||||
@@ -9,16 +9,16 @@ 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: 2011-09-22 17:28+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-22 20:29+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-24 17:45+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-26 19:01+0200\n"
 | 
			
		||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 | 
			
		||||
"Language-Team: Esperanto <ubuntu-l10n-eo@lists.launchpad.net>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bits\n"
 | 
			
		||||
"Language: eo\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
 | 
			
		||||
"X-Generator: Virtaal 0.7.0\n"
 | 
			
		||||
"X-Generator: Virtaal 0.7.1-rc1\n"
 | 
			
		||||
"X-DamnedLies-Scope: partial\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
 | 
			
		||||
@@ -62,13 +62,12 @@ msgid "History for command (Alt-F2) dialog"
 | 
			
		||||
msgstr "Historio de la komando-dialogo (Alt+F2)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid "History for the looking glass dialog"
 | 
			
		||||
msgstr "Historio de la vitro-dialogo"
 | 
			
		||||
msgstr "Historio de la dialogo de 'looking glass'"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
 | 
			
		||||
msgid "If true, display date in the clock, in addition to time."
 | 
			
		||||
msgstr "Se vera, montri daton en la horloĝo, krom la horo."
 | 
			
		||||
msgstr "Se vera, montri daton en la horloĝo, krom la horo."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
 | 
			
		||||
msgid "If true, display seconds in time."
 | 
			
		||||
@@ -100,7 +99,7 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
 | 
			
		||||
msgid "Show date in clock"
 | 
			
		||||
msgstr "Montri daton en horloĝo"
 | 
			
		||||
msgstr "Montri daton en horloĝo"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
@@ -142,10 +141,10 @@ msgid ""
 | 
			
		||||
"want to disable this for privacy reasons. Please note that doing so won't "
 | 
			
		||||
"remove already saved data."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La ŝelo kutime kontrolas la ruliĝaj aplikaĵoj por montri plej uzitaj "
 | 
			
		||||
"aplikaĵoj (ekz. en lanĉiloj). Kvankam ĉi tiu datumoj estos tenata privata, "
 | 
			
		||||
"vi pove volos malŝalti ĉi tiu pro privatado kielo. Bonvole atentu ke faranta "
 | 
			
		||||
"ĉi tiu ne forigos jam konservitaj datumoj ."
 | 
			
		||||
"La ŝelo kutime kontrolas la ruliĝajn aplikaĵojn por montri la plej uzitajn "
 | 
			
		||||
"aplikaĵojn (ekz. en lanĉiloj). Kvankam ĉi tiu datumoj estos tenata privata, "
 | 
			
		||||
"vi eble volas elŝalti ĉi tion pro privateca kialo. Bonvole atentu ke faranta "
 | 
			
		||||
"ĉi tion ne forigos jam konservitajn datumojn."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
@@ -167,42 +166,42 @@ msgstr "Uzi kiun klavaron"
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "elŝaltitaj OpenSearch-provizantoj"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:617
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Seanco..."
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Ensaluti"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(aŭ pasu fingron)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Ĉu ne en listo?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Nuligi"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Ensaluti"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Ensalutfenestro"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Dormeti"
 | 
			
		||||
 | 
			
		||||
@@ -415,11 +414,11 @@ msgstr "%a, %d. %B %Y"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:716
 | 
			
		||||
msgid "Today"
 | 
			
		||||
msgstr "Hodiaŭ"
 | 
			
		||||
msgstr "Hodiaŭ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:720
 | 
			
		||||
msgid "Tomorrow"
 | 
			
		||||
msgstr "Morgaŭ"
 | 
			
		||||
msgstr "Morgaŭ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/calendar.js:729
 | 
			
		||||
msgid "This week"
 | 
			
		||||
@@ -429,32 +428,32 @@ msgstr "Ĉi tiu semajno"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "Sekva semajno"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Nekonata"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Disponebla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Fora"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Okupita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Nekonektite"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "KONTAKTOJ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Forigi"
 | 
			
		||||
 | 
			
		||||
@@ -589,96 +588,96 @@ msgstr "Instali"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Elŝuti kaj instali '%s' de extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "pleto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Klavaro"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Neniu kromprogramo instalita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Enŝaltita"
 | 
			
		||||
msgstr "Enŝaltita"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Elŝaltita"
 | 
			
		||||
msgstr "Elŝaltita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Eraro"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Neaktuala"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Elŝutanta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Montri fonton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Retpaĝo"
 | 
			
		||||
msgstr "Retpaĝo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Malfermi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2379
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Sisteminformoj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Montri pasvorton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Konekti"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Pasvorto: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Ŝlosilo: "
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Uzantnomo: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Idento:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Pasvorto por privata ŝlosilo:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Servo:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "Aŭtentokontrolo bezonitas de sendrata reto"
 | 
			
		||||
msgstr "Aŭtentokontrolo bezonitas de sendrata reto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network "
 | 
			
		||||
@@ -687,35 +686,35 @@ msgstr ""
 | 
			
		||||
"Pasvortoj aŭ ĉifrado-ŝlosiloj estas necesaĵoj por aliro al sendrata reto "
 | 
			
		||||
"'%s'."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Dratita 802.1X aŭtentokontrolo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Reta nomo: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "DSL-a aŭtentokontrolo"
 | 
			
		||||
msgstr "DSL-a aŭtentokontrolo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "PIN-kodo bezonita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "PIN-kodo estas bezonita por la portebla larĝkapacita aparato"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Portebla larĝkapacita retopasvorto"
 | 
			
		||||
msgstr "Portebla larĝkapacita retopasvorto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Pasvorto estas bezonita por konekti al '%s'."
 | 
			
		||||
@@ -772,27 +771,27 @@ msgstr "Konekti al..."
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "EJOJ kaj APARATOJ"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Aŭtentigo bezonita"
 | 
			
		||||
msgstr "Aŭtentigo bezonita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Administranto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Aŭtentigi"
 | 
			
		||||
msgstr "Aŭtentigi"
 | 
			
		||||
 | 
			
		||||
#. Translators: "that didn't work" refers to the fact that the
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Pardonu, tio ne funkcis. Bonvole provu denove."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Pasvorto:"
 | 
			
		||||
 | 
			
		||||
@@ -801,22 +800,38 @@ msgstr "Pasvorto:"
 | 
			
		||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
 | 
			
		||||
#. switches containing "◯" and "|"). Other values will
 | 
			
		||||
#. simply result in invisible toggle switches.
 | 
			
		||||
#: ../js/ui/popupMenu.js:727
 | 
			
		||||
#: ../js/ui/popupMenu.js:731
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Bonvole enigu komandon:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/searchDisplay.js:340
 | 
			
		||||
msgid "Searching..."
 | 
			
		||||
msgstr "Serĉanta..."
 | 
			
		||||
msgstr "Serĉanta..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/searchDisplay.js:363
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Neniuj rezultoj kongruas."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Kopii"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Alglui"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Montri tekston"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Kaŝi tekston"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Erara pasvorto, bonvole provu denove"
 | 
			
		||||
@@ -889,7 +904,7 @@ msgstr "Bludento-agordoj"
 | 
			
		||||
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:111
 | 
			
		||||
msgid "hardware disabled"
 | 
			
		||||
msgstr "aparato elŝaltita"
 | 
			
		||||
msgstr "aparato elŝaltita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:208
 | 
			
		||||
msgid "Connection"
 | 
			
		||||
@@ -950,7 +965,7 @@ msgstr "Ĉiam konsenti aliron"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Konsenti nur ĉi tiun fojon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Rifuzi"
 | 
			
		||||
 | 
			
		||||
@@ -1017,7 +1032,7 @@ msgstr "neadministrata"
 | 
			
		||||
#. Translators: this is for network connections that require some kind of key or password
 | 
			
		||||
#: ../js/ui/status/network.js:495
 | 
			
		||||
msgid "authentication required"
 | 
			
		||||
msgstr "aŭtentokontrolo bezonita"
 | 
			
		||||
msgstr "aŭtentokontrolo bezonita"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is for devices that require some kind of firmware or kernel
 | 
			
		||||
#. module, which is missing
 | 
			
		||||
@@ -1056,7 +1071,7 @@ msgstr "Aŭtoeterreto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:753
 | 
			
		||||
msgid "Auto broadband"
 | 
			
		||||
msgstr "Aŭtolarĝkapacita"
 | 
			
		||||
msgstr "Aŭtolarĝkapacita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:756
 | 
			
		||||
msgid "Auto dial-up"
 | 
			
		||||
@@ -1090,7 +1105,7 @@ msgstr "Sendrata"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1599
 | 
			
		||||
msgid "Mobile broadband"
 | 
			
		||||
msgstr "Portebla larĝkapacita konekto"
 | 
			
		||||
msgstr "Portebla larĝkapacita konekto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1609
 | 
			
		||||
msgid "VPN Connections"
 | 
			
		||||
@@ -1186,11 +1201,11 @@ msgstr "Muso"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:213
 | 
			
		||||
msgid "PDA"
 | 
			
		||||
msgstr "Poŝkomputilo"
 | 
			
		||||
msgstr "Poŝkomputilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:215
 | 
			
		||||
msgid "Cell phone"
 | 
			
		||||
msgstr "Poŝtelefono"
 | 
			
		||||
msgstr "Poŝtelefono"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/power.js:217
 | 
			
		||||
msgid "Media player"
 | 
			
		||||
@@ -1206,7 +1221,7 @@ msgstr "Komputilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:42
 | 
			
		||||
msgid "Volume"
 | 
			
		||||
msgstr "Laŭteco"
 | 
			
		||||
msgstr "Laŭteco"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/volume.js:54
 | 
			
		||||
msgid "Microphone"
 | 
			
		||||
@@ -1220,39 +1235,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Invito"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Voki"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Dosiertransigo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Abonopeto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Konekta eraro"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s estas konektita."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s estas nekonektita."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s estas fora."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s estas okupata."
 | 
			
		||||
@@ -1260,35 +1275,35 @@ msgstr "%s estas okupata."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Sendita je <b>%X</b> je <b>A</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Sendita je <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Sendita je <b>%A</b>, </b>%B %d</b>, %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s estas konata kiel %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Invito al %s"
 | 
			
		||||
@@ -1296,34 +1311,35 @@ msgstr "Invito al %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s invitas vin aliĝi al %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Refuzi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Akcepti"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Videa voko de %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Voko de %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Repondo"
 | 
			
		||||
 | 
			
		||||
@@ -1332,109 +1348,109 @@ msgstr "Repondo"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s sendas %s al vi"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s volus permiso por vidi kiam vi estas konektita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Reta eraro"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Aŭtentigo malsukcesis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Ĉifrado-eraro"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Atestilo ne donita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Malfidita atestilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Posttempa atestilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Atestilo ne aktivigita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Atestilo-nomo de gastiga komputilo miskongruas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "Atestilo-fingropremo miskongruas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Memsubskribita atestilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Stato agordas kiam nekonektita."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Ĉifrado nehavebla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Nevalida atestilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Refuzinta konekto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "Ne povas establi konekton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Konekto perdiĝis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Ĉi tio risurco jam konektata al servilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr "Konekto anstataŭigis per nova konekto uzanta la saman risurcon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "La konto jam ekzistas sur la servilo"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr "Servilo estas nun tro okupata por akcepti la konekton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Atestilo senvalidigita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Atestilo uzas malsekuran ĉifrigan algoritmon aŭ estas kriptografie malforta."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1444,20 +1460,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Malsukcesis konekton al %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Rekonekti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Redakti konton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Nekonata kialo"
 | 
			
		||||
 | 
			
		||||
@@ -1473,39 +1489,39 @@ msgstr "Neokupita"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Nedisponebla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Elŝalti..."
 | 
			
		||||
msgstr "Elŝalti..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Avizoj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Retaj kontoj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Sistem-agordoj"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Ŝlosi ekranon"
 | 
			
		||||
msgstr "Ŝlosi ekranon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Ŝanĝi uzanton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Elsaluti..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Vi babila stato agordos okupita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1517,20 +1533,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Tajpi por serĉi..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Serĉi"
 | 
			
		||||
msgstr "Serĉi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "Starto de %s finiĝis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "'%s' prestas"
 | 
			
		||||
@@ -1565,7 +1576,7 @@ msgstr "Presi version"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Reĝimo uzata de GDM por la ensalutekrano"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Malsukcesis lanĉi '%s'"
 | 
			
		||||
@@ -1576,7 +1587,7 @@ msgstr "Unuiĝinta Reĝlando"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-mobile-providers.c:526
 | 
			
		||||
msgid "Default"
 | 
			
		||||
msgstr "Defaŭlto"
 | 
			
		||||
msgstr "Defaŭlto"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-polkit-authentication-agent.c:334
 | 
			
		||||
msgid "Authentication dialog was dismissed by the user"
 | 
			
		||||
@@ -1601,3 +1612,18 @@ msgstr "Dosiersistemo"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has not emitted any errors."
 | 
			
		||||
#~ msgstr "%s ne eligintaj ajnaj eraroj."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Hide Errors"
 | 
			
		||||
#~ msgstr "Kaŝi erarojn"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show Errors"
 | 
			
		||||
#~ msgstr "Montri erarojn"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show password"
 | 
			
		||||
#~ msgstr "Montri pasvorton"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has finished starting"
 | 
			
		||||
#~ msgstr "Starto de %s finiĝis"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										298
									
								
								po/es.po
									
									
									
									
									
								
							
							
						
						
									
										298
									
								
								po/es.po
									
									
									
									
									
								
							@@ -10,8 +10,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: 2011-09-21 19:11+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-22 11:46+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-17 20:02+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-18 16:10+0200\n"
 | 
			
		||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
 | 
			
		||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -188,38 +188,38 @@ msgstr "proveedores OpenSearch desactivados"
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Sesión…"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:788
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Iniciar sesión"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:833
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(o pase el dedo)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:851
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "¿No está listado?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Cancelar"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1024
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Iniciar sesión"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1373
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Ventana de inicio de sesión"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
 | 
			
		||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Suspender"
 | 
			
		||||
 | 
			
		||||
@@ -442,32 +442,32 @@ msgstr "Esta semana"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "La semana que viene"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Desconocido"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Ausente"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Ocupado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Desconectado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "CONTACTOS"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1205
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Quitar"
 | 
			
		||||
 | 
			
		||||
@@ -603,96 +603,96 @@ msgstr "Instalar"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "bandeja"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Teclado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "No hay extensiones instaladas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Activado"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Desactivado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Error"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Caducado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Descargando"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Ver fuente"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Página web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1190
 | 
			
		||||
#: ../js/ui/messageTray.js:1198
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Abrir"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2372
 | 
			
		||||
#: ../js/ui/messageTray.js:2407
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Información del sistema"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Mostrar contraseña"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Conectar"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Contraseña: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Clave:"
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nombre de usuario:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Identidad:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Contraseña de la clave privada:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Servicio:"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "La red inalámbrica requiere autenticación"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network '%"
 | 
			
		||||
@@ -701,35 +701,35 @@ msgstr ""
 | 
			
		||||
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
 | 
			
		||||
"inalámbrica «%s»."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Autenticación 802.1X cableada"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Nombre de la red"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "Autenticación DSL"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "Código PIN requerido"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Se necesita un código PIN para el dispositivo de banda ancha móvil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Contraseña de la red de banda ancha móvil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Se requiere una contraseña para conectar a «%s»."
 | 
			
		||||
@@ -785,15 +785,15 @@ msgstr "Conectar a…"
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "LUGARES Y DISPOSITIVOS"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Se necesita autenticación"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Administrador"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Autenticar"
 | 
			
		||||
 | 
			
		||||
@@ -801,11 +801,11 @@ msgstr "Autenticar"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Inténtelo de nuevo,"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Contraseña:"
 | 
			
		||||
 | 
			
		||||
@@ -814,11 +814,11 @@ msgstr "Contraseña:"
 | 
			
		||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
 | 
			
		||||
#. switches containing "◯" and "|"). Other values will
 | 
			
		||||
#. simply result in invisible toggle switches.
 | 
			
		||||
#: ../js/ui/popupMenu.js:727
 | 
			
		||||
#: ../js/ui/popupMenu.js:731
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Introduzca un comando:"
 | 
			
		||||
 | 
			
		||||
@@ -830,6 +830,25 @@ msgstr "Buscando…"
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "No se encontró ningún resultado coincidente."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Copiar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
#| msgid "Panel"
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Pegar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
#| msgid "Show the _date"
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Mostrar texto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
#| msgid "Large Text"
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Ocultar texto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Contraseña incorrecta; inténtelo de nuevo"
 | 
			
		||||
@@ -963,7 +982,7 @@ msgstr "Conceder acceso siempre"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Conceder sólo esta vez"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Rechazar"
 | 
			
		||||
 | 
			
		||||
@@ -1232,39 +1251,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Invitación"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Llamar"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Transferencia de archivos"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Solicitud de suscripción"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Error de conexión"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s está conectado/a."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s está desconectado/a."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s está ausente."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s está ocupado/a."
 | 
			
		||||
@@ -1272,35 +1291,35 @@ msgstr "%s está ocupado/a."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Enviado el <b>%A</b> a las <b>%H:%M</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Enviado el <b>%A</b>, <b>%d de %B</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Enviado el <b>%A</b>, <b>%d de %B</b> de %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "Ahora %s se llama %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Invitación a %s"
 | 
			
		||||
@@ -1308,34 +1327,35 @@ msgstr "Invitación a %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s le está invitando a unirse a %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Rechazar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Aceptar"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Videollamada de %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Llamada de %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Responder"
 | 
			
		||||
 | 
			
		||||
@@ -1344,112 +1364,112 @@ msgstr "Responder"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s le está enviando %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s solicita permiso para ver cuándo está en línea"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Error de la red"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Falló la autenticación"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Error de cifrado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Certificado no proporcionado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "No se confía en el certificado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Certificado caducado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Certificado no activado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "El nombre del servidor dle certificado no coincide"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "La huella del certificado no coincide"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Certificado autofirmado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "El estado está establecido a «desconectado»"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "El cifrado no está disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "El certificado no es válido"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Se ha rechazado la conexión"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "No se puede establecer la conexión"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Se ha perdido la conexión"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Este recurso ya está conectado al servidor"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "La cuenta ya existe en el servidor"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Se ha revocado el certificado"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
 | 
			
		||||
"débil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1460,20 +1480,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Falló la conexión a %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Reconectar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Editar cuenta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Razón desconocida"
 | 
			
		||||
 | 
			
		||||
@@ -1489,39 +1509,39 @@ msgstr "Inactivo"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "No disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Apagar…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:583
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notificaciones"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:591
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Cuentas en línea"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:595
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Configuración del sistema"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:602
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Bloquear la pantalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Cambiar de usuario"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Cerrar la sesión…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:640
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Su estado del chat se establecerá a «ocupado»"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:641
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1534,20 +1554,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Teclear para buscar…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Buscar"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "%s finalizó su lanzamiento"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "«%s» está preparado"
 | 
			
		||||
@@ -1582,7 +1597,7 @@ msgstr "Imprimir versión"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Modo usado por GDM para la pantalla de inicio"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Falló al lanzar «%s»"
 | 
			
		||||
@@ -1619,6 +1634,23 @@ msgstr "Sistema de archivos"
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show password"
 | 
			
		||||
#~ msgstr "Mostrar contraseña"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has not emitted any errors."
 | 
			
		||||
#~ msgstr "%s no ha generado ningún error."
 | 
			
		||||
 | 
			
		||||
#~| msgid "Error"
 | 
			
		||||
#~ msgid "Hide Errors"
 | 
			
		||||
#~ msgstr "Ocultar errores"
 | 
			
		||||
 | 
			
		||||
#~| msgid "Error"
 | 
			
		||||
#~ msgid "Show Errors"
 | 
			
		||||
#~ msgstr "Mostrar errores"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has finished starting"
 | 
			
		||||
#~ msgstr "%s finalizó su lanzamiento"
 | 
			
		||||
 | 
			
		||||
#~ msgid "If true, display onscreen keyboard."
 | 
			
		||||
#~ msgstr "Si es cierta, muestra el teclado en pantalla."
 | 
			
		||||
 | 
			
		||||
@@ -1705,9 +1737,6 @@ msgstr "%1$s: %2$s"
 | 
			
		||||
#~ msgid "Confirm"
 | 
			
		||||
#~ msgstr "Confirmar"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Panel"
 | 
			
		||||
#~ msgstr "Panel"
 | 
			
		||||
 | 
			
		||||
#~ msgid "No such application"
 | 
			
		||||
#~ msgstr "No existe la aplicación"
 | 
			
		||||
 | 
			
		||||
@@ -1928,9 +1957,6 @@ msgstr "%1$s: %2$s"
 | 
			
		||||
#~ msgid "Show seco_nds"
 | 
			
		||||
#~ msgstr "Mostrar los segu_ndos"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show the _date"
 | 
			
		||||
#~ msgstr "Mostrar la _fecha"
 | 
			
		||||
 | 
			
		||||
#~ msgid "_12 hour format"
 | 
			
		||||
#~ msgstr "Formato _12 horas"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										298
									
								
								po/fi.po
									
									
									
									
									
								
							
							
						
						
									
										298
									
								
								po/fi.po
									
									
									
									
									
								
							@@ -19,18 +19,20 @@
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: gnome-shell\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2011-09-26 15:40+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-26 15:39+0300\n"
 | 
			
		||||
"Last-Translator: Tommi Vainikainen <thv@iki.fi>\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
 | 
			
		||||
"shell&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-11-15 22:19+0200\n"
 | 
			
		||||
"Last-Translator: Ville-Pekka Vainio <vpvainio@iki.fi>\n"
 | 
			
		||||
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
 | 
			
		||||
"Language: fi\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"X-Generator: Virtaal 0.6.1\n"
 | 
			
		||||
"X-Generator: Virtaal 0.7.1-rc1\n"
 | 
			
		||||
"X-DamnedLies-Scope: partial\n"
 | 
			
		||||
"X-Project-Style: gnome\n"
 | 
			
		||||
 | 
			
		||||
#: ../data/gnome-shell.desktop.in.in.h:1
 | 
			
		||||
msgid "GNOME Shell"
 | 
			
		||||
@@ -40,6 +42,7 @@ msgstr "Gnomen ikkunanhallinta"
 | 
			
		||||
msgid "Window management and application launching"
 | 
			
		||||
msgstr "Ikkunanhallinta ja sovelluksien käynnistäminen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
 | 
			
		||||
msgid ""
 | 
			
		||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
 | 
			
		||||
"dialog."
 | 
			
		||||
@@ -47,16 +50,20 @@ msgstr ""
 | 
			
		||||
"Salli pääsy sisäiseen vianselvitys- ja monitorointityökaluun Alt-F2-ikkunan "
 | 
			
		||||
"kautta."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
 | 
			
		||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Ota käyttöön sisäiset kehittäjiä ja testaajia hyödyttävät työkalut Alt-F2:sta"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
 | 
			
		||||
msgid "File extension used for storing the screencast"
 | 
			
		||||
msgstr "Tiedostopääte ruutunauhoitusten tallentamiseen"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
 | 
			
		||||
msgid "Framerate used for recording screencasts."
 | 
			
		||||
msgstr "Ruutunauhoitusten kuvataajuus."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
 | 
			
		||||
msgid ""
 | 
			
		||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
 | 
			
		||||
"should be loaded. disabled-extensions overrides this setting for extensions "
 | 
			
		||||
@@ -67,24 +74,31 @@ msgstr ""
 | 
			
		||||
"kytketyt laajennukset) ylittää tämän asetuksen mikäli laajennus esiintyy "
 | 
			
		||||
"molemmissa luetteloissa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
 | 
			
		||||
msgid "History for command (Alt-F2) dialog"
 | 
			
		||||
msgstr "Historia komentoikkunalle (Alt-F2)"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
 | 
			
		||||
msgid "History for the looking glass dialog"
 | 
			
		||||
msgstr "Historia näyttölasi-ikkunalle"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
 | 
			
		||||
msgid "If true, display date in the clock, in addition to time."
 | 
			
		||||
msgstr "Jos tosi, näytä päivämäärä kellossa ajan lisäksi."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
 | 
			
		||||
msgid "If true, display seconds in time."
 | 
			
		||||
msgstr "Jos tosi, näytä sekunnit ajassa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
 | 
			
		||||
msgid "If true, display the ISO week date in the calendar."
 | 
			
		||||
msgstr "Jos tosi, näytä ISO-viikonpäivät kalenterissa."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
 | 
			
		||||
msgid "List of desktop file IDs for favorite applications"
 | 
			
		||||
msgstr "Luettelo työpöytätiedostojen tunnisteista lempisovelluksille"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
 | 
			
		||||
@@ -110,20 +124,25 @@ msgstr ""
 | 
			
		||||
"muotoon VP8-koodekilla. %T korvautuu arvauksella parhaan suorituskyvy "
 | 
			
		||||
"antavasta säiemäärästä järjestelmässä."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
 | 
			
		||||
msgid "Show date in clock"
 | 
			
		||||
msgstr "Näytä päivämäärä kellossa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
 | 
			
		||||
msgid "Show the week date in the calendar"
 | 
			
		||||
msgstr "Näytä viikonpäivä kalenterissa"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
 | 
			
		||||
msgid "Show time with seconds"
 | 
			
		||||
msgstr "Näytä aika sekuntien kera"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
 | 
			
		||||
msgid ""
 | 
			
		||||
"The applications corresponding to these identifiers will be displayed in the "
 | 
			
		||||
"favorites area."
 | 
			
		||||
msgstr "Näitä tunnisteita vastaavat sovellukset näytetään suosikkien alueella."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"The filename for recorded screencasts will be a unique filename based on the "
 | 
			
		||||
"current date, and use this extension. It should be changed when recording to "
 | 
			
		||||
@@ -133,6 +152,7 @@ msgstr ""
 | 
			
		||||
"nykyisen päivämäärän ja tämän tiedostopäätteen mukaisesti. Tiedostopääte "
 | 
			
		||||
"tulisi vaihtaa mikäli nauhoitetaan eri tallennusmuotoon."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
 | 
			
		||||
msgid ""
 | 
			
		||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
 | 
			
		||||
"screencast recorder in frames-per-second."
 | 
			
		||||
@@ -140,9 +160,11 @@ msgstr ""
 | 
			
		||||
"Nauhoituksesta tuloksena saatavan ruutunauhoituksen kuvataajuus kun käytössä "
 | 
			
		||||
"on GNOMEn ikkunanhallinnan nauhoitin, kuvaa per sekunti."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
 | 
			
		||||
msgid "The gstreamer pipeline used to encode the screencast"
 | 
			
		||||
msgstr "Gstreamer-liukuhihna jolla ruutunauhoitukset pakataan"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shell normally monitors active applications in order to present the most "
 | 
			
		||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
 | 
			
		||||
@@ -155,52 +177,72 @@ msgstr ""
 | 
			
		||||
"yksityisyyden vuoksi. Huomaa että pois kytkeminen ei poista aiemmin "
 | 
			
		||||
"tallennettuja tietoja."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
 | 
			
		||||
msgid "The type of keyboard to use."
 | 
			
		||||
msgstr "Käytettävän näppäimistön tyyppi."
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
 | 
			
		||||
msgid "Uuids of extensions to enable"
 | 
			
		||||
msgstr "Käyttöön otettavien laajennosten UUID:t"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
 | 
			
		||||
msgid "Whether to collect stats about applications usage"
 | 
			
		||||
msgstr "Kerätäänkö sovellusten käytöstä tilastoja"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
 | 
			
		||||
msgid "Which keyboard to use"
 | 
			
		||||
msgstr "Mitä näppäimistöä käytetään"
 | 
			
		||||
 | 
			
		||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "käytöstä poistetut OpenSearch-tarjoajat"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Istunto…"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Kirjaudu sisään"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(tai pyyhkäise sormella)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Ei luettelossa?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Peru"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Kirjaudu sisään"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Kirjautumisikkuna"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Valmiustila"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
 | 
			
		||||
msgid "Restart"
 | 
			
		||||
msgstr "Käynnistä uudelleen"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
 | 
			
		||||
#: ../js/ui/endSessionDialog.js:91
 | 
			
		||||
msgid "Power Off"
 | 
			
		||||
msgstr "Sammuta"
 | 
			
		||||
 | 
			
		||||
@@ -254,13 +296,16 @@ msgstr "%s on lisätty suosikkeihin."
 | 
			
		||||
msgid "%s has been removed from your favorites."
 | 
			
		||||
msgstr "%s on poistettu suosikeista."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/autorunManager.js:280
 | 
			
		||||
msgid "Removable Devices"
 | 
			
		||||
msgstr "Irroitettavat laitteet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/autorunManager.js:590
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Open with %s"
 | 
			
		||||
msgstr "Avaa käyttäen %s"
 | 
			
		||||
msgstr "Avaa käyttäen sovellusta %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/autorunManager.js:616
 | 
			
		||||
msgid "Eject"
 | 
			
		||||
msgstr "Poista asemasta"
 | 
			
		||||
 | 
			
		||||
@@ -412,28 +457,32 @@ msgstr "Tällä viikolla"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "Ensi viikolla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Tuntematon"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Tavoitettavissa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Poissa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Kiireinen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Ei linjoilla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "YHTEYSTIEDOT"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Poista"
 | 
			
		||||
 | 
			
		||||
@@ -583,108 +632,131 @@ msgstr "Asenna"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Lataa ja asenna ”%s” sivustolta extensions.gnome.org?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "ilmoitusalue"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Näppäimistö"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Laajennuksia ei asennettu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Käytössä"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Ei käytössä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Virhe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Ei ajan tasalla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Noudetaan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Näytä lähde"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "WWW-sivu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Avaa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Järjestelmän tiedot"
 | 
			
		||||
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Näytä salasana"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Yhdistä"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Salasana: "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Avain: "
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Käyttäjänimi: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Henkilöllisyys: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Salaisen avaimen salasana: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Palvelu: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "Langaton verkko vaatii tunnistautumisen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network "
 | 
			
		||||
"'%s'."
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network '%"
 | 
			
		||||
"s'."
 | 
			
		||||
msgstr "Langaton verkko %s vaatii salasanan tai salausavaimia."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Verkon nimi: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "DSL-tunnistautuminen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "PIN-koodi vaaditaan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN: "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Mobiililaajakaistan verkkosalasana"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Salasana vaaditaan kohteeseen %s yhdistämiseksi."
 | 
			
		||||
@@ -708,15 +780,18 @@ msgid "Dash"
 | 
			
		||||
msgstr "Pikavalikko"
 | 
			
		||||
 | 
			
		||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
 | 
			
		||||
#: ../js/ui/panel.js:539
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Quit %s"
 | 
			
		||||
msgstr "Lopeta %s"
 | 
			
		||||
 | 
			
		||||
#. Translators: If there is no suitable word for "Activities"
 | 
			
		||||
#. in your language, you can use the word for "Overview".
 | 
			
		||||
#: ../js/ui/panel.js:575
 | 
			
		||||
msgid "Activities"
 | 
			
		||||
msgstr "Toiminnot"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/panel.js:967
 | 
			
		||||
msgid "Top Bar"
 | 
			
		||||
msgstr "Yläpalkki"
 | 
			
		||||
 | 
			
		||||
@@ -737,14 +812,15 @@ msgstr "Yhdistä…"
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "SIJAINNIT JA LAITTEET"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Tunnistautuminen vaaditaan"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Ylläpitäjä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "Tunnistaudu"
 | 
			
		||||
 | 
			
		||||
@@ -752,9 +828,11 @@ msgstr "Tunnistaudu"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Salasana:"
 | 
			
		||||
 | 
			
		||||
@@ -763,10 +841,11 @@ msgstr "Salasana:"
 | 
			
		||||
#. "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:731
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Syötä komento:"
 | 
			
		||||
 | 
			
		||||
@@ -778,6 +857,22 @@ msgstr "Haetaan…"
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Ei tuloksia."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Kopioi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Liitä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Näytä teksti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Piilota teksti"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Väärä salasana, yritä uudelleen"
 | 
			
		||||
@@ -789,6 +884,7 @@ msgstr "Lähennys"
 | 
			
		||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
 | 
			
		||||
#. 'screen-reader-enabled');
 | 
			
		||||
#. this.menu.addMenuItem(screenReader);
 | 
			
		||||
#: ../js/ui/status/accessibility.js:71
 | 
			
		||||
msgid "Screen Keyboard"
 | 
			
		||||
msgstr "Näyttönäppäimistö"
 | 
			
		||||
 | 
			
		||||
@@ -910,7 +1006,7 @@ msgstr "Salli pääsy aina"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Salli vain tällä kerralla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Hylkää"
 | 
			
		||||
 | 
			
		||||
@@ -950,9 +1046,11 @@ msgstr "Kirjoita laitteella mainittu PIN-koodi."
 | 
			
		||||
msgid "OK"
 | 
			
		||||
msgstr "OK"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/keyboard.js:73
 | 
			
		||||
msgid "Show Keyboard Layout"
 | 
			
		||||
msgstr "Näytä näppäimistön asettelu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/keyboard.js:78
 | 
			
		||||
msgid "Region and Language Settings"
 | 
			
		||||
msgstr "Kielen ja alueen asetukset"
 | 
			
		||||
 | 
			
		||||
@@ -997,11 +1095,13 @@ msgstr "ei käytettävissä"
 | 
			
		||||
msgid "connection failed"
 | 
			
		||||
msgstr "yhteys katkesi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
 | 
			
		||||
msgid "More..."
 | 
			
		||||
msgstr "Lisää…"
 | 
			
		||||
 | 
			
		||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
 | 
			
		||||
#. and we cannot access its settings (including the name)
 | 
			
		||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
 | 
			
		||||
msgid "Connected (private)"
 | 
			
		||||
msgstr "Yhdistetty (yksityinen)"
 | 
			
		||||
 | 
			
		||||
@@ -1018,6 +1118,7 @@ msgid "Auto dial-up"
 | 
			
		||||
msgstr "Automaattinen, puhelinverkko"
 | 
			
		||||
 | 
			
		||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
 | 
			
		||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Auto %s"
 | 
			
		||||
msgstr "Automaattinen: %s"
 | 
			
		||||
@@ -1026,36 +1127,47 @@ msgstr "Automaattinen: %s"
 | 
			
		||||
msgid "Auto bluetooth"
 | 
			
		||||
msgstr "Automaattinen: Bluetooth"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1472
 | 
			
		||||
msgid "Auto wireless"
 | 
			
		||||
msgstr "Automaattinen: langaton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1566
 | 
			
		||||
msgid "Enable networking"
 | 
			
		||||
msgstr "Ota verkko käyttöön"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1578
 | 
			
		||||
msgid "Wired"
 | 
			
		||||
msgstr "Kiinteä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1589
 | 
			
		||||
msgid "Wireless"
 | 
			
		||||
msgstr "Langaton"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1599
 | 
			
		||||
msgid "Mobile broadband"
 | 
			
		||||
msgstr "Mobiililaajakaista"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1609
 | 
			
		||||
msgid "VPN Connections"
 | 
			
		||||
msgstr "VPN-yhteydet"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1620
 | 
			
		||||
msgid "Network Settings"
 | 
			
		||||
msgstr "Verkkoasetukset"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1757
 | 
			
		||||
msgid "Connection failed"
 | 
			
		||||
msgstr "Yhteys epäonnistui"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:1758
 | 
			
		||||
msgid "Activation of network connection failed"
 | 
			
		||||
msgstr "Verkkoyhteyden aktivointi epäonnistui"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:2008
 | 
			
		||||
msgid "Networking is disabled"
 | 
			
		||||
msgstr "Verkko ei ole käytössä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/network.js:2133
 | 
			
		||||
msgid "Network Manager"
 | 
			
		||||
msgstr "Verkon hallinta"
 | 
			
		||||
 | 
			
		||||
@@ -1163,39 +1275,39 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Kutsu"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Soita"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Tiedostonsiirto"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Tilauspyyntö"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Yhteysvirhe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s on linjoilla."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s on poissa linjoilta."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s on poissa."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s on kiireinen."
 | 
			
		||||
@@ -1203,35 +1315,35 @@ msgstr "%s on kiireinen."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Lähetetty <b>%Ana</b> kello <b>%H.%M</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Lähetetty <b>%Ana</b> <b>%d. %Bta</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Lähetetty <b>%Ana</b> <b>%d. %Bta</b> %Y"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s on nyt nimeltään %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Kutsu huoneeseen %s"
 | 
			
		||||
@@ -1239,34 +1351,35 @@ msgstr "Kutsu huoneeseen %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s kutsuu sinut huoneeseen %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Kieltäydy"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Hyväksy"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Videopuhelu käyttäjältä %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Puhelu käyttäjältä %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Vastaa"
 | 
			
		||||
 | 
			
		||||
@@ -1275,108 +1388,108 @@ msgstr "Vastaa"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s on lähettämässä sinulle tiedostoa %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s haluaisi saada luvan nähdä, milloin olet linjoilla"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Verkkovirhe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "Tunnistautuminen epäonnistui"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Salausvirhe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Varmennetta ei annettu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Varmenteeseen ei luoteta"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Varmenne on vanhentunut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Varmennetta ei ole aktivoitu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Varmenteen konenimiristiriita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "Varmenteen sormenjälkiristiriita"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Varmenne on itseallekirjoitettu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Tilaksi on asetettu ”poissa linjoilta”"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Salaus ei ole käytettävissä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Varmenne ei kelpaa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "Yhteys on evätty"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "Yhteyttä ei voida muodostaa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "Yhteys on katkennut"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Tämä resurssi on jo yhteydessä palvelimeen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr "Yhteys on korvattu uudella samaa resurssia käyttävällä yhteydellä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "Tili on jo olemassa palvelimella"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr "Palvelin on tällä hetkellä liian kiireinen käsittelemään yhteyttä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Varmenne on kumottu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr "Varmenne käyttää turvatonta salausmenetelmää"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1385,56 +1498,68 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "Yhteys kohteeseen %s katkesi"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Yhdistä uudelleen"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Muokkaa tiliä"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Tuntematon syy"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:145
 | 
			
		||||
msgid "Hidden"
 | 
			
		||||
msgstr "Piilotettu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:151
 | 
			
		||||
msgid "Idle"
 | 
			
		||||
msgstr "Jouten"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:154
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Ei tavoitettavissa"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Sammuta…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Ilmoitukset"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Verkkotilit"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Järjestelmän asetukset"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Lukitse näyttö"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Vaihda käyttäjää"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Kirjaudu ulos…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Pikaviestitilaksi asetetaan ”kiireinen”"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1447,20 +1572,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Kirjoita hakeaksesi…"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Haku"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "%s on käynnistynyt"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "%s on valmis"
 | 
			
		||||
@@ -1495,7 +1615,7 @@ msgstr "Tulosta versio"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"
 | 
			
		||||
@@ -1532,6 +1652,12 @@ msgstr "Tiedostojärjestelmä"
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s: %2$s"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Show password"
 | 
			
		||||
#~ msgstr "Näytä salasana"
 | 
			
		||||
 | 
			
		||||
#~ msgid "%s has finished starting"
 | 
			
		||||
#~ msgstr "%s on käynnistynyt"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Connectivity lost"
 | 
			
		||||
#~ msgstr "Yhteys katkesi"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										273
									
								
								po/fr.po
									
									
									
									
									
								
							
							
						
						
									
										273
									
								
								po/fr.po
									
									
									
									
									
								
							@@ -15,8 +15,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: 2011-09-23 12:02+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-09-14 18:35+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2011-10-29 19:01+0200\n"
 | 
			
		||||
"Last-Translator: Bruno Brouard <annoa.b@gmail.com>\n"
 | 
			
		||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -192,42 +192,42 @@ msgstr "Le clavier utilisé"
 | 
			
		||||
msgid "disabled OpenSearch providers"
 | 
			
		||||
msgstr "fournisseurs OpenSearch désactivés"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:617
 | 
			
		||||
#: ../js/gdm/loginDialog.js:633
 | 
			
		||||
msgid "Session..."
 | 
			
		||||
msgstr "Session..."
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:785
 | 
			
		||||
#: ../js/gdm/loginDialog.js:804
 | 
			
		||||
msgctxt "title"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Connexion"
 | 
			
		||||
 | 
			
		||||
#. translators: this message is shown below the password entry field
 | 
			
		||||
#. to indicate the user can swipe their finger instead
 | 
			
		||||
#: ../js/gdm/loginDialog.js:830
 | 
			
		||||
#: ../js/gdm/loginDialog.js:849
 | 
			
		||||
msgid "(or swipe finger)"
 | 
			
		||||
msgstr "(ou faites glisser le doigt)"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:848
 | 
			
		||||
#: ../js/gdm/loginDialog.js:867
 | 
			
		||||
msgid "Not listed?"
 | 
			
		||||
msgstr "Absent de la liste ?"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
 | 
			
		||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
 | 
			
		||||
msgid "Cancel"
 | 
			
		||||
msgstr "Annuler"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1009
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1040
 | 
			
		||||
msgctxt "button"
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr "Se connecter"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1358
 | 
			
		||||
#: ../js/gdm/loginDialog.js:1392
 | 
			
		||||
msgid "Login Window"
 | 
			
		||||
msgstr "Fenêtre de connexion"
 | 
			
		||||
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
 | 
			
		||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
 | 
			
		||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
 | 
			
		||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
 | 
			
		||||
msgid "Suspend"
 | 
			
		||||
msgstr "Mettre en veille"
 | 
			
		||||
 | 
			
		||||
@@ -473,32 +473,32 @@ msgstr "Cette semaine"
 | 
			
		||||
msgid "Next week"
 | 
			
		||||
msgstr "La semaine prochaine"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
 | 
			
		||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
 | 
			
		||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
 | 
			
		||||
msgid "Unknown"
 | 
			
		||||
msgstr "Inconnu"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
 | 
			
		||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
 | 
			
		||||
msgid "Available"
 | 
			
		||||
msgstr "Disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
 | 
			
		||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
 | 
			
		||||
msgid "Away"
 | 
			
		||||
msgstr "Absent"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
 | 
			
		||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
 | 
			
		||||
msgid "Busy"
 | 
			
		||||
msgstr "Occupé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:93
 | 
			
		||||
#: ../js/ui/contactDisplay.js:99
 | 
			
		||||
msgid "Offline"
 | 
			
		||||
msgstr "Déconnecté"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/contactDisplay.js:140
 | 
			
		||||
#: ../js/ui/contactDisplay.js:146
 | 
			
		||||
msgid "CONTACTS"
 | 
			
		||||
msgstr "CONTACTS"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
 | 
			
		||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Enlever"
 | 
			
		||||
 | 
			
		||||
@@ -643,96 +643,96 @@ msgstr "Installer"
 | 
			
		||||
msgid "Download and install '%s' from extensions.gnome.org?"
 | 
			
		||||
msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
 | 
			
		||||
#: ../js/ui/keyboard.js:325
 | 
			
		||||
msgid "tray"
 | 
			
		||||
msgstr "zone de notification"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
 | 
			
		||||
msgid "Keyboard"
 | 
			
		||||
msgstr "Clavier"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:645
 | 
			
		||||
#: ../js/ui/lookingGlass.js:646
 | 
			
		||||
msgid "No extensions installed"
 | 
			
		||||
msgstr "Aucune extension installée"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:691
 | 
			
		||||
#: ../js/ui/lookingGlass.js:692
 | 
			
		||||
msgid "Enabled"
 | 
			
		||||
msgstr "Activé"
 | 
			
		||||
 | 
			
		||||
#. translators:
 | 
			
		||||
#. * The device has been disabled
 | 
			
		||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
 | 
			
		||||
msgid "Disabled"
 | 
			
		||||
msgstr "Désactivé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:695
 | 
			
		||||
#: ../js/ui/lookingGlass.js:696
 | 
			
		||||
msgid "Error"
 | 
			
		||||
msgstr "Erreur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:697
 | 
			
		||||
#: ../js/ui/lookingGlass.js:698
 | 
			
		||||
msgid "Out of date"
 | 
			
		||||
msgstr "Périmé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:699
 | 
			
		||||
#: ../js/ui/lookingGlass.js:700
 | 
			
		||||
msgid "Downloading"
 | 
			
		||||
msgstr "Téléchargement"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:724
 | 
			
		||||
#: ../js/ui/lookingGlass.js:721
 | 
			
		||||
msgid "View Source"
 | 
			
		||||
msgstr "Afficher la source"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/lookingGlass.js:730
 | 
			
		||||
#: ../js/ui/lookingGlass.js:727
 | 
			
		||||
msgid "Web Page"
 | 
			
		||||
msgstr "Page Web"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:1197
 | 
			
		||||
#: ../js/ui/messageTray.js:1199
 | 
			
		||||
msgid "Open"
 | 
			
		||||
msgstr "Ouvrir"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/messageTray.js:2405
 | 
			
		||||
#: ../js/ui/messageTray.js:2408
 | 
			
		||||
msgid "System Information"
 | 
			
		||||
msgstr "Informations du système"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:145
 | 
			
		||||
msgid "Show password"
 | 
			
		||||
msgstr "Afficher le mot de passe"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:160
 | 
			
		||||
#: ../js/ui/networkAgent.js:143
 | 
			
		||||
msgid "Connect"
 | 
			
		||||
msgstr "Se connecter"
 | 
			
		||||
 | 
			
		||||
#. Cisco LEAP
 | 
			
		||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
 | 
			
		||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
 | 
			
		||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
 | 
			
		||||
#: ../js/ui/networkAgent.js:307
 | 
			
		||||
msgid "Password: "
 | 
			
		||||
msgstr "Mot de passe : "
 | 
			
		||||
 | 
			
		||||
#. static WEP
 | 
			
		||||
#: ../js/ui/networkAgent.js:260
 | 
			
		||||
#: ../js/ui/networkAgent.js:243
 | 
			
		||||
msgid "Key: "
 | 
			
		||||
msgstr "Clé : "
 | 
			
		||||
 | 
			
		||||
#. TTLS and PEAP are actually much more complicated, but this complication
 | 
			
		||||
#. is not visible here since we only care about phase2 authentication
 | 
			
		||||
#. (and don't even care of which one)
 | 
			
		||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
 | 
			
		||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
 | 
			
		||||
msgid "Username: "
 | 
			
		||||
msgstr "Nom d'utilisateur : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:298
 | 
			
		||||
#: ../js/ui/networkAgent.js:281
 | 
			
		||||
msgid "Identity: "
 | 
			
		||||
msgstr "Identité : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:300
 | 
			
		||||
#: ../js/ui/networkAgent.js:283
 | 
			
		||||
msgid "Private key password: "
 | 
			
		||||
msgstr "Mot de passe de la clé privée : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:312
 | 
			
		||||
#: ../js/ui/networkAgent.js:295
 | 
			
		||||
msgid "Service: "
 | 
			
		||||
msgstr "Service : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:341
 | 
			
		||||
#: ../js/ui/networkAgent.js:324
 | 
			
		||||
msgid "Authentication required by wireless network"
 | 
			
		||||
msgstr "L'authentification est requise par le réseau sans fil"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:342
 | 
			
		||||
#: ../js/ui/networkAgent.js:325
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Passwords or encryption keys are required to access the wireless network '%"
 | 
			
		||||
@@ -741,35 +741,35 @@ msgstr ""
 | 
			
		||||
"Il faut un mot de passe ou une clé de chiffrement pour accéder au réseau "
 | 
			
		||||
"sans fil « %s »"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:346
 | 
			
		||||
#: ../js/ui/networkAgent.js:329
 | 
			
		||||
msgid "Wired 802.1X authentication"
 | 
			
		||||
msgstr "Authentification filaire 802.1X"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:348
 | 
			
		||||
#: ../js/ui/networkAgent.js:331
 | 
			
		||||
msgid "Network name: "
 | 
			
		||||
msgstr "Nom du réseau : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:353
 | 
			
		||||
#: ../js/ui/networkAgent.js:336
 | 
			
		||||
msgid "DSL authentication"
 | 
			
		||||
msgstr "Authentification DSL"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:360
 | 
			
		||||
#: ../js/ui/networkAgent.js:343
 | 
			
		||||
msgid "PIN code required"
 | 
			
		||||
msgstr "Code PIN requis"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:361
 | 
			
		||||
#: ../js/ui/networkAgent.js:344
 | 
			
		||||
msgid "PIN code is needed for the mobile broadband device"
 | 
			
		||||
msgstr "Un code PIN est nécessaire pour les téléphones mobiles à large bande"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:362
 | 
			
		||||
#: ../js/ui/networkAgent.js:345
 | 
			
		||||
msgid "PIN: "
 | 
			
		||||
msgstr "PIN : "
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:368
 | 
			
		||||
#: ../js/ui/networkAgent.js:351
 | 
			
		||||
msgid "Mobile broadband network password"
 | 
			
		||||
msgstr "Mot de passe du téléphone mobile à large bande"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/networkAgent.js:369
 | 
			
		||||
#: ../js/ui/networkAgent.js:352
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "A password is required to connect to '%s'."
 | 
			
		||||
msgstr "Un mot de passe est requis pour se connecter à « %s »."
 | 
			
		||||
@@ -825,15 +825,15 @@ msgstr "Connexion à..."
 | 
			
		||||
msgid "PLACES & DEVICES"
 | 
			
		||||
msgstr "RACCOURCIS et PÉRIPHÉRIQUES"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:72
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:73
 | 
			
		||||
msgid "Authentication Required"
 | 
			
		||||
msgstr "Authentification nécessaire"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:106
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:107
 | 
			
		||||
msgid "Administrator"
 | 
			
		||||
msgstr "Administrateur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:175
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:177
 | 
			
		||||
msgid "Authenticate"
 | 
			
		||||
msgstr "S'authentifier"
 | 
			
		||||
 | 
			
		||||
@@ -841,11 +841,11 @@ msgstr "S'authentifier"
 | 
			
		||||
#. * requested authentication was not gained; this can happen
 | 
			
		||||
#. * because of an authentication error (like invalid password),
 | 
			
		||||
#. * for instance.
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:256
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:258
 | 
			
		||||
msgid "Sorry, that didn't work. Please try again."
 | 
			
		||||
msgstr "Échec de l'authentification. Essayez à nouveau."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:268
 | 
			
		||||
#: ../js/ui/polkitAuthenticationAgent.js:270
 | 
			
		||||
msgid "Password:"
 | 
			
		||||
msgstr "Mot de passe :"
 | 
			
		||||
 | 
			
		||||
@@ -858,7 +858,7 @@ msgstr "Mot de passe :"
 | 
			
		||||
msgid "toggle-switch-us"
 | 
			
		||||
msgstr "toggle-switch-intl"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/runDialog.js:208
 | 
			
		||||
#: ../js/ui/runDialog.js:209
 | 
			
		||||
msgid "Please enter a command:"
 | 
			
		||||
msgstr "Veuillez saisir une commande :"
 | 
			
		||||
 | 
			
		||||
@@ -870,6 +870,22 @@ msgstr "Recherche en cours..."
 | 
			
		||||
msgid "No matching results."
 | 
			
		||||
msgstr "Aucun résultat correspondant."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:30
 | 
			
		||||
msgid "Copy"
 | 
			
		||||
msgstr "Copier"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:35
 | 
			
		||||
msgid "Paste"
 | 
			
		||||
msgstr "Coller"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:81
 | 
			
		||||
msgid "Show Text"
 | 
			
		||||
msgstr "Afficher le texte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellEntry.js:83
 | 
			
		||||
msgid "Hide Text"
 | 
			
		||||
msgstr "Masquer le texte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/shellMountOperation.js:285
 | 
			
		||||
msgid "Wrong password, please try again"
 | 
			
		||||
msgstr "Mot de passe incorrect, réessayez"
 | 
			
		||||
@@ -1003,7 +1019,7 @@ msgstr "Toujours accorder l'accès"
 | 
			
		||||
msgid "Grant this time only"
 | 
			
		||||
msgstr "Accorder l'accès cette fois uniquement"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
 | 
			
		||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
 | 
			
		||||
msgid "Reject"
 | 
			
		||||
msgstr "Refuser"
 | 
			
		||||
 | 
			
		||||
@@ -1276,41 +1292,41 @@ msgid "Invitation"
 | 
			
		||||
msgstr "Invitation"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:325
 | 
			
		||||
#: ../js/ui/telepathyClient.js:327
 | 
			
		||||
msgid "Call"
 | 
			
		||||
msgstr "Appel"
 | 
			
		||||
 | 
			
		||||
#. We got the TpContact
 | 
			
		||||
#: ../js/ui/telepathyClient.js:353
 | 
			
		||||
#: ../js/ui/telepathyClient.js:357
 | 
			
		||||
msgid "File Transfer"
 | 
			
		||||
msgstr "Transfert de fichiers"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:438
 | 
			
		||||
msgid "Subscription request"
 | 
			
		||||
msgstr "Demande d'abonnement"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:470
 | 
			
		||||
#: ../js/ui/telepathyClient.js:474
 | 
			
		||||
msgid "Connection error"
 | 
			
		||||
msgstr "Erreur de connexion"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:733
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is online."
 | 
			
		||||
msgstr "%s est en ligne."
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# luc: note: Empathy utilise « déconnecté »
 | 
			
		||||
#: ../js/ui/telepathyClient.js:738
 | 
			
		||||
#: ../js/ui/telepathyClient.js:746
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is offline."
 | 
			
		||||
msgstr "%s est hors ligne."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:741
 | 
			
		||||
#: ../js/ui/telepathyClient.js:749
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is away."
 | 
			
		||||
msgstr "%s est absent."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:744
 | 
			
		||||
#: ../js/ui/telepathyClient.js:752
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is busy."
 | 
			
		||||
msgstr "%s est occupé."
 | 
			
		||||
@@ -1320,35 +1336,35 @@ msgstr "%s est occupé."
 | 
			
		||||
#. Translators: this is a time format string followed by a date.
 | 
			
		||||
#. If applicable, replace %X with a strftime format valid for your
 | 
			
		||||
#. locale, without seconds.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:978
 | 
			
		||||
#: ../js/ui/telepathyClient.js:986
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
 | 
			
		||||
msgstr "Envoyé <b>%A</b> à <b>%X</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
 | 
			
		||||
#. shown when you get a chat message in the same year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:984
 | 
			
		||||
#: ../js/ui/telepathyClient.js:992
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
 | 
			
		||||
msgstr "Envoyé le <b>%A %-d %B</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
 | 
			
		||||
#. shown when you get a chat message in a different year.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:989
 | 
			
		||||
#: ../js/ui/telepathyClient.js:997
 | 
			
		||||
#, no-c-format
 | 
			
		||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
 | 
			
		||||
msgstr "Envoyé le <b>%A %-d %B %Y</b>"
 | 
			
		||||
 | 
			
		||||
#. Translators: this is the other person changing their old IM name to their new
 | 
			
		||||
#. IM name.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1031
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1039
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is now known as %s"
 | 
			
		||||
msgstr "%s est maintenant connu sous le nom de %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a room name like
 | 
			
		||||
#. * room@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1140
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Invitation to %s"
 | 
			
		||||
msgstr "Invitation vers %s"
 | 
			
		||||
@@ -1356,34 +1372,35 @@ msgstr "Invitation vers %s"
 | 
			
		||||
#. translators: first argument is the name of a contact and the second
 | 
			
		||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
 | 
			
		||||
#. * for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1148
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1156
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is inviting you to join %s"
 | 
			
		||||
msgstr "%s vous invite à rejoindre %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1343
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1352
 | 
			
		||||
msgid "Decline"
 | 
			
		||||
msgstr "Refuser"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1344
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1353
 | 
			
		||||
msgid "Accept"
 | 
			
		||||
msgstr "Accepter"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1184
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1192
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Video call from %s"
 | 
			
		||||
msgstr "Appel vidéo de %s"
 | 
			
		||||
 | 
			
		||||
#. translators: argument is a contact name like Alice for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1187
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1195
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Call from %s"
 | 
			
		||||
msgstr "Appel provenant de %s"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1197
 | 
			
		||||
#. translators: this is a button label (verb), not a noun
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1206
 | 
			
		||||
msgid "Answer"
 | 
			
		||||
msgstr "Répondre"
 | 
			
		||||
 | 
			
		||||
@@ -1392,112 +1409,112 @@ msgstr "Répondre"
 | 
			
		||||
#. * file name. The string will be something
 | 
			
		||||
#. * like: "Alice is sending you test.ogg"
 | 
			
		||||
#.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1233
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1242
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s is sending you %s"
 | 
			
		||||
msgstr "%s vous envoie %s"
 | 
			
		||||
 | 
			
		||||
#. To translators: The parameter is the contact's alias
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1308
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1317
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s would like permission to see when you are online"
 | 
			
		||||
msgstr "%s aimerait être autorisé à savoir lorsque vous êtes en ligne"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1406
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1415
 | 
			
		||||
msgid "Network error"
 | 
			
		||||
msgstr "Erreur réseau"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1408
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1417
 | 
			
		||||
msgid "Authentication failed"
 | 
			
		||||
msgstr "L'authentification a échoué"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1410
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1419
 | 
			
		||||
msgid "Encryption error"
 | 
			
		||||
msgstr "Erreur de chiffrement"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1412
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1421
 | 
			
		||||
msgid "Certificate not provided"
 | 
			
		||||
msgstr "Certificat non fourni"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1414
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1423
 | 
			
		||||
msgid "Certificate untrusted"
 | 
			
		||||
msgstr "Certificat non validé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1416
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1425
 | 
			
		||||
msgid "Certificate expired"
 | 
			
		||||
msgstr "Certificat expiré"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1418
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1427
 | 
			
		||||
msgid "Certificate not activated"
 | 
			
		||||
msgstr "Certificat non activé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1420
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1429
 | 
			
		||||
msgid "Certificate hostname mismatch"
 | 
			
		||||
msgstr "Le nom de l'hôte du certificat ne correspond pas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1422
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1431
 | 
			
		||||
msgid "Certificate fingerprint mismatch"
 | 
			
		||||
msgstr "L'empreinte du certificat ne correspond pas"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1424
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1433
 | 
			
		||||
msgid "Certificate self-signed"
 | 
			
		||||
msgstr "Certificat auto-signé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1426
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1435
 | 
			
		||||
msgid "Status is set to offline"
 | 
			
		||||
msgstr "Le statut est hors ligne"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1428
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1437
 | 
			
		||||
msgid "Encryption is not available"
 | 
			
		||||
msgstr "Chiffrement non disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1430
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1439
 | 
			
		||||
msgid "Certificate is invalid"
 | 
			
		||||
msgstr "Certificat non valide"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1432
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1441
 | 
			
		||||
msgid "Connection has been refused"
 | 
			
		||||
msgstr "La connexion a été refusée"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1434
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1443
 | 
			
		||||
msgid "Connection can't be established"
 | 
			
		||||
msgstr "La connexion ne peut pas être établie"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1436
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1445
 | 
			
		||||
msgid "Connection has been lost"
 | 
			
		||||
msgstr "La connexion a été perdue"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1438
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1447
 | 
			
		||||
msgid "This resource is already connected to the server"
 | 
			
		||||
msgstr "Cette ressource est déjà connectée au serveur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1440
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1449
 | 
			
		||||
msgid ""
 | 
			
		||||
"Connection has been replaced by a new connection using the same resource"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"La connexion a été remplacée par une nouvelle connexion utilisant la même "
 | 
			
		||||
"ressource"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1442
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1451
 | 
			
		||||
msgid "The account already exists on the server"
 | 
			
		||||
msgstr "Ce compte existe déjà sur le serveur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1444
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1453
 | 
			
		||||
msgid "Server is currently too busy to handle the connection"
 | 
			
		||||
msgstr "Le serveur est actuellement trop chargé pour traiter la connexion"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1446
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1455
 | 
			
		||||
msgid "Certificate has been revoked"
 | 
			
		||||
msgstr "Le certificat a été révoqué"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1448
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1457
 | 
			
		||||
msgid ""
 | 
			
		||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Le certificat utilise un algorithme de chiffrement douteux, ou est faible "
 | 
			
		||||
"cryptographiquement"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1450
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
msgid ""
 | 
			
		||||
"The length of the server certificate, or the depth of the server certificate "
 | 
			
		||||
"chain, exceed the limits imposed by the cryptography library"
 | 
			
		||||
@@ -1507,20 +1524,20 @@ msgstr ""
 | 
			
		||||
 | 
			
		||||
#. translators: argument is the account name, like
 | 
			
		||||
#. * name@jabber.org for example.
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1459
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Connection to %s failed"
 | 
			
		||||
msgstr "La connexion à %s a échoué"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1468
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1477
 | 
			
		||||
msgid "Reconnect"
 | 
			
		||||
msgstr "Se reconnecter"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1469
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1478
 | 
			
		||||
msgid "Edit account"
 | 
			
		||||
msgstr "Modifier le compte"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1515
 | 
			
		||||
#: ../js/ui/telepathyClient.js:1524
 | 
			
		||||
msgid "Unknown reason"
 | 
			
		||||
msgstr "Raison inconnue"
 | 
			
		||||
 | 
			
		||||
@@ -1536,39 +1553,39 @@ msgstr "Inactif"
 | 
			
		||||
msgid "Unavailable"
 | 
			
		||||
msgstr "Non disponible"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
 | 
			
		||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
 | 
			
		||||
msgid "Power Off..."
 | 
			
		||||
msgstr "Éteindre..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:548
 | 
			
		||||
#: ../js/ui/userMenu.js:588
 | 
			
		||||
msgid "Notifications"
 | 
			
		||||
msgstr "Notifications"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:556
 | 
			
		||||
#: ../js/ui/userMenu.js:596
 | 
			
		||||
msgid "Online Accounts"
 | 
			
		||||
msgstr "Comptes en ligne"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:560
 | 
			
		||||
#: ../js/ui/userMenu.js:600
 | 
			
		||||
msgid "System Settings"
 | 
			
		||||
msgstr "Paramètres système"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:567
 | 
			
		||||
#: ../js/ui/userMenu.js:607
 | 
			
		||||
msgid "Lock Screen"
 | 
			
		||||
msgstr "Verrouiller l'écran"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:572
 | 
			
		||||
#: ../js/ui/userMenu.js:612
 | 
			
		||||
msgid "Switch User"
 | 
			
		||||
msgstr "Changer d'utilisateur"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:577
 | 
			
		||||
#: ../js/ui/userMenu.js:617
 | 
			
		||||
msgid "Log Out..."
 | 
			
		||||
msgstr "Fermer la session..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:605
 | 
			
		||||
#: ../js/ui/userMenu.js:645
 | 
			
		||||
msgid "Your chat status will be set to busy"
 | 
			
		||||
msgstr "Votre statut pour les discussions sera défini à occupé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/userMenu.js:606
 | 
			
		||||
#: ../js/ui/userMenu.js:646
 | 
			
		||||
msgid ""
 | 
			
		||||
"Notifications are now disabled, including chat messages. Your online status "
 | 
			
		||||
"has been adjusted to let others know that you might not see their messages."
 | 
			
		||||
@@ -1581,20 +1598,15 @@ msgstr ""
 | 
			
		||||
#. in the search entry when no search is
 | 
			
		||||
#. active; it should not exceed ~30
 | 
			
		||||
#. characters.
 | 
			
		||||
#: ../js/ui/viewSelector.js:120
 | 
			
		||||
#: ../js/ui/viewSelector.js:121
 | 
			
		||||
msgid "Type to search..."
 | 
			
		||||
msgstr "Rechercher..."
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
 | 
			
		||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Recherche"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:39
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s has finished starting"
 | 
			
		||||
msgstr "Lancement de %s terminé"
 | 
			
		||||
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:41
 | 
			
		||||
#: ../js/ui/windowAttentionHandler.js:35
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "'%s' is ready"
 | 
			
		||||
msgstr "« %s » est prêt"
 | 
			
		||||
@@ -1629,7 +1641,7 @@ msgstr "Affiche la version"
 | 
			
		||||
msgid "Mode used by GDM for login screen"
 | 
			
		||||
msgstr "Mode utilisé par GDM pour l'écran de connexion"
 | 
			
		||||
 | 
			
		||||
#: ../src/shell-app.c:581
 | 
			
		||||
#: ../src/shell-app.c:579
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Failed to launch '%s'"
 | 
			
		||||
msgstr "Impossible de lancer « %s »"
 | 
			
		||||
@@ -1665,3 +1677,4 @@ msgstr "Système de fichiers"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%1$s: %2$s"
 | 
			
		||||
msgstr "%1$s : %2$s"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user