Compare commits
	
		
			20 Commits
		
	
	
		
			3.13.1
			...
			wip/waylan
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 28f4030aa2 | ||
|   | 67fe376564 | ||
|   | fb824131ae | ||
|   | 056375cbcf | ||
|   | 84431cbc65 | ||
|   | 92c283da4d | ||
|   | 6e27ef8ff9 | ||
|   | 0c511c884b | ||
|   | 7afb503666 | ||
|   | 0b9d01a1c0 | ||
|   | b978d99820 | ||
|   | 6d8d094e0c | ||
|   | 97e0175f48 | ||
|   | ebef4ff174 | ||
|   | 82b8b32355 | ||
|   | 5b4337f716 | ||
|   | 5eb377bd3b | ||
|   | 8173110842 | ||
|   | fee97da26b | ||
|   | 0cc10e0c5d | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -78,8 +78,11 @@ src/gnome-shell-calendar-server | ||||
| src/gnome-shell-extension-prefs | ||||
| src/gnome-shell-extension-tool | ||||
| src/gnome-shell-hotplug-sniffer | ||||
| src/gnome-shell-jhbuild | ||||
| src/gnome-shell-perf-helper | ||||
| src/gnome-shell-perf-tool | ||||
| src/gnome-shell-real | ||||
| src/gnome-shell-wayland | ||||
| src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service | ||||
| src/run-js-test | ||||
| src/test-recorder | ||||
|   | ||||
							
								
								
									
										90
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,93 +1,3 @@ | ||||
| 3.13.1 | ||||
| ====== | ||||
| * Ensure the currently focused app icon is viewable [Rui; #726759] | ||||
| * Improve language in location menu [Zeeshan; #726498] | ||||
| * Improve HiDpi support [Cosimo; #726907] | ||||
| * Set accessible role for window previews [Alejandro; #726670] | ||||
| * Fix bad antialiasing on panel menu buttons [Carlos; #727336] | ||||
| * Don't hide location menu [Zeeshan; #727398] | ||||
| * Fix IM candidate window obscuring current text [Rui; #727579] | ||||
| * Don't always extend struts to the screen edge [Florian; #663690] | ||||
| * Add shortcuts for switching to the last workspace [Elad; #659288] | ||||
| * Show OSD window on all monitors [Adel; #722684] | ||||
| * Improve consistency of labels in network menu [Paul; #727163] | ||||
| * Fix zombie search providers showing up [Jasper; #728597] | ||||
| * Remove ConsoleKit support [Florian; #686626] | ||||
| * Fix region screenshots with open shell menus [Florian; #709126] | ||||
| * Support <shift>insert in text entries [Florian; #648318] | ||||
| * Improve app picker scrolling on touch [Jasper; #729064] | ||||
| * Don't make date button clickable when on current date [Carlos; #726724] | ||||
| * Tweak heuristic for hiding workspace switcher [Florian; #662457] | ||||
| * Add option to show in Software to app context menu [Matthias; #643043] | ||||
| * Misc. bug fixes and cleanups [Bastien, Florian, Giovanni, Adel, Vadim, | ||||
|   Carlos; #727983, #727948, #728512, #728681, #728897, #727384, #728820, | ||||
|   #715042, #728449, #728343] | ||||
|  | ||||
| Contributors: | ||||
|   Elad Alfassa, Zeeshan Ali (Khattak), Giovanni Campagna, Cosimo Cecchi, | ||||
|   Matthias Clasen, Piotr Drąg, Adel Gadllah, Paul Lange, Rui Matos, | ||||
|   Simon McVittie, Florian Müllner, Bastien Nocera, Alejandro Piñeiro, | ||||
|   Vadim Rutkovsky, Carlos Soriano, Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Khaled Hosny [ar], Piotr Drąg [pl], Yosef Or Boczko [he], | ||||
|   Antonio Fernandes C. Neto [pt_BR], Marek Černocký [cs], maria thukididu [el], | ||||
|   Andika Triwidada [id], Daniel Mustieles [es], Changwoo Ryu [ko], | ||||
|   Benjamin Steinwender [de], Sphinx Jiang [zh_CN], | ||||
|   Inaki Larranaga Murgoitio [eu], Marcus Lundblad [sv], Aurimas Černius [lt], | ||||
|   Stas Solovey [ru], Alexandre Franke [fr], Matej Urbančič [sl], | ||||
|   Fran Diéguez [gl], Pau Iranzo [ca], Luca Ferretti [it], Milo Casagrande [it], | ||||
|   Tiago S [pt], Victor Ibragimov [tg], Dirgita [id], Khoem Sokhem [km], | ||||
|   Rūdolfs Mazurs [lv], Balázs Úr [hu], Ask H. Larsen [da], Ikuya Awashiro [ja], | ||||
|   Wouter Bolsterlee [nl], Daniel Korostil [uk], Daniel Șerbănescu [ro], | ||||
|   Enrico Nicoletto [pt_BR] | ||||
|  | ||||
| 3.12.0 | ||||
| ====== | ||||
| * gdm: Reset greeter when coming back to login screen [Jasper; #726989] | ||||
|  | ||||
| Contributors: | ||||
|   Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Daniel Martinez [an], Yuri Myasoedov [ru], Inaki Larranaga Murgoitio [eu], | ||||
|   Abderrahim Kitouni [ar], Praveen Illa [te], Matej Urbančič [sl], | ||||
|   Chao-Hsiung Liao [zh_HK, zh_TW], Frédéric Péters [fr], | ||||
|   Мирослав Николић [sr, sr@latin], Ask H. Larsen [da], Kenneth Nielsen [da], | ||||
|   Jiro Matsuzawa [ja], Dušan Kazik [sk] | ||||
|  | ||||
| 3.11.92 | ||||
| ======= | ||||
| * calendar: Grab key focus after changing day [Volker; #725606] | ||||
| * gdm: Don't load user list if disabled [Florian; #725905] | ||||
| * Don't show network-offline in the top bar [Jasper; #725340] | ||||
| * Improve radial shade effect of modal dialogs [Giovanni; #725830] | ||||
| * Fix broken suspend-on-idle functionality [Giovanni; #712706] | ||||
| * Close wifi selection dialog when device disappears [Giovanni; #723935] | ||||
| * Don't close chats when pressing Escape [Giovanni; #724178] | ||||
| * Improve smartcard support in login/lock screen [Ray; #726262, #726263] | ||||
| * Wake up screen when resuming from suspend [Giovanni; #726378] | ||||
| * Make bluetooth and location items insensitive when locked [Florian; #726319] | ||||
| * Don't show bluetooth icon when there is no adapter [Giovanni; #725057] | ||||
| * Make sure to keep the OSK on top of modal dialogs [Rui; #719451] | ||||
| * Misc. bug fixes and cleanups [Giovanni, Ray, Adel, Daniel, Jasper, Florian; | ||||
|   #725832, #725958, #722149, #724977, #724798, #725020, #723976, #726119, | ||||
|   #726238, #585500, #704844, #726323, #726322, #726120, #726414] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Daniel Drake, Adel Gadllah, Rui Matos, Florian Müllner, | ||||
|   Volker Sobek, Jasper St. Pierre, Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Fabio Tomat [fur], Rafael Ferreira [pt_BR], Fran Diéguez [gl], | ||||
|   Marek Černocký [cs], Baurzhan Muftakhidinov [kk], Andika Triwidada [id], | ||||
|   A S Alam [pa], Rūdolfs Mazurs [lv], Wylmer Wang [zh_CN], | ||||
|   Aurimas Černius [lt], Cheng-Chia Tseng [zh_TW], Stas Solovey [ru], | ||||
|   Tiagosdot [pt], Benjamin Steinwender [de], Frédéric Peters [fr], | ||||
|   Daniel Korostil [uk], Yaron Shahrabani [he], Ville-Pekka Vainio [fi], | ||||
|   maria thukididu [el], Victor Ibragimov [tg], Kjartan Maraas [nb], | ||||
|   Gábor Kelemen [hu], Ask H. Larsen [da] | ||||
|  | ||||
| 3.11.91 | ||||
| ======= | ||||
| * Don't use network profile name in menu [Giovanni; #725586] | ||||
|   | ||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							| @@ -8,7 +8,7 @@ For more information about GNOME Shell, including instructions on how | ||||
| to build GNOME Shell from source and how to get involved with the project, | ||||
| see: | ||||
|  | ||||
|  https://wiki.gnome.org/Projects/GnomeShell | ||||
|  http://live.gnome.org/GnomeShell | ||||
|  | ||||
| Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell' | ||||
| product. | ||||
|   | ||||
							
								
								
									
										11
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								configure.ac
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| AC_PREREQ(2.63) | ||||
| AC_INIT([gnome-shell],[3.13.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
| AC_INIT([gnome-shell],[3.11.91],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) | ||||
|  | ||||
| AC_CONFIG_HEADERS([config.h]) | ||||
| AC_CONFIG_SRCDIR([src/shell-global.c]) | ||||
| @@ -76,7 +76,7 @@ AC_MSG_RESULT($enable_systemd) | ||||
| CLUTTER_MIN_VERSION=1.15.90 | ||||
| GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 | ||||
| GJS_MIN_VERSION=1.39.0 | ||||
| MUTTER_MIN_VERSION=3.13.1 | ||||
| MUTTER_MIN_VERSION=3.11.91 | ||||
| GTK_MIN_VERSION=3.7.9 | ||||
| GIO_MIN_VERSION=2.37.0 | ||||
| LIBECAL_MIN_VERSION=3.5.3 | ||||
| @@ -112,6 +112,13 @@ fi | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) | ||||
| PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION) | ||||
| PKG_CHECK_MODULES(MUTTER_WAYLAND, [libmutter-wayland >= $MUTTER_MIN_VERSION], | ||||
|                  [MUTTER_WAYLAND_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter-wayland` | ||||
|                   AC_SUBST(MUTTER_WAYLAND_TYPELIB_DIR) | ||||
|                   have_mutter_wayland=yes], | ||||
|                  [have_mutter_wayland=no]) | ||||
|  | ||||
| AM_CONDITIONAL(HAVE_MUTTER_WAYLAND, test $have_mutter_wayland != no) | ||||
|  | ||||
| PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION) | ||||
| PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11) | ||||
|   | ||||
| @@ -1,5 +1,9 @@ | ||||
| desktopdir=$(datadir)/applications | ||||
| desktop_DATA = gnome-shell.desktop gnome-shell-wayland.desktop  gnome-shell-extension-prefs.desktop | ||||
| desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop | ||||
| if HAVE_MUTTER_WAYLAND | ||||
| desktop_DATA += gnome-shell-wayland.desktop | ||||
| endif HAVE_MUTTER_WAYLAND | ||||
|  | ||||
|  | ||||
| # We substitute in bindir so it works as an autostart | ||||
| # file when built in a non-system prefix | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| Type=Application | ||||
| _Name=GNOME Shell (wayland compositor) | ||||
| _Comment=Window management and application launching | ||||
| Exec=@bindir@/mutter-launch -- gnome-shell --wayland --display-server | ||||
| Exec=@bindir@/gnome-shell-wayland --wayland --display-server | ||||
| X-GNOME-Bugzilla-Bugzilla=GNOME | ||||
| X-GNOME-Bugzilla-Product=gnome-shell | ||||
| X-GNOME-Bugzilla-Component=general | ||||
|   | ||||
| @@ -221,6 +221,9 @@ StScrollBar StButton#vhandle:active { | ||||
|     color: #9f9f9f; | ||||
| } | ||||
|  | ||||
| .popup-image-menu-item { | ||||
| } | ||||
|  | ||||
| .popup-separator-menu-item { | ||||
|     -gradient-height: 1px; | ||||
|     -gradient-start: rgba(255,255,255,0.0); | ||||
| @@ -230,6 +233,10 @@ StScrollBar StButton#vhandle:active { | ||||
|     padding: 8px 0px; | ||||
| } | ||||
|  | ||||
| .popup-alternating-menu-item:alternate { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| .popup-status-menu-item { | ||||
|     font-weight: normal; | ||||
|     color: #999; | ||||
| @@ -575,6 +582,11 @@ StScrollBar StButton#vhandle:active { | ||||
|     app-icon-bottom-clip: 2px; | ||||
| } | ||||
|  | ||||
| .app-menu-icon { | ||||
|     width: 24px; | ||||
|     height: 24px; | ||||
| } | ||||
|  | ||||
| .panel-button { | ||||
|     -natural-hpadding: 12px; | ||||
|     -minimum-hpadding: 6px; | ||||
| @@ -658,7 +670,7 @@ StScrollBar StButton#vhandle:active { | ||||
|     color: #e6e6e6; | ||||
|     border-radius: 32px; /* wish we could do 50% */ | ||||
|     padding: 13px; | ||||
|     border: 2px solid #5f5f5f; /* using rgba() is flaky unfortunately */ | ||||
|     border: 1px solid #5f5f5f; /* using rgba() is flaky unfortunately */ | ||||
| } | ||||
|  | ||||
| .system-menu-action:hover, | ||||
| @@ -666,7 +678,7 @@ StScrollBar StButton#vhandle:active { | ||||
|     color: white; | ||||
|     background-color: #4c4c4c; | ||||
|     border: none; | ||||
|     padding: 15px; | ||||
|     padding: 14px; | ||||
| } | ||||
|  | ||||
| .system-menu-action:active { | ||||
| @@ -967,8 +979,6 @@ StScrollBar StButton#vhandle:active { | ||||
|  | ||||
| .app-folder-icon { | ||||
|     padding: 5px; | ||||
|     spacing-rows: 5px; | ||||
|     spacing-columns: 5px; | ||||
| } | ||||
|  | ||||
| .dash-item-container > StButton { | ||||
| @@ -1145,6 +1155,11 @@ StScrollBar StButton#vhandle:active { | ||||
|     text-shadow: black 0px 2px 2px; | ||||
| } | ||||
|  | ||||
| #LookingGlassDialog .lg-inspector-title { | ||||
|     font-weight: bold; | ||||
|     padding-bottom: 8px; | ||||
| } | ||||
|  | ||||
| .lg-dialog StEntry { | ||||
|     selection-background-color: #bbbbbb; | ||||
|     selected-color: #333333; | ||||
| @@ -1224,6 +1239,10 @@ StScrollBar StButton#vhandle:active { | ||||
|     width: 0.3em; | ||||
| } | ||||
|  | ||||
| #calendarPopup .calendar { | ||||
|     padding: 10px; | ||||
| } | ||||
|  | ||||
| .calendar { | ||||
|     padding: .4em 1.75em .8em 1.75em; | ||||
|     spacing-rows: 0px; | ||||
| @@ -1752,6 +1771,26 @@ StScrollBar StButton#vhandle:active { | ||||
|     spacing: 8px; | ||||
| } | ||||
|  | ||||
| .thumbnail-scroll-gradient-left { | ||||
|     background-gradient-direction: horizontal; | ||||
|     background-gradient-start: rgba(51, 51, 51, 1.0); | ||||
|     background-gradient-end: rgba(51, 51, 51, 0); | ||||
|     border-radius: 24px; | ||||
|     border-radius-topright: 0px; | ||||
|     border-radius-bottomright: 0px; | ||||
|     width: 60px; | ||||
| } | ||||
|  | ||||
| .thumbnail-scroll-gradient-right { | ||||
|     background-gradient-direction: horizontal; | ||||
|     background-gradient-start: rgba(51, 51, 51, 0); | ||||
|     background-gradient-end: rgba(51, 51, 51, 1.0); | ||||
|     border-radius: 24px; | ||||
|     border-radius-topleft: 0px; | ||||
|     border-radius-bottomleft: 0px; | ||||
|     width: 60px; | ||||
| } | ||||
|  | ||||
| .switcher-list .item-box { | ||||
|     padding: 8px; | ||||
|     border-radius: 8px; | ||||
| @@ -2021,6 +2060,10 @@ StScrollBar StButton#vhandle:active { | ||||
|     icon-size: 48px; | ||||
| } | ||||
|  | ||||
| .mount-password-reask { | ||||
|     color: red; | ||||
| } | ||||
|  | ||||
| .show-processes-dialog, | ||||
| .mount-question-dialog { | ||||
|     spacing: 24px; | ||||
| @@ -2316,6 +2359,13 @@ StScrollBar StButton#vhandle:active { | ||||
|     padding-bottom: 1em; | ||||
| } | ||||
|  | ||||
| .login-dialog-title { | ||||
|     font-size: 14pt; | ||||
|     font-weight: bold; | ||||
|     color: #666666; | ||||
|     padding-bottom: 2em; | ||||
| } | ||||
|  | ||||
| .login-dialog { | ||||
|     /* Reset border and background */ | ||||
|     border: none; | ||||
| @@ -2364,6 +2414,10 @@ StScrollBar StButton#vhandle:active { | ||||
|     background-size: contain; | ||||
| } | ||||
|  | ||||
| .login-dialog-user-list-item-text-box { | ||||
|     padding: 0 0.5em; | ||||
| } | ||||
|  | ||||
| .login-dialog-user-list-item .login-dialog-timed-login-indicator { | ||||
|     background-color: rgba(0,0,0,0.0); | ||||
|     height: 2px; | ||||
|   | ||||
| @@ -17,15 +17,17 @@ packages. If you are interested in building GNOME Shell from source, | ||||
| we would recommend building from version control using the build | ||||
| script described at: | ||||
|  | ||||
|  https://wiki.gnome.org/Projects/GnomeShell | ||||
|  http://live.gnome.org/GnomeShell | ||||
|  | ||||
| Not only will that give you the very latest version of this rapidly | ||||
| changing project, it will be much easier than get GNOME Shell and | ||||
| its dependencies to build from tarballs.</description> | ||||
|   <homepage rdf:resource="https://wiki.gnome.org/Projects/GnomeShell" /> | ||||
|   <!-- | ||||
|   <homepage rdf:resource="http://live.gnome.org/GnomeShell" /> | ||||
|   --> | ||||
|   <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" /> | ||||
|   <download-page rdf:resource="http://download.gnome.org/sources/gnome-shell/" /> | ||||
|   <bug-database rdf:resource="https://bugzilla.gnome.org/browse.cgi?product=gnome-shell" /> | ||||
|   <bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=gnome-shell" /> | ||||
|  | ||||
|   <category rdf:resource="http://api.gnome.org/doap-extensions#desktop" /> | ||||
|  | ||||
|   | ||||
| @@ -24,24 +24,10 @@ const AuthPromptMode = { | ||||
|     UNLOCK_OR_LOG_IN: 1 | ||||
| }; | ||||
|  | ||||
| const AuthPromptStatus = { | ||||
|     NOT_VERIFYING: 0, | ||||
|     VERIFYING: 1, | ||||
|     VERIFICATION_FAILED: 2, | ||||
|     VERIFICATION_SUCCEEDED: 3 | ||||
| }; | ||||
|  | ||||
| const BeginRequestType = { | ||||
|     PROVIDE_USERNAME: 0, | ||||
|     DONT_PROVIDE_USERNAME: 1 | ||||
| }; | ||||
|  | ||||
| const AuthPrompt = new Lang.Class({ | ||||
|     Name: 'AuthPrompt', | ||||
|  | ||||
|     _init: function(gdmClient, mode) { | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|  | ||||
|         this._gdmClient = gdmClient; | ||||
|         this._mode = mode; | ||||
|  | ||||
| @@ -53,14 +39,11 @@ const AuthPrompt = new Lang.Class({ | ||||
|  | ||||
|         this._userVerifier = new GdmUtil.ShellUserVerifier(this._gdmClient, { reauthenticationOnly: reauthenticationOnly }); | ||||
|  | ||||
|         this._userVerifier.connect('needs-username', Lang.bind(this, this._onNeedsUserName)); | ||||
|         this._userVerifier.connect('ask-question', Lang.bind(this, this._onAskQuestion)); | ||||
|         this._userVerifier.connect('show-message', Lang.bind(this, this._onShowMessage)); | ||||
|         this._userVerifier.connect('verification-failed', Lang.bind(this, this._onVerificationFailed)); | ||||
|         this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete)); | ||||
|         this._userVerifier.connect('reset', Lang.bind(this, this._onReset)); | ||||
|         this._userVerifier.connect('smartcard-status-changed', Lang.bind(this, this._onSmartcardStatusChanged)); | ||||
|         this._userVerifier.connect('ovirt-user-authenticated', Lang.bind(this, this._onOVirtUserAuthenticated)); | ||||
|         this.smartcardDetected = this._userVerifier.smartcardDetected; | ||||
|  | ||||
|         this.connect('next', Lang.bind(this, function() { | ||||
|                          this.updateSensitivity(false); | ||||
| @@ -133,6 +116,10 @@ const AuthPrompt = new Lang.Class({ | ||||
|         this._defaultButtonWell.add_child(this._spinner.actor); | ||||
|     }, | ||||
|  | ||||
|     get verificationStatus() { | ||||
|         return this._userVerifier.verificationStatus; | ||||
|     }, | ||||
|  | ||||
|     _onDestroy: function() { | ||||
|         this._userVerifier.clear(); | ||||
|         this._userVerifier.disconnectAll(); | ||||
| @@ -193,6 +180,14 @@ const AuthPrompt = new Lang.Class({ | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
|     _onNeedsUserName: function() { | ||||
|         this.emit('needs-username'); | ||||
|     }, | ||||
|  | ||||
|     gotUserName: function(userName) { | ||||
|         this._userVerifier.gotUserName(userName); | ||||
|     }, | ||||
|  | ||||
|     _onAskQuestion: function(verifier, serviceName, question, passwordChar) { | ||||
|         if (this._preemptiveAnswer) { | ||||
|             if (this._queryingService) | ||||
| @@ -221,30 +216,6 @@ const AuthPrompt = new Lang.Class({ | ||||
|         this.emit('prompted'); | ||||
|     }, | ||||
|  | ||||
|     _onOVirtUserAuthenticated: function() { | ||||
|         if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) | ||||
|             this.reset(); | ||||
|     }, | ||||
|  | ||||
|     _onSmartcardStatusChanged: function() { | ||||
|         this.smartcardDetected = this._userVerifier.smartcardDetected; | ||||
|  | ||||
|         // Most of the time we want to reset if the user inserts or removes | ||||
|         // a smartcard. Smartcard insertion "preempts" what the user was | ||||
|         // doing, and smartcard removal aborts the preemption. | ||||
|         // The exceptions are: 1) Don't reset on smartcard insertion if we're already verifying | ||||
|         //                        with a smartcard | ||||
|         //                     2) Don't reset if we've already succeeded at verification and | ||||
|         //                        the user is getting logged in. | ||||
|         if (this._userVerifier.serviceIsDefault(GdmUtil.SMARTCARD_SERVICE_NAME) && | ||||
|             this.verificationStatus == AuthPromptStatus.VERIFYING && | ||||
|             this.smartcardDetected) | ||||
|             return; | ||||
|  | ||||
|         if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) | ||||
|             this.reset(); | ||||
|     }, | ||||
|  | ||||
|     _onShowMessage: function(userVerifier, message, type) { | ||||
|         this.setMessage(message, type); | ||||
|         this.emit('prompted'); | ||||
| @@ -256,15 +227,11 @@ const AuthPrompt = new Lang.Class({ | ||||
|  | ||||
|         this.updateSensitivity(true); | ||||
|         this.setActorInDefaultButtonWell(null); | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFICATION_FAILED; | ||||
|     }, | ||||
|  | ||||
|     _onVerificationComplete: function() { | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED; | ||||
|         this.emit('failed'); | ||||
|     }, | ||||
|  | ||||
|     _onReset: function() { | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|         this.reset(); | ||||
|     }, | ||||
|  | ||||
| @@ -428,38 +395,13 @@ const AuthPrompt = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     reset: function() { | ||||
|         let oldStatus = this.verificationStatus; | ||||
|         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; | ||||
|  | ||||
|         if (oldStatus == AuthPromptStatus.VERIFYING) | ||||
|             this._userVerifier.cancel(); | ||||
|  | ||||
|         this._queryingService = null; | ||||
|         this.clear(); | ||||
|         this._message.opacity = 0; | ||||
|         this.setUser(null); | ||||
|         this.stopSpinning(); | ||||
|  | ||||
|         if (oldStatus == AuthPromptStatus.VERIFICATION_FAILED) | ||||
|             this.emit('failed'); | ||||
|  | ||||
|         let beginRequestType; | ||||
|  | ||||
|         if (this._mode == AuthPromptMode.UNLOCK_ONLY) { | ||||
|             // The user is constant at the unlock screen, so it will immediately | ||||
|             // respond to the request with the username | ||||
|             beginRequestType = BeginRequestType.PROVIDE_USERNAME; | ||||
|         } else if (this._userVerifier.serviceIsForeground(GdmUtil.OVIRT_SERVICE_NAME) || | ||||
|                    this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) { | ||||
|             // We don't need to know the username if the user preempted the login screen | ||||
|             // with a smartcard or with preauthenticated oVirt credentials | ||||
|             beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME; | ||||
|         } else { | ||||
|             // In all other cases, we should get the username up front. | ||||
|             beginRequestType = BeginRequestType.PROVIDE_USERNAME; | ||||
|         } | ||||
|  | ||||
|         this.emit('reset', beginRequestType); | ||||
|         this.emit('reset'); | ||||
|     }, | ||||
|  | ||||
|     addCharacter: function(unichar) { | ||||
| @@ -470,18 +412,13 @@ const AuthPrompt = new Lang.Class({ | ||||
|         this._entry.clutter_text.insert_unichar(unichar); | ||||
|     }, | ||||
|  | ||||
|     begin: function(params) { | ||||
|         params = Params.parse(params, { userName: null, | ||||
|                                         hold: null }); | ||||
|  | ||||
|     begin: function() { | ||||
|         this.updateSensitivity(false); | ||||
|         this._userVerifier.begin(); | ||||
|     }, | ||||
|  | ||||
|         let hold = params.hold; | ||||
|         if (!hold) | ||||
|             hold = new Batch.Hold(); | ||||
|  | ||||
|         this._userVerifier.begin(params.userName, hold); | ||||
|         this.verificationStatus = AuthPromptStatus.VERIFYING; | ||||
|     needsUsername: function() { | ||||
|         this._userVerifier.begin(userName); | ||||
|     }, | ||||
|  | ||||
|     finish: function(onComplete) { | ||||
| @@ -499,7 +436,6 @@ const AuthPrompt = new Lang.Class({ | ||||
|  | ||||
|     cancel: function() { | ||||
|         this.reset(); | ||||
|         this.emit('cancelled'); | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(AuthPrompt.prototype); | ||||
|   | ||||
| @@ -36,7 +36,6 @@ const BoxPointer = imports.ui.boxpointer; | ||||
| const CtrlAltTab = imports.ui.ctrlAltTab; | ||||
| const GdmUtil = imports.gdm.util; | ||||
| const Layout = imports.ui.layout; | ||||
| const LoginManager = imports.misc.loginManager; | ||||
| const Main = imports.ui.main; | ||||
| const PopupMenu = imports.ui.popupMenu; | ||||
| const Realmd = imports.gdm.realmd; | ||||
| @@ -422,6 +421,7 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._authPrompt = new AuthPrompt.AuthPrompt(gdmClient, AuthPrompt.AuthPromptMode.UNLOCK_OR_LOG_IN); | ||||
|         this._authPrompt.connect('prompted', Lang.bind(this, this._onPrompted)); | ||||
|         this._authPrompt.connect('reset', Lang.bind(this, this._onReset)); | ||||
|         this._authPrompt.connect('needs-username', Lang.bind(this, this._onNeedsUserName)); | ||||
|         this._authPrompt.hide(); | ||||
|         this.actor.add_child(this._authPrompt.actor); | ||||
|  | ||||
| @@ -470,7 +470,7 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._sessionMenuButton.actor.show(); | ||||
|         this._authPrompt.addActorToDefaultButtonWell(this._sessionMenuButton.actor); | ||||
|  | ||||
|         this._disableUserList = undefined; | ||||
|         this._updateDisableUserList(); | ||||
|         this._userListLoaded = false; | ||||
|  | ||||
|         LoginManager.getLoginManager().getCurrentSessionProxy(Lang.bind(this, this._gotGreeterSessionProxy)); | ||||
| @@ -478,12 +478,11 @@ const LoginDialog = new Lang.Class({ | ||||
|         // If the user list is enabled, it should take key focus; make sure the | ||||
|         // screen shield is initialized first to prevent it from stealing the | ||||
|         // focus later | ||||
|         Main.layoutManager.connect('startup-complete', | ||||
|                                    Lang.bind(this, this._updateDisableUserList)); | ||||
|         Main.layoutManager.connect('startup-complete', Lang.bind(this, this._reset)); | ||||
|     }, | ||||
|  | ||||
|     _ensureUserListLoaded: function() { | ||||
|         if (!this._userManager.is_loaded) { | ||||
|         if (!this._userManager.is_loaded) | ||||
|             this._userManagerLoadedId = this._userManager.connect('notify::is-loaded', | ||||
|                                                                   Lang.bind(this, function() { | ||||
|                                                                       if (this._userManager.is_loaded) { | ||||
| @@ -492,21 +491,24 @@ const LoginDialog = new Lang.Class({ | ||||
|                                                                           this._userManagerLoadedId = 0; | ||||
|                                                                       } | ||||
|                                                                   })); | ||||
|         } else { | ||||
|             let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList)); | ||||
|             GLib.Source.set_name_by_id(id, '[gnome-shell] _loadUserList'); | ||||
|         } | ||||
|         else | ||||
|             GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList)); | ||||
|     }, | ||||
|  | ||||
|     _reset: function() { | ||||
|         this._authPrompt.reset(); | ||||
|         this._authPrompt.begin(); | ||||
|     }, | ||||
|  | ||||
|     _updateDisableUserList: function() { | ||||
|         let disableUserList = this._settings.get_boolean(GdmUtil.DISABLE_USER_LIST_KEY); | ||||
|         if (disableUserList == this._disableUserList) | ||||
|             return; | ||||
|  | ||||
|         if (disableUserList != this._disableUserList) { | ||||
|             this._disableUserList = disableUserList; | ||||
|         this._disableUserList = disableUserList; | ||||
|  | ||||
|             if (this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) | ||||
|                 this._authPrompt.reset(); | ||||
|         } | ||||
|         if (this._authPrompt.verificationStatus == GdmUtil.VerificationStatus.ASKING_FOR_USERNAME) | ||||
|             this._reset(); | ||||
|     }, | ||||
|  | ||||
|     _updateCancelButton: function() { | ||||
| @@ -514,7 +516,7 @@ const LoginDialog = new Lang.Class({ | ||||
|  | ||||
|         // Hide the cancel button if the user list is disabled and we're asking for | ||||
|         // a username | ||||
|         if (this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING && this._disableUserList) | ||||
|         if (this._authPrompt.verificationStatus == GdmUtil.VerificationStatus.ASKING_FOR_USERNAME && this._disableUserList) | ||||
|             cancelVisible = false; | ||||
|         else | ||||
|             cancelVisible = true; | ||||
| @@ -539,12 +541,9 @@ const LoginDialog = new Lang.Class({ | ||||
|             return; | ||||
|  | ||||
|         this._logoBin.destroy_all_children(); | ||||
|         if (this._logoFileUri) { | ||||
|             let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; | ||||
|         if (this._logoFileUri) | ||||
|             this._logoBin.add_child(this._textureCache.load_uri_async(this._logoFileUri, | ||||
|                                                                       -1, _LOGO_ICON_HEIGHT, | ||||
|                                                                       scaleFactor)); | ||||
|         } | ||||
|                                                                       -1, _LOGO_ICON_HEIGHT)); | ||||
|     }, | ||||
|  | ||||
|     _updateLogo: function() { | ||||
| @@ -562,19 +561,18 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._showPrompt(); | ||||
|     }, | ||||
|  | ||||
|     _onReset: function(authPrompt, beginRequest) { | ||||
|     _onReset: function() { | ||||
|         this._sessionMenuButton.updateSensitivity(true); | ||||
|  | ||||
|         this._user = null; | ||||
|  | ||||
|         if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) { | ||||
|             if (!this._disableUserList) | ||||
|                 this._showUserList(); | ||||
|             else | ||||
|                 this._hideUserListAskForUsernameAndBeginVerification(); | ||||
|         } else { | ||||
|             this._hideUserListAndBeginVerification(); | ||||
|         } | ||||
|         this._reset(); | ||||
|     }, | ||||
|  | ||||
|     _onNeedsUserName: function() { | ||||
|         if (!this._disableUserList) | ||||
|             this._showUserList(); | ||||
|         else | ||||
|             this._hideUserListAskForUsernameAndBeginVerification(); | ||||
|     }, | ||||
|  | ||||
|     _onDefaultSessionChanged: function(client, sessionId) { | ||||
| @@ -582,8 +580,8 @@ const LoginDialog = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _shouldShowSessionMenuButton: function() { | ||||
|         if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFYING && | ||||
|             this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_FAILED) | ||||
|         if (this._authPrompt.verificationStatus != GdmUtil.VerificationStatus.VERIFYING && | ||||
|             this._authPrompt.verificationStatus != GdmUtil.VerificationStatus.VERIFICATION_FAILED) | ||||
|           return false; | ||||
|  | ||||
|         if (this._user && this._user.is_loaded && this._user.is_logged_in()) | ||||
| @@ -633,7 +631,7 @@ const LoginDialog = new Lang.Class({ | ||||
|                                                         this._user = this._userManager.get_user(answer); | ||||
|                                                         this._authPrompt.clear(); | ||||
|                                                         this._authPrompt.startSpinning(); | ||||
|                                                         this._authPrompt.begin({ userName: answer }); | ||||
|                                                         this._authPrompt.gotUserName(answer); | ||||
|                                                         this._updateCancelButton(); | ||||
|  | ||||
|                                                         realmManager.disconnect(realmSignalId) | ||||
| @@ -643,33 +641,29 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._showPrompt(); | ||||
|     }, | ||||
|  | ||||
|     _loginScreenSessionActivated: function() { | ||||
|         if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED) | ||||
|             return; | ||||
|     _sessionActivated: function() { | ||||
|         // We fade out the shell after logging in, and then re-set | ||||
|         // the greeter wen we're VT switched to again. | ||||
|  | ||||
|         Tweener.addTween(this.actor, | ||||
|                          { opacity: 255, | ||||
|                            time: _FADE_ANIMATION_TIME, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onUpdate: function() { | ||||
|                                let children = Main.layoutManager.uiGroup.get_children(); | ||||
|         // XXX: re-trigger startup animation | ||||
|         if (this._authPrompt.verificationStatus == GdmUtil.VerificationStatus.VERIFICATION_SUCCEEDED) { | ||||
|             this._reset(); | ||||
|  | ||||
|                                for (let i = 0; i < children.length; i++) { | ||||
|                                    if (children[i] != Main.layoutManager.screenShieldGroup) | ||||
|                                        children[i].opacity = this.actor.opacity; | ||||
|                                } | ||||
|                            }, | ||||
|                            onUpdateScope: this, | ||||
|                            onComplete: function() { | ||||
|                                this._authPrompt.reset(); | ||||
|                            }, | ||||
|                            onCompleteScope: this }); | ||||
|             // XXX: do something better here | ||||
|             this.actor.opacity = 255; | ||||
|  | ||||
|             let children = Main.layoutManager.uiGroup.get_children(); | ||||
|             for (let i = 0; i < children.length; i++) { | ||||
|                 if (children[i] != Main.layoutManager.screenShieldGroup) | ||||
|                     children[i].opacity = 255; | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _gotGreeterSessionProxy: function(proxy) { | ||||
|         proxy.connect('g-properties-changed', Lang.bind(this, function() { | ||||
|             if (proxy.Active) | ||||
|                 this._loginScreenSessionActivated(); | ||||
|                 this._sessionActivated(); | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
| @@ -688,11 +682,10 @@ const LoginDialog = new Lang.Class({ | ||||
|                            }, | ||||
|                            onUpdateScope: this, | ||||
|                            onComplete: function() { | ||||
|                                let id = Mainloop.idle_add(Lang.bind(this, function() { | ||||
|                                Mainloop.idle_add(Lang.bind(this, function() { | ||||
|                                    this._greeter.call_start_session_when_ready_sync(serviceName, true, null); | ||||
|                                    return GLib.SOURCE_REMOVE; | ||||
|                                })); | ||||
|                                GLib.Source.set_name_by_id(id, '[gnome-shell] this._greeter.call_start_session_when_ready_sync'); | ||||
|                            }, | ||||
|                            onCompleteScope: this }); | ||||
|     }, | ||||
| @@ -748,7 +741,6 @@ const LoginDialog = new Lang.Class({ | ||||
|                                                                          hold.release(); | ||||
|                                                                          return GLib.SOURCE_REMOVE; | ||||
|                                                                      }); | ||||
|         GLib.Source.set_name_by_id(this._timedLoginIdleTimeOutId, '[gnome-shell] this._timedLoginAnimationTime'); | ||||
|         return hold; | ||||
|     }, | ||||
|  | ||||
| @@ -845,11 +837,6 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._askForUsernameAndBeginVerification(); | ||||
|     }, | ||||
|  | ||||
|     _hideUserListAndBeginVerification: function() { | ||||
|         this._hideUserList(); | ||||
|         this._authPrompt.begin(); | ||||
|     }, | ||||
|  | ||||
|     _showUserList: function() { | ||||
|         this._ensureUserListLoaded(); | ||||
|         this._authPrompt.hide(); | ||||
| @@ -863,11 +850,7 @@ const LoginDialog = new Lang.Class({ | ||||
|         this._authPrompt.setUser(item.user); | ||||
|  | ||||
|         let userName = item.user.get_user_name(); | ||||
|         let hold = new Batch.Hold(); | ||||
|  | ||||
|         this._authPrompt.begin({ userName: userName, | ||||
|                                  hold: hold }); | ||||
|         return hold; | ||||
|         this._authPrompt.gotUserName(userName); | ||||
|     }, | ||||
|  | ||||
|     _onUserListActivated: function(activatedItem) { | ||||
| @@ -882,9 +865,9 @@ const LoginDialog = new Lang.Class({ | ||||
|  | ||||
|         this._updateCancelButton(); | ||||
|  | ||||
|         let batch = new Batch.ConcurrentBatch(this, [new Batch.ConsecutiveBatch(this, tasks), | ||||
|                                                      this._beginVerificationForItem(activatedItem)]); | ||||
|         let batch = new Batch.ConsecutiveBatch(this, tasks); | ||||
|         batch.run(); | ||||
|         this._beginVerificationForItem(activatedItem); | ||||
|     }, | ||||
|  | ||||
|     _onDestroy: function() { | ||||
|   | ||||
							
								
								
									
										217
									
								
								js/gdm/util.js
									
									
									
									
									
								
							
							
						
						
									
										217
									
								
								js/gdm/util.js
									
									
									
									
									
								
							| @@ -119,6 +119,14 @@ function cloneAndFadeOutActor(actor) { | ||||
|     return hold; | ||||
| } | ||||
|  | ||||
| const VerificationStatus = { | ||||
|     NOT_VERIFYING: 0, | ||||
|     ASKING_FOR_USERNAME: 1, | ||||
|     VERIFYING: 2, | ||||
|     VERIFICATION_FAILED: 3, | ||||
|     VERIFICATION_SUCCEEDED: 4, | ||||
| }; | ||||
|  | ||||
| const ShellUserVerifier = new Lang.Class({ | ||||
|     Name: 'ShellUserVerifier', | ||||
|  | ||||
| @@ -131,7 +139,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         this._settings = new Gio.Settings({ schema: LOGIN_SCREEN_SCHEMA }); | ||||
|         this._settings.connect('changed', | ||||
|                                Lang.bind(this, this._updateDefaultService)); | ||||
|         this._updateDefaultService(); | ||||
|  | ||||
|         this._fprintManager = new Fprint.FprintManager(); | ||||
|         this._smartcardManager = SmartcardManager.getSmartcardManager(); | ||||
| @@ -152,45 +159,69 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         this.hasPendingMessages = false; | ||||
|         this.reauthenticating = false; | ||||
|  | ||||
|         this._failCounter = 0; | ||||
|  | ||||
|         this._oVirtCredentialsManager = OVirt.getOVirtCredentialsManager(); | ||||
|  | ||||
|         this._oVirtCredentialsManager.connect('user-authenticated', Lang.bind(this, this._oVirtUserAuthenticated)); | ||||
|         if (this._oVirtCredentialsManager.hasToken()) | ||||
|             this._oVirtUserAuthenticated(this._oVirtCredentialsManager.getToken()); | ||||
|  | ||||
|         this._oVirtCredentialsManager.connect('user-authenticated', | ||||
|                                               Lang.bind(this, this._oVirtUserAuthenticated)); | ||||
|         this._reset(); | ||||
|     }, | ||||
|  | ||||
|     begin: function(userName, hold) { | ||||
|         this._cancellable = new Gio.Cancellable(); | ||||
|         this._hold = hold; | ||||
|     _reset: function() { | ||||
|         // Clear previous attempts to authenticate | ||||
|         this.verificationStatus = VerificationStatus.NOT_VERIFYING; | ||||
|         this._userName = null; | ||||
|         this._failCounter = 0; | ||||
|         this._updateDefaultService(); | ||||
|         this.emit('reset'); | ||||
|     }, | ||||
|  | ||||
|     begin: function() { | ||||
|         if (this._mode == AuthPromptMode.UNLOCK_ONLY) { | ||||
|             // The user is constant at the unlock screen, so it will immediately | ||||
|             // respond to the request with the username | ||||
|             needsUsername = true; | ||||
|         } else if (this._serviceIsForeground(GdmUtil.OVIRT_SERVICE_NAME) || | ||||
|                    (this._smartcardDetected && | ||||
|                     this._serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME))) { | ||||
|             // We don't need to know the username if the user preempted the login screen | ||||
|             // with a smartcard or with preauthenticated oVirt credentials | ||||
|             needsUsername = false; | ||||
|         } else { | ||||
|             // In all other cases, we should get the username up front. | ||||
|             needsUsername = true; | ||||
|         } | ||||
|  | ||||
|         if (needsUsername) { | ||||
|             this.verificationStatus = VerificationStatus.ASKING_FOR_USERNAME; | ||||
|             this.emit('needs-username'); | ||||
|         } else { | ||||
|             this._beginAuthentication(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     gotUserName: function(userName) { | ||||
|         this._userName = userName; | ||||
|         this._beginAuthentication(); | ||||
|     }, | ||||
|  | ||||
|     _beginAuthentication: function() { | ||||
|         this.verificationStatus = VerificationStatus.VERIFYING; | ||||
|         this._cancellable = new Gio.Cancellable(); | ||||
|         this.reauthenticating = false; | ||||
|  | ||||
|         this._checkForFingerprintReader(); | ||||
|  | ||||
|         if (userName) { | ||||
|         if (this._userName) { | ||||
|             // If possible, reauthenticate an already running session, | ||||
|             // so any session specific credentials get updated appropriately | ||||
|             this._client.open_reauthentication_channel(userName, this._cancellable, | ||||
|             this._client.open_reauthentication_channel(this._userName, this._cancellable, | ||||
|                                                        Lang.bind(this, this._reauthenticationChannelOpened)); | ||||
|         } else { | ||||
|             this._client.get_user_verifier(this._cancellable, Lang.bind(this, this._userVerifierGot)); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     cancel: function() { | ||||
|         if (this._cancellable) | ||||
|             this._cancellable.cancel(); | ||||
|  | ||||
|         if (this._userVerifier) { | ||||
|             this._userVerifier.call_cancel_sync(null); | ||||
|             this.clear(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     clear: function() { | ||||
|         if (this._cancellable) { | ||||
|             this._cancellable.cancel(); | ||||
| @@ -198,6 +229,7 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         } | ||||
|  | ||||
|         if (this._userVerifier) { | ||||
|             this._userVerifier.call_cancel_sync(null); | ||||
|             this._userVerifier.run_dispose(); | ||||
|             this._userVerifier = null; | ||||
|         } | ||||
| @@ -205,24 +237,29 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         this._clearMessageQueue(); | ||||
|     }, | ||||
|  | ||||
|     answerQuery: function(serviceName, answer) { | ||||
|         if (!this.hasPendingMessages) { | ||||
|             this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|     _doAfterPendingMessages: function(func) { | ||||
|         if (this.hasPendingMessages) { | ||||
|             let signalId = this.connect('no-more-messages', Lang.bind(this, function() { | ||||
|                 this.disconnect(signalId); | ||||
|                 func(); | ||||
|             })); | ||||
|         } else { | ||||
|             let signalId = this.connect('no-more-messages', | ||||
|                                         Lang.bind(this, function() { | ||||
|                                             this.disconnect(signalId); | ||||
|                                             this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|                                         })); | ||||
|             func(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     answerQuery: function(serviceName, answer) { | ||||
|         this._doAfterPendingMessages(Lang.bind(this, function() { | ||||
|             this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
|     _getIntervalForMessage: function(message) { | ||||
|         // We probably could be smarter here | ||||
|         return message.length * USER_READ_TIME; | ||||
|     }, | ||||
|  | ||||
|     finishMessageQueue: function() { | ||||
|     _finishMessageQueue: function() { | ||||
|         if (!this.hasPendingMessages) | ||||
|             return; | ||||
|  | ||||
| @@ -234,7 +271,7 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|  | ||||
|     _queueMessageTimeout: function() { | ||||
|         if (this._messageQueue.length == 0) { | ||||
|             this.finishMessageQueue(); | ||||
|             this._finishMessageQueue(); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| @@ -252,7 +289,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|                                                            this._queueMessageTimeout(); | ||||
|                                                            return GLib.SOURCE_REMOVE; | ||||
|                                                        })); | ||||
|         GLib.Source.set_name_by_id(this._messageQueueTimeoutId, '[gnome-shell] this._queueMessageTimeout'); | ||||
|     }, | ||||
|  | ||||
|     _queueMessage: function(message, messageType) { | ||||
| @@ -264,7 +300,7 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _clearMessageQueue: function() { | ||||
|         this.finishMessageQueue(); | ||||
|         this._finishMessageQueue(); | ||||
|  | ||||
|         if (this._messageQueueTimeoutId != 0) { | ||||
|             GLib.source_remove(this._messageQueueTimeoutId); | ||||
| @@ -289,9 +325,9 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|             })); | ||||
|     }, | ||||
|  | ||||
|     _oVirtUserAuthenticated: function(token) { | ||||
|         this._preemptingService = OVIRT_SERVICE_NAME; | ||||
|         this.emit('ovirt-user-authenticated'); | ||||
|     _oVirtUserAuthenticated: function() { | ||||
|         if (this.verificationStatus != GdmUtil.VerificationStatus.VERIFICATION_SUCCEEDED) | ||||
|             this._reset(); | ||||
|     }, | ||||
|  | ||||
|     _checkForSmartcard: function() { | ||||
| @@ -299,26 +335,34 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|  | ||||
|         if (!this._settings.get_boolean(SMARTCARD_AUTHENTICATION_KEY)) | ||||
|             smartcardDetected = false; | ||||
|         else if (this._reauthOnly) | ||||
|         else if (this.reauthenticating) | ||||
|             smartcardDetected = this._smartcardManager.hasInsertedLoginToken(); | ||||
|         else | ||||
|             smartcardDetected = this._smartcardManager.hasInsertedTokens(); | ||||
|  | ||||
|         if (smartcardDetected != this.smartcardDetected) { | ||||
|             this.smartcardDetected = smartcardDetected; | ||||
|         if (this._smartcardDetected == smartcardDetected) | ||||
|             return; | ||||
|  | ||||
|             if (this.smartcardDetected) | ||||
|                 this._preemptingService = SMARTCARD_SERVICE_NAME; | ||||
|             else if (this._preemptingService == SMARTCARD_SERVICE_NAME) | ||||
|                 this._preemptingService = null; | ||||
|         this._smartcardDetected = smartcardDetected; | ||||
|  | ||||
|             this.emit('smartcard-status-changed'); | ||||
|         } | ||||
|         // Most of the time we want to reset if the user inserts or removes | ||||
|         // a smartcard. Smartcard insertion "preempts" what the user was | ||||
|         // doing, and smartcard removal aborts the preemption. | ||||
|         // The exceptions are: 1) Don't reset on smartcard insertion if we're already verifying | ||||
|         //                        with a smartcard | ||||
|         //                     2) Don't reset if we've already succeeded at verification and | ||||
|         //                        the user is getting logged in. | ||||
|         if (this._serviceIsDefault(SMARTCARD_SERVICE_NAME) && | ||||
|             this.verificationStatus == VerificationStatus.VERIFYING && | ||||
|             this._smartcardDetected) | ||||
|             return; | ||||
|  | ||||
|         if (this.verificationStatus != VerificationStatus.VERIFICATION_SUCCEEDED) | ||||
|             this._reset(); | ||||
|     }, | ||||
|  | ||||
|     _reportInitError: function(where, error) { | ||||
|         logError(error, where); | ||||
|         this._hold.release(); | ||||
|  | ||||
|         this._queueMessage(_("Authentication error"), MessageType.ERROR); | ||||
|         this._verificationFailed(false); | ||||
| @@ -344,7 +388,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         this.reauthenticating = true; | ||||
|         this._connectSignals(); | ||||
|         this._beginVerification(); | ||||
|         this._hold.release(); | ||||
|     }, | ||||
|  | ||||
|     _userVerifierGot: function(client, result) { | ||||
| @@ -359,7 +402,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|  | ||||
|         this._connectSignals(); | ||||
|         this._beginVerification(); | ||||
|         this._hold.release(); | ||||
|     }, | ||||
|  | ||||
|     _connectSignals: function() { | ||||
| @@ -373,31 +415,32 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _getForegroundService: function() { | ||||
|         if (this._preemptingService) | ||||
|             return this._preemptingService; | ||||
|         if (this._oVirtCredentialsManager.hasToken()) | ||||
|             return OVIRT_SERVICE_NAME; | ||||
|         if (this._smartcardDetected) | ||||
|             return SMARTCARD_SERVICE_NAME; | ||||
|  | ||||
|         return this._defaultService; | ||||
|     }, | ||||
|  | ||||
|     serviceIsForeground: function(serviceName) { | ||||
|     _serviceIsForeground: function(serviceName) { | ||||
|         return serviceName == this._getForegroundService(); | ||||
|     }, | ||||
|  | ||||
|     serviceIsDefault: function(serviceName) { | ||||
|     _serviceIsDefault: function(serviceName) { | ||||
|         return serviceName == this._defaultService; | ||||
|     }, | ||||
|  | ||||
|     _updateDefaultService: function() { | ||||
|         if (this._settings.get_boolean(PASSWORD_AUTHENTICATION_KEY)) | ||||
|             this._defaultService = PASSWORD_SERVICE_NAME; | ||||
|         else if (this.smartcardDetected) | ||||
|         else if (this._smartcardDetected) | ||||
|             this._defaultService = SMARTCARD_SERVICE_NAME; | ||||
|         else if (this._haveFingerprintReader) | ||||
|             this._defaultService = FINGERPRINT_SERVICE_NAME; | ||||
|     }, | ||||
|  | ||||
|     _startService: function(serviceName) { | ||||
|         this._hold.acquire(); | ||||
|         if (this._userName) { | ||||
|            this._userVerifier.call_begin_verification_for_user(serviceName, | ||||
|                                                                this._userName, | ||||
| @@ -411,8 +454,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|                    this._reportInitError('Failed to start verification for user', e); | ||||
|                    return; | ||||
|                } | ||||
|  | ||||
|                this._hold.release(); | ||||
|            })); | ||||
|         } else { | ||||
|            this._userVerifier.call_begin_verification(serviceName, | ||||
| @@ -426,8 +467,6 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|                    this._reportInitError('Failed to start verification', e); | ||||
|                    return; | ||||
|                } | ||||
|  | ||||
|                this._hold.release(); | ||||
|            })); | ||||
|         } | ||||
|     }, | ||||
| @@ -435,12 +474,12 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|     _beginVerification: function() { | ||||
|         this._startService(this._getForegroundService()); | ||||
|  | ||||
|         if (this._userName && this._haveFingerprintReader && !this.serviceIsForeground(FINGERPRINT_SERVICE_NAME)) | ||||
|         if (this._userName && this._haveFingerprintReader && !this._serviceIsForeground(FINGERPRINT_SERVICE_NAME)) | ||||
|             this._startService(FINGERPRINT_SERVICE_NAME); | ||||
|     }, | ||||
|  | ||||
|     _onInfo: function(client, serviceName, info) { | ||||
|         if (this.serviceIsForeground(serviceName)) { | ||||
|         if (this._serviceIsForeground(serviceName)) { | ||||
|             this._queueMessage(info, MessageType.INFO); | ||||
|         } else if (serviceName == FINGERPRINT_SERVICE_NAME && | ||||
|             this._haveFingerprintReader) { | ||||
| @@ -455,21 +494,21 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onProblem: function(client, serviceName, problem) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|         if (!this._serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
|         this._queueMessage(problem, MessageType.ERROR); | ||||
|     }, | ||||
|  | ||||
|     _onInfoQuery: function(client, serviceName, question) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|         if (!this._serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
|         this.emit('ask-question', serviceName, question, ''); | ||||
|     }, | ||||
|  | ||||
|     _onSecretInfoQuery: function(client, serviceName, secretQuestion) { | ||||
|         if (!this.serviceIsForeground(serviceName)) | ||||
|         if (!this._serviceIsForeground(serviceName)) | ||||
|             return; | ||||
|  | ||||
|         if (serviceName == OVIRT_SERVICE_NAME) { | ||||
| @@ -482,24 +521,11 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onReset: function() { | ||||
|         // Clear previous attempts to authenticate | ||||
|         this._failCounter = 0; | ||||
|         this._updateDefaultService(); | ||||
|  | ||||
|         this.emit('reset'); | ||||
|         this._reset(); | ||||
|     }, | ||||
|  | ||||
|     _onVerificationComplete: function() { | ||||
|         this.emit('verification-complete'); | ||||
|     }, | ||||
|  | ||||
|     _cancelAndReset: function() { | ||||
|         this.cancel(); | ||||
|         this._onReset(); | ||||
|     }, | ||||
|  | ||||
|     _retry: function() { | ||||
|         this.begin(this._userName, new Batch.Hold()); | ||||
|         this.verificationStatus = VerificationStatus.VERIFICATION_SUCCEEDED; | ||||
|     }, | ||||
|  | ||||
|     _verificationFailed: function(retry) { | ||||
| @@ -512,38 +538,23 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         let canRetry = retry && this._userName && | ||||
|             this._failCounter < this._settings.get_int(ALLOWED_FAILURES_KEY); | ||||
|  | ||||
|         if (canRetry) { | ||||
|             if (!this.hasPendingMessages) { | ||||
|                 this._retry(); | ||||
|             } else { | ||||
|                 let signalId = this.connect('no-more-messages', | ||||
|                                             Lang.bind(this, function() { | ||||
|                                                 this.disconnect(signalId); | ||||
|                                                 this._retry(); | ||||
|                                             })); | ||||
|             } | ||||
|         } else { | ||||
|             if (!this.hasPendingMessages) { | ||||
|                 this._cancelAndReset(); | ||||
|             } else { | ||||
|                 let signalId = this.connect('no-more-messages', | ||||
|                                             Lang.bind(this, function() { | ||||
|                                                 this.disconnect(signalId); | ||||
|                                                 this._cancelAndReset(); | ||||
|                                             })); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         this.verificationStatus = VerificationStatus.VERIFICATION_FAILED; | ||||
|         this.emit('verification-failed'); | ||||
|  | ||||
|         this._doAfterPendingMessages(Lang.bind(this, function() { | ||||
|             if (canRetry) | ||||
|                 this._beginAuthentication(); | ||||
|             else | ||||
|                 this.clear(); | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
|     _onConversationStopped: function(client, serviceName) { | ||||
|         // If the login failed with the preauthenticated oVirt credentials | ||||
|         // then discard the credentials and revert to default authentication | ||||
|         // mechanism. | ||||
|         if (this.serviceIsForeground(OVIRT_SERVICE_NAME)) { | ||||
|         if (this._serviceIsForeground(OVIRT_SERVICE_NAME)) { | ||||
|             this._oVirtCredentialsManager.resetToken(); | ||||
|             this._preemptingService = null; | ||||
|             this._verificationFailed(false); | ||||
|             return; | ||||
|         } | ||||
| @@ -551,7 +562,7 @@ const ShellUserVerifier = new Lang.Class({ | ||||
|         // if the password service fails, then cancel everything. | ||||
|         // But if, e.g., fingerprint fails, still give | ||||
|         // password authentication a chance to succeed | ||||
|         if (this.serviceIsForeground(serviceName)) { | ||||
|         if (this._serviceIsForeground(serviceName)) { | ||||
|             this._verificationFailed(true); | ||||
|         } | ||||
|     }, | ||||
|   | ||||
| @@ -39,13 +39,39 @@ const SystemdLoginSessionIface = '<node> \ | ||||
| <interface name="org.freedesktop.login1.Session"> \ | ||||
| <signal name="Lock" /> \ | ||||
| <signal name="Unlock" /> \ | ||||
| <property name="Active" type="b" access="read" /> \ | ||||
| <property name="Active" access="readonly" /> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface); | ||||
| const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface); | ||||
|  | ||||
| const ConsoleKitManagerIface = '<node> \ | ||||
| <interface name="org.freedesktop.ConsoleKit.Manager"> \ | ||||
| <method name="CanRestart"> \ | ||||
|     <arg type="b" direction="out"/> \ | ||||
| </method> \ | ||||
| <method name="CanStop"> \ | ||||
|     <arg type="b" direction="out"/> \ | ||||
| </method> \ | ||||
| <method name="Restart" /> \ | ||||
| <method name="Stop" /> \ | ||||
| <method name="GetCurrentSession"> \ | ||||
|     <arg type="o" direction="out" /> \ | ||||
| </method> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| const ConsoleKitSessionIface = '<node> \ | ||||
| <interface name="org.freedesktop.ConsoleKit.Session"> \ | ||||
| <signal name="Lock" /> \ | ||||
| <signal name="Unlock" /> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| const ConsoleKitSession = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface); | ||||
| const ConsoleKitManager = Gio.DBusProxy.makeProxyWrapper(ConsoleKitManagerIface); | ||||
|  | ||||
| function haveSystemd() { | ||||
|     return GLib.access("/run/systemd/seats", 0) >= 0; | ||||
| } | ||||
| @@ -75,7 +101,7 @@ function canLock() { | ||||
|                                                -1, null); | ||||
|  | ||||
|         let version = result.deep_unpack()[0].deep_unpack(); | ||||
|         return haveSystemd() && versionCompare('3.5.91', version); | ||||
|         return versionCompare('3.5.91', version); | ||||
|     } catch(e) { | ||||
|         return false; | ||||
|     } | ||||
| @@ -93,7 +119,7 @@ function getLoginManager() { | ||||
|         if (haveSystemd()) | ||||
|             _loginManager = new LoginManagerSystemd(); | ||||
|         else | ||||
|             _loginManager = new LoginManagerDummy(); | ||||
|             _loginManager = new LoginManagerConsoleKit(); | ||||
|     } | ||||
|  | ||||
|     return _loginManager; | ||||
| @@ -110,6 +136,9 @@ const LoginManagerSystemd = new Lang.Class({ | ||||
|                                   Lang.bind(this, this._prepareForSleep)); | ||||
|     }, | ||||
|  | ||||
|     // Having this function is a bit of a hack since the Systemd and ConsoleKit | ||||
|     // session objects have different interfaces - but in both cases there are | ||||
|     // Lock/Unlock signals, and that's all we count upon at the moment. | ||||
|     getCurrentSessionProxy: function(callback) { | ||||
|         if (this._currentSession) { | ||||
|             callback (this._currentSession); | ||||
| @@ -162,7 +191,7 @@ const LoginManagerSystemd = new Lang.Class({ | ||||
|                 let fd = -1; | ||||
|                 try { | ||||
|                     let [outVariant, fdList] = proxy.call_with_unix_fd_list_finish(result); | ||||
|                     fd = fdList.steal_fds()[0]; | ||||
|                     fd = fdList.steal_fds(outVariant.deep_unpack())[0]; | ||||
|                     callback(new Gio.UnixInputStream({ fd: fd })); | ||||
|                 } catch(e) { | ||||
|                     logError(e, "Error getting systemd inhibitor"); | ||||
| @@ -177,13 +206,35 @@ const LoginManagerSystemd = new Lang.Class({ | ||||
| }); | ||||
| Signals.addSignalMethods(LoginManagerSystemd.prototype); | ||||
|  | ||||
| const LoginManagerDummy = new Lang.Class({ | ||||
|     Name: 'LoginManagerDummy', | ||||
| const LoginManagerConsoleKit = new Lang.Class({ | ||||
|     Name: 'LoginManagerConsoleKit', | ||||
|  | ||||
|     _init: function() { | ||||
|         this._proxy = new ConsoleKitManager(Gio.DBus.system, | ||||
|                                             'org.freedesktop.ConsoleKit', | ||||
|                                             '/org/freedesktop/ConsoleKit/Manager'); | ||||
|     }, | ||||
|  | ||||
|     // Having this function is a bit of a hack since the Systemd and ConsoleKit | ||||
|     // session objects have different interfaces - but in both cases there are | ||||
|     // Lock/Unlock signals, and that's all we count upon at the moment. | ||||
|     getCurrentSessionProxy: function(callback) { | ||||
|         // we could return a DummySession object that fakes whatever callers | ||||
|         // expect (at the time of writing: connect() and connectSignal() | ||||
|         // methods), but just never calling the callback should be safer | ||||
|         if (this._currentSession) { | ||||
|             callback (this._currentSession); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         this._proxy.GetCurrentSessionRemote(Lang.bind(this, | ||||
|             function(result, error) { | ||||
|                 if (error) { | ||||
|                     logError(error, 'Could not get a proxy for the current session'); | ||||
|                 } else { | ||||
|                     this._currentSession = new ConsoleKitSession(Gio.DBus.system, | ||||
|                                                                  'org.freedesktop.ConsoleKit', | ||||
|                                                                  result[0]); | ||||
|                     callback(this._currentSession); | ||||
|                 } | ||||
|             })); | ||||
|     }, | ||||
|  | ||||
|     canSuspend: function(asyncCallback) { | ||||
| @@ -203,4 +254,4 @@ const LoginManagerDummy = new Lang.Class({ | ||||
|         callback(null); | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(LoginManagerDummy.prototype); | ||||
| Signals.addSignalMethods(LoginManagerConsoleKit.prototype); | ||||
|   | ||||
| @@ -129,7 +129,7 @@ function trySpawn(argv) | ||||
|     // Dummy child watch; we don't want to double-fork internally | ||||
|     // because then we lose the parent-child relationship, which | ||||
|     // can break polkit.  See https://bugzilla.redhat.com//show_bug.cgi?id=819275 | ||||
|     GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () {}); | ||||
|     GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () {}, null); | ||||
| } | ||||
|  | ||||
| // trySpawnCommandLine: | ||||
|   | ||||
| @@ -305,7 +305,6 @@ const AppSwitcherPopup = new Lang.Class({ | ||||
|             this._thumbnailTimeoutId = Mainloop.timeout_add ( | ||||
|                 THUMBNAIL_POPUP_TIME, | ||||
|                 Lang.bind(this, this._timeoutPopupThumbnails)); | ||||
|             GLib.Source.set_name_by_id(this._thumbnailTimeoutId, '[gnome-shell] this._timeoutPopupThumbnails'); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -557,7 +556,6 @@ const AppSwitcher = new Lang.Class({ | ||||
|                                                                             this._mouseTimeOutId = 0; | ||||
|                                                                             return GLib.SOURCE_REMOVE; | ||||
|                                                         })); | ||||
|             GLib.Source.set_name_by_id(this._mouseTimeOutId, '[gnome-shell] this._enterItem'); | ||||
|         } else | ||||
|            this._itemEntered(index); | ||||
|     }, | ||||
|   | ||||
| @@ -21,9 +21,7 @@ const Animation = new Lang.Class({ | ||||
|         this._isPlaying = false; | ||||
|         this._timeoutId = 0; | ||||
|         this._frame = 0; | ||||
|  | ||||
|         let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; | ||||
|         this._animations = St.TextureCache.get_default().load_sliced_image (filename, width, height, scaleFactor, | ||||
|         this._animations = St.TextureCache.get_default().load_sliced_image (filename, width, height, | ||||
|                                                                             Lang.bind(this, this._animationsLoaded)); | ||||
|         this.actor.set_child(this._animations); | ||||
|     }, | ||||
| @@ -34,7 +32,6 @@ const Animation = new Lang.Class({ | ||||
|                 this._showFrame(0); | ||||
|  | ||||
|             this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update)); | ||||
|             GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._update'); | ||||
|         } | ||||
|  | ||||
|         this._isPlaying = true; | ||||
|   | ||||
| @@ -41,7 +41,9 @@ const MIN_FREQUENT_APPS_COUNT = 3; | ||||
| const INDICATORS_BASE_TIME = 0.25; | ||||
| const INDICATORS_ANIMATION_DELAY = 0.125; | ||||
| const INDICATORS_ANIMATION_MAX_TIME = 0.75; | ||||
|  | ||||
| // Fraction of page height the finger or mouse must reach | ||||
| // to change page | ||||
| const PAGE_SWITCH_TRESHOLD = 0.2; | ||||
| const PAGE_SWITCH_TIME = 0.3; | ||||
|  | ||||
| const VIEWS_SWITCH_TIME = 0.4; | ||||
| @@ -79,10 +81,6 @@ function _getFolderName(folder) { | ||||
|     return name; | ||||
| } | ||||
|  | ||||
| function clamp(value, min, max) { | ||||
|     return Math.max(min, Math.min(max, value)); | ||||
| } | ||||
|  | ||||
| const BaseAppView = new Lang.Class({ | ||||
|     Name: 'BaseAppView', | ||||
|     Abstract: true, | ||||
| @@ -101,9 +99,6 @@ const BaseAppView = new Lang.Class({ | ||||
|         else | ||||
|             this._grid = new IconGrid.IconGrid(gridParams); | ||||
|  | ||||
|         this._grid.connect('key-focus-in', Lang.bind(this, function(grid, actor) { | ||||
|             this._keyFocusIn(actor); | ||||
|         })); | ||||
|         // Standard hack for ClutterBinLayout | ||||
|         this._grid.actor.x_expand = true; | ||||
|  | ||||
| @@ -111,10 +106,6 @@ const BaseAppView = new Lang.Class({ | ||||
|         this._allItems = []; | ||||
|     }, | ||||
|  | ||||
|     _keyFocusIn: function(actor) { | ||||
|         // Nothing by default | ||||
|     }, | ||||
|  | ||||
|     removeAll: function() { | ||||
|         this._grid.destroyAll(); | ||||
|         this._items = {}; | ||||
| @@ -441,8 +432,8 @@ const AllView = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     goToPage: function(pageNumber) { | ||||
|         pageNumber = clamp(pageNumber, 0, this._grid.nPages() - 1); | ||||
|  | ||||
|         if(pageNumber < 0 || pageNumber > this._grid.nPages() - 1) | ||||
|             return; | ||||
|         if (this._currentPage == pageNumber && this._displayingPopup && this._currentPopup) | ||||
|             return; | ||||
|         if (this._displayingPopup && this._currentPopup) | ||||
| @@ -474,12 +465,14 @@ const AllView = new Lang.Class({ | ||||
|         // longer than PAGE_SWITCH_TIME | ||||
|         time = Math.min(time, PAGE_SWITCH_TIME); | ||||
|  | ||||
|         this._currentPage = pageNumber; | ||||
|         Tweener.addTween(this._adjustment, | ||||
|                          { value: this._grid.getPageY(this._currentPage), | ||||
|                            time: time, | ||||
|                            transition: 'easeOutQuad' }); | ||||
|         this._pageIndicators.setCurrentPage(pageNumber); | ||||
|         if (pageNumber < this._grid.nPages() && pageNumber >= 0) { | ||||
|             this._currentPage = pageNumber; | ||||
|             Tweener.addTween(this._adjustment, | ||||
|                              { value: this._grid.getPageY(this._currentPage), | ||||
|                                time: time, | ||||
|                                transition: 'easeOutQuad' }); | ||||
|             this._pageIndicators.setCurrentPage(pageNumber); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _diffToPage: function (pageNumber) { | ||||
| @@ -526,19 +519,15 @@ const AllView = new Lang.Class({ | ||||
|     _onPanEnd: function(action) { | ||||
|          if (this._displayingPopup) | ||||
|             return; | ||||
|  | ||||
|         let pageHeight = this._grid.getPageHeight(); | ||||
|  | ||||
|         // Calculate the scroll value we'd be at, which is our current | ||||
|         // scroll plus any velocity the user had when they released | ||||
|         // their finger. | ||||
|  | ||||
|         let velocity = -action.get_velocity(0)[2]; | ||||
|         let endPanValue = this._adjustment.value + velocity; | ||||
|  | ||||
|         let closestPage = Math.round(endPanValue / pageHeight); | ||||
|         this.goToPage(closestPage); | ||||
|  | ||||
|         let diffCurrentPage = this._diffToPage(this._currentPage); | ||||
|         if (diffCurrentPage > this._scrollView.height * PAGE_SWITCH_TRESHOLD) { | ||||
|             if (action.get_velocity(0)[2] > 0) | ||||
|                 this.goToPage(this._currentPage - 1); | ||||
|             else | ||||
|                 this.goToPage(this._currentPage + 1); | ||||
|         } else { | ||||
|             this.goToPage(this._currentPage); | ||||
|         } | ||||
|         this._panning = false; | ||||
|     }, | ||||
|  | ||||
| @@ -569,7 +558,7 @@ const AllView = new Lang.Class({ | ||||
|             })); | ||||
|     }, | ||||
|  | ||||
|     _keyFocusIn: function(icon) { | ||||
|     _ensureIconVisible: function(icon) { | ||||
|         let itemPage = this._grid.getItemPage(icon); | ||||
|         this.goToPage(itemPage); | ||||
|     }, | ||||
| @@ -768,7 +757,7 @@ const AppDisplay = new Lang.Class({ | ||||
|         this._viewStack = new St.Widget({ x_expand: true, y_expand: true, | ||||
|                                           layout_manager: this._viewStackLayout }); | ||||
|         this._viewStackLayout.connect('allocated-size-changed', Lang.bind(this, this._onAllocatedSizeChanged)); | ||||
|         this.actor.add_actor(this._viewStack); | ||||
|         this.actor.add_actor(this._viewStack, { expand: true }); | ||||
|         let layout = new ControlsBoxLayout({ homogeneous: true }); | ||||
|         this._controls = new St.Widget({ style_class: 'app-view-controls', | ||||
|                                          layout_manager: layout }); | ||||
| @@ -940,26 +929,19 @@ const FolderView = new Lang.Class({ | ||||
|         this.actor.add_action(action); | ||||
|     }, | ||||
|  | ||||
|     _keyFocusIn: function(actor) { | ||||
|         Util.ensureActorVisibleInScrollView(this.actor, actor); | ||||
|     }, | ||||
|  | ||||
|     createFolderIcon: function(size) { | ||||
|         let layout = new Clutter.TableLayout(); | ||||
|         let icon = new St.Widget({ layout_manager: layout, | ||||
|                                    style_class: 'app-folder-icon' }); | ||||
|         layout.hookup_style(icon); | ||||
|         let subSize = Math.floor(FOLDER_SUBICON_FRACTION * size); | ||||
|  | ||||
|         let numItems = this._allItems.length; | ||||
|         for (let i = 0; i < 4; i++) { | ||||
|             let bin; | ||||
|             if (i < numItems) { | ||||
|                 let texture = this._allItems[i].app.create_icon_texture(subSize); | ||||
|                 bin = new St.Bin({ child: texture }); | ||||
|             } else { | ||||
|                 bin = new St.Bin({ width: subSize, height: subSize }); | ||||
|             } | ||||
|         let aligns = [ Clutter.ActorAlign.START, Clutter.ActorAlign.END ]; | ||||
|         for (let i = 0; i < Math.min(this._allItems.length, 4); i++) { | ||||
|             let texture = this._allItems[i].app.create_icon_texture(subSize); | ||||
|             let bin = new St.Bin({ child: texture, | ||||
|                                    x_expand: true, y_expand: true }); | ||||
|             bin.set_x_align(aligns[i % 2]); | ||||
|             bin.set_y_align(aligns[Math.floor(i / 2)]); | ||||
|             layout.pack(bin, i % 2, Math.floor(i / 2)); | ||||
|         } | ||||
|  | ||||
| @@ -1406,7 +1388,6 @@ const AppIcon = new Lang.Class({ | ||||
|                     this.popupMenu(); | ||||
|                     return GLib.SOURCE_REMOVE; | ||||
|                 })); | ||||
|             GLib.Source.set_name_by_id(this._menuTimeoutId, '[gnome-shell] this.popupMenu'); | ||||
|         } else if (button == 3) { | ||||
|             this.popupMenu(); | ||||
|             return Clutter.EVENT_STOP; | ||||
| @@ -1602,26 +1583,6 @@ const AppIconMenu = new Lang.Class({ | ||||
|                     favs.addFavorite(this._source.app.get_id()); | ||||
|                 })); | ||||
|             } | ||||
|  | ||||
|             if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop')) { | ||||
|                 this._appendSeparator(); | ||||
|                 let item = this._appendMenuItem(_("Show Details")); | ||||
|                 item.connect('activate', Lang.bind(this, function() { | ||||
|                     let id = this._source.app.get_id(); | ||||
|                     let args = GLib.Variant.new('(ss)', [id, '']); | ||||
|                     Gio.DBus.get(Gio.BusType.SESSION, null, | ||||
|                         function(o, res) { | ||||
|                             let bus = Gio.DBus.get_finish(res); | ||||
|                             bus.call('org.gnome.Software', | ||||
|                                      '/org/gnome/Software', | ||||
|                                      'org.gtk.Actions', 'Activate', | ||||
|                                      GLib.Variant.new('(sava{sv})', | ||||
|                                                       ['details', [args], null]), | ||||
|                                      null, 0, -1, null, null); | ||||
|                             Main.overview.hide(); | ||||
|                         }); | ||||
|                 })); | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -132,25 +132,6 @@ const BackgroundCache = new Lang.Class({ | ||||
|         this._removeContent(this._images, content); | ||||
|     }, | ||||
|  | ||||
|     _attachCallerToFileLoad: function(caller, fileLoad) { | ||||
|         fileLoad.callers.push(caller); | ||||
|  | ||||
|         if (!caller.cancellable) | ||||
|             return; | ||||
|  | ||||
|         caller.cancellable.connect(Lang.bind(this, function() { | ||||
|             let idx = fileLoad.callers.indexOf(caller); | ||||
|             fileLoad.callers.splice(idx, 1); | ||||
|  | ||||
|             if (fileLoad.callers.length == 0) { | ||||
|                 fileLoad.cancellable.cancel(); | ||||
|  | ||||
|                 let idx = this._pendingFileLoads.indexOf(fileLoad); | ||||
|                 this._pendingFileLoads.splice(idx, 1); | ||||
|             } | ||||
|         })); | ||||
|     }, | ||||
|  | ||||
|     _loadImageContent: function(params) { | ||||
|         params = Params.parse(params, { monitorIndex: 0, | ||||
|                                         style: null, | ||||
| @@ -159,28 +140,27 @@ const BackgroundCache = new Lang.Class({ | ||||
|                                         cancellable: null, | ||||
|                                         onFinished: null }); | ||||
|  | ||||
|         let caller = { monitorIndex: params.monitorIndex, | ||||
|                        effects: params.effects, | ||||
|                        cancellable: params.cancellable, | ||||
|                        onFinished: params.onFinished }; | ||||
|  | ||||
|         for (let i = 0; i < this._pendingFileLoads.length; i++) { | ||||
|             let fileLoad = this._pendingFileLoads[i]; | ||||
|  | ||||
|             if (fileLoad.filename == params.filename && | ||||
|                 fileLoad.style == params.style) { | ||||
|                 this._attachCallerToFileLoad(caller, fileLoad); | ||||
|             if (this._pendingFileLoads[i].filename == params.filename && | ||||
|                 this._pendingFileLoads[i].style == params.style) { | ||||
|                 this._pendingFileLoads[i].callers.push({ shouldCopy: true, | ||||
|                                                          monitorIndex: params.monitorIndex, | ||||
|                                                          effects: params.effects, | ||||
|                                                          onFinished: params.onFinished }); | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         let fileLoad = { filename: params.filename, | ||||
|                          style: params.style, | ||||
|                          cancellable: new Gio.Cancellable(), | ||||
|                          callers: [] }; | ||||
|         this._attachCallerToFileLoad(caller, fileLoad); | ||||
|         this._pendingFileLoads.push({ filename: params.filename, | ||||
|                                       style: params.style, | ||||
|                                       callers: [{ shouldCopy: false, | ||||
|                                                   monitorIndex: params.monitorIndex, | ||||
|                                                   effects: params.effects, | ||||
|                                                   onFinished: params.onFinished }] }); | ||||
|  | ||||
|         let content = new Meta.Background({ meta_screen: global.screen }); | ||||
|         let content = new Meta.Background({ meta_screen: global.screen, | ||||
|                                             monitor: params.monitorIndex, | ||||
|                                             effects: params.effects }); | ||||
|  | ||||
|         content.load_file_async(params.filename, | ||||
|                                 params.style, | ||||
| @@ -191,26 +171,35 @@ const BackgroundCache = new Lang.Class({ | ||||
|                                                   content.load_file_finish(result); | ||||
|  | ||||
|                                                   this._monitorFile(params.filename); | ||||
|                                                   this._images.push(content); | ||||
|                                               } catch(e) { | ||||
|                                                   content = null; | ||||
|                                               } | ||||
|  | ||||
|                                               for (let i = 0; i < fileLoad.callers.length; i++) { | ||||
|                                                   let caller = fileLoad.callers[i]; | ||||
|                                                   if (caller.onFinished) { | ||||
|                                                       let newContent; | ||||
|                                               for (let i = 0; i < this._pendingFileLoads.length; i++) { | ||||
|                                                   let pendingLoad = this._pendingFileLoads[i]; | ||||
|                                                   if (pendingLoad.filename != params.filename || | ||||
|                                                       pendingLoad.style != params.style) | ||||
|                                                       continue; | ||||
|  | ||||
|                                                       if (content) { | ||||
|                                                           newContent = content.copy(caller.monitorIndex, caller.effects); | ||||
|                                                           this._images.push(newContent); | ||||
|                                                   for (let j = 0; j < pendingLoad.callers.length; j++) { | ||||
|                                                       if (pendingLoad.callers[j].onFinished) { | ||||
|                                                           let newContent; | ||||
|  | ||||
|                                                           if (content && pendingLoad.callers[j].shouldCopy) { | ||||
|                                                               newContent = content.copy(pendingLoad.callers[j].monitorIndex, | ||||
|                                                                                         pendingLoad.callers[j].effects); | ||||
|                                                               this._images.push(newContent); | ||||
|                                                           } else { | ||||
|                                                               newContent = content; | ||||
|                                                           } | ||||
|  | ||||
|                                                           pendingLoad.callers[j].onFinished(newContent); | ||||
|                                                       } | ||||
|  | ||||
|                                                       caller.onFinished(newContent); | ||||
|                                                   } | ||||
|                                               } | ||||
|  | ||||
|                                               let idx = this._pendingFileLoads.indexOf(fileLoad); | ||||
|                                               this._pendingFileLoads.splice(idx, 1); | ||||
|                                                   this._pendingFileLoads.splice(i, 1); | ||||
|                                               } | ||||
|                                           })); | ||||
|     }, | ||||
|  | ||||
| @@ -271,11 +260,10 @@ const BackgroundCache = new Lang.Class({ | ||||
|  | ||||
|         if (this._animationFilename == params.filename) { | ||||
|             if (params.onLoaded) { | ||||
|                 let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                 GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                     params.onLoaded(this._animation); | ||||
|                     return GLib.SOURCE_REMOVE; | ||||
|                 })); | ||||
|                 GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -287,11 +275,10 @@ const BackgroundCache = new Lang.Class({ | ||||
|                            this._animation = animation; | ||||
|  | ||||
|                            if (params.onLoaded) { | ||||
|                                let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                                GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|                                    params.onLoaded(this._animation); | ||||
|                                    return GLib.SOURCE_REMOVE; | ||||
|                                })); | ||||
|                                GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded'); | ||||
|                            } | ||||
|                        })); | ||||
|     } | ||||
| @@ -388,11 +375,10 @@ const Background = new Lang.Class({ | ||||
|  | ||||
|         this.isLoaded = true; | ||||
|  | ||||
|         let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|         GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { | ||||
|             this.emit('loaded'); | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         })); | ||||
|         GLib.Source.set_name_by_id(id, '[gnome-shell] this.emit'); | ||||
|     }, | ||||
|  | ||||
|     _loadPattern: function() { | ||||
| @@ -535,7 +521,6 @@ const Background = new Lang.Class({ | ||||
|                                                                     this._updateAnimation(); | ||||
|                                                                     return GLib.SOURCE_REMOVE; | ||||
|                                                                 })); | ||||
|         GLib.Source.set_name_by_id(this._updateAnimationTimeoutId, '[gnome-shell] this._updateAnimation'); | ||||
|     }, | ||||
|  | ||||
|     _loadAnimation: function(filename) { | ||||
| @@ -758,18 +743,17 @@ const BackgroundManager = new Lang.Class({ | ||||
|             Lang.bind(this, function() { | ||||
|                 newBackground.disconnect(newBackground.loadedSignalId); | ||||
|                 newBackground.loadedSignalId = 0; | ||||
|  | ||||
|                 if (this._newBackground != newBackground) { | ||||
|                     /* Not interesting, we queued another load */ | ||||
|                     newBackground.actor.destroy(); | ||||
|                     return; | ||||
|                 } | ||||
|  | ||||
|                 Tweener.addTween(this.background.actor, | ||||
|                                  { opacity: 0, | ||||
|                                    time: FADE_ANIMATION_TIME, | ||||
|                                    transition: 'easeOutQuad', | ||||
|                                    onComplete: Lang.bind(this, function() { | ||||
|                                        if (this._newBackground != newBackground) { | ||||
|                                            /* Not interesting, we queued another load */ | ||||
|                                            newBackground.actor.destroy(); | ||||
|                                            return; | ||||
|                                        } | ||||
|  | ||||
|                                        this.background.actor.destroy(); | ||||
|                                        this.background = newBackground; | ||||
|                                        this._newBackground = null; | ||||
|   | ||||
| @@ -35,7 +35,7 @@ function addBackgroundMenu(actor, layoutManager) { | ||||
|  | ||||
|     function openMenu() { | ||||
|         let [x, y] = global.get_pointer(); | ||||
|         Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0); | ||||
|         Main.layoutManager.setDummyCursorPosition(x, y); | ||||
|         actor._backgroundMenu.open(BoxPointer.PopupAnimation.NONE); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -14,9 +14,6 @@ const Shell = imports.gi.Shell; | ||||
| const MSECS_IN_DAY = 24 * 60 * 60 * 1000; | ||||
| const SHOW_WEEKDATE_KEY = 'show-weekdate'; | ||||
|  | ||||
| // alias to prevent xgettext from picking up strings translated in GTK+ | ||||
| const gtk30_ = Gettext_gtk30.gettext; | ||||
|  | ||||
| // in org.gnome.desktop.interface | ||||
| const CLOCK_FORMAT_KEY        = 'clock-format'; | ||||
|  | ||||
| @@ -390,7 +387,7 @@ const Calendar = new Lang.Class({ | ||||
|  | ||||
|         // Find the ordering for month/year in the calendar heading | ||||
|         this._headerFormatWithoutYear = '%B'; | ||||
|         switch (gtk30_('calendar:MY')) { | ||||
|         switch (Gettext_gtk30.gettext('calendar:MY')) { | ||||
|         case 'calendar:MY': | ||||
|             this._headerFormat = '%B %Y'; | ||||
|             break; | ||||
| @@ -423,10 +420,8 @@ const Calendar = new Lang.Class({ | ||||
|     setEventSource: function(eventSource) { | ||||
|         this._eventSource = eventSource; | ||||
|         this._eventSource.connect('changed', Lang.bind(this, function() { | ||||
|             this._rebuildCalendar(); | ||||
|             this._update(); | ||||
|         })); | ||||
|         this._rebuildCalendar(); | ||||
|         this._update(); | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -43,7 +43,6 @@ const AutomountManager = new Lang.Class({ | ||||
|         this._driveEjectButtonId = this._volumeMonitor.connect('drive-eject-button', Lang.bind(this, this._onDriveEjectButton)); | ||||
|  | ||||
|         this._mountAllId = Mainloop.idle_add(Lang.bind(this, this._startupMountAll)); | ||||
|         GLib.Source.set_name_by_id(this._mountAllId, '[gnome-shell] this._startupMountAll'); | ||||
|     }, | ||||
|  | ||||
|     disable: function() { | ||||
| @@ -235,11 +234,10 @@ const AutomountManager = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _allowAutorunExpire: function(volume) { | ||||
|         let id = Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, function() { | ||||
|         Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, function() { | ||||
|             volume.allowAutorun = false; | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         }); | ||||
|         GLib.Source.set_name_by_id(id, '[gnome-shell] volume.allowAutorun'); | ||||
|     } | ||||
| }); | ||||
| const Component = AutomountManager; | ||||
|   | ||||
| @@ -510,12 +510,10 @@ const VPNRequestHandler = new Lang.Class({ | ||||
|  | ||||
|     _showNewStyleDialog: function() { | ||||
|         let keyfile = new GLib.KeyFile(); | ||||
|         let data; | ||||
|         let contentOverride; | ||||
|  | ||||
|         try { | ||||
|             data = this._dataStdout.peek_buffer(); | ||||
|  | ||||
|             let data = this._dataStdout.peek_buffer(); | ||||
|             keyfile.load_from_data(data.toString(), data.length, | ||||
|                                    GLib.KeyFileFlags.NONE); | ||||
|  | ||||
| @@ -548,16 +546,13 @@ const VPNRequestHandler = new Lang.Class({ | ||||
|                 } | ||||
|             } | ||||
|         } catch(e) { | ||||
|             // No output is a valid case it means "both secrets are stored" | ||||
|             if (data.length > 0) { | ||||
|                 logError(e, 'error while reading VPN plugin output keyfile'); | ||||
|             logError(e, 'error while reading VPN plugin output keyfile'); | ||||
|  | ||||
|                 this._agent.respond(this._requestId, Shell.NetworkAgentResponse.INTERNAL_ERROR); | ||||
|                 return; | ||||
|             } | ||||
|             this._agent.respond(this._requestId, Shell.NetworkAgentResponse.INTERNAL_ERROR); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (contentOverride && contentOverride.secrets.length) { | ||||
|         if (contentOverride.secrets.length) { | ||||
|             // Only show the dialog if we actually have something to ask | ||||
|             this._shellDialog = new NetworkSecretDialog(this._agent, this._requestId, this._connection, 'vpn', [], contentOverride); | ||||
|             this._shellDialog.open(global.get_current_time()); | ||||
|   | ||||
| @@ -681,7 +681,6 @@ const ChatSource = new Lang.Class({ | ||||
|             Mainloop.source_remove(this._notifyTimeoutId); | ||||
|         this._notifyTimeoutId = Mainloop.timeout_add(500, | ||||
|             Lang.bind(this, this._notifyTimeout)); | ||||
|         GLib.Source.set_name_by_id(this._notifyTimeoutId, '[gnome-shell] this._notifyTimeout'); | ||||
|     }, | ||||
|  | ||||
|     _notifyTimeout: function() { | ||||
| @@ -925,16 +924,14 @@ const ChatNotification = new Lang.Class({ | ||||
|                                 realMessage: group != 'meta' }); | ||||
|  | ||||
|         if (!props.noTimestamp) { | ||||
|             if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) { | ||||
|             if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) | ||||
|                 this.appendTimestamp(); | ||||
|             } else { | ||||
|             else | ||||
|                 // Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME | ||||
|                 // from the timestamp of the message. | ||||
|                 this._timestampTimeoutId = Mainloop.timeout_add_seconds( | ||||
|                     SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp), | ||||
|                     Lang.bind(this, this.appendTimestamp)); | ||||
|                 GLib.Source.set_name_by_id(this._timestampTimeoutId, '[gnome-shell] this.appendTimestamp'); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         this._filterMessages(); | ||||
| @@ -1103,7 +1100,6 @@ const ChatNotification = new Lang.Class({ | ||||
|             this._composingTimeoutId = Mainloop.timeout_add_seconds( | ||||
|                 COMPOSING_STOP_TIMEOUT, | ||||
|                 Lang.bind(this, this._composingStopTimeout)); | ||||
|             GLib.Source.set_name_by_id(this._composingTimeoutId, '[gnome-shell] this._composingStopTimeout'); | ||||
|         } else { | ||||
|             this.source.setChatState(Tp.ChannelChatState.ACTIVE); | ||||
|         } | ||||
| @@ -1274,8 +1270,7 @@ const SubscriptionRequestNotification = new Lang.Class({ | ||||
|  | ||||
|         if (file) { | ||||
|             let uri = file.get_uri(); | ||||
|             let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; | ||||
|             iconBox.child = textureCache.load_uri_async(uri, iconBox._size, iconBox._size, scaleFactor); | ||||
|             iconBox.child = textureCache.load_uri_async(uri, iconBox._size, iconBox._size); | ||||
|         } | ||||
|         else { | ||||
|             iconBox.child = new St.Icon({ icon_name: 'avatar-default', | ||||
| @@ -1426,12 +1421,7 @@ const AccountNotification = new Lang.Class({ | ||||
|                 if (status == Tp.ConnectionStatus.CONNECTED) { | ||||
|                     this.destroy(); | ||||
|                 } else if (status == Tp.ConnectionStatus.DISCONNECTED) { | ||||
|                     let connectionError = account.connection_error; | ||||
|  | ||||
|                     if (connectionError == Tp.error_get_dbus_name(Tp.Error.CANCELLED)) | ||||
|                         this.destroy(); | ||||
|                     else | ||||
|                         this.update(this.title, this._getMessage(connectionError)); | ||||
|                     this.update(this.title, this._getMessage(account.connection_error)); | ||||
|                 } | ||||
|             })); | ||||
|     }, | ||||
|   | ||||
| @@ -582,7 +582,6 @@ const Dash = new Lang.Class({ | ||||
|                         this._showLabelTimeoutId = 0; | ||||
|                         return GLib.SOURCE_REMOVE; | ||||
|                     })); | ||||
|                 GLib.Source.set_name_by_id(this._showLabelTimeoutId, '[gnome-shell] item.showLabel'); | ||||
|                 if (this._resetHoverTimeoutId > 0) { | ||||
|                     Mainloop.source_remove(this._resetHoverTimeoutId); | ||||
|                     this._resetHoverTimeoutId = 0; | ||||
| @@ -600,7 +599,6 @@ const Dash = new Lang.Class({ | ||||
|                         this._resetHoverTimeoutId = 0; | ||||
|                         return GLib.SOURCE_REMOVE; | ||||
|                     })); | ||||
|                 GLib.Source.set_name_by_id(this._resetHoverTimeoutId, '[gnome-shell] this._labelShowing'); | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|   | ||||
| @@ -63,11 +63,8 @@ const DateMenuButton = new Lang.Class({ | ||||
|         hbox.add(vbox); | ||||
|  | ||||
|         // Date | ||||
|         // Having the ability to go to the current date if the user is already | ||||
|         // on the current date can be confusing. So don't make the button reactive | ||||
|         // until the selected date changes. | ||||
|         this._date = new St.Button({ style_class: 'datemenu-date-label', | ||||
|                                      reactive: false | ||||
|                                      can_focus: true, | ||||
|                                    }); | ||||
|         this._date.connect('clicked', | ||||
|                            Lang.bind(this, function() { | ||||
| @@ -85,9 +82,6 @@ const DateMenuButton = new Lang.Class({ | ||||
|                                   // and the calender makes those dates unclickable when instantiated with | ||||
|                                   // a null event source | ||||
|                                    this._eventList.setDate(date); | ||||
|  | ||||
|                                    // Make the button reactive only if the selected date is not the current date. | ||||
|                                    this._date.can_focus = this._date.reactive = !this._isToday(date) | ||||
|                                })); | ||||
|         vbox.add(this._calendar.actor); | ||||
|  | ||||
| @@ -138,13 +132,6 @@ const DateMenuButton = new Lang.Class({ | ||||
|         this._sessionUpdated(); | ||||
|     }, | ||||
|  | ||||
|     _isToday: function(date) { | ||||
|         let now = new Date(); | ||||
|         return now.getYear() == date.getYear() && | ||||
|                now.getMonth() == date.getMonth() && | ||||
|                now.getDay() == date.getDay(); | ||||
|     }, | ||||
|  | ||||
|     _appInstalledChanged: function() { | ||||
|         this._calendarApp = undefined; | ||||
|         this._updateEventsVisibility(); | ||||
|   | ||||
| @@ -395,7 +395,6 @@ const _Draggable = new Lang.Class({ | ||||
|  | ||||
|         this._updateHoverId = GLib.idle_add(GLib.PRIORITY_DEFAULT, | ||||
|                                             Lang.bind(this, this._updateDragHover)); | ||||
|         GLib.Source.set_name_by_id(this._updateHoverId, '[gnome-shell] this._updateDragHover'); | ||||
|     }, | ||||
|  | ||||
|     _updateDragPosition : function (event) { | ||||
|   | ||||
| @@ -551,7 +551,6 @@ const EndSessionDialog = new Lang.Class({ | ||||
|  | ||||
|                 return GLib.SOURCE_REMOVE; | ||||
|             })); | ||||
|         GLib.Source.set_name_by_id(this._timerId, '[gnome-shell] this._confirm'); | ||||
|     }, | ||||
|  | ||||
|     _stopTimer: function() { | ||||
|   | ||||
| @@ -5,8 +5,6 @@ imports.gi.versions.Gio = '2.0'; | ||||
| imports.gi.versions.Gdk = '3.0'; | ||||
| imports.gi.versions.GdkPixbuf = '2.0'; | ||||
| imports.gi.versions.Gtk = '3.0'; | ||||
| imports.gi.versions.TelepathyGLib = '0.12'; | ||||
| imports.gi.versions.TelepathyLogger = '0.2'; | ||||
|  | ||||
| const Clutter = imports.gi.Clutter;; | ||||
| const Gettext = imports.gettext; | ||||
| @@ -47,11 +45,8 @@ function _patchLayoutClass(layoutClass, styleProps) { | ||||
|         layoutClass.prototype.hookup_style = function(container) { | ||||
|             container.connect('style-changed', Lang.bind(this, function() { | ||||
|                 let node = container.get_theme_node(); | ||||
|                 for (let prop in styleProps) { | ||||
|                     let [found, length] = node.lookup_length(styleProps[prop], false); | ||||
|                     if (found) | ||||
|                         this[prop] = length; | ||||
|                 } | ||||
|                 for (let prop in styleProps) | ||||
|                     this[prop] = node.get_length(styleProps[prop]); | ||||
|             })); | ||||
|         }; | ||||
|     layoutClass.prototype.child_set = function(actor, props) { | ||||
|   | ||||
| @@ -155,7 +155,7 @@ const CandidatePopup = new Lang.Class({ | ||||
|  | ||||
|         panelService.connect('set-cursor-location', | ||||
|                              Lang.bind(this, function(ps, x, y, w, h) { | ||||
|                                  Main.layoutManager.setDummyCursorGeometry(x, y, w, h); | ||||
|                                  Main.layoutManager.setDummyCursorPosition(x, y); | ||||
|                                  if (this._boxPointer.actor.visible) | ||||
|                                      this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0); | ||||
|                              })); | ||||
|   | ||||
| @@ -214,20 +214,6 @@ const IconGrid = new Lang.Class({ | ||||
|         this._grid.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth)); | ||||
|         this._grid.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight)); | ||||
|         this._grid.connect('allocate', Lang.bind(this, this._allocate)); | ||||
|         this._grid.connect('actor-added', Lang.bind(this, this._childAdded)); | ||||
|         this._grid.connect('actor-removed', Lang.bind(this, this._childRemoved)); | ||||
|     }, | ||||
|  | ||||
|     _keyFocusIn: function(actor) { | ||||
|         this.emit('key-focus-in', actor); | ||||
|     }, | ||||
|  | ||||
|     _childAdded: function(grid, child) { | ||||
|         child._iconGridKeyFocusInId = child.connect('key-focus-in', Lang.bind(this, this._keyFocusIn)); | ||||
|     }, | ||||
|  | ||||
|     _childRemoved: function(grid, child) { | ||||
|         child.disconnect(child._iconGridKeyFocusInId); | ||||
|     }, | ||||
|  | ||||
|     _getPreferredWidth: function (grid, forHeight, alloc) { | ||||
| @@ -541,7 +527,6 @@ const IconGrid = new Lang.Class({ | ||||
|         } | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(IconGrid.prototype); | ||||
|  | ||||
| const PaginatedIconGrid = new Lang.Class({ | ||||
|     Name: 'PaginatedIconGrid', | ||||
| @@ -645,10 +630,6 @@ const PaginatedIconGrid = new Lang.Class({ | ||||
|         return this._nPages; | ||||
|     }, | ||||
|  | ||||
|     getPageHeight: function() { | ||||
|         return this._availableHeightPerPageForItems(); | ||||
|     }, | ||||
|  | ||||
|     getPageY: function(pageNumber) { | ||||
|         if (!this._nPages) | ||||
|             return 0; | ||||
|   | ||||
| @@ -266,14 +266,12 @@ const Keyboard = new Lang.Class({ | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (!this._showIdleId) { | ||||
|           this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, | ||||
|                                            Lang.bind(this, function() { | ||||
|                                                this.Show(time); | ||||
|                                                return GLib.SOURCE_REMOVE; | ||||
|                                            })); | ||||
|           GLib.Source.set_name_by_id(this._showIdleId, '[gnome-shell] this.Show'); | ||||
|         } | ||||
|         if (!this._showIdleId) | ||||
|             this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, | ||||
|                                              Lang.bind(this, function() { | ||||
|                                                  this.Show(time); | ||||
|                                                  return GLib.SOURCE_REMOVE; | ||||
|                                              })); | ||||
|     }, | ||||
|  | ||||
|     _createLayersForGroup: function (gname) { | ||||
| @@ -502,7 +500,6 @@ const Keyboard = new Lang.Class({ | ||||
|                                                        this._show(monitor); | ||||
|                                                        return GLib.SOURCE_REMOVE; | ||||
|                                                    })); | ||||
|         GLib.Source.set_name_by_id(this._keyboardRestingId, '[gnome-shell] this._clearKeyboardRestTimer'); | ||||
|     }, | ||||
|  | ||||
|     _show: function(monitor) { | ||||
| @@ -529,7 +526,6 @@ const Keyboard = new Lang.Class({ | ||||
|                                                        this._hide(); | ||||
|                                                        return GLib.SOURCE_REMOVE; | ||||
|                                                    })); | ||||
|         GLib.Source.set_name_by_id(this._keyboardRestingId, '[gnome-shell] this._clearKeyboardRestTimer'); | ||||
|     }, | ||||
|  | ||||
|     _hide: function() { | ||||
|   | ||||
| @@ -4,6 +4,7 @@ const Clutter = imports.gi.Clutter; | ||||
| const GLib = imports.gi.GLib; | ||||
| const GObject = imports.gi.GObject; | ||||
| const Lang = imports.lang; | ||||
| const Mainloop = imports.mainloop; | ||||
| const Meta = imports.gi.Meta; | ||||
| const Shell = imports.gi.Shell; | ||||
| const Signals = imports.signals; | ||||
| @@ -212,10 +213,6 @@ const LayoutManager = new Lang.Class({ | ||||
|         this.addChrome(this.trayBox); | ||||
|         this._setupTrayPressure(); | ||||
|  | ||||
|         this.modalDialogGroup = new St.Widget({ name: 'modalDialogGroup', | ||||
|                                                 layout_manager: new Clutter.BinLayout() }); | ||||
|         this.uiGroup.add_actor(this.modalDialogGroup); | ||||
|  | ||||
|         this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox', | ||||
|                                               reactive: true, | ||||
|                                               track_hover: true }); | ||||
| @@ -223,7 +220,7 @@ const LayoutManager = new Lang.Class({ | ||||
|         this._keyboardHeightNotifyId = 0; | ||||
|  | ||||
|         // A dummy actor that tracks the mouse or text cursor, based on the | ||||
|         // position and size set in setDummyCursorGeometry. | ||||
|         // position set in setDummyCursorPosition. | ||||
|         this.dummyCursor = new St.Widget({ width: 0, height: 0 }); | ||||
|         this.uiGroup.add_actor(this.dummyCursor); | ||||
|  | ||||
| @@ -603,7 +600,7 @@ const LayoutManager = new Lang.Class({ | ||||
|             this._updateBackgrounds(); | ||||
|  | ||||
|             // We need to force an update of the regions now before we scale | ||||
|             // the UI group to get the correct allocation for the struts. | ||||
|             // the UI group to get the coorect allocation for the struts. | ||||
|             this._updateRegions(); | ||||
|  | ||||
|             this.trayBox.hide(); | ||||
| @@ -628,11 +625,10 @@ const LayoutManager = new Lang.Class({ | ||||
|         // until the event loop is uncontended and idle. | ||||
|         // This helps to prevent us from running the animation | ||||
|         // when the system is bogged down | ||||
|         let id = GLib.idle_add(GLib.PRIORITY_LOW, Lang.bind(this, function() { | ||||
|         GLib.idle_add(GLib.PRIORITY_LOW, Lang.bind(this, function() { | ||||
|             this._startupAnimation(); | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         })); | ||||
|         GLib.Source.set_name_by_id(id, '[gnome-shell] this._startupAnimation'); | ||||
|     }, | ||||
|  | ||||
|     _startupAnimation: function() { | ||||
| @@ -729,7 +725,7 @@ const LayoutManager = new Lang.Class({ | ||||
|         this._updateRegions(); | ||||
|     }, | ||||
|  | ||||
|     // setDummyCursorGeometry: | ||||
|     // setDummyCursorPosition: | ||||
|     // | ||||
|     // The cursor dummy is a standard widget commonly used for popup | ||||
|     // menus and box pointers to track, as the box pointer API only | ||||
| @@ -738,10 +734,9 @@ const LayoutManager = new Lang.Class({ | ||||
|     // is what you should use. Given that the menu should not track | ||||
|     // the actual mouse pointer as it moves, you need to call this | ||||
|     // function before you show the menu to ensure it is at the right | ||||
|     // position and has the right size. | ||||
|     setDummyCursorGeometry: function(x, y, w, h) { | ||||
|     // position. | ||||
|     setDummyCursorPosition: function(x, y) { | ||||
|         this.dummyCursor.set_position(Math.round(x), Math.round(y)); | ||||
|         this.dummyCursor.set_size(Math.round(w), Math.round(h)); | ||||
|     }, | ||||
|  | ||||
|     // addChrome: | ||||
| @@ -912,8 +907,8 @@ const LayoutManager = new Lang.Class({ | ||||
|             return; | ||||
|  | ||||
|         if (!this._updateRegionIdle) | ||||
|             this._updateRegionIdle = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, | ||||
|                                                     Lang.bind(this, this._updateRegions)); | ||||
|             this._updateRegionIdle = Mainloop.idle_add(Lang.bind(this, this._updateRegions), | ||||
|                                                        Meta.PRIORITY_BEFORE_REDRAW); | ||||
|     }, | ||||
|  | ||||
|     _getWindowActorsForWorkspace: function(workspace) { | ||||
| @@ -944,7 +939,7 @@ const LayoutManager = new Lang.Class({ | ||||
|         let rects = [], struts = [], i; | ||||
|  | ||||
|         if (this._updateRegionIdle) { | ||||
|             Meta.later_remove(this._updateRegionIdle); | ||||
|             Mainloop.source_remove(this._updateRegionIdle); | ||||
|             delete this._updateRegionIdle; | ||||
|         } | ||||
|  | ||||
| @@ -1018,39 +1013,19 @@ const LayoutManager = new Lang.Class({ | ||||
|                     continue; | ||||
|  | ||||
|                 // Ensure that the strut rects goes all the way to the screen edge, | ||||
|                 // as this really what mutter expects. However skip this step | ||||
|                 // in cases where this would render an entire monitor unusable. | ||||
|                 // as this really what mutter expects. | ||||
|                 switch (side) { | ||||
|                 case Meta.Side.TOP: | ||||
|                     let hasMonitorsAbove = this.monitors.some(Lang.bind(this, | ||||
|                         function(mon) { | ||||
|                             return this._isAboveOrBelowPrimary(mon) && | ||||
|                                    mon.y < primary.y; | ||||
|                         })); | ||||
|                     if (!hasMonitorsAbove) | ||||
|                         y1 = 0; | ||||
|                     y1 = 0; | ||||
|                     break; | ||||
|                 case Meta.Side.BOTTOM: | ||||
|                     if (this.primaryIndex == this.bottomIndex) | ||||
|                         y2 = global.screen_height; | ||||
|                     y2 = global.screen_height; | ||||
|                     break; | ||||
|                 case Meta.Side.LEFT: | ||||
|                     let hasMonitorsLeft = this.monitors.some(Lang.bind(this, | ||||
|                         function(mon) { | ||||
|                             return !this._isAboveOrBelowPrimary(mon) && | ||||
|                                    mon.x < primary.x; | ||||
|                         })); | ||||
|                     if (!hasMonitorsLeft) | ||||
|                         x1 = 0; | ||||
|                     x1 = 0; | ||||
|                     break; | ||||
|                 case Meta.Side.RIGHT: | ||||
|                     let hasMonitorsRight = this.monitors.some(Lang.bind(this, | ||||
|                         function(mon) { | ||||
|                             return !this._isAboveOrBelowPrimary(mon) && | ||||
|                                    mon.x > primary.x; | ||||
|                         })); | ||||
|                     if (!hasMonitorsRight) | ||||
|                         x2 = global.screen_width; | ||||
|                     x2 = global.screen_width; | ||||
|                     break; | ||||
|                 } | ||||
|  | ||||
|   | ||||
| @@ -11,60 +11,30 @@ const Params = imports.misc.params; | ||||
| const Tweener = imports.ui.tweener; | ||||
|  | ||||
| const DEFAULT_FADE_FACTOR = 0.4; | ||||
| const VIGNETTE_BRIGHTNESS = 0.8; | ||||
| const VIGNETTE_SHARPNESS = 0.7; | ||||
|  | ||||
| const VIGNETTE_DECLARATIONS = '\ | ||||
| uniform float brightness;\n\ | ||||
| uniform float vignette_sharpness;\n'; | ||||
|  | ||||
| const VIGNETTE_CODE = '\ | ||||
| cogl_color_out.a = cogl_color_in.a;\n\ | ||||
| cogl_color_out.rgb = vec3(0.0, 0.0, 0.0);\n\ | ||||
| vec2 position = cogl_tex_coord_in[0].xy - 0.5;\n\ | ||||
| float t = length(2.0 * position);\n\ | ||||
| t = clamp(t, 0.0, 1.0);\n\ | ||||
| float pixel_brightness = mix(1.0, 1.0 - vignette_sharpness, t);\n\ | ||||
| cogl_color_out.a = cogl_color_out.a * (1 - pixel_brightness * brightness);'; | ||||
| const GLSL_DIM_EFFECT_DECLARATIONS = '\ | ||||
| float compute_dim_factor (const vec2 coords) {\ | ||||
|    vec2 dist = coords - vec2(0.5, 0.5); \ | ||||
|    float elipse_radius = 0.5; \ | ||||
|    /* interpolate darkening value, based on distance from screen center */ \ | ||||
|    float val = min(length(dist), elipse_radius); \ | ||||
|    return mix(0.3, 1.0, val / elipse_radius) * 0.4; \ | ||||
| }'; | ||||
| const GLSL_DIM_EFFECT_CODE = '\ | ||||
|    float a = compute_dim_factor (cogl_tex_coord0_in.xy);\ | ||||
|    cogl_color_out = vec4(0, 0, 0, cogl_color_in.a * a);' | ||||
| ; | ||||
|  | ||||
| const RadialShaderQuad = new Lang.Class({ | ||||
|     Name: 'RadialShaderQuad', | ||||
|     Extends: Shell.GLSLQuad, | ||||
|  | ||||
|     _init: function(params) { | ||||
|         this.parent(params); | ||||
|  | ||||
|         this._brightnessLocation = this.get_uniform_location('brightness'); | ||||
|         this._sharpnessLocation = this.get_uniform_location('vignette_sharpness'); | ||||
|  | ||||
|         this.brightness = 1.0; | ||||
|         this.vignetteSharpness = 0.0; | ||||
|     }, | ||||
|  | ||||
|     vfunc_build_pipeline: function() { | ||||
|         this.add_glsl_snippet(Shell.SnippetHook.FRAGMENT, | ||||
|                               VIGNETTE_DECLARATIONS, VIGNETTE_CODE, true); | ||||
|                               GLSL_DIM_EFFECT_DECLARATIONS, | ||||
|                               GLSL_DIM_EFFECT_CODE, | ||||
|                               true); | ||||
|     }, | ||||
|  | ||||
|     get brightness() { | ||||
|         return this._brightness; | ||||
|     }, | ||||
|  | ||||
|     set brightness(v) { | ||||
|         this._brightness = v; | ||||
|         this.set_uniform_float(this._brightnessLocation, | ||||
|                                1, [this._brightness]); | ||||
|     }, | ||||
|  | ||||
|     get vignetteSharpness() { | ||||
|         return this._sharpness; | ||||
|     }, | ||||
|  | ||||
|     set vignetteSharpness(v) { | ||||
|         this._sharpness = v; | ||||
|         this.set_uniform_float(this._sharpnessLocation, | ||||
|                                1, [this._sharpness]); | ||||
|     } | ||||
| }); | ||||
|  | ||||
| /** | ||||
| @@ -105,7 +75,6 @@ const Lightbox = new Lang.Class({ | ||||
|         this._container = container; | ||||
|         this._children = container.get_children(); | ||||
|         this._fadeFactor = params.fadeFactor; | ||||
|         this._radialEffect = params.radialEffect; | ||||
|         if (params.radialEffect) | ||||
|             this.actor = new RadialShaderQuad({ x: 0, | ||||
|                                                 y: 0, | ||||
| @@ -113,7 +82,6 @@ const Lightbox = new Lang.Class({ | ||||
|         else | ||||
|             this.actor = new St.Bin({ x: 0, | ||||
|                                       y: 0, | ||||
|                                       opacity: 0, | ||||
|                                       style_class: 'lightbox', | ||||
|                                       reactive: params.inhibitEvents }); | ||||
|  | ||||
| @@ -165,18 +133,9 @@ const Lightbox = new Lang.Class({ | ||||
|         fadeInTime = fadeInTime || 0; | ||||
|  | ||||
|         Tweener.removeTweens(this.actor); | ||||
|         if (this._radialEffect) { | ||||
|             Tweener.addTween(this.actor, | ||||
|                              { brightness: VIGNETTE_BRIGHTNESS, | ||||
|                                vignetteSharpness: VIGNETTE_SHARPNESS, | ||||
|                                time: fadeInTime, | ||||
|                                transition: 'easeOutQuad', | ||||
|                                onComplete: Lang.bind(this, function() { | ||||
|                                    this.shown = true; | ||||
|                                    this.emit('shown'); | ||||
|                                }) | ||||
|                              }); | ||||
|         } else { | ||||
|         if (fadeInTime != 0) { | ||||
|             this.shown = false; | ||||
|             this.actor.opacity = 0; | ||||
|             Tweener.addTween(this.actor, | ||||
|                              { opacity: 255 * this._fadeFactor, | ||||
|                                time: fadeInTime, | ||||
| @@ -186,8 +145,11 @@ const Lightbox = new Lang.Class({ | ||||
|                                    this.emit('shown'); | ||||
|                                }) | ||||
|                              }); | ||||
|         } else { | ||||
|             this.actor.opacity = 255 * this._fadeFactor; | ||||
|             this.shown = true; | ||||
|             this.emit('shown'); | ||||
|         } | ||||
|  | ||||
|         this.actor.show(); | ||||
|     }, | ||||
|  | ||||
| @@ -196,18 +158,7 @@ const Lightbox = new Lang.Class({ | ||||
|  | ||||
|         this.shown = false; | ||||
|         Tweener.removeTweens(this.actor); | ||||
|         if (this._radialEffect) { | ||||
|             Tweener.addTween(this.actor, | ||||
|                              { brightness: 1.0, | ||||
|                                vignetteSharpness: 0.0, | ||||
|                                opacity: 0, | ||||
|                                time: fadeOutTime, | ||||
|                                transition: 'easeOutQuad', | ||||
|                                onComplete: Lang.bind(this, function() { | ||||
|                                    this.actor.hide(); | ||||
|                                }) | ||||
|                              }); | ||||
|         } else { | ||||
|         if (fadeOutTime != 0) { | ||||
|             Tweener.addTween(this.actor, | ||||
|                              { opacity: 0, | ||||
|                                time: fadeOutTime, | ||||
| @@ -216,6 +167,8 @@ const Lightbox = new Lang.Class({ | ||||
|                                    this.actor.hide(); | ||||
|                                }) | ||||
|                              }); | ||||
|         } else { | ||||
|             this.actor.hide(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -843,10 +843,9 @@ const LookingGlass = new Lang.Class({ | ||||
|            System.gc(); | ||||
|            this._timeoutId = Mainloop.timeout_add(500, Lang.bind(this, function () { | ||||
|                 gcIcon.icon_name = 'gnome-fs-trash-full'; | ||||
|                 this._timeoutId = 0; | ||||
|                 Mainloop.source_remove(this._timeoutId); | ||||
|                 return GLib.SOURCE_REMOVE; | ||||
|            })); | ||||
|            GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] gcIcon.icon_name = \'gnome-fs-trash-full\''); | ||||
|            return Clutter.EVENT_PROPAGATE; | ||||
|         })); | ||||
|  | ||||
|   | ||||
| @@ -9,7 +9,6 @@ const Mainloop = imports.mainloop; | ||||
| const Meta = imports.gi.Meta; | ||||
| const Shell = imports.gi.Shell; | ||||
| const St = imports.gi.St; | ||||
| const GSystem = imports.gi.GSystem; | ||||
|  | ||||
| const Components = imports.ui.components; | ||||
| const CtrlAltTab = imports.ui.ctrlAltTab; | ||||
| @@ -44,7 +43,6 @@ const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff); | ||||
|  | ||||
| const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard'; | ||||
| const STICKY_KEYS_ENABLE = 'stickykeys-enable'; | ||||
| const GNOMESHELL_STARTED_MESSAGE_ID = 'f3ea493c22934e26811cd62abe8e203a'; | ||||
|  | ||||
| let componentManager = null; | ||||
| let panel = null; | ||||
| @@ -57,7 +55,7 @@ let screenShield = null; | ||||
| let notificationDaemon = null; | ||||
| let windowAttentionHandler = null; | ||||
| let ctrlAltTabManager = null; | ||||
| let osdWindowManager = null; | ||||
| let osdWindow = null; | ||||
| let sessionMode = null; | ||||
| let shellDBusService = null; | ||||
| let shellMountOpDBusService = null; | ||||
| @@ -105,6 +103,9 @@ function start() { | ||||
|     global.logError = window.log; | ||||
|     global.log = window.log; | ||||
|  | ||||
|     if (!Meta.is_wayland_compositor) | ||||
|         Meta.is_wayland_compositor = function () { return false; }; | ||||
|  | ||||
|     // Chain up async errors reported from C | ||||
|     global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); }); | ||||
|  | ||||
| @@ -157,7 +158,7 @@ function _initializeUI() { | ||||
|     screencastService = new Screencast.ScreencastService(); | ||||
|     xdndHandler = new XdndHandler.XdndHandler(); | ||||
|     ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager(); | ||||
|     osdWindowManager = new OsdWindow.OsdWindowManager(); | ||||
|     osdWindow = new OsdWindow.OsdWindow(); | ||||
|     overview = new Overview.Overview(); | ||||
|     wm = new WindowManager.WindowManager(); | ||||
|     magnifier = new Magnifier.Magnifier(); | ||||
| @@ -190,6 +191,8 @@ function _initializeUI() { | ||||
|  | ||||
|     _startDate = new Date(); | ||||
|  | ||||
|     log('GNOME Shell started at ' + _startDate); | ||||
|  | ||||
|     let perfModuleName = GLib.getenv("SHELL_PERF_MODULE"); | ||||
|     if (perfModuleName) { | ||||
|         let perfOutput = GLib.getenv("SHELL_PERF_OUTPUT"); | ||||
| @@ -200,6 +203,10 @@ function _initializeUI() { | ||||
|     ExtensionDownloader.init(); | ||||
|     ExtensionSystem.init(); | ||||
|  | ||||
|     layoutManager.connect('startup-prepared', function() { | ||||
|         Meta.activate_session(); | ||||
|     }); | ||||
|  | ||||
|     if (sessionMode.isGreeter && screenShield) { | ||||
|         layoutManager.connect('startup-prepared', function() { | ||||
|             screenShield.showDialog(); | ||||
| @@ -213,12 +220,6 @@ function _initializeUI() { | ||||
|                               if (screenShield) { | ||||
|                                   screenShield.lockIfWasLocked(); | ||||
|                               } | ||||
|                               if (LoginManager.haveSystemd() && sessionMode.currentMode === 'user') { | ||||
|                                   GSystem.log_structured_print('GNOME Shell started at ' + _startDate, | ||||
|                                                                ['MESSAGE_ID=' + GNOMESHELL_STARTED_MESSAGE_ID]); | ||||
|                               } else { | ||||
|                                   log('GNOME Shell started at ' + _startDate); | ||||
|                               } | ||||
|                           }); | ||||
| } | ||||
|  | ||||
| @@ -614,6 +615,5 @@ function queueDeferredWork(workId) { | ||||
|             _deferredTimeoutId = 0; | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         }); | ||||
|         GLib.Source.set_name_by_id(_deferredTimeoutId, '[gnome-shell] _runAllDeferredWork'); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1987,7 +1987,6 @@ const MessageTray = new Lang.Class({ | ||||
|  | ||||
|                 this._trayDwellTimeoutId = Mainloop.timeout_add(TRAY_DWELL_TIME, | ||||
|                                                                 Lang.bind(this, this._trayDwellTimeout)); | ||||
|                 GLib.Source.set_name_by_id(this._trayDwellTimeoutId, '[gnome-shell] this._trayDwellTimeout'); | ||||
|             } | ||||
|             this._trayDwelling = true; | ||||
|         } else { | ||||
| @@ -2028,18 +2027,13 @@ const MessageTray = new Lang.Class({ | ||||
|  | ||||
|     _onNotificationKeyRelease: function(actor, event) { | ||||
|         if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) { | ||||
|             this._expireNotification(); | ||||
|             this._closeNotification(); | ||||
|             return Clutter.EVENT_STOP; | ||||
|         } | ||||
|  | ||||
|         return Clutter.EVENT_PROPAGATE; | ||||
|     }, | ||||
|  | ||||
|     _expireNotification: function() { | ||||
|         this._notificationExpired = true; | ||||
|         this._updateState(); | ||||
|     }, | ||||
|  | ||||
|     _closeNotification: function() { | ||||
|         if (this._notificationState == State.SHOWN) { | ||||
|             this._closeButton.hide(); | ||||
| @@ -2317,7 +2311,6 @@ const MessageTray = new Lang.Class({ | ||||
|             // That gives the user more time to mouse away from the notification and mouse back in in order to expand it. | ||||
|             let timeout = this._useLongerNotificationLeftTimeout ? LONGER_HIDE_TIMEOUT * 1000 : HIDE_TIMEOUT * 1000; | ||||
|             this._notificationLeftTimeoutId = Mainloop.timeout_add(timeout, Lang.bind(this, this._onNotificationLeftTimeout)); | ||||
|             GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout'); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -2353,7 +2346,6 @@ const MessageTray = new Lang.Class({ | ||||
|             this._notificationLeftMouseX = -1; | ||||
|             this._notificationLeftTimeoutId = Mainloop.timeout_add(LONGER_HIDE_TIMEOUT * 1000, | ||||
|                                                              Lang.bind(this, this._onNotificationLeftTimeout)); | ||||
|             GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout'); | ||||
|         } else { | ||||
|             this._notificationLeftTimeoutId = 0; | ||||
|             this._useLongerNotificationLeftTimeout = false; | ||||
| @@ -2406,7 +2398,7 @@ const MessageTray = new Lang.Class({ | ||||
|                            this._notificationTimeoutId == 0 && | ||||
|                            this._notification.urgency != Urgency.CRITICAL && | ||||
|                            !this._notification.focused && | ||||
|                            !this._pointerInNotification) || this._notificationExpired; | ||||
|                            !this._pointerInNotification); | ||||
|             let mustClose = (this._notificationRemoved || !hasNotifications || expired || this._traySummoned); | ||||
|  | ||||
|             if (mustClose) { | ||||
| @@ -2467,10 +2459,6 @@ const MessageTray = new Lang.Class({ | ||||
|             this._hideDesktopClone(); | ||||
|  | ||||
|         this._updatingState = false; | ||||
|  | ||||
|         // Clean transient variables that are used to communicate actions | ||||
|         // to updateState() | ||||
|         this._notificationExpired = false; | ||||
|     }, | ||||
|  | ||||
|     _tween: function(actor, statevar, value, params) { | ||||
| @@ -2671,12 +2659,10 @@ const MessageTray = new Lang.Class({ | ||||
|             Mainloop.source_remove(this._notificationTimeoutId); | ||||
|             this._notificationTimeoutId = 0; | ||||
|         } | ||||
|         if (timeout > 0) { | ||||
|         if (timeout > 0) | ||||
|             this._notificationTimeoutId = | ||||
|                 Mainloop.timeout_add(timeout, | ||||
|                                      Lang.bind(this, this._notificationTimeout)); | ||||
|             GLib.Source.set_name_by_id(this._notificationTimeoutId, '[gnome-shell] this._notificationTimeout'); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _notificationTimeout: function() { | ||||
| @@ -2795,12 +2781,7 @@ const MessageTray = new Lang.Class({ | ||||
|                              { y: expandedY, | ||||
|                                opacity: 255, | ||||
|                                time: ANIMATION_TIME, | ||||
|                                transition: 'easeOutQuad', | ||||
|                                // HACK: Drive the state machine here better, | ||||
|                                // instead of overwriting tweens | ||||
|                                onComplete: Lang.bind(this, function() { | ||||
|                                    this._notificationState = State.SHOWN; | ||||
|                                }), | ||||
|                                transition: 'easeOutQuad' | ||||
|                              }); | ||||
|         } | ||||
|     }, | ||||
|   | ||||
| @@ -41,6 +41,7 @@ const ModalDialog = new Lang.Class({ | ||||
|     _init: function(params) { | ||||
|         params = Params.parse(params, { shellReactive: false, | ||||
|                                         styleClass: null, | ||||
|                                         parentActor: Main.uiGroup, | ||||
|                                         keybindingMode: Shell.KeyBindingMode.SYSTEM_MODAL, | ||||
|                                         shouldFadeIn: true, | ||||
|                                         destroyOnClose: true }); | ||||
| @@ -56,7 +57,7 @@ const ModalDialog = new Lang.Class({ | ||||
|                                       x: 0, | ||||
|                                       y: 0, | ||||
|                                       accessible_role: Atk.Role.DIALOG }); | ||||
|         Main.layoutManager.modalDialogGroup.add_actor(this._group); | ||||
|         params.parentActor.add_actor(this._group); | ||||
|  | ||||
|         let constraint = new Clutter.BindConstraint({ source: global.stage, | ||||
|                                                       coordinate: Clutter.BindCoordinate.ALL }); | ||||
|   | ||||
| @@ -244,12 +244,11 @@ const FdoNotificationDaemon = new Lang.Class({ | ||||
|             // Ignore replacesId since we already sent back a | ||||
|             // NotificationClosed for that id. | ||||
|             id = this._nextNotificationId++; | ||||
|             let idle_id = Mainloop.idle_add(Lang.bind(this, | ||||
|                                             function () { | ||||
|                                                 this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED); | ||||
|                                                 return GLib.SOURCE_REMOVE; | ||||
|                                             })); | ||||
|             GLib.Source.set_name_by_id(idle_id, '[gnome-shell] this._emitNotificationClosed'); | ||||
|             Mainloop.idle_add(Lang.bind(this, | ||||
|                                         function () { | ||||
|                                             this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED); | ||||
|                                             return GLib.SOURCE_REMOVE; | ||||
|                                         })); | ||||
|             return invocation.return_value(GLib.Variant.new('(u)', [id])); | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -73,17 +73,14 @@ const LevelBar = new Lang.Class({ | ||||
| const OsdWindow = new Lang.Class({ | ||||
|     Name: 'OsdWindow', | ||||
|  | ||||
|     _init: function(monitorIndex) { | ||||
|     _init: function() { | ||||
|         this._popupSize = 0; | ||||
|         this.actor = new St.Widget({ x_expand: true, | ||||
|                                      y_expand: true, | ||||
|                                      x_align: Clutter.ActorAlign.CENTER, | ||||
|                                      y_align: Clutter.ActorAlign.CENTER }); | ||||
|  | ||||
|         this._monitorIndex = monitorIndex; | ||||
|         let constraint = new Layout.MonitorConstraint({ index: monitorIndex }); | ||||
|         this.actor.add_constraint(constraint); | ||||
|  | ||||
|         this._currentMonitor = undefined; | ||||
|         this.setMonitor (-1); | ||||
|         this._box = new St.BoxLayout({ style_class: 'osd-window', | ||||
|                                        vertical: true }); | ||||
|         this.actor.add_actor(this._box); | ||||
| @@ -112,6 +109,7 @@ const OsdWindow = new Lang.Class({ | ||||
|         Main.layoutManager.connect('monitors-changed', | ||||
|                                    Lang.bind(this, this._monitorsChanged)); | ||||
|         this._monitorsChanged(); | ||||
|  | ||||
|         Main.uiGroup.add_child(this.actor); | ||||
|     }, | ||||
|  | ||||
| @@ -127,7 +125,7 @@ const OsdWindow = new Lang.Class({ | ||||
|  | ||||
|     setLevel: function(level) { | ||||
|         this._level.actor.visible = (level != undefined); | ||||
|         if (level != undefined) { | ||||
|         if (level) { | ||||
|             if (this.actor.visible) | ||||
|                 Tweener.addTween(this._level, | ||||
|                                  { level: level, | ||||
| @@ -158,7 +156,6 @@ const OsdWindow = new Lang.Class({ | ||||
|             Mainloop.source_remove(this._hideTimeoutId); | ||||
|         this._hideTimeoutId = Mainloop.timeout_add(HIDE_TIMEOUT, | ||||
|                                                    Lang.bind(this, this._hide)); | ||||
|         GLib.Source.set_name_by_id(this._hideTimeoutId, '[gnome-shell] this._hide'); | ||||
|     }, | ||||
|  | ||||
|     cancel: function() { | ||||
| @@ -191,7 +188,12 @@ const OsdWindow = new Lang.Class({ | ||||
|  | ||||
|     _monitorsChanged: function() { | ||||
|         /* assume 110x110 on a 640x480 display and scale from there */ | ||||
|         let monitor = Main.layoutManager.monitors[this._monitorIndex]; | ||||
|         let monitor; | ||||
|  | ||||
|         if (this._currentMonitor >= 0) | ||||
|             monitor = Main.layoutManager.monitors[this._currentMonitor]; | ||||
|         else | ||||
|             monitor = Main.layoutManager.primaryMonitor; | ||||
|  | ||||
|         let scalew = monitor.width / 640.0; | ||||
|         let scaleh = monitor.height / 480.0; | ||||
| @@ -220,56 +222,23 @@ const OsdWindow = new Lang.Class({ | ||||
|         // but the theme takes measures in unscaled dimensions | ||||
|         let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; | ||||
|         this._box.style = 'min-height: %dpx;'.format(Math.max(minWidth, minHeight) / scaleFactor); | ||||
|     } | ||||
| }); | ||||
|  | ||||
| const OsdWindowManager = new Lang.Class({ | ||||
|     Name: 'OsdWindowManager', | ||||
|  | ||||
|     _init: function() { | ||||
|         this._osdWindows = []; | ||||
|         Main.layoutManager.connect('monitors-changed', | ||||
|                                     Lang.bind(this, this._monitorsChanged)); | ||||
|         this._monitorsChanged(); | ||||
|     }, | ||||
|  | ||||
|     _monitorsChanged: function() { | ||||
|         for (let i = 0; i < Main.layoutManager.monitors.length; i++) { | ||||
|             if (this._osdWindows[i] == undefined) | ||||
|                 this._osdWindows[i] = new OsdWindow(i); | ||||
|         } | ||||
|  | ||||
|         for (let i = Main.layoutManager.monitors.length; i < this._osdWindows.length; i++) { | ||||
|             this._osdWindows[i].actor.destroy(); | ||||
|             this._osdWindows[i] = null; | ||||
|         } | ||||
|  | ||||
|         this._osdWindows.length = Main.layoutManager.monitors.length; | ||||
|     }, | ||||
|  | ||||
|     _showOsdWindow: function(monitorIndex, icon, label, level) { | ||||
|         this._osdWindows[monitorIndex].setIcon(icon); | ||||
|         this._osdWindows[monitorIndex].setLabel(label); | ||||
|         this._osdWindows[monitorIndex].setLevel(level); | ||||
|         this._osdWindows[monitorIndex].show(); | ||||
|     }, | ||||
|  | ||||
|     show: function(monitorIndex, icon, label, level) { | ||||
|         if (monitorIndex != -1) { | ||||
|             for (let i = 0; i < this._osdWindows.length; i++) { | ||||
|                 if (i == monitorIndex) | ||||
|                     this._showOsdWindow(i, icon, label, level); | ||||
|                 else | ||||
|                     this._osdWindows[i].cancel(); | ||||
|             } | ||||
|         } else { | ||||
|             for (let i = 0; i < this._osdWindows.length; i++) | ||||
|                 this._showOsdWindow(i, icon, label, level); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     hideAll: function() { | ||||
|         for (let i = 0; i < this._osdWindows.length; i++) | ||||
|             this._osdWindows[i].cancel(); | ||||
|     }, | ||||
|  | ||||
|     setMonitor: function(index) { | ||||
|         let constraint; | ||||
|  | ||||
|         if (index < 0) | ||||
|             index = -1; | ||||
|         if (this._currentMonitor == index) | ||||
|             return; | ||||
|  | ||||
|         if (index < 0) | ||||
|             constraint = new Layout.MonitorConstraint({ primary: true }); | ||||
|         else | ||||
|             constraint = new Layout.MonitorConstraint({ index: index }); | ||||
|  | ||||
|         this.actor.clear_constraints(); | ||||
|         this.actor.add_constraint(constraint); | ||||
|         this._currentMonitor = index; | ||||
|     } | ||||
| }); | ||||
|   | ||||
| @@ -14,7 +14,6 @@ const Gdk = imports.gi.Gdk; | ||||
| const Background = imports.ui.background; | ||||
| const DND = imports.ui.dnd; | ||||
| const LayoutManager = imports.ui.layout; | ||||
| const Lightbox = imports.ui.lightbox; | ||||
| const Main = imports.ui.main; | ||||
| const MessageTray = imports.ui.messageTray; | ||||
| const OverviewControls = imports.ui.overviewControls; | ||||
| @@ -197,7 +196,11 @@ const Overview = new Lang.Class({ | ||||
|  | ||||
|             Tweener.addTween(background, | ||||
|                              { brightness: 1.0, | ||||
|                                vignetteSharpness: 0.0, | ||||
|                                time: SHADE_ANIMATION_TIME, | ||||
|                                transition: 'easeOutQuad' | ||||
|                              }); | ||||
|             Tweener.addTween(background, | ||||
|                              { vignetteSharpness: 0.0, | ||||
|                                time: SHADE_ANIMATION_TIME, | ||||
|                                transition: 'easeOutQuad' | ||||
|                              }); | ||||
| @@ -210,8 +213,12 @@ const Overview = new Lang.Class({ | ||||
|             let background = backgrounds[i]._delegate; | ||||
|  | ||||
|             Tweener.addTween(background, | ||||
|                              { brightness: Lightbox.VIGNETTE_BRIGHTNESS, | ||||
|                                vignetteSharpness: Lightbox.VIGNETTE_SHARPNESS, | ||||
|                              { brightness: 0.8, | ||||
|                                time: SHADE_ANIMATION_TIME, | ||||
|                                transition: 'easeOutQuad' | ||||
|                              }); | ||||
|             Tweener.addTween(background, | ||||
|                              { vignetteSharpness: 0.7, | ||||
|                                time: SHADE_ANIMATION_TIME, | ||||
|                                transition: 'easeOutQuad' | ||||
|                              }); | ||||
| @@ -365,7 +372,6 @@ const Overview = new Lang.Class({ | ||||
|                                                 this._lastHoveredWindow = null; | ||||
|                                                 return GLib.SOURCE_REMOVE; | ||||
|                                             })); | ||||
|             GLib.Source.set_name_by_id(this._windowSwitchTimeoutId, '[gnome-shell] Main.activateWindow'); | ||||
|         } | ||||
|  | ||||
|         return DND.DragMotionResult.CONTINUE; | ||||
|   | ||||
| @@ -259,18 +259,13 @@ const ThumbnailsSlider = new Lang.Class({ | ||||
|  | ||||
|         Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide)); | ||||
|         this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide)); | ||||
|         global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSlide)); | ||||
|         this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE); | ||||
|     }, | ||||
|  | ||||
|     _getAlwaysZoomOut: function() { | ||||
|         // Always show the pager when hover, during a drag, or if workspaces are | ||||
|         // actually used, e.g. there are windows on any non-active workspace | ||||
|         let alwaysZoomOut = this.actor.hover || | ||||
|                             this._inDrag || | ||||
|                             !Meta.prefs_get_dynamic_workspaces() || | ||||
|                             global.screen.n_workspaces > 2 || | ||||
|                             global.screen.get_active_workspace_index() != 0; | ||||
|         // actually used, e.g. there are windows on more than one | ||||
|         let alwaysZoomOut = this.actor.hover || this._inDrag || !Meta.prefs_get_dynamic_workspaces() || global.screen.n_workspaces > 2; | ||||
|  | ||||
|         if (!alwaysZoomOut) { | ||||
|             let monitors = Main.layoutManager.monitors; | ||||
|   | ||||
| @@ -595,7 +595,6 @@ const ActivitiesButton = new Lang.Class({ | ||||
|             Mainloop.source_remove(this._xdndTimeOut); | ||||
|         this._xdndTimeOut = Mainloop.timeout_add(BUTTON_DND_ACTIVATION_TIMEOUT, | ||||
|                                                  Lang.bind(this, this._xdndToggleOverview, actor)); | ||||
|         GLib.Source.set_name_by_id(this._xdndTimeOut, '[gnome-shell] this._xdndToggleOverview'); | ||||
|  | ||||
|         return DND.DragMotionResult.CONTINUE; | ||||
|     }, | ||||
|   | ||||
| @@ -107,7 +107,6 @@ const PointerWatcher = new Lang.Class({ | ||||
|  | ||||
|         this._timeoutId = Mainloop.timeout_add(minInterval, | ||||
|                                                Lang.bind(this, this._onTimeout)); | ||||
|         GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout'); | ||||
|     }, | ||||
|  | ||||
|     _onTimeout: function() { | ||||
|   | ||||
| @@ -301,7 +301,7 @@ const NotificationsBox = new Lang.Class({ | ||||
|                              }); | ||||
|  | ||||
|             this._updateVisibility(); | ||||
|             this.emit('wake-up-screen'); | ||||
|             Shell.util_wake_up_screen(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -327,7 +327,7 @@ const NotificationsBox = new Lang.Class({ | ||||
|  | ||||
|         this._updateVisibility(); | ||||
|         if (obj.sourceBox.visible) | ||||
|             this.emit('wake-up-screen'); | ||||
|             Shell.util_wake_up_screen(); | ||||
|     }, | ||||
|  | ||||
|     _visibleChanged: function(source, obj) { | ||||
| @@ -342,7 +342,7 @@ const NotificationsBox = new Lang.Class({ | ||||
|  | ||||
|         this._updateVisibility(); | ||||
|         if (obj.sourceBox.visible) | ||||
|             this.emit('wake-up-screen'); | ||||
|             Shell.util_wake_up_screen(); | ||||
|     }, | ||||
|  | ||||
|     _detailedChanged: function(source, obj) { | ||||
| @@ -380,7 +380,6 @@ const NotificationsBox = new Lang.Class({ | ||||
|         this._sources.delete(source); | ||||
|     }, | ||||
| }); | ||||
| Signals.addSignalMethods(NotificationsBox.prototype); | ||||
|  | ||||
| const Arrow = new Lang.Class({ | ||||
|     Name: 'Arrow', | ||||
| @@ -537,7 +536,7 @@ const ScreenShield = new Lang.Class({ | ||||
|  | ||||
|         this._smartcardManager = SmartcardManager.getSmartcardManager(); | ||||
|         this._smartcardManager.connect('smartcard-inserted', | ||||
|                                        Lang.bind(this, function(manager, token) { | ||||
|                                        Lang.bind(this, function(token) { | ||||
|                                            if (this._isLocked && token.UsedToLogin) | ||||
|                                                this._liftShield(true, 0); | ||||
|                                        })); | ||||
| @@ -729,7 +728,7 @@ const ScreenShield = new Lang.Class({ | ||||
|         } else { | ||||
|             this._inhibitSuspend(); | ||||
|  | ||||
|             this._wakeUpScreen(); | ||||
|             this._onUserBecameActive(); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -850,7 +849,6 @@ const ScreenShield = new Lang.Class({ | ||||
|                                                            this.lock(false); | ||||
|                                                            return GLib.SOURCE_REMOVE; | ||||
|                                                        })); | ||||
|             GLib.Source.set_name_by_id(this._lockTimeoutId, '[gnome-shell] this.lock'); | ||||
|         } | ||||
|  | ||||
|         this._activateFade(this._longLightbox, STANDARD_FADE_TIME); | ||||
| @@ -1042,7 +1040,6 @@ const ScreenShield = new Lang.Class({ | ||||
|  | ||||
|         if (!this._arrowAnimationId) { | ||||
|             this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows)); | ||||
|             GLib.Source.set_name_by_id(this._arrowAnimationId, '[gnome-shell] this._animateArrows'); | ||||
|             this._animateArrows(); | ||||
|         } | ||||
|  | ||||
| @@ -1110,11 +1107,10 @@ const ScreenShield = new Lang.Class({ | ||||
|         if (params.fadeToBlack && params.animateFade) { | ||||
|             // Take a beat | ||||
|  | ||||
|             let id = Mainloop.timeout_add(1000 * MANUAL_FADE_TIME, Lang.bind(this, function() { | ||||
|             Mainloop.timeout_add(1000 * MANUAL_FADE_TIME, Lang.bind(this, function() { | ||||
|                 this._activateFade(this._shortLightbox, MANUAL_FADE_TIME); | ||||
|                 return GLib.SOURCE_REMOVE; | ||||
|             })); | ||||
|             GLib.Source.set_name_by_id(id, '[gnome-shell] this._activateFade'); | ||||
|         } else { | ||||
|             if (params.fadeToBlack) | ||||
|                 this._activateFade(this._shortLightbox, 0); | ||||
| @@ -1155,7 +1151,6 @@ const ScreenShield = new Lang.Class({ | ||||
|         this._lockScreenContents.add_actor(this._lockScreenContentsBox); | ||||
|  | ||||
|         this._notificationsBox = new NotificationsBox(); | ||||
|         this._wakeUpScreenId = this._notificationsBox.connect('wake-up-screen', Lang.bind(this, this._wakeUpScreen)); | ||||
|         this._lockScreenContentsBox.add(this._notificationsBox.actor, { x_fill: true, | ||||
|                                                                         y_fill: true, | ||||
|                                                                         expand: true }); | ||||
| @@ -1163,17 +1158,11 @@ const ScreenShield = new Lang.Class({ | ||||
|         this._hasLockScreen = true; | ||||
|     }, | ||||
|  | ||||
|     _wakeUpScreen: function() { | ||||
|         this._onUserBecameActive(); | ||||
|         this.emit('wake-up-screen'); | ||||
|     }, | ||||
|  | ||||
|     _clearLockScreen: function() { | ||||
|         this._clock.destroy(); | ||||
|         this._clock = null; | ||||
|  | ||||
|         if (this._notificationsBox) { | ||||
|             this._notificationsBox.disconnect(this._wakeUpScreenId); | ||||
|             this._notificationsBox.destroy(); | ||||
|             this._notificationsBox = null; | ||||
|         } | ||||
|   | ||||
| @@ -11,7 +11,6 @@ const Shell = imports.gi.Shell; | ||||
| const Signals = imports.signals; | ||||
| const St = imports.gi.St; | ||||
|  | ||||
| const GrabHelper = imports.ui.grabHelper; | ||||
| const Lightbox = imports.ui.lightbox; | ||||
| const Main = imports.ui.main; | ||||
| const Tweener = imports.ui.tweener; | ||||
| @@ -140,7 +139,6 @@ const SelectArea = new Lang.Class({ | ||||
|         this._startY = -1; | ||||
|         this._lastX = 0; | ||||
|         this._lastY = 0; | ||||
|         this._result = null; | ||||
|  | ||||
|         this._initRubberbandColors(); | ||||
|  | ||||
| @@ -150,12 +148,12 @@ const SelectArea = new Lang.Class({ | ||||
|                                       y: 0 }); | ||||
|         Main.uiGroup.add_actor(this._group); | ||||
|  | ||||
|         this._grabHelper = new GrabHelper.GrabHelper(this._group); | ||||
|  | ||||
|         this._group.connect('button-press-event', | ||||
|                             Lang.bind(this, this._onButtonPress)); | ||||
|         this._group.connect('button-release-event', | ||||
|                             Lang.bind(this, this._onButtonRelease)); | ||||
|         this._group.connect('key-press-event', | ||||
|                             Lang.bind(this, this._onKeyPress)); | ||||
|         this._group.connect('motion-event', | ||||
|                             Lang.bind(this, this._onMotionEvent)); | ||||
|  | ||||
| @@ -171,12 +169,10 @@ const SelectArea = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     show: function() { | ||||
|         if (!this._grabHelper.grab({ actor: this._group, | ||||
|                                      onUngrab: Lang.bind(this, this._onUngrab) })) | ||||
|         if (!Main.pushModal(this._group) || this._group.visible) | ||||
|             return; | ||||
|  | ||||
|         global.screen.set_cursor(Meta.Cursor.CROSSHAIR); | ||||
|         Main.uiGroup.set_child_above_sibling(this._group, null); | ||||
|         this._group.visible = true; | ||||
|     }, | ||||
|  | ||||
| @@ -206,6 +202,13 @@ const SelectArea = new Lang.Class({ | ||||
|                  height: Math.abs(this._startY - this._lastY) }; | ||||
|     }, | ||||
|  | ||||
|     _onKeyPress: function(actor, event) { | ||||
|         if (event.get_key_symbol() == Clutter.Escape) | ||||
|             this._destroy(null, false); | ||||
|  | ||||
|         return Clutter.EVENT_PROPAGATE; | ||||
|     }, | ||||
|  | ||||
|     _onMotionEvent: function(actor, event) { | ||||
|         if (this._startX == -1 || this._startY == -1) | ||||
|             return Clutter.EVENT_PROPAGATE; | ||||
| @@ -227,28 +230,24 @@ const SelectArea = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onButtonRelease: function(actor, event) { | ||||
|         this._result = this._getGeometry(); | ||||
|         Tweener.addTween(this._group, | ||||
|                          { opacity: 0, | ||||
|                            time: 0.2, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onComplete: Lang.bind(this, | ||||
|                                function() { | ||||
|                                    this._grabHelper.ungrab(); | ||||
|                                }) | ||||
|                          }); | ||||
|         this._destroy(this._getGeometry(), true); | ||||
|         return Clutter.EVENT_PROPAGATE; | ||||
|     }, | ||||
|  | ||||
|     _onUngrab: function() { | ||||
|         global.screen.set_cursor(Meta.Cursor.DEFAULT); | ||||
|         this.emit('finished', this._result); | ||||
|     _destroy: function(geometry, fade) { | ||||
|         Tweener.addTween(this._group, | ||||
|                          { opacity: 0, | ||||
|                            time: fade ? 0.2 : 0, | ||||
|                            transition: 'easeOutQuad', | ||||
|                            onComplete: Lang.bind(this, | ||||
|                                function() { | ||||
|                                    Main.popModal(this._group); | ||||
|                                    this._group.destroy(); | ||||
|                                    global.screen.set_cursor(Meta.Cursor.DEFAULT); | ||||
|  | ||||
|         GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, | ||||
|             function() { | ||||
|                 this._group.destroy(); | ||||
|                 return GLib.SOURCE_REMOVE; | ||||
|             })); | ||||
|                                    this.emit('finished', geometry); | ||||
|                                }) | ||||
|                          }); | ||||
|     } | ||||
| }); | ||||
| Signals.addSignalMethods(SelectArea.prototype); | ||||
|   | ||||
| @@ -39,12 +39,11 @@ const Main = imports.ui.main; | ||||
| function sleep(milliseconds) { | ||||
|     let cb; | ||||
|  | ||||
|     let id = Mainloop.timeout_add(milliseconds, function() { | ||||
|     Mainloop.timeout_add(milliseconds, function() { | ||||
|                              if (cb) | ||||
|                                  cb(); | ||||
|                              return GLib.SOURCE_REMOVE; | ||||
|                          }); | ||||
|     GLib.Source.set_name_by_id(id, '[gnome-shell] sleep'); | ||||
|  | ||||
|     return function(callback) { | ||||
|         cb = callback; | ||||
|   | ||||
| @@ -68,9 +68,6 @@ const SearchSystem = new Lang.Class({ | ||||
|     _unregisterProvider: function (provider) { | ||||
|         let index = this._providers.indexOf(provider); | ||||
|         this._providers.splice(index, 1); | ||||
|  | ||||
|         if (provider.display) | ||||
|             provider.display.destroy(); | ||||
|     }, | ||||
|  | ||||
|     getProviders: function() { | ||||
| @@ -318,8 +315,6 @@ const SearchResultsBase = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     clear: function() { | ||||
|         for (let resultId in this._resultDisplays) | ||||
|             this._resultDisplays[resultId].actor.destroy(); | ||||
|         this._resultDisplays = {}; | ||||
|         this._clearResultDisplay(); | ||||
|         this.actor.hide(); | ||||
| @@ -343,22 +338,12 @@ const SearchResultsBase = new Lang.Class({ | ||||
|         })); | ||||
|  | ||||
|         if (metasNeeded.length === 0) { | ||||
|             callback(true); | ||||
|             callback(); | ||||
|         } else { | ||||
|             this._cancellable.cancel(); | ||||
|             this._cancellable.reset(); | ||||
|  | ||||
|             this.provider.getResultMetas(metasNeeded, Lang.bind(this, function(metas) { | ||||
|                 if (metas.length == 0) { | ||||
|                     callback(false); | ||||
|                     return; | ||||
|                 } | ||||
|                 if (metas.length != metasNeeded.length) { | ||||
|                     log('Wrong number of result metas returned by search provider'); | ||||
|                     callback(false); | ||||
|                     return; | ||||
|                 } | ||||
|  | ||||
|                 metasNeeded.forEach(Lang.bind(this, function(resultId, i) { | ||||
|                     let meta = metas[i]; | ||||
|                     let display = this._createResultDisplay(meta); | ||||
| @@ -366,7 +351,7 @@ const SearchResultsBase = new Lang.Class({ | ||||
|                     display.actor.connect('key-focus-in', Lang.bind(this, this._keyFocusIn)); | ||||
|                     this._resultDisplays[resultId] = display; | ||||
|                 })); | ||||
|                 callback(true); | ||||
|                 callback(); | ||||
|             }), this._cancellable); | ||||
|         } | ||||
|     }, | ||||
| @@ -383,10 +368,8 @@ const SearchResultsBase = new Lang.Class({ | ||||
|             let results = this.provider.filterResults(providerResults, maxResults); | ||||
|             let hasMoreResults = results.length < providerResults.length; | ||||
|  | ||||
|             this._ensureResultActors(results, Lang.bind(this, function(successful) { | ||||
|             this._ensureResultActors(results, Lang.bind(this, function() { | ||||
|                 this._clearResultDisplay(); | ||||
|                 if (!successful) | ||||
|                     return; | ||||
|  | ||||
|                 // To avoid CSS transitions causing flickering when | ||||
|                 // the first search result stays the same, we hide the | ||||
| @@ -632,11 +615,8 @@ const SearchResults = new Lang.Class({ | ||||
|         if (newDefaultResult != this._defaultResult) { | ||||
|             if (this._defaultResult) | ||||
|                 this._defaultResult.setSelected(false); | ||||
|             if (newDefaultResult) { | ||||
|             if (newDefaultResult) | ||||
|                 newDefaultResult.setSelected(this._highlightDefault); | ||||
|                 if (this._highlightDefault) | ||||
|                     Util.ensureActorVisibleInScrollView(this._scrollView, newDefaultResult.actor); | ||||
|             } | ||||
|  | ||||
|             this._defaultResult = newDefaultResult; | ||||
|         } | ||||
| @@ -673,11 +653,8 @@ const SearchResults = new Lang.Class({ | ||||
|  | ||||
|     highlightDefault: function(highlight) { | ||||
|         this._highlightDefault = highlight; | ||||
|         if (this._defaultResult) { | ||||
|         if (this._defaultResult) | ||||
|             this._defaultResult.setSelected(highlight); | ||||
|             if (highlight) | ||||
|                 Util.ensureActorVisibleInScrollView(this._scrollView, this._defaultResult.actor); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     navigateFocus: function(direction) { | ||||
|   | ||||
| @@ -140,14 +140,13 @@ function _loadModes() { | ||||
|  | ||||
| function listModes() { | ||||
|     _loadModes(); | ||||
|     let id = Mainloop.idle_add(function() { | ||||
|     Mainloop.idle_add(function() { | ||||
|         let names = Object.getOwnPropertyNames(_modes); | ||||
|         for (let i = 0; i < names.length; i++) | ||||
|             if (_modes[names[i]].isPrimary) | ||||
|                 print(names[i]); | ||||
|         Mainloop.quit('listModes'); | ||||
|     }); | ||||
|     GLib.Source.set_name_by_id(id, '[gnome-shell] listModes'); | ||||
|     Mainloop.run('listModes'); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -69,7 +69,6 @@ const ScreenSaverIface = '<node> \ | ||||
| <signal name="ActiveChanged"> \ | ||||
|     <arg name="new_value" type="b" /> \ | ||||
| </signal> \ | ||||
| <signal name="WakeUpScreen" /> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| @@ -141,7 +140,12 @@ const GnomeShell = new Lang.Class({ | ||||
|         if (params['icon']) | ||||
|             icon = Gio.Icon.new_for_string(params['icon']); | ||||
|  | ||||
|         Main.osdWindowManager.show(monitorIndex, icon, params['label'], params['level']); | ||||
|         Main.osdWindow.setIcon(icon); | ||||
|         Main.osdWindow.setMonitor (monitorIndex); | ||||
|         Main.osdWindow.setLabel(params['label']); | ||||
|         Main.osdWindow.setLevel(params['level']); | ||||
|  | ||||
|         Main.osdWindow.show(); | ||||
|     }, | ||||
|  | ||||
|     FocusApp: function(id) { | ||||
| @@ -403,9 +407,6 @@ const ScreenSaverDBus = new Lang.Class({ | ||||
|         screenShield.connect('active-changed', Lang.bind(this, function(shield) { | ||||
|             this._dbusImpl.emit_signal('ActiveChanged', GLib.Variant.new('(b)', [shield.active])); | ||||
|         })); | ||||
|         screenShield.connect('wake-up-screen', Lang.bind(this, function(shield) { | ||||
|             this._dbusImpl.emit_signal('WakeUpScreen', null); | ||||
|         })); | ||||
|  | ||||
|         this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(ScreenSaverIface, this); | ||||
|         this._dbusImpl.export(Gio.DBus.session, '/org/gnome/ScreenSaver'); | ||||
|   | ||||
| @@ -103,7 +103,6 @@ const ATIndicator = new Lang.Class({ | ||||
|             return; | ||||
|  | ||||
|         this._syncMenuVisbilityIdle = Mainloop.idle_add(Lang.bind(this, this._syncMenuVisibility)); | ||||
|         GLib.Source.set_name_by_id(this._syncMenuVisbilityIdle, '[gnome-shell] this._syncMenuVisibility'); | ||||
|     }, | ||||
|  | ||||
|     _buildItemExtended: function(string, initial_value, writable, on_set) { | ||||
|   | ||||
| @@ -17,7 +17,6 @@ const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill'; | ||||
| const RfkillManagerInterface = '<node> \ | ||||
| <interface name="org.gnome.SettingsDaemon.Rfkill"> \ | ||||
| <property name="BluetoothAirplaneMode" type="b" access="readwrite" /> \ | ||||
| <property name="BluetoothHasAirplaneMode" type="b" access="read" /> \ | ||||
| </interface> \ | ||||
| </node>'; | ||||
|  | ||||
| @@ -59,7 +58,6 @@ const Indicator = new Lang.Class({ | ||||
|         this._model.connect('row-changed', Lang.bind(this, this._sync)); | ||||
|         this._model.connect('row-deleted', Lang.bind(this, this._sync)); | ||||
|         this._model.connect('row-inserted', Lang.bind(this, this._sync)); | ||||
|         Main.sessionMode.connect('updated', Lang.bind(this, this._sync)); | ||||
|         this._sync(); | ||||
|     }, | ||||
|  | ||||
| @@ -94,11 +92,9 @@ const Indicator = new Lang.Class({ | ||||
|  | ||||
|     _sync: function() { | ||||
|         let nDevices = this._getNConnectedDevices(); | ||||
|         let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter; | ||||
|  | ||||
|         this.menu.setSensitive(sensitive); | ||||
|         this._indicator.visible = nDevices > 0; | ||||
|         this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode; | ||||
|         this._item.actor.visible = !this._proxy.BluetoothAirplaneMode; | ||||
|  | ||||
|         if (nDevices > 0) | ||||
|             this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices", nDevices).format(nDevices); | ||||
|   | ||||
| @@ -4,10 +4,9 @@ const GLib = imports.gi.GLib; | ||||
| const Gio = imports.gi.Gio; | ||||
| const Lang = imports.lang; | ||||
|  | ||||
| const Main = imports.ui.main; | ||||
| const Shell = imports.gi.Shell; | ||||
| const PanelMenu = imports.ui.panelMenu; | ||||
| const PopupMenu = imports.ui.popupMenu; | ||||
| const Shell = imports.gi.Shell; | ||||
|  | ||||
| const LOCATION_SCHEMA = 'org.gnome.shell.location'; | ||||
| const MAX_ACCURACY_LEVEL = 'max-accuracy-level'; | ||||
| @@ -56,8 +55,8 @@ const Indicator = new Lang.Class({ | ||||
|         this._agent = Gio.DBusExportedObject.wrapJSObject(AgentIface, this); | ||||
|         this._agent.export(Gio.DBus.system, '/org/freedesktop/GeoClue2/Agent'); | ||||
|  | ||||
|         this._item.status.text = _("Enabled"); | ||||
|         this._onOffAction = this._item.menu.addAction(_("Disable"), Lang.bind(this, this._onOnOffAction)); | ||||
|         this._item.status.text = _("On"); | ||||
|         this._onOffAction = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, this._onOnOffAction)); | ||||
|  | ||||
|         this.menu.addMenuItem(this._item); | ||||
|  | ||||
| @@ -66,8 +65,6 @@ const Indicator = new Lang.Class({ | ||||
|                                            0, | ||||
|                                            Lang.bind(this, this._connectToGeoclue), | ||||
|                                            Lang.bind(this, this._onGeoclueVanished)); | ||||
|         Main.sessionMode.connect('updated', Lang.bind(this, this._onSessionUpdated)); | ||||
|         this._onSessionUpdated(); | ||||
|         this._onMaxAccuracyLevelChanged(); | ||||
|         this._connectToGeoclue(); | ||||
|     }, | ||||
| @@ -97,7 +94,6 @@ const Indicator = new Lang.Class({ | ||||
|         } | ||||
|  | ||||
|         this._indicator.visible = this._proxy.InUse; | ||||
|         this._updateMenuLabels(); | ||||
|     }, | ||||
|  | ||||
|     _connectToGeoclue: function() { | ||||
| @@ -123,7 +119,7 @@ const Indicator = new Lang.Class({ | ||||
|         this._propertiesChangedId = this._proxy.connect('g-properties-changed', | ||||
|                                                         Lang.bind(this, this._onGeocluePropsChanged)); | ||||
|  | ||||
|         this._availableAccuracyLevel = this._proxy.AvailableAccuracyLevel; | ||||
|         this._updateMenu(); | ||||
|         this._syncIndicator(); | ||||
|  | ||||
|         this._proxy.AddAgentRemote('gnome-shell', Lang.bind(this, this._onAgentRegistered)); | ||||
| @@ -154,23 +150,14 @@ const Indicator = new Lang.Class({ | ||||
|             this._settings.set_enum(MAX_ACCURACY_LEVEL, 0); | ||||
|     }, | ||||
|  | ||||
|     _onSessionUpdated: function() { | ||||
|         let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter; | ||||
|         this.menu.setSensitive(sensitive); | ||||
|     }, | ||||
|  | ||||
|     _updateMenuLabels: function() { | ||||
|         if (this._getMaxAccuracyLevel() == 0) { | ||||
|             this._item.status.text = _("Disabled"); | ||||
|             this._onOffAction.label.text = _("Enable"); | ||||
|         } else { | ||||
|             this._item.status.text = this._indicator.visible ? _("In Use") : _("Enabled"); | ||||
|             this._onOffAction.label.text = _("Disable"); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     _onMaxAccuracyLevelChanged: function() { | ||||
|         this._updateMenuLabels(); | ||||
|         if (this._getMaxAccuracyLevel() == 0) { | ||||
|             this._item.status.text = _("Off"); | ||||
|             this._onOffAction.label.text = _("Turn On"); | ||||
|         } else { | ||||
|             this._item.status.text = _("On"); | ||||
|             this._onOffAction.label.text = _("Turn Off"); | ||||
|         } | ||||
|  | ||||
|         // Gotta ensure geoclue is up and we are registered as agent to it | ||||
|         // before we emit the notify for this property change. | ||||
| @@ -187,12 +174,17 @@ const Indicator = new Lang.Class({ | ||||
|         this._agent.emit_property_changed('MaxAccuracyLevel', variant); | ||||
|     }, | ||||
|  | ||||
|     _updateMenu: function() { | ||||
|         this._availableAccuracyLevel = this._proxy.AvailableAccuracyLevel; | ||||
|         this.menu.actor.visible = (this._availableAccuracyLevel != 0); | ||||
|     }, | ||||
|  | ||||
|     _onGeocluePropsChanged: function(proxy, properties) { | ||||
|         let unpacked = properties.deep_unpack(); | ||||
|         if ("InUse" in unpacked) | ||||
|             this._syncIndicator(); | ||||
|         if ("AvailableAccuracyLevel" in unpacked) | ||||
|             this._availableAccuracyLevel = this._proxy.AvailableAccuracyLevel; | ||||
|             this._updateMenu(); | ||||
|     } | ||||
| }); | ||||
|  | ||||
|   | ||||
| @@ -293,13 +293,8 @@ const NMConnectionSection = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     removeConnection: function(connection) { | ||||
|         let uuid = connection.get_uuid(); | ||||
|         let item = this._connectionItems.get(uuid); | ||||
|         if (item == undefined) | ||||
|             return; | ||||
|  | ||||
|         item.destroy(); | ||||
|         this._connectionItems.delete(uuid); | ||||
|         this._connectionItems.get(connection.get_uuid()).destroy(); | ||||
|         this._connectionItems.delete(connection.get_uuid()); | ||||
|  | ||||
|         let pos = this._connections.indexOf(connection); | ||||
|         this._connections.splice(pos, 1); | ||||
| @@ -423,18 +418,18 @@ const NMConnectionDevice = new Lang.Class({ | ||||
|         case NetworkManager.DeviceState.UNMANAGED: | ||||
|             /* Translators: this is for network devices that are physically present but are not | ||||
|                under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
|             return _("Unmanaged"); | ||||
|             return _("unmanaged"); | ||||
|         case NetworkManager.DeviceState.DEACTIVATING: | ||||
|             return _("Disconnecting"); | ||||
|             return _("disconnecting..."); | ||||
|         case NetworkManager.DeviceState.PREPARE: | ||||
|         case NetworkManager.DeviceState.CONFIG: | ||||
|         case NetworkManager.DeviceState.IP_CONFIG: | ||||
|         case NetworkManager.DeviceState.IP_CHECK: | ||||
|         case NetworkManager.DeviceState.SECONDARIES: | ||||
|             return _("Connecting"); | ||||
|             return _("connecting..."); | ||||
|         case NetworkManager.DeviceState.NEED_AUTH: | ||||
|             /* Translators: this is for network connections that require some kind of key or password */ | ||||
|             return _("Authentication required"); | ||||
|             return _("authentication required"); | ||||
|         case NetworkManager.DeviceState.UNAVAILABLE: | ||||
|             // This state is actually a compound of various states (generically unavailable, | ||||
|             // firmware missing), that are exposed by different properties (whose state may | ||||
| @@ -442,13 +437,13 @@ const NMConnectionDevice = new Lang.Class({ | ||||
|             if (this._device.firmware_missing) { | ||||
|                 /* Translators: this is for devices that require some kind of firmware or kernel | ||||
|                    module, which is missing */ | ||||
|                 return _("Firmware missing"); | ||||
|                 return _("firmware missing"); | ||||
|             } | ||||
|             /* Translators: this is for a network device that cannot be activated (for example it | ||||
|                is disabled by rfkill, or it has no coverage */ | ||||
|             return _("Unavailable"); | ||||
|             return _("unavailable"); | ||||
|         case NetworkManager.DeviceState.FAILED: | ||||
|             return _("Connection failed"); | ||||
|             return _("connection failed"); | ||||
|         default: | ||||
|             log('Device state invalid, is %d'.format(this._device.state)); | ||||
|             return 'invalid'; | ||||
| @@ -1170,10 +1165,6 @@ const NMDeviceWireless = new Lang.Class({ | ||||
|             this._client.disconnect(this._wirelessHwEnabledChangedId); | ||||
|             this._wirelessHwEnabledChangedId = 0; | ||||
|         } | ||||
|         if (this._dialog) { | ||||
|             this._dialog.destroy(); | ||||
|             this._dialog = null; | ||||
|         } | ||||
|  | ||||
|         this.item.destroy(); | ||||
|     }, | ||||
| @@ -1866,7 +1857,8 @@ const NMApplet = new Lang.Class({ | ||||
|  | ||||
|     _updateIcon: function() { | ||||
|         if (!this._client.networking_enabled || !this._mainConnection) { | ||||
|             this._primaryIndicator.visible = false; | ||||
|             this._primaryIndicator.icon_name = 'network-offline-symbolic'; | ||||
|             this._primaryIndicator.visible = true; | ||||
|         } else { | ||||
|             let dev = this._mainConnection._primaryDevice; | ||||
|             this._primaryIndicator.visible = (dev != null); | ||||
|   | ||||
| @@ -83,7 +83,7 @@ const Indicator = new Lang.Class({ | ||||
|         this._item.icon.icon_name = 'airplane-mode-symbolic'; | ||||
|         this._item.status.text = _("On"); | ||||
|         this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() { | ||||
|             this._manager.airplaneMode = false; | ||||
|             this._proxy.AirplaneMode = false; | ||||
|         })); | ||||
|         this._item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop'); | ||||
|         this.menu.addMenuItem(this._item); | ||||
|   | ||||
| @@ -161,12 +161,11 @@ const SwitcherPopup = new Lang.Class({ | ||||
|         // disturbed by the popup briefly flashing. | ||||
|         this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT, | ||||
|                                                            Lang.bind(this, function () { | ||||
|                                                                Main.osdWindowManager.hideAll(); | ||||
|                                                                Main.osdWindow.cancel(); | ||||
|                                                                this.actor.opacity = 255; | ||||
|                                                                this._initialDelayTimeoutId = 0; | ||||
|                                                                return GLib.SOURCE_REMOVE; | ||||
|                                                            })); | ||||
|         GLib.Source.set_name_by_id(this._initialDelayTimeoutId, '[gnome-shell] Main.osdWindow.cancel'); | ||||
|         return true; | ||||
|     }, | ||||
|  | ||||
| @@ -251,7 +250,6 @@ const SwitcherPopup = new Lang.Class({ | ||||
|             Mainloop.source_remove(this._motionTimeoutId); | ||||
|  | ||||
|         this._motionTimeoutId = Mainloop.timeout_add(DISABLE_HOVER_TIMEOUT, Lang.bind(this, this._mouseTimedOut)); | ||||
|         GLib.Source.set_name_by_id(this._motionTimeoutId, '[gnome-shell] this._mouseTimedOut'); | ||||
|     }, | ||||
|  | ||||
|     _mouseTimedOut: function() { | ||||
|   | ||||
| @@ -53,8 +53,8 @@ const UnlockDialog = new Lang.Class({ | ||||
|  | ||||
|         this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY); | ||||
|         this._authPrompt.connect('failed', Lang.bind(this, this._fail)); | ||||
|         this._authPrompt.connect('cancelled', Lang.bind(this, this._fail)); | ||||
|         this._authPrompt.connect('reset', Lang.bind(this, this._onReset)); | ||||
|         this._authPrompt.connect('needs-username', Lang.bind(this, this._onNeedsUserName)); | ||||
|         this._authPrompt.setPasswordChar('\u25cf'); | ||||
|         this._authPrompt.nextButton.label = _("Unlock"); | ||||
|  | ||||
| @@ -101,6 +101,10 @@ const UnlockDialog = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onReset: function(authPrompt, beginRequest) { | ||||
|         this._authPrompt.begin(); | ||||
|     }, | ||||
|  | ||||
|     _onNeedsUserName: function() { | ||||
|         let userName; | ||||
|         if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) { | ||||
|             this._authPrompt.setUser(this._user); | ||||
| @@ -109,7 +113,7 @@ const UnlockDialog = new Lang.Class({ | ||||
|             userName = null; | ||||
|         } | ||||
|  | ||||
|         this._authPrompt.begin({ userName: userName }); | ||||
|         this._authPrompt.gotUserName(userName); | ||||
|     }, | ||||
|  | ||||
|     _escape: function() { | ||||
|   | ||||
| @@ -383,11 +383,9 @@ const ViewSelector = new Lang.Class({ | ||||
|                 this._iconClickedId = this._entry.connect('secondary-icon-clicked', | ||||
|                     Lang.bind(this, this.reset)); | ||||
|  | ||||
|             if (this._searchTimeoutId == 0) { | ||||
|             if (this._searchTimeoutId == 0) | ||||
|                 this._searchTimeoutId = Mainloop.timeout_add(150, | ||||
|                     Lang.bind(this, this._doSearch)); | ||||
|                 GLib.Source.set_name_by_id(this._searchTimeoutId, '[gnome-shell] this._doSearch'); | ||||
|             } | ||||
|         } else { | ||||
|             if (this._iconClickedId > 0) { | ||||
|                 this._entry.disconnect(this._iconClickedId); | ||||
|   | ||||
| @@ -82,7 +82,6 @@ const DisplayChangeDialog = new Lang.Class({ | ||||
|                                         { expand: false, x_fill: false, x_align: St.Align.END }); | ||||
|  | ||||
|         this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick)); | ||||
|         GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick'); | ||||
|     }, | ||||
|  | ||||
|     close: function(timestamp) { | ||||
| @@ -272,20 +271,18 @@ const WorkspaceTracker = new Lang.Class({ | ||||
|             this._queueCheckWorkspaces(); | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         })); | ||||
|         GLib.Source.set_name_by_id(workspace._keepAliveId, '[gnome-shell] this._queueCheckWorkspaces'); | ||||
|     }, | ||||
|  | ||||
|     _windowRemoved: function(workspace, window) { | ||||
|         workspace._lastRemovedWindow = window; | ||||
|         this._queueCheckWorkspaces(); | ||||
|         let id = Mainloop.timeout_add(LAST_WINDOW_GRACE_TIME, Lang.bind(this, function() { | ||||
|         Mainloop.timeout_add(LAST_WINDOW_GRACE_TIME, Lang.bind(this, function() { | ||||
|             if (workspace._lastRemovedWindow == window) { | ||||
|                 workspace._lastRemovedWindow = null; | ||||
|                 this._queueCheckWorkspaces(); | ||||
|             } | ||||
|             return GLib.SOURCE_REMOVE; | ||||
|         })); | ||||
|         GLib.Source.set_name_by_id(id, '[gnome-shell] this._queueCheckWorkspaces'); | ||||
|     }, | ||||
|  | ||||
|     _windowLeftMonitor: function(metaScreen, monitorIndex, metaWin) { | ||||
| @@ -507,10 +504,6 @@ const WindowManager = new Lang.Class({ | ||||
|                                         Shell.KeyBindingMode.NORMAL | | ||||
|                                         Shell.KeyBindingMode.OVERVIEW, | ||||
|                                         Lang.bind(this, this._showWorkspaceSwitcher)); | ||||
|         this.setCustomKeybindingHandler('switch-to-workspace-last', | ||||
|                                         Shell.KeyBindingMode.NORMAL | | ||||
|                                         Shell.KeyBindingMode.OVERVIEW, | ||||
|                                         Lang.bind(this, this._showWorkspaceSwitcher)); | ||||
|         this.setCustomKeybindingHandler('move-to-workspace-left', | ||||
|                                         Shell.KeyBindingMode.NORMAL | | ||||
|                                         Shell.KeyBindingMode.OVERVIEW, | ||||
| @@ -611,9 +604,6 @@ const WindowManager = new Lang.Class({ | ||||
|         this.setCustomKeybindingHandler('move-to-workspace-12', | ||||
|                                         Shell.KeyBindingMode.NORMAL, | ||||
|                                         Lang.bind(this, this._showWorkspaceSwitcher)); | ||||
|         this.setCustomKeybindingHandler('move-to-workspace-last', | ||||
|                                         Shell.KeyBindingMode.NORMAL, | ||||
|                                         Lang.bind(this, this._showWorkspaceSwitcher)); | ||||
|         this.setCustomKeybindingHandler('switch-applications', | ||||
|                                         Shell.KeyBindingMode.NORMAL, | ||||
|                                         Lang.bind(this, this._startAppSwitcher)); | ||||
| @@ -1215,10 +1205,7 @@ const WindowManager = new Lang.Class({ | ||||
|         let newWs; | ||||
|         let direction; | ||||
|  | ||||
|         if (target == 'last') { | ||||
|             direction = Meta.MotionDirection.DOWN; | ||||
|             newWs = screen.get_workspace_by_index(screen.n_workspaces - 1); | ||||
|         } else if (isNaN(target)) { | ||||
|         if (isNaN(target)) { | ||||
|             direction = Meta.MotionDirection[target.toUpperCase()]; | ||||
|             newWs = screen.get_active_workspace().get_neighbor(direction); | ||||
|         } else if (target > 0) { | ||||
|   | ||||
| @@ -8,8 +8,6 @@ const Meta = imports.gi.Meta; | ||||
| const Pango = imports.gi.Pango; | ||||
| const Shell = imports.gi.Shell; | ||||
| const St = imports.gi.St; | ||||
| const Atk = imports.gi.Atk; | ||||
|  | ||||
| const Signals = imports.signals; | ||||
|  | ||||
| const DND = imports.ui.dnd; | ||||
| @@ -123,7 +121,6 @@ const WindowClone = new Lang.Class({ | ||||
|         // the hierarchy that is sized to only the visible portion. | ||||
|         this.actor = new St.Widget({ reactive: true, | ||||
|                                      can_focus: true, | ||||
|                                      accessible_role: Atk.Role.PUSH_BUTTON, | ||||
|                                      layout_manager: new WindowCloneLayout() }); | ||||
|  | ||||
|         this.actor.add_child(this._windowClone); | ||||
| @@ -427,7 +424,6 @@ const WindowOverlay = new Lang.Class({ | ||||
|                                    text: metaWindow.title }); | ||||
|         title.clutter_text.ellipsize = Pango.EllipsizeMode.END; | ||||
|         title._spacing = 0; | ||||
|         windowClone.actor.label_actor = title; | ||||
|  | ||||
|         this._updateCaptionId = metaWindow.connect('notify::title', | ||||
|             Lang.bind(this, function(w) { | ||||
| @@ -594,12 +590,11 @@ const WindowOverlay = new Lang.Class({ | ||||
|  | ||||
|             // use an idle handler to avoid mapping problems - | ||||
|             // see comment in Workspace._windowAdded | ||||
|             let id = Mainloop.idle_add(Lang.bind(this, | ||||
|                                             function() { | ||||
|                                                 this._windowClone.emit('selected'); | ||||
|                                                 return GLib.SOURCE_REMOVE; | ||||
|                                             })); | ||||
|             GLib.Source.set_name_by_id(id, '[gnome-shell] this._windowClone.emit'); | ||||
|             Mainloop.idle_add(Lang.bind(this, | ||||
|                                         function() { | ||||
|                                             this._windowClone.emit('selected'); | ||||
|                                             return GLib.SOURCE_REMOVE; | ||||
|                                         })); | ||||
|         } | ||||
|     }, | ||||
|  | ||||
| @@ -670,10 +665,8 @@ const WindowOverlay = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _onLeave: function() { | ||||
|         if (this._idleToggleCloseId == 0) { | ||||
|         if (this._idleToggleCloseId == 0) | ||||
|             this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton)); | ||||
|             GLib.Source.set_name_by_id(this._idleToggleCloseId, '[gnome-shell] this._idleToggleCloseButton'); | ||||
|         } | ||||
|         return Clutter.EVENT_PROPAGATE; | ||||
|     }, | ||||
|  | ||||
| @@ -1421,7 +1414,6 @@ const Workspace = new Lang.Class({ | ||||
|         this._currentLayout = null; | ||||
|         this._repositionWindowsId = Mainloop.timeout_add(750, | ||||
|             Lang.bind(this, this._delayedWindowRepositioning)); | ||||
|         GLib.Source.set_name_by_id(this._repositionWindowsId, '[gnome-shell] this._delayedWindowRepositioning'); | ||||
|     }, | ||||
|  | ||||
|     _doAddWindow : function(metaWin) { | ||||
| @@ -1433,15 +1425,14 @@ const Workspace = new Lang.Class({ | ||||
|         if (!win) { | ||||
|             // Newly-created windows are added to a workspace before | ||||
|             // the compositor finds out about them... | ||||
|             let id = Mainloop.idle_add(Lang.bind(this, | ||||
|                                             function () { | ||||
|                                                 if (this.actor && | ||||
|                                                     metaWin.get_compositor_private() && | ||||
|                                                     metaWin.get_workspace() == this.metaWorkspace) | ||||
|                                                     this._doAddWindow(metaWin); | ||||
|                                                 return GLib.SOURCE_REMOVE; | ||||
|                                             })); | ||||
|             GLib.Source.set_name_by_id(id, '[gnome-shell] this._doAddWindow'); | ||||
|             Mainloop.idle_add(Lang.bind(this, | ||||
|                                         function () { | ||||
|                                             if (this.actor && | ||||
|                                                 metaWin.get_compositor_private() && | ||||
|                                                 metaWin.get_workspace() == this.metaWorkspace) | ||||
|                                                 this._doAddWindow(metaWin); | ||||
|                                             return GLib.SOURCE_REMOVE; | ||||
|                                         })); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -52,7 +52,6 @@ const WorkspaceSwitcherPopup = new Lang.Class({ | ||||
|         this._globalSignals.push(global.screen.connect('workspace-removed', Lang.bind(this, this._redisplay))); | ||||
|  | ||||
|         this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout)); | ||||
|         GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout'); | ||||
|     }, | ||||
|  | ||||
|     _getPreferredHeight : function (actor, forWidth, alloc) { | ||||
| @@ -146,7 +145,6 @@ const WorkspaceSwitcherPopup = new Lang.Class({ | ||||
|         if (this._timeoutId != 0) | ||||
|             Mainloop.source_remove(this._timeoutId); | ||||
|         this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout)); | ||||
|         GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout'); | ||||
|         this._show(); | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -386,15 +386,14 @@ const WorkspaceThumbnail = new Lang.Class({ | ||||
|         if (!win) { | ||||
|             // Newly-created windows are added to a workspace before | ||||
|             // the compositor finds out about them... | ||||
|             let id = Mainloop.idle_add(Lang.bind(this, | ||||
|                                        function () { | ||||
|             Mainloop.idle_add(Lang.bind(this, | ||||
|                                         function () { | ||||
|                                             if (!this._removed && | ||||
|                                                 metaWin.get_compositor_private() && | ||||
|                                                 metaWin.get_workspace() == this.metaWorkspace) | ||||
|                                                 this._doAddWindow(metaWin); | ||||
|                                             return GLib.SOURCE_REMOVE; | ||||
|                                         })); | ||||
|             GLib.Source.set_name_by_id(id, '[gnome-shell] this._doAddWindow'); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| @@ -903,10 +902,7 @@ const ThumbnailsBox = new Lang.Class({ | ||||
|     }, | ||||
|  | ||||
|     _workspacesChanged: function() { | ||||
|         let validThumbnails = this._thumbnails.filter(function(t) { | ||||
|             return t.state <= ThumbnailState.NORMAL; | ||||
|         }); | ||||
|         let oldNumWorkspaces = validThumbnails.length; | ||||
|         let oldNumWorkspaces = this._thumbnails.length; | ||||
|         let newNumWorkspaces = global.screen.n_workspaces; | ||||
|         let active = global.screen.get_active_workspace_index(); | ||||
|  | ||||
|   | ||||
| @@ -33,7 +33,6 @@ id | ||||
| it | ||||
| ja | ||||
| kk | ||||
| km | ||||
| kn | ||||
| ko | ||||
| ku | ||||
|   | ||||
							
								
								
									
										258
									
								
								po/ar.po
									
									
									
									
									
								
							
							
						
						
									
										258
									
								
								po/ar.po
									
									
									
									
									
								
							| @@ -2,15 +2,15 @@ | ||||
| # This file is distributed under the same license as the PACKAGE package. | ||||
| # Khaled Hosny <khaledhosny@eglug.org>, 2009, 2010, 2011, 2012, 2013, 2014. | ||||
| # Muhammed Abd-ulaziz Abd-ullah <thenubianmuha_idrecy@yahoo.co.uk>, 2012. | ||||
| # Abderrahim Kitouni <a.kitouni@gmail.com>, 2012, 2014. | ||||
| # Abderrahim Kitouni <a.kitouni@gmail.com>, 2012. | ||||
| # Ibrahim Saed <ibraheem5000@gmail.com>, 2012. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: HEAD\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2014-03-26 01:34+0200\n" | ||||
| "PO-Revision-Date: 2014-03-21 11:05+0100\n" | ||||
| "Last-Translator: Abderrahim Kitouni <a.kitouni@gmail.com>\n" | ||||
| "POT-Creation-Date: 2014-02-28 22:55+0200\n" | ||||
| "PO-Revision-Date: 2014-02-28 23:08+0200\n" | ||||
| "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" | ||||
| "Language-Team: Arabic <doc@arabeyes.org>\n" | ||||
| "Language: ar\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -18,7 +18,7 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " | ||||
| "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" | ||||
| "X-Generator: Virtaal 0.7.1\n" | ||||
| "X-Generator: Virtaal 1.0.0-beta1\n" | ||||
| "&& n%100<=10 ? 3: n%100>=11 ? 4 : 5;\n" | ||||
| "X-Project-Style: gnome\n" | ||||
|  | ||||
| @@ -210,7 +210,7 @@ msgid "" | ||||
| "Configures the maximum level of location accuracy applications are allowed " | ||||
| "to see. Valid options are 'off' (disable location tracking), 'country', " | ||||
| "'city', 'neighborhood', 'street', and 'exact' (typically requires GPS " | ||||
| "receiver). Please keep in mind that this only controls what GeoClue will " | ||||
| "receiver). Please keep in mind that this only controls what Geoclue will " | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| @@ -277,7 +277,7 @@ msgstr "اختر امتدادا لضبطه من القائمة أعلاه." | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:883 | ||||
| msgid "Cancel" | ||||
| msgstr "ألغِ" | ||||
|  | ||||
| @@ -295,25 +295,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "ادخل" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "أغلق الجلسة" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "غير مدرج؟" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:611 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(مثلا مستخدم أو %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "اسم المستخدم: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:917 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "نافذة الولوج" | ||||
|  | ||||
| @@ -350,15 +350,15 @@ msgstr "شائعة" | ||||
| msgid "All" | ||||
| msgstr "الكل" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1555 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "نافذة جديدة" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1577 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "أزِل من المفضّلة" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1583 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "أضِف إلى المفضّلة" | ||||
|  | ||||
| @@ -501,44 +501,44 @@ msgstr "السبت" | ||||
| msgid "calendar:MY" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "الشهر السابق" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "الشهر التالي" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "الجدول خال" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A %d %B" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A %d %B %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "اليوم" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "غدا" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "هذا الأسبوع" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "الأسبوع القادم" | ||||
|  | ||||
| @@ -571,8 +571,8 @@ msgstr "كلمة السرّ:" | ||||
| msgid "Type again:" | ||||
| msgstr "أدخلها ثانية:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 | ||||
| #: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 | ||||
| msgid "Connect" | ||||
| msgstr "اتصل" | ||||
|  | ||||
| @@ -697,7 +697,7 @@ msgstr "%H:%M" | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:962 | ||||
| msgid "Yesterday, %H∶%M" | ||||
| msgstr "بالأمس، %H∶%M" | ||||
| msgstr "بالأمس، %H:%M" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 24h format. i.e. "Monday, 14:30" */ | ||||
| @@ -717,7 +717,7 @@ msgstr "%d %B، %H:%M" | ||||
| #. i.e. "May 25 2012, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:982 | ||||
| msgid "%B %d %Y, %H∶%M" | ||||
| msgstr "%d %B، %H:%M" | ||||
| msgstr "%d %B %Y، %H:%M" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:991 | ||||
| @@ -728,27 +728,27 @@ msgstr "%l:%M %p" | ||||
| #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:998 | ||||
| msgid "Yesterday, %l∶%M %p" | ||||
| msgstr "بالأمس، %l∶%M %p" | ||||
| msgstr "بالأمس، %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1005 | ||||
| msgid "%A, %l∶%M %p" | ||||
| msgstr "%l:%M %p" | ||||
| msgstr "%A، %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the month name and day number | ||||
| #. followed by a time string in 12h format. | ||||
| #. i.e. "May 25, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1012 | ||||
| msgid "%B %d, %l∶%M %p" | ||||
| msgstr "%d %B، %H:%M" | ||||
| msgstr "%d %B، %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the month name, day number, year | ||||
| #. number followed by a time string in 12h format. | ||||
| #. i.e. "May 25 2012, 2:30 pm"*/ | ||||
| #: ../js/ui/components/telepathyClient.js:1018 | ||||
| msgid "%B %d %Y, %l∶%M %p" | ||||
| msgstr "%d %B %Y، %l∶%M %p" | ||||
| msgstr "%d %B %Y، %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. */ | ||||
| @@ -931,7 +931,7 @@ msgstr "تعذّر الاتصال مع %s" | ||||
| msgid "View account" | ||||
| msgstr "أظهر الحساب" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "السبب غير معروف" | ||||
|  | ||||
| @@ -947,22 +947,22 @@ msgstr "أظهر التطبيقات" | ||||
| msgid "Dash" | ||||
| msgstr "الشريط" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "افتح التقويم" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "افتح الساعات" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "إعدادات الوقت و التّاريخ" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A %e %B، %Y" | ||||
|  | ||||
| @@ -978,6 +978,7 @@ msgid "Log Out" | ||||
| msgstr "خروج" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:69 | ||||
| #, javascript-format | ||||
| msgid "%s will be logged out automatically in %d second." | ||||
| msgid_plural "%s will be logged out automatically in %d seconds." | ||||
| msgstr[0] "سيُخرج %s تلقائيا الآن." | ||||
| @@ -988,6 +989,7 @@ msgstr[4] "سيُخرج %s تلقائيا بعد %d ثانية." | ||||
| msgstr[5] "سيُخرج %s تلقائيا بعد %d ثانية." | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:74 | ||||
| #, javascript-format | ||||
| msgid "You will be logged out automatically in %d second." | ||||
| msgid_plural "You will be logged out automatically in %d seconds." | ||||
| msgstr[0] "ستُخرج تلقائيا الآن." | ||||
| @@ -1013,6 +1015,7 @@ msgid "Install Updates & Power Off" | ||||
| msgstr "ثبّت التحديثات ثم أطفئ" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:89 | ||||
| #, javascript-format | ||||
| msgid "The system will power off automatically in %d second." | ||||
| msgid_plural "The system will power off automatically in %d seconds." | ||||
| msgstr[0] "سيُطفأ النظام تلقائيا الآن." | ||||
| @@ -1043,6 +1046,7 @@ msgid "Restart" | ||||
| msgstr "إعادة التشغيل" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:107 | ||||
| #, javascript-format | ||||
| msgid "The system will restart automatically in %d second." | ||||
| msgid_plural "The system will restart automatically in %d seconds." | ||||
| msgstr[0] "سيُعاد تشغيل النظام تلقائيا الآن." | ||||
| @@ -1058,6 +1062,7 @@ msgid "Restart & Install Updates" | ||||
| msgstr "أعد التشغيل و ثبّت التحديثات" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:123 | ||||
| #, javascript-format | ||||
| msgid "The system will automatically restart and install updates in %d second." | ||||
| msgid_plural "" | ||||
| "The system will automatically restart and install updates in %d seconds." | ||||
| @@ -1120,25 +1125,25 @@ msgstr "هل تريد تنزيل و تثبيت ”%s“ من extensions.gnome.o | ||||
| msgid "Keyboard" | ||||
| msgstr "لوحة المفاتيح" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "لا امتدادات مثبّتة" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "لم يصدر %s أي خطأ." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "أخفِ الأخطاء" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "اظهر الأخطاء" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "مفعّل" | ||||
|  | ||||
| @@ -1146,28 +1151,28 @@ msgstr "مفعّل" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/network.js:555 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "معطّل" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "خطأ" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "قديم" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "ينزّل" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "اعرض المصدر" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "صفحة الوب" | ||||
|  | ||||
| @@ -1203,7 +1208,7 @@ msgstr "لا رسائل" | ||||
| msgid "Message Tray" | ||||
| msgstr "لوحة الرسائل" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "معلومات النظام" | ||||
|  | ||||
| @@ -1213,6 +1218,7 @@ msgid "Unknown" | ||||
| msgstr "غير معروف" | ||||
|  | ||||
| #: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151 | ||||
| #, javascript-format | ||||
| msgid "%d new message" | ||||
| msgid_plural "%d new messages" | ||||
| msgstr[0] "لا رسائل جديدة" | ||||
| @@ -1222,11 +1228,11 @@ msgstr[3] "%d رسائل جديدة" | ||||
| msgstr[4] "%d رسالة جديدة" | ||||
| msgstr[5] "%d رسالة جديدة" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "تراجع" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "نظرة عامة" | ||||
|  | ||||
| @@ -1234,7 +1240,7 @@ msgstr "نظرة عامة" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "اكتب نصا للبحث عنه…" | ||||
|  | ||||
| @@ -1271,6 +1277,7 @@ msgid "%A, %B %d" | ||||
| msgstr "%A، %d %B" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:153 | ||||
| #, javascript-format | ||||
| msgid "%d new notification" | ||||
| msgid_plural "%d new notifications" | ||||
| msgstr[0] "لا تنبيهات جديدة" | ||||
| @@ -1280,27 +1287,27 @@ msgstr[3] "%d تنبيهات جديدة" | ||||
| msgstr[4] "%d تنبيها جديدا" | ||||
| msgstr[5] "%d تنبيه جديد" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "أوصِد" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "تحتاج جنوم إلى إيصاد الشاشة" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "تعذّر الإيصاد" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "منع تطبيق الإيصاد" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "يبحث…" | ||||
|  | ||||
| #: ../js/ui/search.js:646 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "لا نتائج." | ||||
|  | ||||
| @@ -1372,23 +1379,24 @@ msgstr "تباين عال" | ||||
| msgid "Large Text" | ||||
| msgstr "نص كبير" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "بلوتوث" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/location.js:60 | ||||
| #: ../js/ui/status/location.js:167 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 | ||||
| #: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "أوقف" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "إعدادات بلوتوث" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "لا أجهزة موصّلة" | ||||
| @@ -1398,7 +1406,7 @@ msgstr[3] "%d أجهزة موصّلة" | ||||
| msgstr[4] "%d جهازًا موصّلا" | ||||
| msgstr[5] "%d جهاز موصّل" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 | ||||
| msgid "Not Connected" | ||||
| msgstr "غير متّصل" | ||||
|  | ||||
| @@ -1410,21 +1418,21 @@ msgstr "السطوع" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "أظهر تخطيط لوحة المفاتيح" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "المكان" | ||||
|  | ||||
| #: ../js/ui/status/location.js:59 ../js/ui/status/location.js:166 | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "مفعّل" | ||||
|  | ||||
| #: ../js/ui/status/location.js:163 ../js/ui/status/network.js:420 | ||||
| #: ../js/ui/status/network.js:1260 ../js/ui/status/network.js:1464 | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:246 | ||||
| #: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 | ||||
| msgid "Off" | ||||
| msgstr "مغلق" | ||||
|  | ||||
| #: ../js/ui/status/location.js:164 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1235 | ||||
| msgid "Turn On" | ||||
| msgstr "شغّل" | ||||
|  | ||||
| @@ -1432,138 +1440,134 @@ msgstr "شغّل" | ||||
| msgid "<unknown>" | ||||
| msgstr "<غير معروفة>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| msgid "Connected" | ||||
| msgstr "مُتصل" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:431 | ||||
| msgid "unmanaged" | ||||
| msgstr "غير مُدار" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:433 | ||||
| msgid "disconnecting..." | ||||
| msgstr "يقطع الاتّصال..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 | ||||
| msgid "connecting..." | ||||
| msgstr "يتّصل..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:442 ../js/ui/status/network.js:1366 | ||||
| msgid "authentication required" | ||||
| msgstr "الاستيثاق مطلوب" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:450 | ||||
| msgid "firmware missing" | ||||
| msgstr "البرمجية الثابتة (Firmware) غير موجودة" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:454 | ||||
| msgid "unavailable" | ||||
| msgstr "غير متاح" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 | ||||
| msgid "connection failed" | ||||
| msgstr "فشل الاتصال" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:472 | ||||
| msgid "Wired Settings" | ||||
| msgstr "إعدادات الاتصال السلكي" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "إعدادات شبكة الهاتف المحمول" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "العتاد مُعَطَّل" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:600 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "استخدمه اتّصالًا بالإنترنت" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:781 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "وضع الطائرة مُفعّل" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "الاتصال اللاسلكي مُعطّل في وضع الطائرة." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "عطّل وضع الطائرة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:792 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "الاتصال اللاسلكي مغلق" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:793 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "تحتاج إلى تشغيل الاتصال اللاسلكي للاتصال بالشبكة." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:794 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "شغّل الاتصال اللاسلكي" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:819 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "الشبكات اللاسلكية" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:821 | ||||
| msgid "Select a network" | ||||
| msgstr "اختر شبكة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:850 | ||||
| msgid "No Networks" | ||||
| msgstr "لا شبكات" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "استخدم زر العتاد للإغلاق" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1141 | ||||
| msgid "Select Network" | ||||
| msgstr "اختر شبكة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1147 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "إعدادات الاتصال اللاسلكي" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1252 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "نقطة الاتصال نشطة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1255 | ||||
| msgid "Connecting" | ||||
| msgstr "يتّصل" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "إعدادات الشّبكة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1436 | ||||
| msgid "VPN Settings" | ||||
| msgstr "إعدادات شخف (VPN)" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1455 | ||||
| msgid "VPN" | ||||
| msgstr "شخف (VPN)" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "مدير الشبكة" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "فشل الاتصال" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "فشل تفعيل اتصال الشبكة" | ||||
|  | ||||
| @@ -1582,12 +1586,12 @@ msgstr "يَحسِب…" | ||||
| #: ../js/ui/status/power.js:86 | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Remaining (%d%%)" | ||||
| msgstr "بقي %d∶%02d (%d%%)" | ||||
| msgstr "بقي %d:%02d (%d%%)" | ||||
|  | ||||
| #: ../js/ui/status/power.js:91 | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Until Full (%d%%)" | ||||
| msgstr "بقي على الاكتمال %d∶%02d (%d%%)" | ||||
| msgstr "بقي على الاكتمال %d:%02d (%d%%)" | ||||
|  | ||||
| #: ../js/ui/status/power.js:119 | ||||
| msgid "UPS" | ||||
| @@ -1670,6 +1674,7 @@ msgid "Keep Changes" | ||||
| msgstr "أبق على التغييرات" | ||||
|  | ||||
| #: ../js/ui/windowManager.js:97 | ||||
| #, javascript-format | ||||
| msgid "Settings changes will revert in %d second" | ||||
| msgid_plural "Settings changes will revert in %d seconds" | ||||
| msgstr[0] "سيُتراجع عن التغييرات الآن" | ||||
| @@ -1746,35 +1751,6 @@ msgstr "لا يمكن أن تكون كلمة السرّ فارغة" | ||||
| msgid "Authentication dialog was dismissed by the user" | ||||
| msgstr "أغلق المستخدم مربع الاستيثاق الحِواري" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H:%M" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%l\\u2236%M\\u2009%p" | ||||
| #~ msgstr "%l:%M\\u2009%p" | ||||
|  | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%A, %H\\u2236%M" | ||||
| #~ msgstr "%A، %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%B %d, %H\\u2236%M" | ||||
| #~ msgstr "%d %B، %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%B %d %Y, %H\\u2236%M" | ||||
| #~ msgstr "%d %B %Y، %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%l\\u2236%M %p" | ||||
| #~ msgstr "%H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%A, %l\\u2236%M %p" | ||||
| #~ msgstr "%A، %l\\u2236%M %p" | ||||
|  | ||||
| #~ msgid "%B %d, %l\\u2236%M %p" | ||||
| #~ msgstr "%d %B، %l\\u2236%M %p" | ||||
|  | ||||
| #~ msgid "<b>%A</b>, <b>%H:%M</b>" | ||||
| #~ msgstr "<b>%A</b>، <b>%H:%M</b>" | ||||
|  | ||||
| @@ -1784,6 +1760,14 @@ msgstr "أغلق المستخدم مربع الاستيثاق الحِواري" | ||||
| #~ msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " | ||||
| #~ msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>، <b>%H:%M</b> " | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H:%M" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%l\\u2236%M\\u2009%p" | ||||
| #~ msgstr "%l:%M\\u2009%p" | ||||
|  | ||||
| #~ msgid "Settings Menu" | ||||
| #~ msgstr "قائمة الإعدادات" | ||||
|  | ||||
|   | ||||
							
								
								
									
										341
									
								
								po/el.po
									
									
									
									
									
								
							
							
						
						
									
										341
									
								
								po/el.po
									
									
									
									
									
								
							| @@ -7,8 +7,8 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell.po.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: 2014-03-27 21:19+0000\n" | ||||
| "PO-Revision-Date: 2014-03-28 08:41+0300\n" | ||||
| "POT-Creation-Date: 2014-02-19 23:39+0000\n" | ||||
| "PO-Revision-Date: 2014-02-20 08:18+0300\n" | ||||
| "Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>\n" | ||||
| "Language-Team: team@lists.gnome.gr\n" | ||||
| "Language: el\n" | ||||
| @@ -47,7 +47,7 @@ msgstr "Άνοιγμα του μενού εφαρμογών" | ||||
|  | ||||
| #: ../data/gnome-shell.desktop.in.in.h:1 | ||||
| msgid "GNOME Shell" | ||||
| msgstr "Κέλυφος GNOME Shell" | ||||
| msgstr "GNOME Shell" | ||||
|  | ||||
| #: ../data/gnome-shell.desktop.in.in.h:2 | ||||
| #: ../data/gnome-shell-wayland.desktop.in.in.h:2 | ||||
| @@ -57,21 +57,21 @@ msgstr "Διαχείριση παραθύρων και εκκίνηση εφαρ | ||||
| #: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1 | ||||
| #: ../js/extensionPrefs/main.js:155 | ||||
| msgid "GNOME Shell Extension Preferences" | ||||
| msgstr "Προτιμήσεις επεκτάσεων του κελύφους GNOME Shell" | ||||
| msgstr "Προτιμήσεις επεκτάσεων του GNOME Shell" | ||||
|  | ||||
| #: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2 | ||||
| msgid "Configure GNOME Shell Extensions" | ||||
| msgstr "Ρύθμιση επεκτάσεων του κελύφους GNOME Shell" | ||||
| msgstr "Ρύθμιση επεκτάσεων του GNOME Shell" | ||||
|  | ||||
| #: ../data/gnome-shell-wayland.desktop.in.in.h:1 | ||||
| msgid "GNOME Shell (wayland compositor)" | ||||
| msgstr "Κέλυφος GNOME Shell (συνθετητής wayland)" | ||||
| msgstr "GNOME Shell (συνθετητής wayland)" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:1 | ||||
| msgid "Enable internal tools useful for developers and testers from Alt-F2" | ||||
| msgstr "" | ||||
| "Ενεργοποίηση εσωτερικών εργαλείων χρήσιμων για τους προγραμματιστές και τους " | ||||
| "δοκιμαστές, με το Alt-F2" | ||||
| "δοκιμαστές με το Alt-F2" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:2 | ||||
| msgid "" | ||||
| @@ -79,7 +79,7 @@ msgid "" | ||||
| "dialog." | ||||
| msgstr "" | ||||
| "Επιτρέπει την πρόσβαση σε εσωτερικά εργαλεία αποσφαλμάτωσης και " | ||||
| "παρακολούθησης, με τη χρήση του διαλόγου Alt-F2." | ||||
| "παρακολούθησης με τη χρήση του διαλόγου Alt-F2." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:3 | ||||
| msgid "UUIDs of extensions to enable" | ||||
| @@ -92,10 +92,10 @@ msgid "" | ||||
| "list. You can also manipulate this list with the EnableExtension and " | ||||
| "DisableExtension D-Bus methods on org.gnome.Shell." | ||||
| msgstr "" | ||||
| "Οι επεκτάσεις του κελύφους GNOME έχουν μια ιδιότητα UUID. Αυτό το κλειδί " | ||||
| "Η επεκτάσεις του κελύφους GNOME έχουν μια ιδιότητα UUID· αυτό το κλειδί " | ||||
| "εμφανίζει τις επεκτάσεις που πρέπει να φορτωθούν. Οποιαδήποτε επέκταση που " | ||||
| "επιθυμεί να φορτωθεί πρέπει να είναι στον κατάλογο. Μπορείτε ακόμη να " | ||||
| "χειρισθείτε αυτόν τον κατάλογο με τις μεθόδους διαύλου δεδομένων " | ||||
| "χειριστείτε αυτόν τον κατάλογο με τις μεθόδους διαύλου δεδομένων " | ||||
| "EnableExtension and DisableExtension στο org.gnome.Shell." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 | ||||
| @@ -152,7 +152,7 @@ msgid "" | ||||
| "Whether to remember password for mounting encrypted or remote filesystems" | ||||
| msgstr "" | ||||
| "Εάν θα θυμάται τον κωδικό πρόσβασης για προσάρτηση κρυπτογραφημένων ή " | ||||
| "απομεμακρυσμένων συστημάτων αρχείων" | ||||
| "απομακρυσμένων συστημάτων αρχείων" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| msgid "" | ||||
| @@ -161,9 +161,9 @@ msgid "" | ||||
| "'Remember Password' checkbox will be present. This key sets the default " | ||||
| "state of the checkbox." | ||||
| msgstr "" | ||||
| "Το κέλυφος θα ζητήσει έναν κωδικό όταν προσαρτάται μια κρυπτογραφημένη " | ||||
| "συσκευή ή ένα απομεμακρυσμένο σύστημα αρχείων. Εάν ο κωδικός μπορεί να " | ||||
| "αποθηκευθεί για μελλοντική χρήση, θα παρουσιάζεται ένα πλαίσιο ελέγχου 'Να " | ||||
| "Το κέλυφος θα ζητήσει έναν κωδικό όταν μια κρυπτογραφημένη συσκευή ή ένα " | ||||
| "απομακρυσμένο σύστημα αρχείων προσαρτάται. Εάν ο κωδικός μπορεί να " | ||||
| "αποθηκευτεί για μελλοντική χρήση θα παρουσιάζεται ένα πλαίσιο ελέγχου 'Να " | ||||
| "μην απαιτείται ο κωδικός πρόσβασης'. Αυτό το κλειδί ορίζει την προεπιλεγμένη " | ||||
| "κατάσταση του πλαισίου ελέγχου." | ||||
|  | ||||
| @@ -174,7 +174,7 @@ msgstr "Εμφάνιση του αριθμού εβδομάδας στο ημε | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 | ||||
| msgid "If true, display the ISO week date in the calendar." | ||||
| msgstr "" | ||||
| "Αν true, εμφανίζει τον αριθμό εβδομάδας σύμφωνα με το ISO στο ημερολόγιο." | ||||
| "Αν αληθές, εμφανίζει τον αριθμό εβδομάδας σύμφωνα με το ISO στο ημερολόγιο." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 | ||||
| msgid "Keybinding to open the application menu" | ||||
| @@ -236,17 +236,17 @@ msgid "" | ||||
| "Configures the maximum level of location accuracy applications are allowed " | ||||
| "to see. Valid options are 'off' (disable location tracking), 'country', " | ||||
| "'city', 'neighborhood', 'street', and 'exact' (typically requires GPS " | ||||
| "receiver). Please keep in mind that this only controls what GeoClue will " | ||||
| "receiver). Please keep in mind that this only controls what Geoclue will " | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| "Ρυθμίζει το μέγιστο επίπεδο ακρίβειας στην εντόπιση θέσης το οποίο " | ||||
| "επιτρέπεται να βλέπουν οι εφαρμογές. Οι έγκυρες επιλογές είναι " | ||||
| "'όχι' (απενεργοποίηση εντοπισμού θέσης), 'χώρα', 'πόλη', 'γειτονιά', 'οδός' " | ||||
| "και 'ακριβώς' (τυπικά, απαιτεί δέκτη GPS). Παρακαλούμε να θυμάστε ότι αυτό " | ||||
| "ελέγχει μόνο τι θα επιτρέπει το Geoclue να βλέπουν οι εφαρμογές, ενώ αυτές " | ||||
| "μπορούν να βρουν τη θέση του χρήστη και από μόνες τους, χρησιμοποιώντας " | ||||
| "πόρους δικτύου (αν και, στην καλύτερη περίπτωση, με ακρίβεια επιπέδου οδού)." | ||||
| "Ρυθμίζει το μέγιστο επίπεδο των εφαρμογών ακρίβειας της θέσης που " | ||||
| "επιτρέπεται να δείτε. Οι έγκυρες επιλογές είναι 'όχι' (απενεργοποίηση " | ||||
| "εντοπισμού θέσης), 'χώρα', 'πόλη', 'γειτονιά', 'οδός' και 'ακριβώς' (απαιτεί " | ||||
| "τυπικά δέκτη GPS). Παρακαλούμε να θυμόσαστε ότι αυτό ελέγχει μόνο τι θα " | ||||
| "επιτρέψει στις εφαρμογές το Geoclue να δείτε και μπορούν να βρουν τη θέση " | ||||
| "του χρήστη από μόνες τους χρησιμοποιώντας πόρους δικτύου (αν και με ακρίβεια " | ||||
| "επιπέδου οδού στην καλύτερη περίπτωση)." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| msgid "The application icon mode." | ||||
| @@ -258,7 +258,7 @@ msgid "" | ||||
| "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" | ||||
| "only' (shows only the application icon) or 'both'." | ||||
| msgstr "" | ||||
| "Διαμορφώνει πώς θα εμφανίζονται τα παράθυρα κατά την εναλλαγή των παραθύρων. " | ||||
| "Διαμορφώνει πώς τα παράθυρα θα εμφανίζονται στην εναλλαγή των παραθύρων. " | ||||
| "Έγκυρες ρυθμίσεις είναι 'thumbnail-only' (εμφανίζει μια μικρογραφία του " | ||||
| "παραθύρου), 'app-icon-only' (εμφανίζει μόνο το εικονίδιο της εφαρμογής) ή " | ||||
| "'both' - και τα δύο." | ||||
| @@ -271,8 +271,8 @@ msgstr "Προσάρτηση αποκλειστικού διαλόγου στο | ||||
| msgid "" | ||||
| "This key overrides the key in org.gnome.mutter when running GNOME Shell." | ||||
| msgstr "" | ||||
| "Αυτό το κλειδί υπερισχύει του κλειδιού που υπάρχει στο org.gnome.mutter όταν " | ||||
| "εκτελείται το GNOME Shell." | ||||
| "Αυτό το κλειδί υπερισχύει του κλειδιού στο org.gnome.mutter όταν εκτελείται " | ||||
| "το GNOME Shell." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 | ||||
| msgid "Arrangement of buttons on the titlebar" | ||||
| @@ -283,18 +283,18 @@ msgid "" | ||||
| "This key overrides the key in org.gnome.desktop.wm.preferences when running " | ||||
| "GNOME Shell." | ||||
| msgstr "" | ||||
| "Αυτό το κλειδί υπερισχύει του κλειδιού που υπάρχει στο org.gnome.desktop.wm." | ||||
| "preferences όταν εκτελείται το GNOME Shell." | ||||
| "Αυτό το κλειδί υπερισχύει του κλειδιού στο org.gnome.desktop.wm.preferences " | ||||
| "όταν εκτελείται το GNOME Shell." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Ενεργοποίηση της προσάρτησης άκρων, όταν αφήνετε παράθυρα στις άκρες της " | ||||
| "Ενεργοποίηση της προσάρτηση άκρων, όταν αφήνετε παράθυρα στις άκρες της " | ||||
| "οθόνης" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "Η διαχείριση των χώρων γίνεται δυναμικά" | ||||
| msgstr "Οι χώροι εργασίας διαχειρίζονται δυναμικά" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 | ||||
| msgid "Workspaces only on primary monitor" | ||||
| @@ -310,8 +310,8 @@ msgstr "" | ||||
| #, javascript-format | ||||
| msgid "There was an error loading the preferences dialog for %s:" | ||||
| msgstr "" | ||||
| "Προέκυψε ένα σφάλμα κατά τη φόρτωση του παραθύρου διαλόγου των προτιμήσεων " | ||||
| "για %s:" | ||||
| "Προέκυψε ένα σφάλμα στη φόρτωση του παραθύρου διαλόγου των προτιμήσεων για " | ||||
| "%s:" | ||||
|  | ||||
| #: ../js/extensionPrefs/main.js:167 | ||||
| msgid "Extension" | ||||
| @@ -326,7 +326,7 @@ msgstr "" | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:883 | ||||
| msgid "Cancel" | ||||
| msgstr "Ακύρωση" | ||||
|  | ||||
| @@ -344,25 +344,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Σύνδεση" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "Επιλογή συνεδρίας" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "Δεν είστε στη λίστα;" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:611 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(π.χ., χρήστης ή %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Όνομα χρήστη: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:917 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Παράθυρο σύνδεσης" | ||||
|  | ||||
| @@ -380,34 +380,34 @@ msgstr "Δε βρέθηκε η εντολή" | ||||
|  | ||||
| #: ../js/misc/util.js:148 | ||||
| msgid "Could not parse command:" | ||||
| msgstr "Δεν ήταν δυνατό να γίνει ανάλυση της εντολής:" | ||||
| msgstr "Δεν ήταν δυνατό να επεξεργαστεί η εντολή:" | ||||
|  | ||||
| #: ../js/misc/util.js:156 | ||||
| #, javascript-format | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Η εκτέλεση του “%s” απέτυχε:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Οι πιο συχνά χρησιμοποιούμενες εφαρμογές θα εμφανιστούν εδώ" | ||||
| msgstr "Οι συχνά χρησιμοποιούμενες εφαρμογές θα εμφανιστούν εδώ" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "Συχνά" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "Όλα" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Νέο παράθυρο" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Αφαίρεση από τα αγαπημένα" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Προσθήκη στα αγαπημένα" | ||||
|  | ||||
| @@ -550,44 +550,44 @@ msgstr "Σα" | ||||
| msgid "calendar:MY" | ||||
| msgstr "ημερολόγιο:MY" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Προηγούμενος μήνας" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Επόμενος μήνας" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Τίποτα προγραμματισμένο" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d %B" | ||||
| msgstr "%A, %B %d" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %d %B %Y" | ||||
| msgstr "%A, %B %d, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "Σήμερα" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Αύριο" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Αυτή η εβδομάδα" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "Επόμενη εβδομάδα" | ||||
|  | ||||
| @@ -620,8 +620,8 @@ msgstr "Κωδικός:" | ||||
| msgid "Type again:" | ||||
| msgstr "Πληκτρολογήστε ξανά:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 | ||||
| #: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 | ||||
| msgid "Connect" | ||||
| msgstr "Σύνδεση" | ||||
|  | ||||
| @@ -960,8 +960,8 @@ msgstr "Το πιστοποιητικό έχει ανακληθεί" | ||||
| msgid "" | ||||
| "Certificate uses an insecure cipher algorithm or is cryptographically weak" | ||||
| msgstr "" | ||||
| "Το πιστοποιητικό χρησιμοποιεί έναν μη ασφαλή αλγόριθμο αποκρυπτογράφησης " | ||||
| "αποτυπώματος ή είναι κρυπτογραφικά ασθενές" | ||||
| "Το πιστοποιητικό χρησιμοποιεί ένα μη ασφαλή αλγόριθμο αποτυπώματος ή είναι " | ||||
| "αδύναμο κρυπτογραφικά" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1385 | ||||
| msgid "" | ||||
| @@ -987,7 +987,7 @@ msgstr "Αδυναμία σύνδεσης με %s" | ||||
| msgid "View account" | ||||
| msgstr "Προβολή λογαριασμού" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Άγνωστος λόγος" | ||||
|  | ||||
| @@ -1003,24 +1003,24 @@ msgstr "Εμφάνιση εφαρμογών" | ||||
| msgid "Dash" | ||||
| msgstr "Ταμπλό" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Άνοιγμα ημερολογίου" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Άνοιγμα ρολογιών" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Ρυθμίσεις ημερομηνίας & ώρας" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A, %e %B %Y" | ||||
| msgstr "%A %B %e, %Y" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:66 | ||||
| #, javascript-format | ||||
| @@ -1066,8 +1066,8 @@ msgstr "Εγκατάσταση ενημερώσεων & τερματισμός" | ||||
| #, javascript-format | ||||
| msgid "The system will power off automatically in %d second." | ||||
| msgid_plural "The system will power off automatically in %d seconds." | ||||
| msgstr[0] "Το σύστημα θα τερματισθεί αυτόματα σε %d δευτερόλεπτο." | ||||
| msgstr[1] "Το σύστημα θα τερματισθεί αυτόματα σε %d δευτερόλεπτα." | ||||
| msgstr[0] "Το σύστημα θα τερματιστεί αυτόματα σε %d δευτερόλεπτο." | ||||
| msgstr[1] "Το σύστημα θα τερματιστεί αυτόματα σε %d δευτερόλεπτα." | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:93 | ||||
| msgctxt "checkbox" | ||||
| @@ -1137,11 +1137,11 @@ msgstr "" | ||||
| #: ../js/ui/endSessionDialog.js:332 | ||||
| msgid "Some applications are busy or have unsaved work." | ||||
| msgstr "" | ||||
| "Κάποιες εφαρμογές είναι απασχολημένες ή έχουν εργασία που δεν αποθηκεύθηκε." | ||||
| "Κάποιες εφαρμογές είναι απασχολημένες ή έχουν εργασία που δεν αποθηκεύτηκε." | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:339 | ||||
| msgid "Other users are logged in." | ||||
| msgstr "Είναι συνδεδεμένοι άλλοι χρήστες." | ||||
| msgstr "Είναι συνδεμένοι άλλοι χρήστες." | ||||
|  | ||||
| #. Translators: Remote here refers to a remote session, like a ssh login */ | ||||
| #: ../js/ui/endSessionDialog.js:618 | ||||
| @@ -1168,26 +1168,25 @@ msgstr "Λήψη και εγκατάσταση του “%s” από το exten | ||||
| msgid "Keyboard" | ||||
| msgstr "Πληκτρολόγιο" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "Δεν υπάρχουν εγκατεστημένες επεκτάσεις" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "Το %s δεν έδωσε σφάλματα." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Απόκρυψη σφαλμάτων" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Εμφάνιση σφαλμάτων" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Ενεργοποιημένο" | ||||
|  | ||||
| @@ -1195,64 +1194,64 @@ msgstr "Ενεργοποιημένο" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Απενεργοποιημένο" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Σφάλμα" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Μη ενημερωμένο" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Γίνεται λήψη" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Προβολή πηγής" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Ιστοσελίδα" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1326 | ||||
| #: ../js/ui/messageTray.js:1324 | ||||
| msgid "Open" | ||||
| msgstr "Άνοιγμα" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1333 | ||||
| #: ../js/ui/messageTray.js:1331 | ||||
| msgid "Remove" | ||||
| msgstr "Αφαίρεση" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1630 | ||||
| #: ../js/ui/messageTray.js:1628 | ||||
| msgid "Notifications" | ||||
| msgstr "Ειδοποιήσεις" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1637 | ||||
| #: ../js/ui/messageTray.js:1635 | ||||
| msgid "Clear Messages" | ||||
| msgstr "Καθαρισμός μηνυμάτων" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1656 | ||||
| #: ../js/ui/messageTray.js:1654 | ||||
| msgid "Notification Settings" | ||||
| msgstr "Ρυθμίσεις ειδοποιήσεων" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1709 | ||||
| #: ../js/ui/messageTray.js:1707 | ||||
| msgid "Tray Menu" | ||||
| msgstr "Μενού περιοχής ειδοποιήσεων" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1926 | ||||
| #: ../js/ui/messageTray.js:1924 | ||||
| msgid "No Messages" | ||||
| msgstr "Κανένα μήνυμα" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1964 | ||||
| #: ../js/ui/messageTray.js:1962 | ||||
| msgid "Message Tray" | ||||
| msgstr "Περιοχή ειδοποιήσεων μηνυμάτων" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2946 | ||||
| msgid "System Information" | ||||
| msgstr "Πληροφορίες συστήματος" | ||||
|  | ||||
| @@ -1268,11 +1267,11 @@ msgid_plural "%d new messages" | ||||
| msgstr[0] "%d νέο μήνυμα" | ||||
| msgstr[1] "%d νέα μηνύματα" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Αναίρεση" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Επισκόπηση" | ||||
|  | ||||
| @@ -1280,7 +1279,7 @@ msgstr "Επισκόπηση" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Πληκτρολογήστε για αναζήτηση…" | ||||
|  | ||||
| @@ -1314,7 +1313,7 @@ msgstr "Κλείσιμο" | ||||
| #. long format */ | ||||
| #: ../js/ui/screenShield.js:88 | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d %B" | ||||
| msgstr "%A, %B %d" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:153 | ||||
| #, javascript-format | ||||
| @@ -1323,27 +1322,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d νέα ειδοποίηση" | ||||
| msgstr[1] "%d νέες ειδοποιήσεις" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Κλείδωμα" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "Το GNOME χρειάζεται να κλειδώσει την οθόνη" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Αδυναμία κλειδώματος" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Το κλείδωμα εμποδίσθηκε από μια εφαρμογή" | ||||
| msgstr "Το κλείδωμα εμποδίστηκε από μια εφαρμογή" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Αναζήτηση…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "Δε βρέθηκαν αποτελέσματα." | ||||
|  | ||||
| @@ -1415,29 +1414,30 @@ msgstr "Υψηλή αντίθεση" | ||||
| msgid "Large Text" | ||||
| msgstr "Μεγάλο κείμενο" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:62 | ||||
| #: ../js/ui/status/location.js:162 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 | ||||
| #: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Σβήσιμο" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Ρυθμίσεις Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d συνδεδεμένη συσκευή" | ||||
| msgstr[1] "%d συνδεδεμένες συσκευές" | ||||
| msgstr[0] "%d συνδεμένη συσκευή" | ||||
| msgstr[1] "%d συνδεμένες συσκευές" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 | ||||
| msgid "Not Connected" | ||||
| msgstr "Χωρίς σύνδεση" | ||||
|  | ||||
| @@ -1449,170 +1449,159 @@ msgstr "Φωτεινότητα" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Εμφάνιση διάταξης πληκτρολογίου" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Θέση" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "Απενεργοποίηση" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| #: ../js/ui/status/location.js:61 ../js/ui/status/location.js:161 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Ενεργοποίηση" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "Σε χρήση" | ||||
| #: ../js/ui/status/location.js:158 ../js/ui/status/network.js:246 | ||||
| #: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 | ||||
| msgid "Off" | ||||
| msgstr "Εκτός σύνδεσης" | ||||
|  | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:1235 | ||||
| msgid "Turn On" | ||||
| msgstr "Ενεργοποίηση" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<άγνωστο>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "Εκτός σύνδεσης" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| msgid "Connected" | ||||
| msgstr "Συνδέθηκε" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:431 | ||||
| msgid "unmanaged" | ||||
| msgstr "χωρίς διαχείριση" | ||||
| msgstr "μη διαχειριζόμενες" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:433 | ||||
| msgid "disconnecting..." | ||||
| msgstr "αποσύνδεση..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 | ||||
| msgid "connecting..." | ||||
| msgstr "σύνδεση..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:442 ../js/ui/status/network.js:1366 | ||||
| msgid "authentication required" | ||||
| msgstr "απαιτείται πιστοποίηση" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:450 | ||||
| msgid "firmware missing" | ||||
| msgstr "έλλειψη λογισμικού υλικού (firmware)" | ||||
| msgstr "έλλειψη firmware" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:454 | ||||
| msgid "unavailable" | ||||
| msgstr "μη διαθέσιμο" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 | ||||
| msgid "connection failed" | ||||
| msgstr "αποτυχία σύνδεσης" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:472 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Ενσύρματες ρυθμίσεις" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Ρυθμίσεις Κινήτης Ευρυζωνικής" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Το Υλικό απενεργοποιήθηκε" | ||||
| msgstr "Το Υλικό Απενεργοποιήθηκε" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:600 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Χρήση με σύνδεση διαδικτύου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:781 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Η κατάσταση λειτουργίας αεροπλάνου είναι ενεργή" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "" | ||||
| "Η ασύρματη σύνδεση είναι ανενεργή όταν η λειτουργία αεροπλάνου είναι ενεργή." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Απενεργοποίηση της κατάστασης λειτουργίας αεροπλάνου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:792 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Το ασύρματο δίκτυο είναι ανενεργό" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:793 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "" | ||||
| "Το ασύρματο δίκτυο χρειάζεται να ενεργοποιηθεί για να συνδεθείτε με ένα " | ||||
| "δίκτυο." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:794 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Ενεργοποίηση του ασυρμάτου δικτύου Wi-Fi" | ||||
| msgstr "Ενεργοποιήστε το ασύρματο δικτύο" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:819 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Δίκτυα Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:821 | ||||
| msgid "Select a network" | ||||
| msgstr "Επιλογή δικτύου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:850 | ||||
| msgid "No Networks" | ||||
| msgstr "Χωρίς δίκτυα" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Χρήση διακόπτη υλικού για τερματισμό" | ||||
| msgstr "Χρησιμοποιήστε διακόπτη υλικού για τερματισμό" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1141 | ||||
| msgid "Select Network" | ||||
| msgstr "Επιλογή δικτύου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1147 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Ρυθμίσεις Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "Ενεργοποίηση" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1252 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Ενεργό θερμό σημείο" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1255 | ||||
| msgid "Connecting" | ||||
| msgstr "Συνδέεται" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Ρυθμίσεις δικτύου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1436 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Ρυθμίσεις VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1455 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Διαχειριστής δικτύου" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Αποτυχία σύνδεσης" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Απέτυχε η ενεργοποίηση της σύνδεσης δικτύου" | ||||
|  | ||||
| @@ -1650,10 +1639,6 @@ msgstr "Μπαταρία" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Κατάσταση λειτουργίας αεροπλάνου" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Ενεργοποίηση" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "Αλλαγή χρήστη" | ||||
| @@ -1767,8 +1752,8 @@ msgstr "" | ||||
| #: ../src/main.c:361 | ||||
| msgid "Use a specific mode, e.g. \"gdm\" for login screen" | ||||
| msgstr "" | ||||
| "Χρήση μιας συγκεκριμένης κατάστασης λειτουργίας, π.χ. \"gdm\" για την οθόνη " | ||||
| "σύνδεσης" | ||||
| "Χρησιμοποιήστε μια συγκεκριμένη κατάσταση λειτουργίας, π.χ. \"gdm\" για την " | ||||
| "οθόνη σύνδεσης" | ||||
|  | ||||
| #: ../src/main.c:367 | ||||
| msgid "List possible modes" | ||||
|   | ||||
							
								
								
									
										220
									
								
								po/es.po
									
									
									
									
									
								
							
							
						
						
									
										220
									
								
								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: 2014-03-28 08:56+0000\n" | ||||
| "PO-Revision-Date: 2014-03-28 12:03+0100\n" | ||||
| "POT-Creation-Date: 2014-03-05 15:39+0000\n" | ||||
| "PO-Revision-Date: 2014-03-05 16:54+0100\n" | ||||
| "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" | ||||
| "Language-Team: Español <gnome-es-list@gnome.org>\n" | ||||
| "Language: es\n" | ||||
| @@ -316,7 +316,7 @@ msgstr "" | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "Cancelar" | ||||
|  | ||||
| @@ -334,24 +334,24 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Iniciar sesión" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "Elegir sesión" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "¿No está en la lista?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:611 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(ej., usuario o %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Nombre de usuario:" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:917 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Ventana de inicio de sesión" | ||||
|  | ||||
| @@ -375,27 +375,27 @@ msgstr "No se pudo analizar el comando:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Falló la ejecución de «%s»:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "Frecuentes" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "Todas" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Ventana nueva" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Quitar de los favoritos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Añadir a los favoritos" | ||||
|  | ||||
| @@ -536,44 +536,44 @@ msgstr "S" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendario:MA" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Mes anterior" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Siguiente mes" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Nada programado" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d de %B" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %d de %B de %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "Hoy" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Mañana" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Esta semana" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "La semana que viene" | ||||
|  | ||||
| @@ -606,7 +606,7 @@ msgid "Type again:" | ||||
| msgstr "Escriba de nuevo:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "Conectar" | ||||
|  | ||||
| @@ -962,7 +962,7 @@ msgstr "No se pudo conectar a %s" | ||||
| msgid "View account" | ||||
| msgstr "Ver cuenta" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Razón desconocida" | ||||
|  | ||||
| @@ -978,22 +978,22 @@ msgstr "Mostrar aplicaciones" | ||||
| msgid "Dash" | ||||
| msgstr "Tablero" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Abrir calendario" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Abrir Relojes" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Configuración de hora y fecha" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A, %e de %B de %Y" | ||||
|  | ||||
| @@ -1132,25 +1132,24 @@ msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?" | ||||
| msgid "Keyboard" | ||||
| msgstr "Teclado" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "No hay extensiones instaladas" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s no ha generado ningún error." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Ocultar errores" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Mostrar errores" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Activado" | ||||
|  | ||||
| @@ -1158,28 +1157,28 @@ msgstr "Activado" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Desactivado" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Error" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Caducado" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Descargando" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Ver fuente" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Página web" | ||||
|  | ||||
| @@ -1215,7 +1214,7 @@ msgstr "No hay mensajes" | ||||
| msgid "Message Tray" | ||||
| msgstr "Bandeja de mensajes" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "Información del sistema" | ||||
|  | ||||
| @@ -1230,11 +1229,11 @@ msgid_plural "%d new messages" | ||||
| msgstr[0] "%d mensaje nuevo" | ||||
| msgstr[1] "%d mensajes nuevos" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Deshacer" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Vista general" | ||||
|  | ||||
| @@ -1242,7 +1241,7 @@ msgstr "Vista general" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Escribir para buscar…" | ||||
|  | ||||
| @@ -1284,27 +1283,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d notificación nueva" | ||||
| msgstr[1] "%d notificaciones nuevas" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Bloquear" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME necesita bloquear la pantalla" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "No se pudo bloquear" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Una aplicación impidió el bloqueo" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Buscando…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "No se encontraron resultados." | ||||
|  | ||||
| @@ -1376,28 +1375,29 @@ msgstr "Contraste alto" | ||||
| msgid "Large Text" | ||||
| msgstr "Texto grande" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Apagar" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Configuración de Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d dispositivo conectado" | ||||
| msgstr[1] "%d dispositivos conectados" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "No conectado" | ||||
|  | ||||
| @@ -1409,169 +1409,161 @@ msgstr "Brillo" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Mostrar la distribución del teclado" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Ubicación" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| #| msgid "Disabled" | ||||
| msgid "Disable" | ||||
| msgstr "Desactivar" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Encender" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| #| msgid "Enabled" | ||||
| msgid "Enable" | ||||
| msgstr "Activar" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "Desconectado" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "En uso" | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "Enceder" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<desconocido>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "Desconectado" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| #| msgid "Connect" | ||||
| msgid "Connected" | ||||
| msgstr "Conectada" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "no gestionada" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "deconectando…" | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "conectando…" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "se necesita autenticación" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "falta el «firmware»" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "no disponible" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "falló la conexión" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Configuración de Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Configuración de banda ancha móvil" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Hardware desactivado" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Usar como conexión a Internet" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "El modo avión está activado" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "La Wi-Fi se desactiva cuando se activa el modo avión." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Apagar el modo avión" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "La Wi-Fi está desactivada" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Se debe activar la Wi-Fi para poder conectarse a la red." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Activar la Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Redes Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "Seleccionar una red" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "No hay redes" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Usar el interruptor hardware para apagar" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "Seleccionar red" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Configuración de Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "Enceder" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Punto de acceso activo" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "Conectando" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Configuración de la red" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Configuración de VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Gestor de la red" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Falló la conexión" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Falló la activación de la conexión de red" | ||||
|  | ||||
| @@ -1607,10 +1599,6 @@ msgstr "Batería" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Modo avión" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Encender" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "Cambiar de usuario" | ||||
|   | ||||
							
								
								
									
										170
									
								
								po/fi.po
									
									
									
									
									
								
							
							
						
						
									
										170
									
								
								po/fi.po
									
									
									
									
									
								
							| @@ -26,8 +26,8 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2014-03-05 20:31+0000\n" | ||||
| "PO-Revision-Date: 2014-03-05 22:43+0200\n" | ||||
| "POT-Creation-Date: 2014-02-24 08:30+0000\n" | ||||
| "PO-Revision-Date: 2014-02-24 21:20+0200\n" | ||||
| "Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" | ||||
| "Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n" | ||||
| "Language: fi\n" | ||||
| @@ -100,9 +100,10 @@ msgstr "" | ||||
| "kautta." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:3 | ||||
| #, fuzzy | ||||
| #| msgid "Uuids of extensions to enable" | ||||
| msgid "UUIDs of extensions to enable" | ||||
| msgstr "Käyttöön otettavien laajennusten UUID:t" | ||||
| msgstr "Käyttöön otettavien laajennosten UUID:t" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:4 | ||||
| #, fuzzy | ||||
| @@ -124,7 +125,7 @@ msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 | ||||
| msgid "Disables the validation of extension version compatibility" | ||||
| msgstr "Poistaa käytöstä laajennusten versioyhteensopivuuden tarkistuksen" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:6 | ||||
| msgid "" | ||||
| @@ -152,6 +153,7 @@ msgid "History for the looking glass dialog" | ||||
| msgstr "Historia näyttölasi-ikkunalle" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:11 | ||||
| #| msgid "Always show the 'Log out' menuitem in the user menu." | ||||
| msgid "Always show the 'Log out' menu item in the user menu." | ||||
| msgstr "Näytä aina \"Kirjaudu ulos\"-toiminto käyttäjävalikossa." | ||||
|  | ||||
| @@ -249,7 +251,7 @@ msgid "" | ||||
| "Configures the maximum level of location accuracy applications are allowed " | ||||
| "to see. Valid options are 'off' (disable location tracking), 'country', " | ||||
| "'city', 'neighborhood', 'street', and 'exact' (typically requires GPS " | ||||
| "receiver). Please keep in mind that this only controls what GeoClue will " | ||||
| "receiver). Please keep in mind that this only controls what Geoclue will " | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| @@ -322,7 +324,7 @@ msgstr "Valitse muokattava laajennus alta." | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| #: ../js/ui/status/network.js:883 | ||||
| msgid "Cancel" | ||||
| msgstr "Peru" | ||||
|  | ||||
| @@ -380,6 +382,7 @@ msgstr "Komentoa ei voi jäsentää:" | ||||
|  | ||||
| #: ../js/misc/util.js:156 | ||||
| #, javascript-format | ||||
| #| msgid "Execution of '%s' failed:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Kohteen ”%s” suorittaminen epäonnistui:" | ||||
|  | ||||
| @@ -555,35 +558,35 @@ msgid "Next month" | ||||
| msgstr "Seuraava kuukausi" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:763 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Ei merkintöjä" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:781 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %e. %Bta" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:784 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %e. %Bta %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:795 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "Tänään" | ||||
|  | ||||
| #: ../js/ui/calendar.js:799 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Huomenna" | ||||
|  | ||||
| #: ../js/ui/calendar.js:810 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Tällä viikolla" | ||||
|  | ||||
| #: ../js/ui/calendar.js:818 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "Ensi viikolla" | ||||
|  | ||||
| @@ -616,8 +619,8 @@ msgstr "Salasana:" | ||||
| msgid "Type again:" | ||||
| msgstr "Uudelleen:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 | ||||
| #: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 | ||||
| msgid "Connect" | ||||
| msgstr "Yhdistä" | ||||
|  | ||||
| @@ -651,6 +654,9 @@ msgstr "Langaton verkko vaatii tunnistautumisen" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:312 | ||||
| #, javascript-format | ||||
| #| msgid "" | ||||
| #| "Passwords or encryption keys are required to access the wireless network " | ||||
| #| "'%s'." | ||||
| msgid "" | ||||
| "Passwords or encryption keys are required to access the wireless network " | ||||
| "“%s”." | ||||
| @@ -686,6 +692,7 @@ msgstr "Mobiililaajakaistan verkkosalasana" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:339 | ||||
| #, javascript-format | ||||
| #| msgid "A password is required to connect to '%s'." | ||||
| msgid "A password is required to connect to “%s”." | ||||
| msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi." | ||||
|  | ||||
| @@ -735,18 +742,23 @@ msgstr "Vaimenna" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:955 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%H∶%M" | ||||
| msgstr "%H∶%M" | ||||
|  | ||||
| #. Translators: this is the word "Yesterday" followed by a | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:962 | ||||
| #| msgid "<b>Yesterday</b>, <b>%H:%M</b>" | ||||
| msgid "Yesterday, %H∶%M" | ||||
| msgstr "Eilen, %H∶%M" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 24h format. i.e. "Monday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:969 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%A, %H∶%M" | ||||
| msgstr "%A, %H∶%M" | ||||
|  | ||||
| @@ -754,6 +766,8 @@ msgstr "%A, %H∶%M" | ||||
| #. followed by a time string in 24h format. | ||||
| #. i.e. "May 25, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:976 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%B %d, %H∶%M" | ||||
| msgstr "%e. %Bta, %H∶%M" | ||||
|  | ||||
| @@ -766,6 +780,8 @@ msgstr "%e. %Bta %Y, %H∶%M" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:991 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%l∶%M %p" | ||||
| msgid "%l∶%M %p" | ||||
| msgstr "%l∶%M %p" | ||||
|  | ||||
| @@ -778,6 +794,7 @@ msgstr "Eilen, %l∶%M %p" | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1005 | ||||
| #| msgid "%a %l:%M %p" | ||||
| msgid "%A, %l∶%M %p" | ||||
| msgstr "%A, %l∶%M %p" | ||||
|  | ||||
| @@ -995,22 +1012,22 @@ msgstr "Näytä sovellukset" | ||||
| msgid "Dash" | ||||
| msgstr "Pikavalikko" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Avaa kalenteri" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Avaa kellot" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Ajan & päiväyksen asetukset" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A, %e. %Bta %Y" | ||||
|  | ||||
| @@ -1108,6 +1125,8 @@ msgstr[1] "" | ||||
| "sekunnin kuluttua." | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:129 | ||||
| #| msgctxt "button" | ||||
| #| msgid "Restart & Install" | ||||
| msgctxt "button" | ||||
| msgid "Restart & Install" | ||||
| msgstr "Käynnistä uudelleen ja asenna" | ||||
| @@ -1154,6 +1173,7 @@ msgstr "Asenna" | ||||
|  | ||||
| #: ../js/ui/extensionDownloader.js:204 | ||||
| #, javascript-format | ||||
| #| msgid "Download and install '%s' from extensions.gnome.org?" | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?" | ||||
|  | ||||
| @@ -1187,7 +1207,7 @@ msgstr "Käytössä" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Ei käytössä" | ||||
| @@ -1212,39 +1232,39 @@ msgstr "Näytä lähde" | ||||
| msgid "Web Page" | ||||
| msgstr "Verkkosivusto" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1326 | ||||
| #: ../js/ui/messageTray.js:1324 | ||||
| msgid "Open" | ||||
| msgstr "Avaa" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1333 | ||||
| #: ../js/ui/messageTray.js:1331 | ||||
| msgid "Remove" | ||||
| msgstr "Poista" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1630 | ||||
| #: ../js/ui/messageTray.js:1628 | ||||
| msgid "Notifications" | ||||
| msgstr "Ilmoitukset" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1637 | ||||
| #: ../js/ui/messageTray.js:1635 | ||||
| msgid "Clear Messages" | ||||
| msgstr "Tyhjennä viestit" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1656 | ||||
| #: ../js/ui/messageTray.js:1654 | ||||
| msgid "Notification Settings" | ||||
| msgstr "Ilmoitusasetukset" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1709 | ||||
| #: ../js/ui/messageTray.js:1707 | ||||
| msgid "Tray Menu" | ||||
| msgstr "Viestialuevalikko" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1926 | ||||
| #: ../js/ui/messageTray.js:1924 | ||||
| msgid "No Messages" | ||||
| msgstr "Ei viestejä" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1964 | ||||
| #: ../js/ui/messageTray.js:1962 | ||||
| msgid "Message Tray" | ||||
| msgstr "Viestialue" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| #: ../js/ui/messageTray.js:2946 | ||||
| msgid "System Information" | ||||
| msgstr "Järjestelmän tiedot" | ||||
|  | ||||
| @@ -1411,10 +1431,10 @@ msgstr "Suuri tekstin koko" | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:62 | ||||
| #: ../js/ui/status/location.js:162 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 | ||||
| #: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Sammuta" | ||||
| @@ -1430,7 +1450,7 @@ msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d yhdistetty laite" | ||||
| msgstr[1] "%d yhdistettyä laitetta" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 | ||||
| msgid "Not Connected" | ||||
| msgstr "Ei yhdistetty" | ||||
|  | ||||
| @@ -1443,20 +1463,21 @@ msgid "Show Keyboard Layout" | ||||
| msgstr "Näytä näppäimistön asettelu" | ||||
|  | ||||
| #: ../js/ui/status/location.js:52 | ||||
| #| msgid "Notifications" | ||||
| msgid "Location" | ||||
| msgstr "Sijainti" | ||||
|  | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/location.js:61 ../js/ui/status/location.js:161 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Päällä" | ||||
|  | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| #: ../js/ui/status/location.js:158 ../js/ui/status/network.js:246 | ||||
| #: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 | ||||
| msgid "Off" | ||||
| msgstr "Pois" | ||||
|  | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:1235 | ||||
| msgid "Turn On" | ||||
| msgstr "Ota käyttöön" | ||||
|  | ||||
| @@ -1464,127 +1485,130 @@ msgstr "Ota käyttöön" | ||||
| msgid "<unknown>" | ||||
| msgstr "<tuntematon>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:417 | ||||
| #| msgid "Connect" | ||||
| msgid "Connected" | ||||
| msgstr "Yhdistetty" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:421 | ||||
| #: ../js/ui/status/network.js:431 | ||||
| msgid "unmanaged" | ||||
| msgstr "ei hallinnassa" | ||||
|  | ||||
| #: ../js/ui/status/network.js:423 | ||||
| #: ../js/ui/status/network.js:433 | ||||
| msgid "disconnecting..." | ||||
| msgstr "katkaistaan yhteyttä…" | ||||
|  | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| #: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 | ||||
| msgid "connecting..." | ||||
| msgstr "yhdistetään…" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| #: ../js/ui/status/network.js:442 ../js/ui/status/network.js:1366 | ||||
| msgid "authentication required" | ||||
| msgstr "tunnistautuminen vaaditaan" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:440 | ||||
| #: ../js/ui/status/network.js:450 | ||||
| msgid "firmware missing" | ||||
| msgstr "laiteohjelmisto puuttuu" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:444 | ||||
| #: ../js/ui/status/network.js:454 | ||||
| msgid "unavailable" | ||||
| msgstr "ei käytettävissä" | ||||
|  | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| #: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 | ||||
| msgid "connection failed" | ||||
| msgstr "yhteys katkesi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:462 | ||||
| #: ../js/ui/status/network.js:472 | ||||
| #| msgid "Wi-Fi Settings" | ||||
| msgid "Wired Settings" | ||||
| msgstr "Kiinteän yhteyden asetukset" | ||||
|  | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| #: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Mobiililaajakaistan asetukset" | ||||
|  | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| #: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 | ||||
| #| msgid "hardware disabled" | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Laite on pois käytöstä" | ||||
|  | ||||
| #: ../js/ui/status/network.js:590 | ||||
| #: ../js/ui/status/network.js:600 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Käytä internetyhteytenä" | ||||
|  | ||||
| #: ../js/ui/status/network.js:771 | ||||
| #: ../js/ui/status/network.js:781 | ||||
| #| msgid "Airplane Mode" | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Lentokonetila on päällä" | ||||
|  | ||||
| #: ../js/ui/status/network.js:772 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "Wifi on pois päältä lentokonetilan ollessa päällä." | ||||
|  | ||||
| #: ../js/ui/status/network.js:773 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| #| msgid "Airplane Mode" | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Käytä lentokonetilaa" | ||||
|  | ||||
| #: ../js/ui/status/network.js:782 | ||||
| #: ../js/ui/status/network.js:792 | ||||
| #| msgid "Wi-Fi Settings" | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Wifi on pois" | ||||
|  | ||||
| #: ../js/ui/status/network.js:783 | ||||
| #: ../js/ui/status/network.js:793 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Wifin tulee olla päällä, jotta yhteys verkkoon on mahdollinen." | ||||
|  | ||||
| #: ../js/ui/status/network.js:784 | ||||
| #: ../js/ui/status/network.js:794 | ||||
| #| msgid "Turn On" | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Ota wifi käyttöön" | ||||
|  | ||||
| #: ../js/ui/status/network.js:809 | ||||
| #: ../js/ui/status/network.js:819 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Wifi-verkot" | ||||
|  | ||||
| #: ../js/ui/status/network.js:811 | ||||
| #: ../js/ui/status/network.js:821 | ||||
| msgid "Select a network" | ||||
| msgstr "Valitse verkko" | ||||
|  | ||||
| #: ../js/ui/status/network.js:840 | ||||
| #: ../js/ui/status/network.js:850 | ||||
| msgid "No Networks" | ||||
| msgstr "Ei verkkoja" | ||||
|  | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Käytä laitepainiketta sammuttaaksesi" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| #: ../js/ui/status/network.js:1141 | ||||
| msgid "Select Network" | ||||
| msgstr "Valitse verkko" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| #: ../js/ui/status/network.js:1147 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Wifin asetukset" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| #: ../js/ui/status/network.js:1252 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Yhteyspiste aktiivisena" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| #: ../js/ui/status/network.js:1255 | ||||
| #| msgid "Connection" | ||||
| msgid "Connecting" | ||||
| msgstr "Yhdistetään" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Verkkoasetukset" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| #: ../js/ui/status/network.js:1436 | ||||
| #| msgid "Settings" | ||||
| msgid "VPN Settings" | ||||
| msgstr "VPN-asetukset" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| #: ../js/ui/status/network.js:1455 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| @@ -1684,6 +1708,7 @@ msgstr "Haku" | ||||
|  | ||||
| #: ../js/ui/windowAttentionHandler.js:19 | ||||
| #, javascript-format | ||||
| #| msgid "'%s' is ready" | ||||
| msgid "“%s” is ready" | ||||
| msgstr "“%s” on valmis" | ||||
|  | ||||
| @@ -1753,6 +1778,7 @@ msgstr "Listaa mahdolliset tilat" | ||||
|  | ||||
| #: ../src/shell-app.c:666 | ||||
| #, c-format | ||||
| #| msgid "Failed to launch '%s'" | ||||
| msgid "Failed to launch “%s”" | ||||
| msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui" | ||||
|  | ||||
|   | ||||
							
								
								
									
										264
									
								
								po/he.po
									
									
									
									
									
								
							
							
						
						
									
										264
									
								
								po/he.po
									
									
									
									
									
								
							| @@ -9,8 +9,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gnome-shell master\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2014-03-27 20:22+0200\n" | ||||
| "PO-Revision-Date: 2014-03-27 20:24+0200\n" | ||||
| "POT-Creation-Date: 2014-03-05 18:57+0200\n" | ||||
| "PO-Revision-Date: 2014-03-05 18:58+0200\n" | ||||
| "Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n" | ||||
| "Language-Team: עברית <>\n" | ||||
| "Language: he\n" | ||||
| @@ -305,7 +305,7 @@ msgstr "יש לבחור את ההרחבה להגדרה באמצעות תיבת  | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "ביטול" | ||||
|  | ||||
| @@ -323,25 +323,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "כניסה" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "בחירת הפעלה" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "לא רשום?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:611 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(משתמש או %s לדוגמה)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "שם משתמש:" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:917 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "חלון כניסה" | ||||
|  | ||||
| @@ -366,27 +366,27 @@ msgstr "לא ניתן לפענח את הפקודה:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "ההרצה של „%s” נכשלה:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "יישומים בשימוש תדיר יופיעו כאן" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "תדיר" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "הכול" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "חלון חדש" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "הסרה מהמועדפים" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "הוספה למועדפים" | ||||
|  | ||||
| @@ -529,44 +529,44 @@ msgstr "ש׳" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:YM" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "חודש קודם" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "חודש הבא" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "היומן ריק" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, ה־%e ב%B" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, ה־%e ב%B, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "היום" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "מחר" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "השבוע" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "בשבוע הבא" | ||||
|  | ||||
| @@ -600,7 +600,7 @@ msgid "Type again:" | ||||
| msgstr "נא להקליד שוב:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "התחברות" | ||||
|  | ||||
| @@ -725,7 +725,7 @@ msgstr "%H:%M" | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:962 | ||||
| msgid "Yesterday, %H∶%M" | ||||
| msgstr "אתמול, %H\\u2236%M" | ||||
| msgstr "אתמול, %H:%M" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 24h format. i.e. "Monday, 14:30" */ | ||||
| @@ -745,7 +745,7 @@ msgstr "%d ב%B, %H:%M" | ||||
| #. i.e. "May 25 2012, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:982 | ||||
| msgid "%B %d %Y, %H∶%M" | ||||
| msgstr "%d ב%B, %H:%M" | ||||
| msgstr "%d ב%B %Y, %H:%M" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:991 | ||||
| @@ -756,27 +756,27 @@ msgstr "%l:%M %p" | ||||
| #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:998 | ||||
| msgid "Yesterday, %l∶%M %p" | ||||
| msgstr "אתמול, %l\\u2236%M %p" | ||||
| msgstr "אתמול, %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1005 | ||||
| msgid "%A, %l∶%M %p" | ||||
| msgstr "%l:%M %p" | ||||
| msgstr "%A, %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the month name and day number | ||||
| #. followed by a time string in 12h format. | ||||
| #. i.e. "May 25, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1012 | ||||
| msgid "%B %d, %l∶%M %p" | ||||
| msgstr "%d ב%B, %H:%M" | ||||
| msgstr "%d ב%B, %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the month name, day number, year | ||||
| #. number followed by a time string in 12h format. | ||||
| #. i.e. "May 25 2012, 2:30 pm"*/ | ||||
| #: ../js/ui/components/telepathyClient.js:1018 | ||||
| msgid "%B %d %Y, %l∶%M %p" | ||||
| msgstr "%d ב%B %Y, %l\\u2236%M %p" | ||||
| msgstr "%d ב%B %Y, %l:%M %p" | ||||
|  | ||||
| #. Translators: this is the other person changing their old IM name to their new | ||||
| #. IM name. */ | ||||
| @@ -959,7 +959,7 @@ msgstr "לא ניתן להתחבר אל %s" | ||||
| msgid "View account" | ||||
| msgstr "צפייה בחשבון" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "סיבה לא ידועה" | ||||
|  | ||||
| @@ -1044,7 +1044,7 @@ msgstr[1] "המערכת תכבה אוטומטית בעוד %d שניות." | ||||
| #: ../js/ui/endSessionDialog.js:93 | ||||
| msgctxt "checkbox" | ||||
| msgid "Install pending software updates" | ||||
| msgstr "התקנת עדכוני תכנה בהמתנה" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113 | ||||
| msgctxt "button" | ||||
| @@ -1133,26 +1133,25 @@ msgstr "הורדה והתקנה של „%s” מ־extensions.gnome.org?" | ||||
| msgid "Keyboard" | ||||
| msgstr "מקלדת" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "לא מותקנות הרחבות" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s לא העלה שגיאות כלשהן." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "הסתרת השגיאות" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "הצגת השגיאות" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "פעיל" | ||||
|  | ||||
| @@ -1160,28 +1159,28 @@ msgstr "פעיל" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "מנוטרל" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "שגיאה" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "לא בתוקף" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "בהורדה" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "צפייה במקור" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "דף אינטרנט" | ||||
|  | ||||
| @@ -1217,7 +1216,7 @@ msgstr "אין הודעות" | ||||
| msgid "Message Tray" | ||||
| msgstr "אזור דיווח ההודעות" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "פרטי המערכת" | ||||
|  | ||||
| @@ -1234,11 +1233,11 @@ msgid_plural "%d new messages" | ||||
| msgstr[0] "הודעה חדשה אחת" | ||||
| msgstr[1] "%d הודעות חדשות" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "ביטול" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "סקירה" | ||||
|  | ||||
| @@ -1246,7 +1245,7 @@ msgstr "סקירה" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "יש להקליד כדי לחפש…" | ||||
|  | ||||
| @@ -1290,27 +1289,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "התרעה חדשה אחת" | ||||
| msgstr[1] "%d התרעות חדשות" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "נעילה" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "על GNOME לנעול את המסך" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "לא ניתן לנעול" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "הנעילה נחסמה ע״י היישום" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "בחיפוש…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "אין תוצאות." | ||||
|  | ||||
| @@ -1382,30 +1381,31 @@ msgstr "ניגודיות גבוהה" | ||||
| msgid "Large Text" | ||||
| msgstr "טקסט גדול" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "כיבוי" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "הגדרות Bluetooth" | ||||
|  | ||||
| # javascript-format | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, c-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "התקן אחד מחובר" | ||||
| msgstr[1] "%d התקנים מחוברים" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "לא מחובר" | ||||
|  | ||||
| @@ -1417,167 +1417,160 @@ msgstr "בהירות" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "הצגת פריסת המקלדת" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "מיקום" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "השבתה" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "פועל" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| msgstr "אפשור" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "כבוי" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "בשימוש" | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "הפעלה" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<לא ידוע>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "כבוי" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| msgid "Connected" | ||||
| msgstr "מחובר" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "לא מנוהל" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "בהליכי ניתוק..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "בהתחברות..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "נדרש אימות" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "הקושחה חסרה" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "לא זמין" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "החיבור נכשל" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "הגדרות רשת קווית" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "הגדרות פס־רחב נייד" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "מנוטרל חומרתית" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "שימוש כחיבור לאינטרנט" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "מצב טיסה מופעל" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "רשת אלחוטית מושבתת כאשר מצב טיסה מופעל." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "כיבוי מצב טיסה" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "רשת אלחוטית כבויה" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "רשת אלחוטית צריכה להיות מופעלת על מנת להתחבר לרשת." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "הפעלת רשת אלחוטית" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "רשתות אלחוטיות" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "בחירת רשת" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "אין רשתות" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "שימוש במתג של החומרה לכיבוי" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "בחירת רשת" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "הגדרות רשת אלחוטית" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "הפעלה" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "נקודה חמה פעילה" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "מתחבר" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "הגדרות הרשת" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "הגדרות VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "מנהל הרשתות" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "ההתחברות נכשל" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "הפעלת חיבור הרשת נכשלה" | ||||
|  | ||||
| @@ -1594,12 +1587,12 @@ msgid "Estimating…" | ||||
| msgstr "מתבצע שערוך…" | ||||
|  | ||||
| #: ../js/ui/status/power.js:86 | ||||
| #, c-format | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Remaining (%d%%)" | ||||
| msgstr "%d\\u2236%02d נותרו (%d%%)" | ||||
|  | ||||
| #: ../js/ui/status/power.js:91 | ||||
| #, c-format | ||||
| #, javascript-format | ||||
| msgid "%d∶%02d Until Full (%d%%)" | ||||
| msgstr "%d\\u2236%02d עד לטעינה מלאה (%d%%)" | ||||
|  | ||||
| @@ -1615,10 +1608,6 @@ msgstr "סוללה" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "מצב טיסה" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "פועל" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "החלפת משתמש" | ||||
| @@ -1754,35 +1743,6 @@ msgstr "הססמה לא יכולה להישאר ריקה" | ||||
| msgid "Authentication dialog was dismissed by the user" | ||||
| msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H\\u2236%M" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%l\\u2236%M\\u2009%p" | ||||
| #~ msgstr "%l\\u2236%M\\u2009%p" | ||||
|  | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%A, %H\\u2236%M" | ||||
| #~ msgstr "%A, %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%B %d, %H\\u2236%M" | ||||
| #~ msgstr "%d ב%B, %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%B %d %Y, %H\\u2236%M" | ||||
| #~ msgstr "%d ב%B %Y, %H\\u2236%M" | ||||
|  | ||||
| #~ msgid "%l\\u2236%M %p" | ||||
| #~ msgstr "%l\\u2236%M %p" | ||||
|  | ||||
| #~ msgid "%A, %l\\u2236%M %p" | ||||
| #~ msgstr "%A, %l\\u2236%M %p" | ||||
|  | ||||
| #~ msgid "%B %d, %l\\u2236%M %p" | ||||
| #~ msgstr "%d ב%B, %l\\u2236%M %p" | ||||
|  | ||||
| #~ msgid "<b>%A</b>, <b>%H:%M</b>" | ||||
| #~ msgstr "<b>%A</b> ב־<b>%H:%M</b>" | ||||
|  | ||||
| @@ -1792,6 +1752,14 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות" | ||||
| #~ msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " | ||||
| #~ msgstr "ה־<b>%d</b> ב<b>%B</b> <b>%Y</b> ב־<b>%H:%M</b>" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%H\\u2236%M" | ||||
| #~ msgstr "%H\\u2236%M" | ||||
|  | ||||
| #~ msgctxt "event list time" | ||||
| #~ msgid "%l\\u2236%M\\u2009%p" | ||||
| #~ msgstr "%l\\u2236%M\\u2009%p" | ||||
|  | ||||
| #~ msgid "List of categories that should be displayed as folders" | ||||
| #~ msgstr "List of categories that should be displayed as folders" | ||||
|  | ||||
|   | ||||
							
								
								
									
										293
									
								
								po/id.po
									
									
									
									
									
								
							
							
						
						
									
										293
									
								
								po/id.po
									
									
									
									
									
								
							| @@ -3,24 +3,24 @@ | ||||
| # This file is distributed under the same license as the gnome-shell package. | ||||
| # | ||||
| # Andika Triwidada <andika@gmail.com>, 2010, 2011, 2012, 2013, 2014. | ||||
| # Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012, 2014. | ||||
| # Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012. | ||||
| # Wibiharto <wibinem@yahoo.com>, 2011. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gnome-shell master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2014-04-05 19:59+0000\n" | ||||
| "PO-Revision-Date: 2014-04-09 05:35+0700\n" | ||||
| "Last-Translator: Dirgita <dirgitadevina@yahoo.co.id>\n" | ||||
| "Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n" | ||||
| "POT-Creation-Date: 2014-03-06 08:32+0000\n" | ||||
| "PO-Revision-Date: 2014-03-07 13:47+0700\n" | ||||
| "Last-Translator: Andika Triwidada <andika@gmail.com>\n" | ||||
| "Language-Team: Indonesian <gnome@i15n.org>\n" | ||||
| "Language: id\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| "X-Poedit-SourceCharset: UTF-8\n" | ||||
| "X-Generator: Lokalize 1.5\n" | ||||
| "X-Generator: Poedit 1.5.7\n" | ||||
|  | ||||
| #: ../data/50-gnome-shell-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| @@ -79,7 +79,7 @@ msgid "" | ||||
| "Allows access to internal debugging and monitoring tools using the Alt-F2 " | ||||
| "dialog." | ||||
| msgstr "" | ||||
| "Izinkan askes ke perkakas pemantauan dan pengawakutuan internal memakai " | ||||
| "Ijinkan askes ke perkakas pemantauan dan pengawakutuan internal memakai " | ||||
| "dialog Alt-F2." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:3 | ||||
| @@ -236,11 +236,11 @@ msgid "" | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| "Menata tingkat maksimum akurasi lokasi yang diizinkan diperoleh aplikasi. " | ||||
| "Menata tingkat maksimum akurasi lokasi yang diijinkan diperoleh aplikasi. " | ||||
| "Opsi yang valid adalah 'off' (nonaktifkan pelacakan lokasi), " | ||||
| "'country' (negara), 'city' (kota), 'neighborhood' (lingkungan tetangga), " | ||||
| "'street' (jalan), dan 'exact' (eksak, biasanya perlu penerima GPS). Harap " | ||||
| "diingat bahwa ini hanya mengendalikan apa yang diizinkan oleh GeoClue bagi " | ||||
| "diingat bahwa ini hanya mengendalikan apa yang diijinkan oleh GeoClue bagi " | ||||
| "aplikasi dan mereka bisa menemukan sendiri lokasi pengguna memakai sumber " | ||||
| "daya jaringan (walaupun paling baik pada tingkat jalan)." | ||||
|  | ||||
| @@ -315,7 +315,7 @@ msgstr "Pilih ekstensi yang ingin dikonfigurasi pada kotak di atas." | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "Batal" | ||||
|  | ||||
| @@ -333,25 +333,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Masuk" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "Pilih Sesi" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "Tak masuk daftar?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:614 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(cth., pengguna dari %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Nama pengguna: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:920 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Jendela Log Masuk" | ||||
|  | ||||
| @@ -369,34 +369,34 @@ msgstr "Perintah tidak ditemukan" | ||||
|  | ||||
| #: ../js/misc/util.js:148 | ||||
| msgid "Could not parse command:" | ||||
| msgstr "Tak dapat mengurai perintah:" | ||||
| msgstr "Tidak dapat mengurai perintah:" | ||||
|  | ||||
| #: ../js/misc/util.js:156 | ||||
| #, javascript-format | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Eksekusi \"%s\" gagal:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Aplikasi yang sering dipakai akan muncul di sini" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "Sering" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "Semua" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Jendela Baru" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Hapus dari Favorit" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Tambah ke Favorit" | ||||
|  | ||||
| @@ -539,44 +539,44 @@ msgstr "Sab" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:MY" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Bulan sebelumnya" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Bulan selanjutnya" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:763 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Tak Ada Jadwal" | ||||
| msgstr "Tidak Ada Jadwal" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:781 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %d %B" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:784 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %d %B %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:795 | ||||
| msgid "Today" | ||||
| msgstr "Hari ini" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:799 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Besok" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:810 | ||||
| msgid "This week" | ||||
| msgstr "Minggu ini" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:818 | ||||
| msgid "Next week" | ||||
| msgstr "Minggu depan" | ||||
|  | ||||
| @@ -610,7 +610,7 @@ msgid "Type again:" | ||||
| msgstr "Ketik lagi:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "Sambung" | ||||
|  | ||||
| @@ -640,7 +640,7 @@ msgstr "Layanan: " | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:311 | ||||
| msgid "Authentication required by wireless network" | ||||
| msgstr "Otentikasi diperlukan oleh jaringan nirkabel" | ||||
| msgstr "Otentikasi dibutuhkan oleh jaringan nirkabel" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:312 | ||||
| #, javascript-format | ||||
| @@ -669,7 +669,7 @@ msgstr "Perlu kode PIN" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:331 | ||||
| msgid "PIN code is needed for the mobile broadband device" | ||||
| msgstr "Kode PIN diperlukan untuk perangkat data seluler" | ||||
| msgstr "Kode PIN dibutuhkan untuk perangkat data seluler" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:332 | ||||
| msgid "PIN: " | ||||
| @@ -815,13 +815,13 @@ msgstr "%s mengundang Anda untuk bergabung dengan %s" | ||||
| #: ../js/ui/components/telepathyClient.js:1164 | ||||
| #: ../js/ui/components/telepathyClient.js:1199 | ||||
| #: ../js/ui/components/telepathyClient.js:1233 | ||||
| #: ../js/ui/components/telepathyClient.js:1291 | ||||
| #: ../js/ui/components/telepathyClient.js:1290 | ||||
| msgid "Decline" | ||||
| msgstr "Tolak" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1170 | ||||
| #: ../js/ui/components/telepathyClient.js:1239 | ||||
| #: ../js/ui/components/telepathyClient.js:1296 | ||||
| #: ../js/ui/components/telepathyClient.js:1295 | ||||
| msgid "Accept" | ||||
| msgstr "Terima" | ||||
|  | ||||
| @@ -856,102 +856,102 @@ msgstr "%s sedang mengirimi Anda %s" | ||||
| #: ../js/ui/components/telepathyClient.js:1256 | ||||
| #, javascript-format | ||||
| msgid "%s would like permission to see when you are online" | ||||
| msgstr "%s ingin minta izin melihat Anda ketika Anda daring" | ||||
| msgstr "%s ingin minta ijin melihat Anda ketika Anda daring" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1342 | ||||
| #: ../js/ui/components/telepathyClient.js:1341 | ||||
| msgid "Network error" | ||||
| msgstr "Galat jaringan" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1344 | ||||
| #: ../js/ui/components/telepathyClient.js:1343 | ||||
| msgid "Authentication failed" | ||||
| msgstr "Otentikasi gagal" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1346 | ||||
| #: ../js/ui/components/telepathyClient.js:1345 | ||||
| msgid "Encryption error" | ||||
| msgstr "Galat enkripsi" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1348 | ||||
| #: ../js/ui/components/telepathyClient.js:1347 | ||||
| msgid "Certificate not provided" | ||||
| msgstr "Sertifikat tidak disediakan" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1350 | ||||
| #: ../js/ui/components/telepathyClient.js:1349 | ||||
| msgid "Certificate untrusted" | ||||
| msgstr "Sertifikat tidak dipercaya" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1352 | ||||
| #: ../js/ui/components/telepathyClient.js:1351 | ||||
| msgid "Certificate expired" | ||||
| msgstr "Sertifikat kadaluarsa" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1354 | ||||
| #: ../js/ui/components/telepathyClient.js:1353 | ||||
| msgid "Certificate not activated" | ||||
| msgstr "Sertifikat tidak diaktifkan" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1356 | ||||
| #: ../js/ui/components/telepathyClient.js:1355 | ||||
| msgid "Certificate hostname mismatch" | ||||
| msgstr "Nama host sertifikat tidak cocok" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1358 | ||||
| #: ../js/ui/components/telepathyClient.js:1357 | ||||
| msgid "Certificate fingerprint mismatch" | ||||
| msgstr "Sidik jari sertifikat tidak cocok" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1360 | ||||
| #: ../js/ui/components/telepathyClient.js:1359 | ||||
| msgid "Certificate self-signed" | ||||
| msgstr "Sertifikat ditandatangani sendiri" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1362 | ||||
| #: ../js/ui/components/telepathyClient.js:1361 | ||||
| msgid "Status is set to offline" | ||||
| msgstr "Status diatur ke luring" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1364 | ||||
| #: ../js/ui/components/telepathyClient.js:1363 | ||||
| msgid "Encryption is not available" | ||||
| msgstr "Enkripsi tidak tersedia" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1366 | ||||
| #: ../js/ui/components/telepathyClient.js:1365 | ||||
| msgid "Certificate is invalid" | ||||
| msgstr "Sertifikat tidak valid" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1368 | ||||
| #: ../js/ui/components/telepathyClient.js:1367 | ||||
| msgid "Connection has been refused" | ||||
| msgstr "Koneksi telah ditolak" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1370 | ||||
| #: ../js/ui/components/telepathyClient.js:1369 | ||||
| msgid "Connection can't be established" | ||||
| msgstr "Koneksi tak dapat dijalin" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1372 | ||||
| #: ../js/ui/components/telepathyClient.js:1371 | ||||
| msgid "Connection has been lost" | ||||
| msgstr "Koneksi telah terputus" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1374 | ||||
| #: ../js/ui/components/telepathyClient.js:1373 | ||||
| msgid "This account is already connected to the server" | ||||
| msgstr "Akun ini telah tersambung pada server" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1376 | ||||
| #: ../js/ui/components/telepathyClient.js:1375 | ||||
| msgid "" | ||||
| "Connection has been replaced by a new connection using the same resource" | ||||
| msgstr "" | ||||
| "Koneksi telah digantikan oleh koneksi baru memakai sumberdaya yang sama" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1378 | ||||
| #: ../js/ui/components/telepathyClient.js:1377 | ||||
| msgid "The account already exists on the server" | ||||
| msgstr "Akun ini sudah ada di server" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1380 | ||||
| #: ../js/ui/components/telepathyClient.js:1379 | ||||
| msgid "Server is currently too busy to handle the connection" | ||||
| msgstr "Server kini terlalu sibuk untuk menangani koneksi" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1382 | ||||
| #: ../js/ui/components/telepathyClient.js:1381 | ||||
| msgid "Certificate has been revoked" | ||||
| msgstr "Sertifikat telah dicabut" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1384 | ||||
| #: ../js/ui/components/telepathyClient.js:1383 | ||||
| msgid "" | ||||
| "Certificate uses an insecure cipher algorithm or is cryptographically weak" | ||||
| msgstr "" | ||||
| "Sertifikat memakai algorima cipher yang tak aman atau lemah secara " | ||||
| "kriptografi" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1386 | ||||
| #: ../js/ui/components/telepathyClient.js:1385 | ||||
| msgid "" | ||||
| "The length of the server certificate, or the depth of the server certificate " | ||||
| "chain, exceed the limits imposed by the cryptography library" | ||||
| @@ -959,22 +959,22 @@ msgstr "" | ||||
| "Panjang sertifikat server, atau kedalaman rantai sertifikat server, " | ||||
| "melampaui batas yang diberlakukan oleh pustaka kriptografi" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1388 | ||||
| #: ../js/ui/components/telepathyClient.js:1387 | ||||
| msgid "Internal error" | ||||
| msgstr "Galat internal" | ||||
|  | ||||
| #. translators: argument is the account name, like | ||||
| #. * name@jabber.org for example. */ | ||||
| #: ../js/ui/components/telepathyClient.js:1398 | ||||
| #: ../js/ui/components/telepathyClient.js:1397 | ||||
| #, javascript-format | ||||
| msgid "Unable to connect to %s" | ||||
| msgstr "Tak bisa menyambung ke %s" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1403 | ||||
| #: ../js/ui/components/telepathyClient.js:1402 | ||||
| msgid "View account" | ||||
| msgstr "Tilik akun" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1440 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Alasan yang tidak diketahui" | ||||
|  | ||||
| @@ -1146,26 +1146,25 @@ msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?" | ||||
| msgid "Keyboard" | ||||
| msgstr "Papan Ketik" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "Tak ada ekstensi terpasang" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s tidak menampilkan galat apa pun." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Sembunyikan Galat" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Tampilkan Galat" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Diaktifkan" | ||||
|  | ||||
| @@ -1173,28 +1172,28 @@ msgstr "Diaktifkan" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Dinonaktifkan" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Galat" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Kadaluarsa" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Mengunduh" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Tilik Sumber" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Halaman Web" | ||||
|  | ||||
| @@ -1230,7 +1229,7 @@ msgstr "Tiada Pesan" | ||||
| msgid "Message Tray" | ||||
| msgstr "Baki Pesan" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "Informasi Sistem" | ||||
|  | ||||
| @@ -1245,11 +1244,11 @@ msgid "%d new message" | ||||
| msgid_plural "%d new messages" | ||||
| msgstr[0] "%d pesan baru" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Batal" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Gambaran" | ||||
|  | ||||
| @@ -1257,7 +1256,7 @@ msgstr "Gambaran" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Ketik untuk mencari…" | ||||
|  | ||||
| @@ -1300,29 +1299,29 @@ msgid "%d new notification" | ||||
| msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d pemberitahuan baru" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Kunci" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME perlu mengunci layar" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Tak bisa mengunci" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Kunci diblokir oleh suatu aplikasi" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Mencari…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "Tak ada yang cocok." | ||||
| msgstr "Tidak ada yang cocok." | ||||
|  | ||||
| #: ../js/ui/shellEntry.js:27 | ||||
| msgid "Copy" | ||||
| @@ -1392,28 +1391,29 @@ msgstr "Kontras Tinggi" | ||||
| msgid "Large Text" | ||||
| msgstr "Teks Besar" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Matikan" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Pengaturan Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d Perangkat Tersambung" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "Tak Tersambung" | ||||
|  | ||||
| @@ -1425,167 +1425,160 @@ msgstr "Kecerahan" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Tampilkan Tata Letak Papan Tik" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Lokasi" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "Nonaktifkan" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Nyala" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| msgstr "Fungsikan" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "Mati" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "Dipakai" | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "Nyalakan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<tak dikenal>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "Mati" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| msgid "Connected" | ||||
| msgstr "Tersambung" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "tak dikelola" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "memutus..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "menghubungi..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "diperlukan otentikasi" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "firmware hilang" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "tidak tersedia" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "koneksi gagal" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Pengaturan Kabel" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Pengaturan Data Seluler" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Perangkat Keras Dinonaktifkan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Pakai sebagai koneksi Internet" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Mode Pesawat Terbang Menyala" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "Wi-Fi dinonaktifkan ketika mode pesawat terbang menyala." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Matikan Mode Pesawat Terbang" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Wi-Fi Mati" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Wi-Fi perlu dinyalakan untuk menyambung ke suatu jaringan." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Nyalakan Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Jaringan Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "Pilih jaringan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "Tiada Jaringan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Pakai saklar perangkat keras untuk mematikan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "Pilih Jaringan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Pengaturan Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "Nyalakan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Hotspot Aktif" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "Menyambung" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Pengaturan Jaringan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Pengaturan VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Manajer Jaringan" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Koneksi gagal" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Aktivasi koneksi jaringan gagal" | ||||
|  | ||||
| @@ -1623,10 +1616,6 @@ msgstr "Baterai" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Mode Pesawat Terbang" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Nyala" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "Ganti Pengguna" | ||||
| @@ -1757,5 +1746,3 @@ msgstr "Sandi tidak boleh kosong" | ||||
| #: ../src/shell-polkit-authentication-agent.c:343 | ||||
| msgid "Authentication dialog was dismissed by the user" | ||||
| msgstr "Dialog otentikasi ditolak oleh pengguna" | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										293
									
								
								po/ko.po
									
									
									
									
									
								
							
							
						
						
									
										293
									
								
								po/ko.po
									
									
									
									
									
								
							| @@ -18,8 +18,8 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2014-03-28 20:56+0000\n" | ||||
| "PO-Revision-Date: 2014-03-29 16:13+0900\n" | ||||
| "POT-Creation-Date: 2014-03-05 08:30+0000\n" | ||||
| "PO-Revision-Date: 2014-03-05 19:53+0900\n" | ||||
| "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" | ||||
| "Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n" | ||||
| "Language: Korean\n" | ||||
| @@ -108,10 +108,7 @@ msgid "" | ||||
| "GNOME Shell will only load extensions that claim to support the current " | ||||
| "running version. Enabling this option will disable this check and try to " | ||||
| "load all extensions regardless of the versions they claim to support." | ||||
| msgstr "" | ||||
| "그놈 셸에서 현재 실행 중인 버전을 지원하는 확장 기능만 읽어들입니다. 이 옵션" | ||||
| "을 사용하면 이 버전 검사를 하지 않고, 지원한다고 지정된 버전에 관계없이 모든 " | ||||
| "확장 기능을 읽어들입니다." | ||||
| msgstr "그놈 셸에서 현재 실행 중인 버전을 지원하는 확장 기능만 읽어들입니다. 이 옵션을 사용하면 이 버전 검사를 하지 않고, 지원한다고 지정된 버전에 관계없이 모든 확장 기능을 읽어들입니다." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 | ||||
| msgid "List of desktop file IDs for favorite applications" | ||||
| @@ -139,9 +136,7 @@ msgstr "사용자 메뉴에 '로그아웃' 메뉴 항목을 항상 표시합니 | ||||
| msgid "" | ||||
| "This key overrides the automatic hiding of the 'Log out' menu item in single-" | ||||
| "user, single-session situations." | ||||
| msgstr "" | ||||
| "이 키를 설정하면, 단일 사용자 및 단일 세션에서 '로그아웃' 메뉴 항목 자동 감추" | ||||
| "기 기능을 사용하지 않습니다." | ||||
| msgstr "이 키를 설정하면, 단일 사용자 및 단일 세션에서 '로그아웃' 메뉴 항목 자동 감추기 기능을 사용하지 않습니다." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:13 | ||||
| msgid "" | ||||
| @@ -230,13 +225,7 @@ msgid "" | ||||
| "receiver). Please keep in mind that this only controls what GeoClue will " | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| "프로그램에서 확인할 수 있는 위치의 정확도 최대 단계를 설정합니다. 쓸 수 있는 " | ||||
| "값은 'off'(위치 추적 기능 사용하지 않음), 'country'(국가), 'city'(도시), " | ||||
| "'neighborhood'(이웃), 'street'(길), 'exact'(정확한 위치, 보통 GPS 리시버 필" | ||||
| "요)입니다. 단 이 옵션은 GeoClue를 사용하는 프로그램이 쓸 수 있는 위치 정보만 " | ||||
| "설정합니다. 그래서 응용 프로그램이 자체적으로 네트워크를 사용해 사용자 위치" | ||||
| "를 알아낼 수는 있습니다(이 경우 보통 길 위치 정도만 알아낼 수 있지만)." | ||||
| msgstr "프로그램에서 확인할 수 있는 위치의 정확도 최대 단계를 설정합니다. 쓸 수 있는 값은 'off'(위치 추적 기능 사용하지 않음), 'country'(국가), 'city'(도시), 'neighborhood'(이웃), 'street'(길), 'exact'(정확한 위치, 보통 GPS 리시버 필요)입니다. 단 이 옵션은 GeoClue를 사용하는 프로그램이 쓸 수 있는 위치 정보만 설정합니다. 그래서 응용 프로그램이 자체적으로 네트워크를 사용해 사용자 위치를 알아낼 수는 있습니다(이 경우 보통 길 위치 정도만 알아낼 수 있지만)." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:31 | ||||
| msgid "The application icon mode." | ||||
| @@ -303,7 +292,7 @@ msgstr "위의 콤보상자를 사용해 설정할 확장을 선택하십시오. | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "취소" | ||||
|  | ||||
| @@ -321,25 +310,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "로그인" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "세션 선택" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "목록에 없습니까?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:614 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(예를 들어, 사용자 또는 %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "사용자 이름: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:920 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "로그인 창" | ||||
|  | ||||
| @@ -364,27 +353,27 @@ msgstr "명령어를 파싱할 수 없습니다:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "“%s” 실행이 실패했습니다:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "자주 사용하는 프로그램이 여기 나타납니다" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "자주" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "모두" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "새 창" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "즐겨찾기에서 제거" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "즐겨찾기에 추가" | ||||
|  | ||||
| @@ -528,44 +517,44 @@ msgstr "토" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:YM" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "이전 달" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "다음 달" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "일정이 없습니다" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%B %d일 %A" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%Y년 %B %d일 %A" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "오늘" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "내일" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "이번주" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "다음주" | ||||
|  | ||||
| @@ -599,7 +588,7 @@ msgid "Type again:" | ||||
| msgstr "다시 입력하십시오:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "연결" | ||||
|  | ||||
| @@ -802,13 +791,13 @@ msgstr "%s 님이 %s에 입장하도록 초대합니다" | ||||
| #: ../js/ui/components/telepathyClient.js:1164 | ||||
| #: ../js/ui/components/telepathyClient.js:1199 | ||||
| #: ../js/ui/components/telepathyClient.js:1233 | ||||
| #: ../js/ui/components/telepathyClient.js:1291 | ||||
| #: ../js/ui/components/telepathyClient.js:1290 | ||||
| msgid "Decline" | ||||
| msgstr "거부" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1170 | ||||
| #: ../js/ui/components/telepathyClient.js:1239 | ||||
| #: ../js/ui/components/telepathyClient.js:1296 | ||||
| #: ../js/ui/components/telepathyClient.js:1295 | ||||
| msgid "Accept" | ||||
| msgstr "허용" | ||||
|  | ||||
| @@ -845,97 +834,97 @@ msgstr "%s님이 %s 파일을 보냅니다" | ||||
| msgid "%s would like permission to see when you are online" | ||||
| msgstr "연결 상태인지 알 수 있는 권한을 %s님이 요청합니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1342 | ||||
| #: ../js/ui/components/telepathyClient.js:1341 | ||||
| msgid "Network error" | ||||
| msgstr "네트워크 오류" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1344 | ||||
| #: ../js/ui/components/telepathyClient.js:1343 | ||||
| msgid "Authentication failed" | ||||
| msgstr "인증이 실패했습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1346 | ||||
| #: ../js/ui/components/telepathyClient.js:1345 | ||||
| msgid "Encryption error" | ||||
| msgstr "암호화 오류" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1348 | ||||
| #: ../js/ui/components/telepathyClient.js:1347 | ||||
| msgid "Certificate not provided" | ||||
| msgstr "인증서가 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1350 | ||||
| #: ../js/ui/components/telepathyClient.js:1349 | ||||
| msgid "Certificate untrusted" | ||||
| msgstr "인증서를 신뢰할 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1352 | ||||
| #: ../js/ui/components/telepathyClient.js:1351 | ||||
| msgid "Certificate expired" | ||||
| msgstr "인증서가 만료되었습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1354 | ||||
| #: ../js/ui/components/telepathyClient.js:1353 | ||||
| msgid "Certificate not activated" | ||||
| msgstr "인증서를 활성화하지 않았습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1356 | ||||
| #: ../js/ui/components/telepathyClient.js:1355 | ||||
| msgid "Certificate hostname mismatch" | ||||
| msgstr "인증서 호스트 이름이 맞지 않습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1358 | ||||
| #: ../js/ui/components/telepathyClient.js:1357 | ||||
| msgid "Certificate fingerprint mismatch" | ||||
| msgstr "인증서 핑거프린트가 맞지 않습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1360 | ||||
| #: ../js/ui/components/telepathyClient.js:1359 | ||||
| msgid "Certificate self-signed" | ||||
| msgstr "인증서가 자기 서명한 인증서입니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1362 | ||||
| #: ../js/ui/components/telepathyClient.js:1361 | ||||
| msgid "Status is set to offline" | ||||
| msgstr "상태를 오프라인으로 설정" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1364 | ||||
| #: ../js/ui/components/telepathyClient.js:1363 | ||||
| msgid "Encryption is not available" | ||||
| msgstr "암호화를 사용할 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1366 | ||||
| #: ../js/ui/components/telepathyClient.js:1365 | ||||
| msgid "Certificate is invalid" | ||||
| msgstr "인증서가 올바르지 않습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1368 | ||||
| #: ../js/ui/components/telepathyClient.js:1367 | ||||
| msgid "Connection has been refused" | ||||
| msgstr "연결이 거부되었습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1370 | ||||
| #: ../js/ui/components/telepathyClient.js:1369 | ||||
| msgid "Connection can't be established" | ||||
| msgstr "연결할 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1372 | ||||
| #: ../js/ui/components/telepathyClient.js:1371 | ||||
| msgid "Connection has been lost" | ||||
| msgstr "연결이 끊어졌습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1374 | ||||
| #: ../js/ui/components/telepathyClient.js:1373 | ||||
| msgid "This account is already connected to the server" | ||||
| msgstr "이 계정은 이미 서버에 연결했습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1376 | ||||
| #: ../js/ui/components/telepathyClient.js:1375 | ||||
| msgid "" | ||||
| "Connection has been replaced by a new connection using the same resource" | ||||
| msgstr "같은 자원을 사용하는 새로운 연결로 바꾸었습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1378 | ||||
| #: ../js/ui/components/telepathyClient.js:1377 | ||||
| msgid "The account already exists on the server" | ||||
| msgstr "계정이 이미 서버에 있습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1380 | ||||
| #: ../js/ui/components/telepathyClient.js:1379 | ||||
| msgid "Server is currently too busy to handle the connection" | ||||
| msgstr "서버가 처리할 작업이 많아 연결을 처리할 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1382 | ||||
| #: ../js/ui/components/telepathyClient.js:1381 | ||||
| msgid "Certificate has been revoked" | ||||
| msgstr "인증서를 철회했습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1384 | ||||
| #: ../js/ui/components/telepathyClient.js:1383 | ||||
| msgid "" | ||||
| "Certificate uses an insecure cipher algorithm or is cryptographically weak" | ||||
| msgstr "인증서가 보안에 취약한 알고리즘을 사용하거나 암호화 기능이 취약합니다." | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1386 | ||||
| #: ../js/ui/components/telepathyClient.js:1385 | ||||
| msgid "" | ||||
| "The length of the server certificate, or the depth of the server certificate " | ||||
| "chain, exceed the limits imposed by the cryptography library" | ||||
| @@ -943,22 +932,22 @@ msgstr "" | ||||
| "서버 인증서의 길이, 또는 서버 인증서 체인의 단계가 암호화 라이브러리의 제한" | ||||
| "을 넘어갑니다." | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1388 | ||||
| #: ../js/ui/components/telepathyClient.js:1387 | ||||
| msgid "Internal error" | ||||
| msgstr "내부 오류" | ||||
|  | ||||
| #. translators: argument is the account name, like | ||||
| #. * name@jabber.org for example. */ | ||||
| #: ../js/ui/components/telepathyClient.js:1398 | ||||
| #: ../js/ui/components/telepathyClient.js:1397 | ||||
| #, javascript-format | ||||
| msgid "Unable to connect to %s" | ||||
| msgstr "%s에 연결할 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1403 | ||||
| #: ../js/ui/components/telepathyClient.js:1402 | ||||
| msgid "View account" | ||||
| msgstr "계정 보기" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1440 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "알 수 없는 이유" | ||||
|  | ||||
| @@ -974,22 +963,22 @@ msgstr "프로그램 표시" | ||||
| msgid "Dash" | ||||
| msgstr "대시보드" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "달력 열기" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "시계 열기" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "날짜 및 시각 설정" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%Y년 %B %e일 %A" | ||||
|  | ||||
| @@ -1121,33 +1110,31 @@ msgstr "설치" | ||||
| #: ../js/ui/extensionDownloader.js:204 | ||||
| #, javascript-format | ||||
| msgid "Download and install “%s” from extensions.gnome.org?" | ||||
| msgstr "" | ||||
| "extensions.gnome.org 사이트에서 “%s” 확장을 다운로드해 설치하시겠습니까?" | ||||
| msgstr "extensions.gnome.org 사이트에서 “%s” 확장을 다운로드해 설치하시겠습니까?" | ||||
|  | ||||
| #: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 | ||||
| msgid "Keyboard" | ||||
| msgstr "키보드" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "확장을 설치하지 않았습니다" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s에서 발생한 에러가 없습니다." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "오류 숨기기" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "오류 보이기" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "사용" | ||||
|  | ||||
| @@ -1155,28 +1142,28 @@ msgstr "사용" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "사용 않음" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "오류" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "오래 된 버전" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "다운로드 중" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "소스 보기" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "웹페이지" | ||||
|  | ||||
| @@ -1212,7 +1199,7 @@ msgstr "메시지 없음" | ||||
| msgid "Message Tray" | ||||
| msgstr "메시지 트레이" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "시스템 정보" | ||||
|  | ||||
| @@ -1227,11 +1214,11 @@ msgid "%d new message" | ||||
| msgid_plural "%d new messages" | ||||
| msgstr[0] "새 메시지 %d개" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "실행 취소" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "개요" | ||||
|  | ||||
| @@ -1239,7 +1226,7 @@ msgstr "개요" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "검색하려면 입력하십시오…" | ||||
|  | ||||
| @@ -1281,27 +1268,27 @@ msgid "%d new notification" | ||||
| msgid_plural "%d new notifications" | ||||
| msgstr[0] "새 알림 %d개" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "잠그기" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "그놈에서 화면을 잠궈야 합니다" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "잠글 수 없습니다" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "프로그램이 잠금을 막았습니다" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "검색하는 중…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "결과가 없습니다." | ||||
|  | ||||
| @@ -1373,28 +1360,29 @@ msgstr "고대비" | ||||
| msgid "Large Text" | ||||
| msgstr "큰 글자" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "블루투스" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "끄기" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "블루투스 설정" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "연결된 장치 %d개" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "연결되지 않음" | ||||
|  | ||||
| @@ -1406,167 +1394,160 @@ msgstr "밝기" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "키보드 배치 표시" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "위치" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "사용 않기" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "켜기" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| msgstr "사용" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "끄기" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "사용 중" | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "켜기" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<알 수 없음>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "끄기" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| msgid "Connected" | ||||
| msgstr "연결됨" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "관리되지 않음" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "연결 끊는 중..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "연결하는 중..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "인증 필요" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "펌웨어 없음" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "사용 불가" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "연결 실패" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "유선 네트워크 설정" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "휴대전화 네트워크 설정" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "하드웨어 사용 않음" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "인터넷 연결에 사용" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "비행기 모드 켜짐" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "비행기 모드에서는 와이파이를 사용하지 않습니다." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "비행기 모드 끄기" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "와이파이 꺼짐" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "네트워크에 연결하려면 와이파이를 켜야 합니다." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "와이파이 켜기" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "와이파이 네트워크" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "네트워크를 선택하십시오" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "네트워크 없음" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "끄려면 하드웨어 스위치를 사용하십시오" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "네트워크 선택" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "와이파이 설정" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "켜기" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "핫스팟 사용 중" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "연결하는 중" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "네트워크 설정" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "가상사설망 설정" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "가상사설망" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "네트워크 관리" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "연결이 실패했습니다" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "네트워크 연결이 실패했습니다" | ||||
|  | ||||
| @@ -1604,10 +1585,6 @@ msgstr "배터리" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "비행기 모드" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "켜기" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "사용자 바꾸기" | ||||
|   | ||||
							
								
								
									
										287
									
								
								po/lt.po
									
									
									
									
									
								
							
							
						
						
									
										287
									
								
								po/lt.po
									
									
									
									
									
								
							| @@ -11,8 +11,8 @@ msgstr "" | ||||
| "Project-Id-Version: gnome-shell master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" | ||||
| "shell&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2014-03-30 19:57+0000\n" | ||||
| "PO-Revision-Date: 2014-03-30 23:02+0300\n" | ||||
| "POT-Creation-Date: 2014-03-02 16:24+0000\n" | ||||
| "PO-Revision-Date: 2014-03-02 19:56+0200\n" | ||||
| "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" | ||||
| "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" | ||||
| "Language: lt\n" | ||||
| @@ -228,6 +228,14 @@ msgid "The maximum accuracy level of location." | ||||
| msgstr "Didžiausias vietos tikslumo lygis." | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 | ||||
| #| msgid "" | ||||
| #| "Configures the maximum level of location accuracy applications are " | ||||
| #| "allowed to see. Valid options are 'off' (disable location tracking), " | ||||
| #| "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " | ||||
| #| "requires GPS receiver). Please keep in mind that this only controls what " | ||||
| #| "Geoclue will allow applications to see and they can find user's location " | ||||
| #| "on their own using network resources (albeit with street-level accuracy " | ||||
| #| "at best)." | ||||
| msgid "" | ||||
| "Configures the maximum level of location accuracy applications are allowed " | ||||
| "to see. Valid options are 'off' (disable location tracking), 'country', " | ||||
| @@ -310,7 +318,7 @@ msgstr "Išskleidžiamajame sąraše pasirinkite konfigūruotiną plėtinį." | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:883 | ||||
| msgid "Cancel" | ||||
| msgstr "Atsisakyti" | ||||
|  | ||||
| @@ -328,25 +336,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Prisijungti" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "Pasirinkite seansą" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "Nėra sąraše?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:614 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(pvz., naudotojas arba %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Naudotojo vardas: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:920 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Prisijungimo langas" | ||||
|  | ||||
| @@ -371,27 +379,27 @@ msgstr "Nepavyko perskaityti komandos:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Nepavyko įvykdyti „%s“:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "Čia bus matomos dažnai naudojamos programos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "Dažnai naudojamos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "Visos" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Naujas langas" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Pašalinti iš mėgstamų" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Pridėti prie mėgstamų" | ||||
|  | ||||
| @@ -534,44 +542,44 @@ msgstr "Št" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:YM" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Ankstesnis mėnuo" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Kitas mėnuo" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Nieko nesuplanuota" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %B %d d." | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %Y m. %B %d d." | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "Šiandien" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Rytoj" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Šią savaitę" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "Kitą savaitę" | ||||
|  | ||||
| @@ -604,8 +612,8 @@ msgstr "Slaptažodis:" | ||||
| msgid "Type again:" | ||||
| msgstr "Įveskite dar kartą:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 | ||||
| #: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 | ||||
| msgid "Connect" | ||||
| msgstr "Prisijungti" | ||||
|  | ||||
| @@ -810,13 +818,13 @@ msgstr "%s jus kviečia prisijungti prie %s" | ||||
| #: ../js/ui/components/telepathyClient.js:1164 | ||||
| #: ../js/ui/components/telepathyClient.js:1199 | ||||
| #: ../js/ui/components/telepathyClient.js:1233 | ||||
| #: ../js/ui/components/telepathyClient.js:1291 | ||||
| #: ../js/ui/components/telepathyClient.js:1290 | ||||
| msgid "Decline" | ||||
| msgstr "Atmesti" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1170 | ||||
| #: ../js/ui/components/telepathyClient.js:1239 | ||||
| #: ../js/ui/components/telepathyClient.js:1296 | ||||
| #: ../js/ui/components/telepathyClient.js:1295 | ||||
| msgid "Accept" | ||||
| msgstr "Priimti" | ||||
|  | ||||
| @@ -853,99 +861,99 @@ msgstr "%s jums siunčia %s" | ||||
| msgid "%s would like permission to see when you are online" | ||||
| msgstr "%s pageidauja matyti, kai esate prisijungę prie interneto" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1342 | ||||
| #: ../js/ui/components/telepathyClient.js:1341 | ||||
| msgid "Network error" | ||||
| msgstr "Tinklo klaida" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1344 | ||||
| #: ../js/ui/components/telepathyClient.js:1343 | ||||
| msgid "Authentication failed" | ||||
| msgstr "Nepavyko patvirtinti tapatybės" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1346 | ||||
| #: ../js/ui/components/telepathyClient.js:1345 | ||||
| msgid "Encryption error" | ||||
| msgstr "Šifravimo klaida" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1348 | ||||
| #: ../js/ui/components/telepathyClient.js:1347 | ||||
| msgid "Certificate not provided" | ||||
| msgstr "Liudijimas nepateiktas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1350 | ||||
| #: ../js/ui/components/telepathyClient.js:1349 | ||||
| msgid "Certificate untrusted" | ||||
| msgstr "Liudijimas nepatikimas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1352 | ||||
| #: ../js/ui/components/telepathyClient.js:1351 | ||||
| msgid "Certificate expired" | ||||
| msgstr "Liudijimo galiojimas pasibaigęs" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1354 | ||||
| #: ../js/ui/components/telepathyClient.js:1353 | ||||
| msgid "Certificate not activated" | ||||
| msgstr "Liudijimas neaktyvuotas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1356 | ||||
| #: ../js/ui/components/telepathyClient.js:1355 | ||||
| msgid "Certificate hostname mismatch" | ||||
| msgstr "Liudijimo serverio vardo nesutapimas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1358 | ||||
| #: ../js/ui/components/telepathyClient.js:1357 | ||||
| msgid "Certificate fingerprint mismatch" | ||||
| msgstr "Liudijimo piršto atspaudo nesutapimas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1360 | ||||
| #: ../js/ui/components/telepathyClient.js:1359 | ||||
| msgid "Certificate self-signed" | ||||
| msgstr "Liudijimas pačių pasirašytas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1362 | ||||
| #: ../js/ui/components/telepathyClient.js:1361 | ||||
| msgid "Status is set to offline" | ||||
| msgstr "Nustatyta atsijungimo būsena" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1364 | ||||
| #: ../js/ui/components/telepathyClient.js:1363 | ||||
| msgid "Encryption is not available" | ||||
| msgstr "Šifravimas negalimas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1366 | ||||
| #: ../js/ui/components/telepathyClient.js:1365 | ||||
| msgid "Certificate is invalid" | ||||
| msgstr "Liudijimas netinkamas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1368 | ||||
| #: ../js/ui/components/telepathyClient.js:1367 | ||||
| msgid "Connection has been refused" | ||||
| msgstr "Ryšys atmestas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1370 | ||||
| #: ../js/ui/components/telepathyClient.js:1369 | ||||
| msgid "Connection can't be established" | ||||
| msgstr "Nepavyko užmegzti ryšio" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1372 | ||||
| #: ../js/ui/components/telepathyClient.js:1371 | ||||
| msgid "Connection has been lost" | ||||
| msgstr "Ryšys nutrūko" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1374 | ||||
| #: ../js/ui/components/telepathyClient.js:1373 | ||||
| msgid "This account is already connected to the server" | ||||
| msgstr "Ši paskyra jau prijungta prie serverio" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1376 | ||||
| #: ../js/ui/components/telepathyClient.js:1375 | ||||
| msgid "" | ||||
| "Connection has been replaced by a new connection using the same resource" | ||||
| msgstr "Ryšys pakeistas nauju ryšiu naudojant tą patį išteklių" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1378 | ||||
| #: ../js/ui/components/telepathyClient.js:1377 | ||||
| msgid "The account already exists on the server" | ||||
| msgstr "Tokia paskyra serveryje jau yra" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1380 | ||||
| #: ../js/ui/components/telepathyClient.js:1379 | ||||
| msgid "Server is currently too busy to handle the connection" | ||||
| msgstr "Šiuo metu serveris per daug užimtas šiai užklausai apdoroti" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1382 | ||||
| #: ../js/ui/components/telepathyClient.js:1381 | ||||
| msgid "Certificate has been revoked" | ||||
| msgstr "Liudijimas atšauktas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1384 | ||||
| #: ../js/ui/components/telepathyClient.js:1383 | ||||
| msgid "" | ||||
| "Certificate uses an insecure cipher algorithm or is cryptographically weak" | ||||
| msgstr "" | ||||
| "Liudijimui naudojamas nesaugus šifravimo algoritmas arba jis kriptografiškai " | ||||
| "silpnas" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1386 | ||||
| #: ../js/ui/components/telepathyClient.js:1385 | ||||
| msgid "" | ||||
| "The length of the server certificate, or the depth of the server certificate " | ||||
| "chain, exceed the limits imposed by the cryptography library" | ||||
| @@ -953,22 +961,22 @@ msgstr "" | ||||
| "Serverio liudijimo ilgis arba liudijimų eilės dydis viršija kriptografijos " | ||||
| "bibliotekos apribojimus" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1388 | ||||
| #: ../js/ui/components/telepathyClient.js:1387 | ||||
| msgid "Internal error" | ||||
| msgstr "Vidinė klaida" | ||||
|  | ||||
| #. translators: argument is the account name, like | ||||
| #. * name@jabber.org for example. */ | ||||
| #: ../js/ui/components/telepathyClient.js:1398 | ||||
| #: ../js/ui/components/telepathyClient.js:1397 | ||||
| #, javascript-format | ||||
| msgid "Unable to connect to %s" | ||||
| msgstr "Nepavyksta prisijungti prie %s" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1403 | ||||
| #: ../js/ui/components/telepathyClient.js:1402 | ||||
| msgid "View account" | ||||
| msgstr "Rodyti paskyrą" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1440 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Nežinoma priežastis" | ||||
|  | ||||
| @@ -984,22 +992,22 @@ msgstr "Paleisti programas" | ||||
| msgid "Dash" | ||||
| msgstr "Paleidimo sritis" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Atverti kalendorių" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Atverti laikrodžius" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Datos ir laiko nustatymai" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A, %Y m. %B %d d." | ||||
|  | ||||
| @@ -1152,26 +1160,25 @@ msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?" | ||||
| msgid "Keyboard" | ||||
| msgstr "Klaviatūra" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "Nėra įdiegtų plėtinių" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s nepranešė apie jokias klaidas." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Slėpti klaidas" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Rodyti klaidas" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Įjungta" | ||||
|  | ||||
| @@ -1179,28 +1186,28 @@ msgstr "Įjungta" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Išjungta" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Klaida" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Pasenęs" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Atsiunčiama" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Žiūrėti šaltinį" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Tinklalapis" | ||||
|  | ||||
| @@ -1236,7 +1243,7 @@ msgstr "Nėra pranešimų" | ||||
| msgid "Message Tray" | ||||
| msgstr "Pranešimų juosta" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "Sistemos informacija" | ||||
|  | ||||
| @@ -1253,11 +1260,11 @@ msgstr[0] "%d naujas pranešimas" | ||||
| msgstr[1] "%d nauji pranešimai" | ||||
| msgstr[2] "%d naujų pranešimų" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Atšaukti" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Apžvalga" | ||||
|  | ||||
| @@ -1265,7 +1272,7 @@ msgstr "Apžvalga" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Rašykite, ko ieškote…" | ||||
|  | ||||
| @@ -1309,27 +1316,27 @@ msgstr[0] "%d naujas pranešimas" | ||||
| msgstr[1] "%d nauji pranešimai" | ||||
| msgstr[2] "%d naujų pranešimų" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Užrakinti" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME aplinkai reikia užrakinti ekraną" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Nepavyksta užrakinti" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Programa užblokavo užrakinimą" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Ieškoma…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "Nerasta atitikmenų." | ||||
|  | ||||
| @@ -1401,22 +1408,23 @@ msgstr "Didelis kontrastas" | ||||
| msgid "Large Text" | ||||
| msgstr "Didelis tekstas" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 | ||||
| #: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Išjungti" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Bluetooth nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| @@ -1424,7 +1432,7 @@ msgstr[0] "%d prijungtas įrenginys" | ||||
| msgstr[1] "%d prijungti įrenginiai" | ||||
| msgstr[2] "%d prijungtų įrenginių" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 | ||||
| msgid "Not Connected" | ||||
| msgstr "Atsijungta" | ||||
|  | ||||
| @@ -1436,169 +1444,156 @@ msgstr "Ryškumas" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Rodyti klaviatūros išdėstymą" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Vieta" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| #| msgid "Disabled" | ||||
| msgid "Disable" | ||||
| msgstr "Išjungti" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Įjungta" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| #| msgid "Enabled" | ||||
| msgid "Enable" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:246 | ||||
| #: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 | ||||
| msgid "Off" | ||||
| msgstr "Išjungta" | ||||
|  | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1235 | ||||
| msgid "Turn On" | ||||
| msgstr "Įjungti" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "Naudojama" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<nežinoma>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "Išjungta" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| msgid "Connected" | ||||
| msgstr "Prisijungta" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:431 | ||||
| msgid "unmanaged" | ||||
| msgstr "nevaldomas" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:433 | ||||
| msgid "disconnecting..." | ||||
| msgstr "atsijungiama..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 | ||||
| msgid "connecting..." | ||||
| msgstr "jungiamasi..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:442 ../js/ui/status/network.js:1366 | ||||
| msgid "authentication required" | ||||
| msgstr "reikia patvirtinti tapatybę" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:450 | ||||
| msgid "firmware missing" | ||||
| msgstr "Trūksta integruotos programinės įrangos (firmware)" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:454 | ||||
| msgid "unavailable" | ||||
| msgstr "nepasiekiamas" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 | ||||
| msgid "connection failed" | ||||
| msgstr "nepavyko prisijungti" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:472 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Laidinio ryšio nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Mobiliojo plačiajuosčio tinklo nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Aparatinė įranga išjungta" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:600 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Naudoti kaip interneto ryšį" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:781 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Skrydžio veiksena įjungta" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Išjungti skrydžio veikseną" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:792 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Belaidžio ryšys išjungtas" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:793 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:794 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Įjungti belaidį ryšį" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:819 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Wi-Fi tinklai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:821 | ||||
| msgid "Select a network" | ||||
| msgstr "Pasirinkite tinklą" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:850 | ||||
| msgid "No Networks" | ||||
| msgstr "Nėra tinklų" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Išjungimui naudoti aparatinį jungiklį" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1141 | ||||
| msgid "Select Network" | ||||
| msgstr "Pasirinkite tinklą" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1147 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Belaidžio ryšio nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "Įjungti" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1252 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Prieigos taškas aktyvus" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1255 | ||||
| msgid "Connecting" | ||||
| msgstr "Jungiamasi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Tinklo nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1436 | ||||
| msgid "VPN Settings" | ||||
| msgstr "VPN nustatymai" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1455 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Tinklo valdymas" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Nepavyko prisijungti" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Tinklo ryšio nepavyko aktyvuoti" | ||||
|  | ||||
| @@ -1636,10 +1631,6 @@ msgstr "Baterija" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Skrydžio veiksena" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Įjungta" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "Keisti naudotoją" | ||||
|   | ||||
							
								
								
									
										190
									
								
								po/nb.po
									
									
									
									
									
								
							
							
						
						
									
										190
									
								
								po/nb.po
									
									
									
									
									
								
							| @@ -8,8 +8,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gnome-shell 3.11.x\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2014-03-18 22:49+0100\n" | ||||
| "PO-Revision-Date: 2014-03-18 22:52+0100\n" | ||||
| "POT-Creation-Date: 2014-03-05 06:45+0100\n" | ||||
| "PO-Revision-Date: 2014-03-05 06:47+0100\n" | ||||
| "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" | ||||
| "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n" | ||||
| "Language: \n" | ||||
| @@ -101,7 +101,7 @@ msgid "" | ||||
| "GNOME Shell will only load extensions that claim to support the current " | ||||
| "running version. Enabling this option will disable this check and try to " | ||||
| "load all extensions regardless of the versions they claim to support." | ||||
| msgstr "GNOME Shell vil kun laste utvidelser som hevder å støtte kjørende versjon. Hvis du slår på dette valget deaktiverer du denne sjekken og alle utvidelser vil lastes uavhengig av hvilke versjoner de hevder å støtte." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 | ||||
| msgid "List of desktop file IDs for favorite applications" | ||||
| @@ -131,12 +131,12 @@ msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen." | ||||
| msgid "" | ||||
| "This key overrides the automatic hiding of the 'Log out' menu item in single-" | ||||
| "user, single-session situations." | ||||
| msgstr "Denne nøkkelen overstyrer skjuling av menyoppføringen «Logg ut» i situasjonen én bruker, én sesjon." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:13 | ||||
| msgid "" | ||||
| "Whether to remember password for mounting encrypted or remote filesystems" | ||||
| msgstr "Hvorvidt passord for eksterne eller krypterte filsystemer skal huskes." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 | ||||
| msgid "" | ||||
| @@ -283,7 +283,7 @@ msgstr "Velg en utvidelse som skal konfigureres med komboboksen over." | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "Avbryt" | ||||
|  | ||||
| @@ -309,17 +309,17 @@ msgstr "Velg økt" | ||||
| msgid "Not listed?" | ||||
| msgstr "Ikke listet?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:608 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(f.eks. bruker eller %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:613 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Brukernavn: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:884 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Innloggingsvindu" | ||||
|  | ||||
| @@ -356,15 +356,15 @@ msgstr "Ofte" | ||||
| msgid "All" | ||||
| msgstr "Alle" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1555 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Nytt vindu" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1577 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Fjern fra favoritter" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1583 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Legg til i favoritter" | ||||
|  | ||||
| @@ -507,44 +507,44 @@ msgstr "Lø" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:MY" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Forrige måned" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Neste måned" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Ingenting planlagt" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A %B %d" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A %B %d, %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "I dag" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "I morgen" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Denne uken" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "Neste uke" | ||||
|  | ||||
| @@ -578,7 +578,7 @@ msgid "Type again:" | ||||
| msgstr "Skriv på nytt:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "Koble til" | ||||
|  | ||||
| @@ -941,7 +941,7 @@ msgstr "Kan ikke koble til %s" | ||||
| msgid "View account" | ||||
| msgstr "Vis konto" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Ukjent årsak" | ||||
|  | ||||
| @@ -957,22 +957,22 @@ msgstr "Vis programmer" | ||||
| msgid "Dash" | ||||
| msgstr "Favoritter" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Åpne kalender" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Åpne Klokker" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Innstillinger for dato og klokkeslett" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%a %e %B, %Y" | ||||
|  | ||||
| @@ -1084,9 +1084,7 @@ msgstr "Slå av etter at oppdateringer er installert" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:315 | ||||
| msgid "Running on battery power: please plug in before installing updates." | ||||
| msgstr "" | ||||
| "Kjører på batteristrøm: vennligst koble til strøm før oppdateringer blir " | ||||
| "installert." | ||||
| msgstr "Kjører på batteristrøm: vennligst koble til strøm før oppdateringer blir installert." | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:332 | ||||
| msgid "Some applications are busy or have unsaved work." | ||||
| @@ -1121,25 +1119,25 @@ msgstr "Last ned og installer «%s» fra extensions.gnome.org?" | ||||
| msgid "Keyboard" | ||||
| msgstr "Tastatur" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "Ingen utvidelser installert" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s har ikke avgitt noen feil." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Skjul feil" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Vis feil" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Aktivert" | ||||
|  | ||||
| @@ -1147,28 +1145,28 @@ msgstr "Aktivert" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/network.js:555 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Deaktivert" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Feil" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Utdatert" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Laster ned" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Vis kildekode" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Nettside" | ||||
|  | ||||
| @@ -1204,7 +1202,7 @@ msgstr "Ingen meldinger" | ||||
| msgid "Message Tray" | ||||
| msgstr "Meldingstrau" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "Systeminformasjon" | ||||
|  | ||||
| @@ -1220,11 +1218,11 @@ msgid_plural "%d new messages" | ||||
| msgstr[0] "%d ny melding" | ||||
| msgstr[1] "%d nye meldinger" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Angre" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Oversikt" | ||||
|  | ||||
| @@ -1232,7 +1230,7 @@ msgstr "Oversikt" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Skriv for å søke …" | ||||
|  | ||||
| @@ -1275,27 +1273,27 @@ msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d ny varsling" | ||||
| msgstr[1] "%d nye varslinger" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Lås" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME må låse skjermen" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Kan ikke låse" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Låsing ble stoppet av et program" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Søker …" | ||||
|  | ||||
| #: ../js/ui/search.js:646 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "Ingen resultater." | ||||
|  | ||||
| @@ -1367,30 +1365,30 @@ msgstr "Høy kontrast" | ||||
| msgid "Large Text" | ||||
| msgstr "Stor tekst" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/location.js:60 | ||||
| #: ../js/ui/status/location.js:167 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Slå av" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Innstillinger for Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "%d tilkoblet enhet" | ||||
| msgstr[1] "%d tilkoblede enheter" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "Ikke koblet til" | ||||
|  | ||||
| @@ -1402,21 +1400,21 @@ msgstr "Lysstyrke" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Vis tastaturutforming" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Lokasjon" | ||||
|  | ||||
| #: ../js/ui/status/location.js:59 ../js/ui/status/location.js:166 | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "På" | ||||
|  | ||||
| #: ../js/ui/status/location.js:163 ../js/ui/status/network.js:420 | ||||
| #: ../js/ui/status/network.js:1260 ../js/ui/status/network.js:1464 | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "Av" | ||||
|  | ||||
| #: ../js/ui/status/location.js:164 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "Slå på" | ||||
|  | ||||
| @@ -1424,138 +1422,138 @@ msgstr "Slå på" | ||||
| msgid "<unknown>" | ||||
| msgstr "<ukjent>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| msgid "Connected" | ||||
| msgstr "Koblet til" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "ikke håndtert" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "kobler fra …" | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "kobler til …" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "autentisering kreves" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "fastvare mangler" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "ikke tilgjengelig" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "tilkobling feilet" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Innstillinger for trådbundet nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Innstillinger for mobilt bredbånd" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Maskinvare slått av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Bruk som internettforbindelse" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Flymodus er slått på" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "Trådløst blir slått av når flymodus slås på." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Slå av flymodus" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Trådløs er av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Trådløs må slås på for å koble til et nettverk." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Slå på trådløs" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Wi-Fi nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "Velg et nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "Ingen nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Bruk maskinvarebryter til å slå av" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "Velg nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Innstillinger" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Trådløst aksesspunkt aktivt" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "Kobler til" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Innstillinger for nettverk" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Innstillinger for VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Nettverkshåndtering" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Tilkobling feilet" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Aktivering av nettverkstilkobling feilet" | ||||
|  | ||||
|   | ||||
							
								
								
									
										217
									
								
								po/pl.po
									
									
									
									
									
								
							
							
						
						
									
										217
									
								
								po/pl.po
									
									
									
									
									
								
							| @@ -12,8 +12,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gnome-shell\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2014-03-27 19:22+0100\n" | ||||
| "PO-Revision-Date: 2014-03-27 19:23+0100\n" | ||||
| "POT-Creation-Date: 2014-03-04 18:14+0100\n" | ||||
| "PO-Revision-Date: 2014-03-04 18:15+0100\n" | ||||
| "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" | ||||
| "Language-Team: Polish <gnomepl@aviary.pl>\n" | ||||
| "Language: pl\n" | ||||
| @@ -325,7 +325,7 @@ msgstr "" | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:873 | ||||
| msgid "Cancel" | ||||
| msgstr "Anuluj" | ||||
|  | ||||
| @@ -343,25 +343,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "Zaloguj" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "Wybór sesji" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "Inny użytkownik?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:611 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(np. użytkownik lub %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "Nazwa użytkownika: " | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:917 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "Okno logowania" | ||||
|  | ||||
| @@ -386,27 +386,27 @@ msgstr "Nie można przetworzyć polecenia:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "Wykonanie polecenia \"%s\" się nie powiodło:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "W tym miejscu pojawią się często używane programy" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "Często używane" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "Wszystkie" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "Nowe okno" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "Usuń z ulubionych" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "Dodaj do ulubionych" | ||||
|  | ||||
| @@ -549,44 +549,44 @@ msgstr "S" | ||||
| msgid "calendar:MY" | ||||
| msgstr "calendar:MY" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "Poprzedni miesiąc" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "Następny miesiąc" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "Nic nie zaplanowano" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%A, %e %B" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%A, %e %B %Y" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "Dzisiaj" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "Jutro" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "Ten tydzień" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "Następny tydzień" | ||||
|  | ||||
| @@ -620,7 +620,7 @@ msgid "Type again:" | ||||
| msgstr "Proszę wpisać ponownie:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 | ||||
| msgid "Connect" | ||||
| msgstr "Połącz" | ||||
|  | ||||
| @@ -984,7 +984,7 @@ msgstr "Nie można połączyć się z kontem %s" | ||||
| msgid "View account" | ||||
| msgstr "Wyświetl konto" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1439 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "Nieznana przyczyna" | ||||
|  | ||||
| @@ -1000,22 +1000,22 @@ msgstr "Wyświetl programy" | ||||
| msgid "Dash" | ||||
| msgstr "Ulubione" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "Otwórz kalendarz" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "Otwórz zegar" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "Ustawienia daty i czasu" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%A, %e %B %Y" | ||||
|  | ||||
| @@ -1169,26 +1169,25 @@ msgstr "" | ||||
| msgid "Keyboard" | ||||
| msgstr "Klawiatura" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "Nie zainstalowano rozszerzeń" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "Rozszerzenie %s nie wysłało żadnych błędów." | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "Ukryj błędy" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "Wyświetl błędy" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "Włączone" | ||||
|  | ||||
| @@ -1196,28 +1195,28 @@ msgstr "Włączone" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:550 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "Wyłączone" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "Błąd" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "Nieaktualne" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "Pobieranie" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "Wyświetl źródło" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "Strona WWW" | ||||
|  | ||||
| @@ -1253,7 +1252,7 @@ msgstr "Brak wiadomości" | ||||
| msgid "Message Tray" | ||||
| msgstr "Obszar powiadamiania" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2948 | ||||
| msgid "System Information" | ||||
| msgstr "Informacje systemowe" | ||||
|  | ||||
| @@ -1270,11 +1269,11 @@ msgstr[0] "%d nowa wiadomość" | ||||
| msgstr[1] "%d nowe wiadomości" | ||||
| msgstr[2] "%d nowych wiadomości" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "Cofnij" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "Podgląd" | ||||
|  | ||||
| @@ -1282,7 +1281,7 @@ msgstr "Podgląd" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "Wyszukiwanie…" | ||||
|  | ||||
| @@ -1326,27 +1325,27 @@ msgstr[0] "%d nowe powiadomienie" | ||||
| msgstr[1] "%d nowe powiadomienia" | ||||
| msgstr[2] "%d nowych powiadomień" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "Zablokuj ekran" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "Środowisko GNOME musi zablokować ekran" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "Nie można zablokować" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "Blokowanie zostało zablokowane przez program" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "Wyszukiwanie…" | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "Brak wyników." | ||||
|  | ||||
| @@ -1418,22 +1417,23 @@ msgstr "Wysoki kontrast" | ||||
| msgid "Large Text" | ||||
| msgstr "Duży tekst" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 | ||||
| #: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "Wyłącz" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "Ustawienia Bluetooth" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| @@ -1441,7 +1441,7 @@ msgstr[0] "%d połączone urządzenie" | ||||
| msgstr[1] "%d połączone urządzenia" | ||||
| msgstr[2] "%d połączonych urządzeń" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 | ||||
| msgid "Not Connected" | ||||
| msgstr "Nie połączono" | ||||
|  | ||||
| @@ -1453,167 +1453,160 @@ msgstr "Jasność" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "Wyświetl układ klawiatury" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| msgid "Location" | ||||
| msgstr "Położenie" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "Wyłącz" | ||||
| #: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Włączone" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| #: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 | ||||
| #: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 | ||||
| msgid "Off" | ||||
| msgstr "Wyłączone" | ||||
|  | ||||
| #: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225 | ||||
| msgid "Turn On" | ||||
| msgstr "Włącz" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "Używane" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<nieznane>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "Wyłączone" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| #: ../js/ui/status/network.js:417 | ||||
| msgid "Connected" | ||||
| msgstr "Połączono" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:421 | ||||
| msgid "unmanaged" | ||||
| msgstr "niezarządzane" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:423 | ||||
| msgid "disconnecting..." | ||||
| msgstr "rozłączanie…" | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 | ||||
| msgid "connecting..." | ||||
| msgstr "łączenie…" | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:432 ../js/ui/status/network.js:1356 | ||||
| msgid "authentication required" | ||||
| msgstr "wymagane jest uwierzytelnienie" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:440 | ||||
| msgid "firmware missing" | ||||
| msgstr "brak oprogramowania sprzętowego" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:444 | ||||
| msgid "unavailable" | ||||
| msgstr "niedostępne" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 | ||||
| msgid "connection failed" | ||||
| msgstr "połączenie się nie powiodło" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:462 | ||||
| msgid "Wired Settings" | ||||
| msgstr "Ustawienia sieci przewodowej" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "Ustawienia sieci komórkowej" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "Sprzęt jest wyłączony" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:590 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "Użyj jako połączenie internetowe" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:771 | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "Tryb samolotowy jest włączony" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:772 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "Sieć Wi-Fi jest wyłączona, kiedy tryb samolotowy jest włączony." | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:773 | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "Wyłącz tryb samolotowy" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Sieć Wi-Fi jest wyłączona" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "Wi-Fi musi być włączone, aby połączyć z siecią." | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:784 | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "Włącz sieć Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:809 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Sieci Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:811 | ||||
| msgid "Select a network" | ||||
| msgstr "Wybór sieci" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:840 | ||||
| msgid "No Networks" | ||||
| msgstr "Brak sieci" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "Należy użyć przełącznika sprzętowego, aby wyłączyć" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1131 | ||||
| msgid "Select Network" | ||||
| msgstr "Wybierz sieć" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1137 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Ustawienia sieci Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "Włącz" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1242 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "Hotspot jest aktywny" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1245 | ||||
| msgid "Connecting" | ||||
| msgstr "Łączenie" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "Ustawienia sieci" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1426 | ||||
| msgid "VPN Settings" | ||||
| msgstr "Ustawienia sieci VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1445 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "Menedżer sieci" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "Połączenie się nie powiodło" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "Aktywacja połączenia sieciowego się nie powiodła" | ||||
|  | ||||
| @@ -1651,10 +1644,6 @@ msgstr "Akumulator" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "Tryb samolotowy" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "Włączone" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "Przełącz użytkownika" | ||||
|   | ||||
							
								
								
									
										507
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										507
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1036
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										1036
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										331
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
							
						
						
									
										331
									
								
								po/zh_CN.po
									
									
									
									
									
								
							| @@ -21,9 +21,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: 2014-03-29 07:36+0000\n" | ||||
| "POT-Creation-Date: 2014-02-19 23:28+0000\n" | ||||
| "PO-Revision-Date: 2014-02-05 18:33+0800\n" | ||||
| "Last-Translator: Sphinx Jiang <yishanj13@gmail.com>\n" | ||||
| "Last-Translator: hui <www.eternalhui@gmail.com>\n" | ||||
| "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" | ||||
| "Language: zh_CN\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -112,9 +112,8 @@ msgid "" | ||||
| "GNOME Shell will only load extensions that claim to support the current " | ||||
| "running version. Enabling this option will disable this check and try to " | ||||
| "load all extensions regardless of the versions they claim to support." | ||||
| msgstr "" | ||||
| "GNOME 只会加载声明支持当前运行版本的扩展。启用该选项会禁止此检查,并尝试加载" | ||||
| "所有扩展,无视它们声明支持的版本。" | ||||
| msgstr "GNOME 只会加载声明支持当前运行版本的扩展。启用该选项会禁止此检查," | ||||
| "并尝试加载所有扩展,无视它们声明支持的版本。" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 | ||||
| msgid "List of desktop file IDs for favorite applications" | ||||
| @@ -227,12 +226,11 @@ msgid "" | ||||
| "Configures the maximum level of location accuracy applications are allowed " | ||||
| "to see. Valid options are 'off' (disable location tracking), 'country', " | ||||
| "'city', 'neighborhood', 'street', and 'exact' (typically requires GPS " | ||||
| "receiver). Please keep in mind that this only controls what GeoClue will " | ||||
| "receiver). Please keep in mind that this only controls what Geoclue will " | ||||
| "allow applications to see and they can find user's location on their own " | ||||
| "using network resources (albeit with street-level accuracy at best)." | ||||
| msgstr "" | ||||
| "配置应用程序可见的最大位置精度级别。有效选项有“off”(禁止追踪位" | ||||
| "置)、“country”(国家)、“city”(城市)、“neighborhood”(邻近)、“street”(街道)、" | ||||
| msgstr "配置应用程序可见的最大位置精度级别。有效选项有“off”(禁止追踪位置)、" | ||||
| "“country”(国家)、“city”(城市)、“neighborhood”(邻近)、“street”(街道)、" | ||||
| "和“exact”(精确,通常需要 GPS 传感器)。注意,这一选项只控制 Geoclue 让应用程序" | ||||
| "知道多少,但程序自己可以自行通过网络资源找到用户的位置(即使最多精确到街道)。" | ||||
|  | ||||
| @@ -266,8 +264,7 @@ msgstr "标题栏上的按钮排列" | ||||
| msgid "" | ||||
| "This key overrides the key in org.gnome.desktop.wm.preferences when running " | ||||
| "GNOME Shell." | ||||
| msgstr "" | ||||
| "当 GNOME Shell 运行时,此键会覆盖 org.gnome.desktop.wm.preferences 键。" | ||||
| msgstr "当 GNOME Shell 运行时,此键会覆盖 org.gnome.desktop.wm.preferences 键。" | ||||
|  | ||||
| #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| @@ -301,7 +298,7 @@ msgstr "使用上面的下拉框选择一个要配置的扩展。" | ||||
| #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 | ||||
| #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 | ||||
| #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 | ||||
| #: ../js/ui/status/network.js:878 | ||||
| #: ../js/ui/status/network.js:883 | ||||
| msgid "Cancel" | ||||
| msgstr "取消" | ||||
|  | ||||
| @@ -319,25 +316,25 @@ msgctxt "button" | ||||
| msgid "Sign In" | ||||
| msgstr "登录" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:271 | ||||
| #: ../js/gdm/loginDialog.js:270 | ||||
| msgid "Choose Session" | ||||
| msgstr "选择会话" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:431 | ||||
| #: ../js/gdm/loginDialog.js:430 | ||||
| msgid "Not listed?" | ||||
| msgstr "未列出?" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:614 | ||||
| #: ../js/gdm/loginDialog.js:598 | ||||
| #, javascript-format | ||||
| msgid "(e.g., user or %s)" | ||||
| msgstr "(如 user 或 %s)" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 | ||||
| #: ../js/ui/components/networkAgent.js:280 | ||||
| msgid "Username: " | ||||
| msgstr "用户名:" | ||||
|  | ||||
| #: ../js/gdm/loginDialog.js:920 | ||||
| #: ../js/gdm/loginDialog.js:868 | ||||
| msgid "Login Window" | ||||
| msgstr "登录窗口" | ||||
|  | ||||
| @@ -362,27 +359,27 @@ msgstr "不能解析命令:" | ||||
| msgid "Execution of “%s” failed:" | ||||
| msgstr "运行“%s”失败:" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:636 | ||||
| #: ../js/ui/appDisplay.js:629 | ||||
| msgid "Frequently used applications will appear here" | ||||
| msgstr "常用的应用程序会出现在这里" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| #: ../js/ui/appDisplay.js:740 | ||||
| msgid "Frequent" | ||||
| msgstr "常用" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:754 | ||||
| #: ../js/ui/appDisplay.js:747 | ||||
| msgid "All" | ||||
| msgstr "全部" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1566 | ||||
| #: ../js/ui/appDisplay.js:1552 | ||||
| msgid "New Window" | ||||
| msgstr "新窗口" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 | ||||
| #: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 | ||||
| msgid "Remove from Favorites" | ||||
| msgstr "从收藏夹中移除" | ||||
|  | ||||
| #: ../js/ui/appDisplay.js:1594 | ||||
| #: ../js/ui/appDisplay.js:1580 | ||||
| msgid "Add to Favorites" | ||||
| msgstr "添加到收藏夹" | ||||
|  | ||||
| @@ -525,44 +522,44 @@ msgstr "周六" | ||||
| msgid "calendar:MY" | ||||
| msgstr "日历:我" | ||||
|  | ||||
| #: ../js/ui/calendar.js:450 | ||||
| #: ../js/ui/calendar.js:446 | ||||
| msgid "Previous month" | ||||
| msgstr "上个月" | ||||
|  | ||||
| #: ../js/ui/calendar.js:460 | ||||
| #: ../js/ui/calendar.js:456 | ||||
| msgid "Next month" | ||||
| msgstr "下个月" | ||||
|  | ||||
| #. Translators: Text to show if there are no events */ | ||||
| #: ../js/ui/calendar.js:772 | ||||
| #: ../js/ui/calendar.js:762 | ||||
| msgid "Nothing Scheduled" | ||||
| msgstr "无计划" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on current year */ | ||||
| #: ../js/ui/calendar.js:790 | ||||
| #: ../js/ui/calendar.js:780 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d" | ||||
| msgstr "%m月%d日%A" | ||||
|  | ||||
| #. Translators: Shown on calendar heading when selected day occurs on different year */ | ||||
| #: ../js/ui/calendar.js:793 | ||||
| #: ../js/ui/calendar.js:783 | ||||
| msgctxt "calendar heading" | ||||
| msgid "%A, %B %d, %Y" | ||||
| msgstr "%Y年%m月%d日%A" | ||||
|  | ||||
| #: ../js/ui/calendar.js:804 | ||||
| #: ../js/ui/calendar.js:794 | ||||
| msgid "Today" | ||||
| msgstr "今天" | ||||
|  | ||||
| #: ../js/ui/calendar.js:808 | ||||
| #: ../js/ui/calendar.js:798 | ||||
| msgid "Tomorrow" | ||||
| msgstr "明天" | ||||
|  | ||||
| #: ../js/ui/calendar.js:819 | ||||
| #: ../js/ui/calendar.js:809 | ||||
| msgid "This week" | ||||
| msgstr "本周" | ||||
|  | ||||
| #: ../js/ui/calendar.js:827 | ||||
| #: ../js/ui/calendar.js:817 | ||||
| msgid "Next week" | ||||
| msgstr "下周" | ||||
|  | ||||
| @@ -595,8 +592,8 @@ msgstr "密码:" | ||||
| msgid "Type again:" | ||||
| msgstr "再输一次:" | ||||
|  | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 | ||||
| #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881 | ||||
| #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 | ||||
| #: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 | ||||
| msgid "Connect" | ||||
| msgstr "连接" | ||||
|  | ||||
| @@ -714,18 +711,23 @@ msgstr "静音" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:955 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%H∶%M" | ||||
| msgstr "%H:%M" | ||||
|  | ||||
| #. Translators: this is the word "Yesterday" followed by a | ||||
| #. time string in 24h format. i.e. "Yesterday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:962 | ||||
| #| msgid "<b>Yesterday</b>, <b>%H:%M</b>" | ||||
| msgid "Yesterday, %H∶%M" | ||||
| msgstr "昨天 %H:%M" | ||||
|  | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 24h format. i.e. "Monday, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:969 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%A, %H∶%M" | ||||
| msgstr "%A %H:%M" | ||||
|  | ||||
| @@ -733,6 +735,8 @@ msgstr "%A %H:%M" | ||||
| #. followed by a time string in 24h format. | ||||
| #. i.e. "May 25, 14:30" */ | ||||
| #: ../js/ui/components/telepathyClient.js:976 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%H∶%M" | ||||
| msgid "%B %d, %H∶%M" | ||||
| msgstr "%m月%d日,%H:%M" | ||||
|  | ||||
| @@ -745,6 +749,8 @@ msgstr "%Y年%m月%d日,%H:%M" | ||||
|  | ||||
| #. Translators: Time in 24h format */ | ||||
| #: ../js/ui/components/telepathyClient.js:991 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%l∶%M %p" | ||||
| msgid "%l∶%M %p" | ||||
| msgstr "%p %l:%M" | ||||
|  | ||||
| @@ -757,6 +763,8 @@ msgstr "昨天%p %l:%M" | ||||
| #. Translators: this is the week day name followed by a time | ||||
| #. string in 12h format. i.e. "Monday, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1005 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%l∶%M %p" | ||||
| msgid "%A, %l∶%M %p" | ||||
| msgstr "%A%p %l:%M" | ||||
|  | ||||
| @@ -764,6 +772,8 @@ msgstr "%A%p %l:%M" | ||||
| #. followed by a time string in 12h format. | ||||
| #. i.e. "May 25, 2:30 pm" */ | ||||
| #: ../js/ui/components/telepathyClient.js:1012 | ||||
| #| msgctxt "event list time" | ||||
| #| msgid "%l∶%M %p" | ||||
| msgid "%B %d, %l∶%M %p" | ||||
| msgstr "%m月%d日%p %l:%M" | ||||
|  | ||||
| @@ -799,13 +809,13 @@ msgstr "%s 要请您加入 %s" | ||||
| #: ../js/ui/components/telepathyClient.js:1164 | ||||
| #: ../js/ui/components/telepathyClient.js:1199 | ||||
| #: ../js/ui/components/telepathyClient.js:1233 | ||||
| #: ../js/ui/components/telepathyClient.js:1291 | ||||
| #: ../js/ui/components/telepathyClient.js:1290 | ||||
| msgid "Decline" | ||||
| msgstr "拒绝" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1170 | ||||
| #: ../js/ui/components/telepathyClient.js:1239 | ||||
| #: ../js/ui/components/telepathyClient.js:1296 | ||||
| #: ../js/ui/components/telepathyClient.js:1295 | ||||
| msgid "Accept" | ||||
| msgstr "接受" | ||||
|  | ||||
| @@ -842,118 +852,118 @@ msgstr "%s 正在向您发送 %s" | ||||
| msgid "%s would like permission to see when you are online" | ||||
| msgstr "%s 想得到授权来查看您的在线状态" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1342 | ||||
| #: ../js/ui/components/telepathyClient.js:1341 | ||||
| msgid "Network error" | ||||
| msgstr "网络错误" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1344 | ||||
| #: ../js/ui/components/telepathyClient.js:1343 | ||||
| msgid "Authentication failed" | ||||
| msgstr "认证失败" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1346 | ||||
| #: ../js/ui/components/telepathyClient.js:1345 | ||||
| msgid "Encryption error" | ||||
| msgstr "加密错误" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1348 | ||||
| #: ../js/ui/components/telepathyClient.js:1347 | ||||
| msgid "Certificate not provided" | ||||
| msgstr "未提供证书" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1350 | ||||
| #: ../js/ui/components/telepathyClient.js:1349 | ||||
| msgid "Certificate untrusted" | ||||
| msgstr "证书不受信任" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1352 | ||||
| #: ../js/ui/components/telepathyClient.js:1351 | ||||
| msgid "Certificate expired" | ||||
| msgstr "证书过期" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1354 | ||||
| #: ../js/ui/components/telepathyClient.js:1353 | ||||
| msgid "Certificate not activated" | ||||
| msgstr "证书未激活" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1356 | ||||
| #: ../js/ui/components/telepathyClient.js:1355 | ||||
| msgid "Certificate hostname mismatch" | ||||
| msgstr "证书的主机名不匹配" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1358 | ||||
| #: ../js/ui/components/telepathyClient.js:1357 | ||||
| msgid "Certificate fingerprint mismatch" | ||||
| msgstr "证书的指纹不匹配" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1360 | ||||
| #: ../js/ui/components/telepathyClient.js:1359 | ||||
| msgid "Certificate self-signed" | ||||
| msgstr "证书是自已签发的" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1362 | ||||
| #: ../js/ui/components/telepathyClient.js:1361 | ||||
| msgid "Status is set to offline" | ||||
| msgstr "已将状态设为离线。" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1364 | ||||
| #: ../js/ui/components/telepathyClient.js:1363 | ||||
| msgid "Encryption is not available" | ||||
| msgstr "加密不可用" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1366 | ||||
| #: ../js/ui/components/telepathyClient.js:1365 | ||||
| msgid "Certificate is invalid" | ||||
| msgstr "证书无效" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1368 | ||||
| #: ../js/ui/components/telepathyClient.js:1367 | ||||
| msgid "Connection has been refused" | ||||
| msgstr "连接被拒绝" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1370 | ||||
| #: ../js/ui/components/telepathyClient.js:1369 | ||||
| msgid "Connection can't be established" | ||||
| msgstr "无法建立连接" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1372 | ||||
| #: ../js/ui/components/telepathyClient.js:1371 | ||||
| msgid "Connection has been lost" | ||||
| msgstr "连接丢失" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1374 | ||||
| #: ../js/ui/components/telepathyClient.js:1373 | ||||
| msgid "This account is already connected to the server" | ||||
| msgstr "此帐号已经连接到服务器" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1376 | ||||
| #: ../js/ui/components/telepathyClient.js:1375 | ||||
| msgid "" | ||||
| "Connection has been replaced by a new connection using the same resource" | ||||
| msgstr "连接已经被使用相同资源的新连接所替换" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1378 | ||||
| #: ../js/ui/components/telepathyClient.js:1377 | ||||
| msgid "The account already exists on the server" | ||||
| msgstr "服务器上已经存在该账户" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1380 | ||||
| #: ../js/ui/components/telepathyClient.js:1379 | ||||
| msgid "Server is currently too busy to handle the connection" | ||||
| msgstr "服务器太忙,暂时无法处理该连接" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1382 | ||||
| #: ../js/ui/components/telepathyClient.js:1381 | ||||
| msgid "Certificate has been revoked" | ||||
| msgstr "证书已撤销" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1384 | ||||
| #: ../js/ui/components/telepathyClient.js:1383 | ||||
| msgid "" | ||||
| "Certificate uses an insecure cipher algorithm or is cryptographically weak" | ||||
| msgstr "证书使用了不安全的加密算法或加密很弱" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1386 | ||||
| #: ../js/ui/components/telepathyClient.js:1385 | ||||
| msgid "" | ||||
| "The length of the server certificate, or the depth of the server certificate " | ||||
| "chain, exceed the limits imposed by the cryptography library" | ||||
| msgstr "服务器证书的长度或证书链的长度超过了加密算法库的额定限制" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1388 | ||||
| #: ../js/ui/components/telepathyClient.js:1387 | ||||
| msgid "Internal error" | ||||
| msgstr "内部错误" | ||||
|  | ||||
| #. translators: argument is the account name, like | ||||
| #. * name@jabber.org for example. */ | ||||
| #: ../js/ui/components/telepathyClient.js:1398 | ||||
| #: ../js/ui/components/telepathyClient.js:1397 | ||||
| #, javascript-format | ||||
| msgid "Unable to connect to %s" | ||||
| msgstr "无法连接到 %s" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1403 | ||||
| #: ../js/ui/components/telepathyClient.js:1402 | ||||
| msgid "View account" | ||||
| msgstr "查看帐户" | ||||
|  | ||||
| #: ../js/ui/components/telepathyClient.js:1440 | ||||
| #: ../js/ui/components/telepathyClient.js:1434 | ||||
| msgid "Unknown reason" | ||||
| msgstr "未知原因" | ||||
|  | ||||
| @@ -969,22 +979,22 @@ msgstr "显示应用程序" | ||||
| msgid "Dash" | ||||
| msgstr "Dash" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:91 | ||||
| #: ../js/ui/dateMenu.js:86 | ||||
| msgid "Open Calendar" | ||||
| msgstr "打开日历" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:95 | ||||
| #: ../js/ui/dateMenu.js:90 | ||||
| msgid "Open Clocks" | ||||
| msgstr "打开时钟" | ||||
|  | ||||
| #: ../js/ui/dateMenu.js:102 | ||||
| #: ../js/ui/dateMenu.js:97 | ||||
| msgid "Date & Time Settings" | ||||
| msgstr "日期和时间设置" | ||||
|  | ||||
| #. Translators: This is the date format to use when the calendar popup is | ||||
| #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). | ||||
| #. */ | ||||
| #: ../js/ui/dateMenu.js:192 | ||||
| #: ../js/ui/dateMenu.js:187 | ||||
| msgid "%A %B %e, %Y" | ||||
| msgstr "%Y年%m月%d日%A" | ||||
|  | ||||
| @@ -1071,6 +1081,8 @@ msgid_plural "" | ||||
| msgstr[0] "系统将在 %d 秒后自动重启并安装更新。" | ||||
|  | ||||
| #: ../js/ui/endSessionDialog.js:129 | ||||
| #| msgctxt "button" | ||||
| #| msgid "Restart & Install" | ||||
| msgctxt "button" | ||||
| msgid "Restart & Install" | ||||
| msgstr "重启并安装" | ||||
| @@ -1122,26 +1134,25 @@ msgstr "从 extensions.gnome.org 下载并安装“%s”?" | ||||
| msgid "Keyboard" | ||||
| msgstr "键盘" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:643 | ||||
| #: ../js/ui/lookingGlass.js:641 | ||||
| msgid "No extensions installed" | ||||
| msgstr "未安装扩展" | ||||
|  | ||||
| #. Translators: argument is an extension UUID. */ | ||||
| #: ../js/ui/lookingGlass.js:697 | ||||
| #: ../js/ui/lookingGlass.js:695 | ||||
| #, javascript-format | ||||
| msgid "%s has not emitted any errors." | ||||
| msgstr "%s 没有传出任何错误信息。" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:703 | ||||
| #: ../js/ui/lookingGlass.js:701 | ||||
| msgid "Hide Errors" | ||||
| msgstr "隐藏错误" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 | ||||
| #: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 | ||||
| msgid "Show Errors" | ||||
| msgstr "显示错误" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59 | ||||
| #: ../js/ui/status/location.js:167 | ||||
| #: ../js/ui/lookingGlass.js:714 | ||||
| msgid "Enabled" | ||||
| msgstr "已启用" | ||||
|  | ||||
| @@ -1149,64 +1160,64 @@ msgstr "已启用" | ||||
| #. because it's disabled by rfkill (airplane mode) */ | ||||
| #. translators: | ||||
| #. * The device has been disabled | ||||
| #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164 | ||||
| #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830 | ||||
| #: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 | ||||
| #: ../src/gvc/gvc-mixer-control.c:1830 | ||||
| msgid "Disabled" | ||||
| msgstr "已禁用" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| #: ../js/ui/lookingGlass.js:719 | ||||
| msgid "Error" | ||||
| msgstr "错误" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| #: ../js/ui/lookingGlass.js:721 | ||||
| msgid "Out of date" | ||||
| msgstr "过时" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:725 | ||||
| #: ../js/ui/lookingGlass.js:723 | ||||
| msgid "Downloading" | ||||
| msgstr "正在下载" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:749 | ||||
| #: ../js/ui/lookingGlass.js:747 | ||||
| msgid "View Source" | ||||
| msgstr "查看源" | ||||
|  | ||||
| #: ../js/ui/lookingGlass.js:758 | ||||
| #: ../js/ui/lookingGlass.js:756 | ||||
| msgid "Web Page" | ||||
| msgstr "网页" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1326 | ||||
| #: ../js/ui/messageTray.js:1324 | ||||
| msgid "Open" | ||||
| msgstr "打开" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1333 | ||||
| #: ../js/ui/messageTray.js:1331 | ||||
| msgid "Remove" | ||||
| msgstr "移除" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1630 | ||||
| #: ../js/ui/messageTray.js:1628 | ||||
| msgid "Notifications" | ||||
| msgstr "提示" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1637 | ||||
| #: ../js/ui/messageTray.js:1635 | ||||
| msgid "Clear Messages" | ||||
| msgstr "清空消息" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1656 | ||||
| #: ../js/ui/messageTray.js:1654 | ||||
| msgid "Notification Settings" | ||||
| msgstr "通知设置" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1709 | ||||
| #: ../js/ui/messageTray.js:1707 | ||||
| msgid "Tray Menu" | ||||
| msgstr "托盘菜单" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1926 | ||||
| #: ../js/ui/messageTray.js:1924 | ||||
| msgid "No Messages" | ||||
| msgstr "无消息" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:1964 | ||||
| #: ../js/ui/messageTray.js:1962 | ||||
| msgid "Message Tray" | ||||
| msgstr "消息托盘" | ||||
|  | ||||
| #: ../js/ui/messageTray.js:2962 | ||||
| #: ../js/ui/messageTray.js:2946 | ||||
| msgid "System Information" | ||||
| msgstr "系统信息" | ||||
|  | ||||
| @@ -1221,11 +1232,11 @@ msgid "%d new message" | ||||
| msgid_plural "%d new messages" | ||||
| msgstr[0] "%d 条新消息" | ||||
|  | ||||
| #: ../js/ui/overview.js:84 | ||||
| #: ../js/ui/overview.js:83 | ||||
| msgid "Undo" | ||||
| msgstr "撤销" | ||||
|  | ||||
| #: ../js/ui/overview.js:124 | ||||
| #: ../js/ui/overview.js:123 | ||||
| msgid "Overview" | ||||
| msgstr "概览" | ||||
|  | ||||
| @@ -1233,7 +1244,7 @@ msgstr "概览" | ||||
| #. in the search entry when no search is | ||||
| #. active; it should not exceed ~30 | ||||
| #. characters. */ | ||||
| #: ../js/ui/overview.js:250 | ||||
| #: ../js/ui/overview.js:257 | ||||
| msgid "Type to search…" | ||||
| msgstr "输入以搜索..." | ||||
|  | ||||
| @@ -1275,27 +1286,27 @@ msgid "%d new notification" | ||||
| msgid_plural "%d new notifications" | ||||
| msgstr[0] "%d 条新通知" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 | ||||
| #: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 | ||||
| msgid "Lock" | ||||
| msgstr "锁定" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:708 | ||||
| #: ../js/ui/screenShield.js:707 | ||||
| msgid "GNOME needs to lock the screen" | ||||
| msgstr "GNOME 需要锁定屏幕" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 | ||||
| #: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 | ||||
| msgid "Unable to lock" | ||||
| msgstr "无法锁定" | ||||
|  | ||||
| #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 | ||||
| #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 | ||||
| msgid "Lock was blocked by an application" | ||||
| msgstr "一个应用程序阻止了锁定" | ||||
|  | ||||
| #: ../js/ui/search.js:603 | ||||
| #: ../js/ui/search.js:589 | ||||
| msgid "Searching…" | ||||
| msgstr "正在搜索..." | ||||
|  | ||||
| #: ../js/ui/search.js:649 | ||||
| #: ../js/ui/search.js:632 | ||||
| msgid "No results." | ||||
| msgstr "无结果。" | ||||
|  | ||||
| @@ -1367,28 +1378,29 @@ msgstr "高对比度" | ||||
| msgid "Large Text" | ||||
| msgstr "大号文本" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:49 | ||||
| #: ../js/ui/status/bluetooth.js:48 | ||||
| msgid "Bluetooth" | ||||
| msgstr "蓝牙" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 | ||||
| #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:62 | ||||
| #: ../js/ui/status/location.js:162 ../js/ui/status/network.js:151 | ||||
| #: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 | ||||
| #: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 | ||||
| #: ../js/ui/status/rfkill.js:105 | ||||
| msgid "Turn Off" | ||||
| msgstr "关闭" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:54 | ||||
| #: ../js/ui/status/bluetooth.js:53 | ||||
| msgid "Bluetooth Settings" | ||||
| msgstr "蓝牙设置" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:104 | ||||
| #: ../js/ui/status/bluetooth.js:100 | ||||
| #, javascript-format | ||||
| msgid "%d Connected Device" | ||||
| msgid_plural "%d Connected Devices" | ||||
| msgstr[0] "已连接 %d 台设备" | ||||
|  | ||||
| #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262 | ||||
| #: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 | ||||
| msgid "Not Connected" | ||||
| msgstr "无连接" | ||||
|  | ||||
| @@ -1400,167 +1412,164 @@ msgstr "亮度" | ||||
| msgid "Show Keyboard Layout" | ||||
| msgstr "显示键盘布局" | ||||
|  | ||||
| #: ../js/ui/status/location.js:53 | ||||
| #: ../js/ui/status/location.js:52 | ||||
| #| msgid "Notifications" | ||||
| msgid "Location" | ||||
| msgstr "位置" | ||||
|  | ||||
| #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 | ||||
| msgid "Disable" | ||||
| msgstr "禁用" | ||||
| #: ../js/ui/status/location.js:61 ../js/ui/status/location.js:161 | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "开" | ||||
|  | ||||
| #: ../js/ui/status/location.js:165 | ||||
| msgid "Enable" | ||||
| msgstr "启用" | ||||
| #: ../js/ui/status/location.js:158 ../js/ui/status/network.js:246 | ||||
| #: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 | ||||
| msgid "Off" | ||||
| msgstr "关" | ||||
|  | ||||
| #: ../js/ui/status/location.js:167 | ||||
| msgid "In Use" | ||||
| msgstr "已使用" | ||||
| #: ../js/ui/status/location.js:159 ../js/ui/status/network.js:1235 | ||||
| msgid "Turn On" | ||||
| msgstr "开启" | ||||
|  | ||||
| #: ../js/ui/status/network.js:74 | ||||
| msgid "<unknown>" | ||||
| msgstr "<未知>" | ||||
|  | ||||
| #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260 | ||||
| #: ../js/ui/status/network.js:1464 | ||||
| msgid "Off" | ||||
| msgstr "关" | ||||
|  | ||||
| #: ../js/ui/status/network.js:422 | ||||
| msgid "Connected" | ||||
| msgstr "已连接" | ||||
|  | ||||
| #. Translators: this is for network devices that are physically present but are not | ||||
| #. under NetworkManager's control (and thus cannot be used in the menu) */ | ||||
| #: ../js/ui/status/network.js:426 | ||||
| #: ../js/ui/status/network.js:431 | ||||
| msgid "unmanaged" | ||||
| msgstr "未托管" | ||||
|  | ||||
| #: ../js/ui/status/network.js:428 | ||||
| #: ../js/ui/status/network.js:433 | ||||
| msgid "disconnecting..." | ||||
| msgstr "正在断开..." | ||||
|  | ||||
| #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 | ||||
| #: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 | ||||
| msgid "connecting..." | ||||
| msgstr "正在连接..." | ||||
|  | ||||
| #. Translators: this is for network connections that require some kind of key or password */ | ||||
| #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365 | ||||
| #: ../js/ui/status/network.js:442 ../js/ui/status/network.js:1366 | ||||
| msgid "authentication required" | ||||
| msgstr "需要认证" | ||||
|  | ||||
| #. Translators: this is for devices that require some kind of firmware or kernel | ||||
| #. module, which is missing */ | ||||
| #: ../js/ui/status/network.js:445 | ||||
| #: ../js/ui/status/network.js:450 | ||||
| msgid "firmware missing" | ||||
| msgstr "固件缺失" | ||||
|  | ||||
| #. Translators: this is for a network device that cannot be activated (for example it | ||||
| #. is disabled by rfkill, or it has no coverage */ | ||||
| #: ../js/ui/status/network.js:449 | ||||
| #: ../js/ui/status/network.js:454 | ||||
| msgid "unavailable" | ||||
| msgstr "不可用" | ||||
|  | ||||
| #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 | ||||
| #: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 | ||||
| msgid "connection failed" | ||||
| msgstr "连接失败" | ||||
|  | ||||
| #: ../js/ui/status/network.js:467 | ||||
| #: ../js/ui/status/network.js:472 | ||||
| #| msgid "Wi-Fi Settings" | ||||
| msgid "Wired Settings" | ||||
| msgstr "有线设置" | ||||
|  | ||||
| #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 | ||||
| #: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 | ||||
| msgid "Mobile Broadband Settings" | ||||
| msgstr "移动宽带设置" | ||||
|  | ||||
| #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258 | ||||
| #: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 | ||||
| msgid "Hardware Disabled" | ||||
| msgstr "已通过硬件禁用" | ||||
|  | ||||
| #: ../js/ui/status/network.js:595 | ||||
| #: ../js/ui/status/network.js:600 | ||||
| msgid "Use as Internet connection" | ||||
| msgstr "使用互联网连接" | ||||
|  | ||||
| #: ../js/ui/status/network.js:776 | ||||
| #: ../js/ui/status/network.js:781 | ||||
| #| msgid "Airplane Mode" | ||||
| msgid "Airplane Mode is On" | ||||
| msgstr "已开启乘机模式" | ||||
|  | ||||
| #: ../js/ui/status/network.js:777 | ||||
| #: ../js/ui/status/network.js:782 | ||||
| msgid "Wi-Fi is disabled when airplane mode is on." | ||||
| msgstr "启用乘机模式时 Wi-Fi 会关闭" | ||||
|  | ||||
| #: ../js/ui/status/network.js:778 | ||||
| #: ../js/ui/status/network.js:783 | ||||
| #| msgid "Airplane Mode" | ||||
| msgid "Turn Off Airplane Mode" | ||||
| msgstr "关闭乘机模式" | ||||
|  | ||||
| #: ../js/ui/status/network.js:787 | ||||
| #: ../js/ui/status/network.js:792 | ||||
| #| msgid "Wi-Fi Settings" | ||||
| msgid "Wi-Fi is Off" | ||||
| msgstr "Wi-Fi 关闭" | ||||
|  | ||||
| #: ../js/ui/status/network.js:788 | ||||
| #: ../js/ui/status/network.js:793 | ||||
| msgid "Wi-Fi needs to be turned on in order to connect to a network." | ||||
| msgstr "连接网络需要开启 Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:789 | ||||
| #: ../js/ui/status/network.js:794 | ||||
| #| msgid "Turn On" | ||||
| msgid "Turn On Wi-Fi" | ||||
| msgstr "开启 Wi-Fi" | ||||
|  | ||||
| #: ../js/ui/status/network.js:814 | ||||
| #: ../js/ui/status/network.js:819 | ||||
| msgid "Wi-Fi Networks" | ||||
| msgstr "Wi-Fi 网络" | ||||
|  | ||||
| #: ../js/ui/status/network.js:816 | ||||
| #: ../js/ui/status/network.js:821 | ||||
| msgid "Select a network" | ||||
| msgstr "选择网络" | ||||
|  | ||||
| #: ../js/ui/status/network.js:845 | ||||
| #: ../js/ui/status/network.js:850 | ||||
| msgid "No Networks" | ||||
| msgstr "无网络" | ||||
|  | ||||
| #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 | ||||
| #: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 | ||||
| msgid "Use hardware switch to turn off" | ||||
| msgstr "使用硬件开关关闭" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1136 | ||||
| #: ../js/ui/status/network.js:1141 | ||||
| msgid "Select Network" | ||||
| msgstr "选择网络" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1142 | ||||
| #: ../js/ui/status/network.js:1147 | ||||
| msgid "Wi-Fi Settings" | ||||
| msgstr "Wi-Fi 设置" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1234 | ||||
| msgid "Turn On" | ||||
| msgstr "开启" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1251 | ||||
| #: ../js/ui/status/network.js:1252 | ||||
| msgid "Hotspot Active" | ||||
| msgstr "热点已激活" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1254 | ||||
| #: ../js/ui/status/network.js:1255 | ||||
| #| msgid "Connection" | ||||
| msgid "Connecting" | ||||
| msgstr "正在连接" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 | ||||
| #: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 | ||||
| msgid "Network Settings" | ||||
| msgstr "网络设置" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1435 | ||||
| #: ../js/ui/status/network.js:1436 | ||||
| #| msgid "Settings" | ||||
| msgid "VPN Settings" | ||||
| msgstr "VPN 设置" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1454 | ||||
| #: ../js/ui/status/network.js:1455 | ||||
| msgid "VPN" | ||||
| msgstr "VPN" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1607 | ||||
| #: ../js/ui/status/network.js:1598 | ||||
| msgid "Network Manager" | ||||
| msgstr "网络管理器" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1646 | ||||
| #: ../js/ui/status/network.js:1637 | ||||
| msgid "Connection failed" | ||||
| msgstr "连接失败" | ||||
|  | ||||
| #: ../js/ui/status/network.js:1647 | ||||
| #: ../js/ui/status/network.js:1638 | ||||
| msgid "Activation of network connection failed" | ||||
| msgstr "启用网络连接失败" | ||||
|  | ||||
| @@ -1598,10 +1607,6 @@ msgstr "电池" | ||||
| msgid "Airplane Mode" | ||||
| msgstr "乘机模式" | ||||
|  | ||||
| #: ../js/ui/status/rfkill.js:84 | ||||
| msgid "On" | ||||
| msgstr "开" | ||||
|  | ||||
| #: ../js/ui/status/system.js:314 | ||||
| msgid "Switch User" | ||||
| msgstr "切换用户" | ||||
|   | ||||
							
								
								
									
										646
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
							
						
						
									
										646
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user