Compare commits

...

44 Commits

Author SHA1 Message Date
7e803fdf23 Bump version to 3.23.1
Update NEWS.
2016-10-30 21:52:14 +01:00
ccacb5f6de background: Update animations when coming back from suspend
We currently reload animated backgrounds on timezone changes, but
there are other cases where the time can change unexpectedly and
the background no longer matches the time of day. One case we can
easily handle is when coming back from suspend, so do that.

https://bugzilla.gnome.org/show_bug.cgi?id=773265
2016-10-30 21:10:32 +01:00
5117139add Update Slovak translation 2016-10-30 08:18:22 +00:00
d5c0514e21 browser-plugin: The NPObject returned by NPP_GetValue should be retained
The Mozilla documentation says: "And as always when working with
reference counted NPObjects, the caller is responsible for calling
NPN_ReleaseObject on the NPObject to drop the reference."

Browsers assume that the plugin does the right thing and always call
NPN_ReleaseObject. At some point the object is released and deallocated
and both the plugin and browser still have references to the object
thinking that it's still alive. That's why the crash is sometimes in the
plugin when it tries to use the np object, and sometimes in the browser.

https://bugzilla.gnome.org/post_bug.cgi
2016-10-29 09:08:07 +02:00
d81a6bdf41 Updated Ukrainian translation 2016-10-29 02:34:48 +03:00
2812afed22 gnome-shell-extension-tool: Add a reload option
This might be a good fit for extension developers: With
this option one doesn't need to restart the whole Shell
in order to see their changes in effect.

https://bugzilla.gnome.org/show_bug.cgi?id=772593
2016-10-28 15:41:32 -02:00
f5bd86fa11 Updated Czech translation 2016-10-28 12:42:48 +02:00
b625f1692c Update Friulian translation 2016-10-25 20:20:18 +00:00
36ac1f8902 Update Turkish translation 2016-10-23 19:59:08 +00:00
bec4b5c127 Update Polish translation 2016-10-22 16:09:21 +02:00
78cd8b9f9a Fixes to Catalan translation 2016-10-22 12:55:44 +02:00
205880e74e screenShield: Only allow graphs to lift shield when locked
Since commit 67615a0cbc, any printable key can be used to lift the
screen shield rather than just escape/enter/space. While this is
convenient for unlocking where the input is forwarded to the password
entry, it is potentially dangerous when the screen is inactive but
not locked: If the user types her password, the first character will
lift the shield and the remaining input will go to the focused window.
To prevent this from happening, only allow printable keys when the
screen is actually locked and restrict the key presses that lift the
shield to the original set of escape/enter/space otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=773328
2016-10-21 22:21:55 +02:00
009d021e4f appDisplay: Add a menu item to launch on the discrete GPU
It will only show up when a discrete GPU is available (detected through
the switcheroo-control D-Bus service), and the application hasn't
alreayd been launched.

Note that this will not currently work for D-Bus activated applications,
eg. the menu item will be available, but the environment variable will
not be passed through to D-Bus to use when launching the application.

https://bugzilla.gnome.org/show_bug.cgi?id=773117
2016-10-21 19:26:49 +02:00
39a840e2c3 shell-app: Add "discrete_gpu" option when launching apps
And adapt existing callers to the new API. This will allow us to
implement a way to launch applications on the discrete GPU for systems
where an "Optimus" system exists.

https://bugzilla.gnome.org/show_bug.cgi?id=773117
2016-10-21 19:26:49 +02:00
56d0d7253b build: Fix git submodule fetching with builddir != srcdir
We were running the git submodule update in builddir, instead of srcdir,
which might have lead to submodules not updating, and submodule tags
being reverted to older versions in some contributions.

https://bugzilla.gnome.org/show_bug.cgi?id=773085
2016-10-21 12:22:15 +02:00
7a29cc47d4 build: Remove use of gjs-internals-1.0.pc
Instead use gjs-1.0.pc, the gjs-internals-1.0 API is not stable across
SpiderMonkey versions and is going away.

https://bugzilla.gnome.org/show_bug.cgi?id=772386
2016-10-18 10:21:11 -07:00
d769b72c43 extensionUtils: Use a unique 'subdir' to create new importers
Apparently importers for the 'same' path are shared, even when the
relative paths resolve to different absolute ones. Until this bug
is fixed properly, we can work around this by expressing the current
extension path as the UUID relative to the parent directory.

https://bugzilla.gnome.org/show_bug.cgi?id=772386
2016-10-18 19:19:32 +02:00
a3439a5230 zh_CN: fix translation of airplane mode 2016-10-18 17:35:29 +08:00
9f45161133 Update zh_CN translation 2016-10-18 17:30:36 +08:00
ed99bef458 extensionUtils: Remove ShellJS library
You can define a new importer object by importing a subdirectory in GJS.
This is undocumented, but it is likely to at least hold until the whole
thing moves to ES6 modules, after which we'll be able to do this purely
in JS with Reflect.Loader.

Since this was the only thing the ShellJS library did, we can remove it
altogether.

This allows us to discontinue use of the gjs-internals-1.0 embedder API.

https://bugzilla.gnome.org/show_bug.cgi?id=772386
2016-10-17 12:36:16 -07:00
c9ad54cd82 Update Friulian translation
(cherry picked from commit 0b8ae22aa3)
2016-10-17 10:24:45 +00:00
d7e42d5d6e Update Friulian translation
(cherry picked from commit 25e1b2548c)
2016-10-17 10:15:18 +00:00
5b339c8371 authPrompt.js: turn off the ellipsization of pam messages
When the user gets long failure messages from pam, the authPrompt
message label will clip the message and ellipsize with '…'.

This commit turns off ellipsization from the label, so it will
properly wrap.

https://bugzilla.gnome.org/show_bug.cgi?id=764445
2016-10-14 09:28:34 -04:00
9c6e68f3e7 bluetooth: Replace "Not In Use" status string with "On"
If Bluetooth is on but there aren't connected devices, the status in the
menu reads "Not in Use". This is potentially confusing: it's a negative
statement, even though Bluetooth is on. It also sits uneasily (and looks
even more confusing) next to the submenu item "Turn Off".

Changing the string to "On" is better.

https://bugzilla.gnome.org/show_bug.cgi?id=756432
2016-10-12 10:35:31 +02:00
70526a8025 log(): Reimplement on top of GLib.log_structured
This allows us to pass metadata fields besides the message
to log. So, if the log() call is made from an extension,
pass the extension name and UUID to the logger.

This is useful for extension developers to debug their code
as well as to instruct their users to send debug info to them
by running something like this:

journalctl GNOME_SHELL_EXTENSION_UUID=<extension@uuid>

https://bugzilla.gnome.org/show_bug.cgi?id=770717
2016-10-11 10:17:12 -03:00
c405081d89 extensionUtils: Allow getCurrentExtension() to be called from anyone
Currently it's assumed only an extension can call this method. However
it can be useful if any part of the shell want to know if it was invoked
by an extension.

https://bugzilla.gnome.org/show_bug.cgi?id=770717
2016-10-11 10:14:23 -03:00
384e01b368 network: request periodic scans while the WiFi list is open
NM upstream would like to reduce periodic scanning, and that means
that clients should request scans themselves while their WiFi list
is open.  Similar to the Windows and macOS WiFi dialogs/lists.

https://bugzilla.gnome.org/show_bug.cgi?id=767918
2016-10-11 14:43:19 +02:00
f819654ec8 osdWindow: always round-up sizes when updating allocation
This fixes the OSD window flickering horizontally at certain
resolutions.

https://bugzilla.gnome.org/show_bug.cgi?id=772287
2016-10-10 17:24:52 -07:00
4670db6629 osdWindow: relayout when scale factor changes
We currently rely on the "monitors-changed" signal of LayoutManager to
relayout the OSD window. That is not enough, since the scale factor also
changes the way the OSD window is sized, and that can be updated after
"monitors-changed" has been received.
The visual effect is that under some circumstances, the OSD window will
have the wrong size under HiDpi.

This commit fixes the issue by triggering another relayout when the
scale factor changes.

https://bugzilla.gnome.org/show_bug.cgi?id=772723
2016-10-10 17:24:52 -07:00
6ebabd50c6 Bump version to 3.22.1
Update NEWS.
2016-10-11 00:57:38 +02:00
0c22a21a24 window-tracker: Consider Flatpak ID for window matching
Our window matching currently fails frequently with Flatpak
applications, as one of the primary hints used to link windows
with .desktop files - the WM_CLASS - no longer matches when
flatpak renames the exported .desktop file. Worse, as Flatpak
applications are run in their own PID namespace, different
apps frequently share a common _NET_WM_PID, resulting in
unrelated apps being grouped together by one of the fallback
paths. To match Flatpak applications reliably, take the newly
exported Flatpak ID into account.

https://bugzilla.gnome.org/show_bug.cgi?id=772615
2016-10-10 23:40:39 +02:00
70a0c4211c Update Croatian translation 2016-10-10 18:16:38 +00:00
a21af541c4 Add Croatian translation 2016-10-09 19:23:52 +00:00
e07ba91486 Update Chinese (Taiwan) translation 2016-10-09 14:14:46 +00:00
a22e9ce9cd st: Ignore filtered selection events not meant to our clipboard window
Other windows like the mutter Xwayland selection bridges might deal with
the clipboard, which would result in events visible on st-clipboard event
filters.

In order to avoid unintended results, ignore events that are not meant for
the clipboard window.

https://bugzilla.gnome.org/show_bug.cgi?id=760745
2016-10-09 10:57:47 +02:00
d4ce51b1b7 altTab: Consider attached modals for window order
Similar to bug 667552 for the app switcher, attached modal dialogs
can result in an unexpected window order in the window switcher:
Selecting a window with an attached dialog will focus the dialog
instead, but as the dialog itself is ignored in the window list,
its last-used timestamp is not taken into account for the position
in the MRU list. Fix this by fetching the list of all NORMAL windows
and filter out skip-taskbar windows ourselves, while making sure that
windows appear in the position of their attached modal dialog where
appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=747153
2016-10-07 14:51:15 +02:00
830005069c Updated Italian translation 2016-10-06 11:48:53 +00:00
8c49267658 Updated Italian translation 2016-10-03 09:38:47 +00:00
d0bab1f7ac network: Initialize primary and VPN connections on startup
We only connect to the corresponding property notifications after both
Client and RemoteSettings are ready, so we may miss the initial signal
emission. Make sure to pick up the connections in this case to fix the
network indicator not showing up.

https://bugzilla.gnome.org/show_bug.cgi?id=772249
2016-09-30 13:50:30 +02:00
f00826f3fb shell-js: Remove usage of deprecated API
This removes all usage of SpiderMonkey API that is deprecated in mozjs24
and will be removed in mozjs31.

https://bugzilla.gnome.org/show_bug.cgi?id=742249
2016-09-27 17:14:47 -07:00
BM
717c0ea19f Update Uzbek@cyrillic translation 2016-09-25 09:16:36 -04:00
3cd8dd0f32 global: Fix a small memory leak 2016-09-21 23:38:42 +02:00
aedd616346 Update Arabic translation 2016-09-21 14:51:33 +02:00
b3de3ff00b Update Basque language 2016-09-19 13:37:26 +02:00
44 changed files with 5277 additions and 3108 deletions

36
NEWS
View File

@ -1,3 +1,39 @@
3.23.1
======
* Request periodic scans while WiFi list is open [Dan; #767918]
* Include extension UUID in structured log metadata [Jonh; #770717]
* Line-wrap PAM messages on login screen [Tao; #764445]
* Add a way to launch an app on the discrete GPU [Bastien; #773117]
* Only allow graphs to lift screen shield when locked [Florian; #773328]
* Add reload option to gnome-shell-extension-tool [Jonh; #772593]
* Update background animations when resuming from suspend [Florian; #773265]
* Misc. bug fixes [Cosimo, Bastien, Florian, Philip, Carlos; #772723, #772287,
#756432, #772386, #772386, #773085, #773634]
Contributors:
Cosimo Cecchi, Philip Chimento, Carlos Garcia Campos, Florian Müllner,
Bastien Nocera, Jonh Wendell, Dan Williams, Tao Yang
Translations:
Fabio Tomat [fur], Philip Chimento [zh_CN], YunQiang Su [zh_CN],
Jordi Mas [ca], Piotr Drąg [pl], Muhammet Kara [tr], Marek Černocký [cs],
Daniel Korostil [uk], Dušan Kazik [sk]
3.22.1
======
* Fix hidden network indicator on startup [Florian; #772249]
* Fix order of windows with modal dialogs in window switcher [Florian; #747153]
* Fix feedback loop between StClipboard and X11 bridge [Carlos; #760745]
* Reliably match windows from Flatpak apps [Florian; #772615]
* Misc. bug fixes [Philip; #742249]
Contributors:
Philip Chimento, Carlos Garnacho, Florian Müllner
Translations:
Inaki Larranaga Murgoitio [eu], Khaled Hosny [ar], BM [uz@cyrillic],
Milo Casagrande [it], Cheng-Chia Tseng [zh_TW], gogo [hr]
3.22.0
======
* Misc. bug fixes [Florian, Rui; #771391, #771536] #771656]

View File

@ -11,6 +11,8 @@ test -z "$srcdir" && srcdir=.
exit 1
}
pushd $srcdir
# Fetch submodules if needed
if test ! -f src/gvc/Makefile.am || test ! -f data/theme/gnome-shell-sass/COPYING;
then
@ -19,6 +21,8 @@ then
fi
git submodule update
popd
which gnome-autogen.sh || {
echo "You need to install gnome-common from GNOME Git (or from"
echo "your OS vendor's package manager)."

View File

@ -1029,6 +1029,7 @@ NPP_GetValue(NPP instance,
if (!instance->pdata)
return NPERR_INVALID_INSTANCE_ERROR;
funcs.retainobject (instance->pdata);
*(NPObject**)value = instance->pdata;
break;

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.22.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.23.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h])
@ -77,8 +77,8 @@ AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.21.5
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.22.0
GJS_MIN_VERSION=1.47.0
MUTTER_MIN_VERSION=3.23.1
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3
LIBECAL_MIN_VERSION=3.5.3
@ -96,7 +96,7 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
libxml-2.0
gtk+-3.0 >= $GTK_MIN_VERSION
atk-bridge-2.0
gjs-internals-1.0 >= $GJS_MIN_VERSION
gjs-1.0 >= $GJS_MIN_VERSION
$recorder_modules
gdk-x11-3.0 libsoup-2.4
mutter-clutter-1.0 >= $CLUTTER_MIN_VERSION
@ -114,7 +114,7 @@ fi
PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION)
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-1.0 >= $GJS_MIN_VERSION)
PKG_CHECK_MODULES(ST, mutter-clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)

View File

@ -13,6 +13,7 @@ const Params = imports.misc.params;
const ShellEntry = imports.ui.shellEntry;
const Tweener = imports.ui.tweener;
const UserWidget = imports.ui.userWidget;
const Pango = imports.gi.Pango;
const DEFAULT_BUTTON_WELL_ICON_SIZE = 16;
const DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1.0;
@ -113,6 +114,7 @@ const AuthPrompt = new Lang.Class({
this._message = new St.Label({ opacity: 0,
styleClass: 'login-dialog-message' });
this._message.clutter_text.line_wrap = true;
this._message.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
this.actor.add(this._message, { x_fill: false, x_align: St.Align.START, y_align: St.Align.START });
this._buttonBox = new St.BoxLayout({ style_class: 'login-dialog-button-box',

View File

@ -6,9 +6,7 @@
const Lang = imports.lang;
const Signals = imports.signals;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const ShellJS = imports.gi.ShellJS;
const Config = imports.misc.config;
const FileUtils = imports.misc.fileUtils;
@ -21,14 +19,25 @@ const ExtensionType = {
// Maps uuid -> metadata object
const extensions = {};
/**
* getCurrentExtension:
*
* Returns the current extension, or null if not called from an extension.
*/
function getCurrentExtension() {
let stack = (new Error()).stack;
let stack = (new Error()).stack.split('\n');
let extensionStackLine;
// Assuming we're importing this directly from an extension (and we shouldn't
// ever not be), its UUID should be directly in the path here.
let extensionStackLine = stack.split('\n')[1];
// Search for an occurrence of an extension stack frame
// Start at 1 because 0 is the stack frame of this function
for (let i = 1; i < stack.length; i++) {
if (stack[i].indexOf('/gnome-shell/extensions/') > -1) {
extensionStackLine = stack[i];
break;
}
}
if (!extensionStackLine)
throw new Error('Could not find current extension');
return null;
// The stack line is like:
// init([object Object])@/home/user/data/gnome-shell/extensions/u@u.id/prefs.js:8
@ -38,7 +47,7 @@ function getCurrentExtension() {
// @/home/user/data/gnome-shell/extensions/u@u.id/prefs.js:8
let match = new RegExp('@(.+):\\d+').exec(extensionStackLine);
if (!match)
throw new Error('Could not find current extension');
return null;
let path = match[1];
let file = Gio.File.new_for_path(path);
@ -52,7 +61,7 @@ function getCurrentExtension() {
file = file.get_parent();
}
throw new Error('Could not find current extension');
return null;
}
/**
@ -140,12 +149,13 @@ function createExtensionObject(uuid, dir, type) {
return extension;
}
var _extension = null;
function installImporter(extension) {
_extension = extension;
ShellJS.add_extension_importer('imports.misc.extensionUtils._extension', 'imports', extension.path);
_extension = null;
let oldSearchPath = imports.searchPath.slice(); // make a copy
imports.searchPath = [extension.dir.get_parent().get_path()];
// importing a "subdir" creates a new importer object that doesn't affect
// the global one
extension.imports = imports[extension.uuid];
imports.searchPath = oldSearchPath;
}
const ExtensionFinder = new Lang.Class({

View File

@ -94,7 +94,7 @@ function spawnApp(argv) {
Gio.AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION);
let context = global.create_app_launch_context(0, -1);
app.launch([], context);
app.launch([], context, false);
} catch(err) {
_handleSpawnError(argv[0], err);
}

View File

@ -46,6 +46,19 @@ function _createWindowClone(window, size) {
y_expand: true });
};
function getWindows(workspace) {
// We ignore skip-taskbar windows in switchers, but if they are attached
// to their parent, their position in the MRU list may be more appropriate
// than the parent; so start with the complete list ...
let windows = global.display.get_tab_list(Meta.TabList.NORMAL_ALL,
workspace);
// ... map windows to their parent where appropriate ...
return windows.map(w => {
return w.is_attached_dialog() ? w.get_transient_for() : w;
// ... and filter out skip-taskbar windows and duplicates
}).filter((w, i, a) => !w.skip_taskbar && a.indexOf(w) == i);
}
const AppSwitcherPopup = new Lang.Class({
Name: 'AppSwitcherPopup',
Extends: SwitcherPopup.SwitcherPopup,
@ -517,7 +530,7 @@ const WindowSwitcherPopup = new Lang.Class({
_getWindowList: function() {
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
return getWindows(workspace);
},
_keyPressHandler: function(keysym, action) {
@ -555,7 +568,7 @@ const WindowCyclerPopup = new Lang.Class({
_getWindows: function() {
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
return getWindows(workspace);
},
_keyPressHandler: function(keysym, action) {

View File

@ -60,6 +60,18 @@ const PAGE_SWITCH_TIME = 0.3;
const VIEWS_SWITCH_TIME = 0.4;
const VIEWS_SWITCH_ANIMATION_DELAY = 0.1;
const SWITCHEROO_BUS_NAME = 'net.hadess.SwitcherooControl';
const SWITCHEROO_OBJECT_PATH = '/net/hadess/SwitcherooControl';
const SwitcherooProxyInterface = '<node> \
<interface name="net.hadess.SwitcherooControl"> \
<property name="HasDualGpu" type="b" access="read"/> \
</interface> \
</node>';
const SwitcherooProxy = Gio.DBusProxy.makeProxyWrapper(SwitcherooProxyInterface);
let discreteGpuAvailable = false;
function _getCategories(info) {
let categoriesStr = info.get_categories();
if (!categoriesStr)
@ -969,6 +981,32 @@ const AppDisplay = new Lang.Class({
initialView = Views.ALL;
this._showView(initialView);
this._updateFrequentVisibility();
Gio.DBus.system.watch_name(SWITCHEROO_BUS_NAME,
Gio.BusNameWatcherFlags.NONE,
Lang.bind(this, this._switcherooProxyAppeared),
Lang.bind(this, function() {
this._switcherooProxy = null;
this._updateDiscreteGpuAvailable();
}));
},
_updateDiscreteGpuAvailable: function() {
if (!this._switcherooProxy)
discreteGpuAvailable = false;
else
discreteGpuAvailable = this._switcherooProxy.HasDualGpu;
},
_switcherooProxyAppeared: function() {
this._switcherooProxy = new SwitcherooProxy(Gio.DBus.system, SWITCHEROO_BUS_NAME, SWITCHEROO_OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
if (error) {
log(error.message);
return;
}
this._updateDiscreteGpuAvailable();
}));
},
animate: function(animationDirection, onComplete) {
@ -1861,6 +1899,19 @@ const AppIconMenu = new Lang.Class({
this._appendSeparator();
}
if (discreteGpuAvailable &&
this._source.app.state == Shell.AppState.STOPPED &&
actions.indexOf('activate-discrete-gpu') == -1) {
this._onDiscreteGpuMenuItem = this._appendMenuItem(_("Launch using Dedicated Graphics Card"));
this._onDiscreteGpuMenuItem.connect('activate', Lang.bind(this, function() {
if (this._source.app.state == Shell.AppState.STOPPED)
this._source.animateLaunch();
this._source.app.launch(0, -1, true);
this.emit('activate-window', null);
}));
}
for (let i = 0; i < actions.length; i++) {
let action = actions[i];
let item = this._appendMenuItem(appInfo.get_action_name(action));

View File

@ -102,6 +102,7 @@ const Lang = imports.lang;
const Meta = imports.gi.Meta;
const Signals = imports.signals;
const LoginManager = imports.misc.loginManager;
const Main = imports.ui.main;
const Params = imports.misc.params;
const Tweener = imports.ui.tweener;
@ -254,6 +255,13 @@ const Background = new Lang.Class({
this._loadAnimation(this._animation.file);
}));
LoginManager.getLoginManager().connect('prepare-for-sleep',
(lm, aboutToSuspend) => {
if (aboutToSuspend)
return;
this._refreshAnimation();
});
this._settingsChangedSignalId = this._settings.connect('changed', Lang.bind(this, function() {
this.emit('changed');
}));
@ -282,10 +290,16 @@ const Background = new Lang.Class({
},
updateResolution: function() {
if (this._animation) {
this._removeAnimationTimeout();
this._updateAnimation();
}
if (this._animation)
this._refreshAnimation();
},
_refreshAnimation: function() {
if (!this._animation)
return;
this._removeAnimationTimeout();
this._updateAnimation();
},
_setLoaded: function() {

View File

@ -902,7 +902,7 @@ const EventsSection = new Lang.Class({
let app = this._getCalendarApp();
if (app.get_id() == 'evolution.desktop')
app = Gio.DesktopAppInfo.new('evolution-calendar.desktop');
app.launch([], global.create_app_launch_context(0, -1));
app.launch([], global.create_app_launch_context(0, -1), false);
},
setDate: function(date) {

View File

@ -64,7 +64,8 @@ function startAppForMount(app, mount) {
try {
retval = app.launch(files,
global.create_app_launch_context(0, -1))
global.create_app_launch_context(0, -1),
false)
} catch (e) {
log('Unable to launch the application ' + app.get_name()
+ ': ' + e.toString());

View File

@ -61,10 +61,19 @@ function _patchLayoutClass(layoutClass, styleProps) {
};
}
function _makeLoggingFunc(func) {
return function() {
return func([].join.call(arguments, ', '));
};
function _loggingFunc() {
let fields = {'MESSAGE': [].join.call(arguments, ', ')};
let domain = "GNOME Shell";
// If the caller is an extension, add it as metadata
let extension = imports.misc.extensionUtils.getCurrentExtension();
if (extension != null) {
domain = extension.metadata.name;
fields['GNOME_SHELL_EXTENSION_UUID'] = extension.uuid;
fields['GNOME_SHELL_EXTENSION_NAME'] = extension.metadata.name;
}
GLib.log_structured(domain, GLib.LogLevelFlags.LEVEL_MESSAGE, fields);
}
function init() {
@ -72,7 +81,7 @@ function init() {
// browser convention of having that namespace be called 'window'.)
window.global = Shell.Global.get();
window.log = _makeLoggingFunc(window.log);
window.log = _loggingFunc;
window._ = Gettext.gettext;
window.C_ = Gettext.pgettext;

View File

@ -72,8 +72,8 @@ const OsdWindowConstraint = new Lang.Class({
// Recenter
let [x, y] = actorBox.get_origin();
actorBox.set_origin(Math.floor(x + width / 2 - size / 2),
Math.floor(y + height / 2 - size / 2));
actorBox.set_origin(Math.ceil(x + width / 2 - size / 2),
Math.ceil(y + height / 2 - size / 2));
}
});
@ -109,8 +109,11 @@ const OsdWindow = new Lang.Class({
this._reset();
Main.layoutManager.connect('monitors-changed',
Lang.bind(this, this._monitorsChanged));
this._monitorsChanged();
Lang.bind(this, this._relayout));
let themeContext = St.ThemeContext.get_for_stage(global.stage);
themeContext.connect('notify::scale-factor',
Lang.bind(this, this._relayout));
this._relayout();
Main.uiGroup.add_child(this.actor);
},
@ -188,7 +191,7 @@ const OsdWindow = new Lang.Class({
this.setLevel(null);
},
_monitorsChanged: function() {
_relayout: function() {
/* assume 110x110 on a 640x480 display and scale from there */
let monitor = Main.layoutManager.monitors[this._monitorIndex];
if (!monitor)

View File

@ -297,7 +297,7 @@ const RemoteSearchProvider = new Lang.Class({
// the provider is not compatible with the new version of the interface, launch
// the app itself but warn so we can catch the error in logs
log('Search provider ' + this.appInfo.get_id() + ' does not implement LaunchSearch');
this.appInfo.launch([], global.create_app_launch_context(0, -1));
this.appInfo.launch([], global.create_app_launch_context(0, -1), false);
}
});

View File

@ -665,7 +665,10 @@ const ScreenShield = new Lang.Class({
let isEnter = (symbol == Clutter.KEY_Return ||
symbol == Clutter.KEY_KP_Enter ||
symbol == Clutter.KEY_ISO_Enter);
if (!isEnter && !(GLib.unichar_isprint(unichar) || symbol == Clutter.KEY_Escape))
let isEscape = (symbol == Clutter.KEY_Escape);
let isLiftChar = (GLib.unichar_isprint(unichar) &&
(this._isLocked || !GLib.unichar_isgraph(unichar)));
if (!isEnter && !isEscape && !isLiftChar)
return Clutter.EVENT_PROPAGATE;
if (this._isLocked &&

View File

@ -137,7 +137,7 @@ const Indicator = new Lang.Class({
else if (nConnectedDevices == -1)
this._item.label.text = _("Off");
else
this._item.label.text = _("Not In Use");
this._item.label.text = _("On");
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off");
},

View File

@ -5,6 +5,7 @@ const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const NetworkManager = imports.gi.NetworkManager;
const NMClient = imports.gi.NMClient;
const NMGtk = imports.gi.NMGtk;
@ -752,10 +753,9 @@ const NMWirelessDialog = new Lang.Class({
this._updateSensitivity();
this._syncView();
if (accessPoints.length == 0) {
/* If there are no visible access points, request a scan */
this._device.request_scan_simple(null);
}
this._scanTimeoutId = Mainloop.timeout_add_seconds(15, Lang.bind(this, this._onScanTimeout));
GLib.Source.set_name_by_id(this._scanTimeoutId, '[gnome-shell] this._onScanTimeout');
this._onScanTimeout();
},
destroy: function() {
@ -780,9 +780,19 @@ const NMWirelessDialog = new Lang.Class({
this._airplaneModeChangedId = 0;
}
if (this._scanTimeoutId) {
Mainloop.source_remove(this._scanTimeoutId);
this._scanTimeoutId = 0;
}
this.parent();
},
_onScanTimeout: function() {
this._device.request_scan_simple(null);
return GLib.SOURCE_CONTINUE;
},
_activeApChanged: function() {
if (this._activeNetwork)
this._activeNetwork.item.setActive(false);
@ -1491,7 +1501,7 @@ const NMVPNSection = new Lang.Class({
if (nItems > 1) {
let appSys = Shell.AppSystem.get_default();
let app = appSys.lookup_app('gnome-network-panel.desktop');
app.launch(0, -1);
app.launch(0, -1, false);
} else {
let connection = this._connections[0];
Util.spawnApp(['gnome-control-center', 'network', 'show-device',
@ -1632,6 +1642,8 @@ const NMApplet = new Lang.Class({
this._readConnections();
this._readDevices();
this._syncNMState();
this._syncMainConnection();
this._syncVPNConnections();
this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState));
this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));

View File

@ -29,6 +29,7 @@ gl
gu
he
hi
hr
hu
ia
id

View File

@ -9,8 +9,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: 2016-09-07 09:41+0000\n"
"PO-Revision-Date: 2016-09-16 21:26+0200\n"
"POT-Creation-Date: 2016-09-16 19:30+0000\n"
"PO-Revision-Date: 2016-09-21 14:51+0200\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n"
"Language: ar\n"
@ -323,7 +323,7 @@ msgstr "غير مدرج؟"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(مثلا مستخدم أو %s)"
@ -331,12 +331,12 @@ msgstr "(مثلا مستخدم أو %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "اسم المستخدم: "
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "نافذة الولوج"
@ -749,7 +749,7 @@ msgstr "للأسف لم يُفلح هذا. أعِد المحاولة."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "غيّر %s اسمه إلى %s"
@ -914,8 +914,6 @@ msgid "Power off after updates are installed"
msgstr "أطفئ بعد تثبيت التحديثات"
#: js/ui/endSessionDialog.js:137
#| msgctxt "title"
#| msgid "Restart & Install Updates"
msgctxt "title"
msgid "Restart & Install Upgrade"
msgstr "أعد التشغيل و ثبّت الترقية"
@ -1394,7 +1392,6 @@ msgid "%s Disabled"
msgstr "%s معطّل"
#: js/ui/status/network.js:632
#, fuzzy
#| msgid "Connection error"
msgid "Connect to Internet"
msgstr "اتصل بالإنترنت"

View File

@ -1133,7 +1133,7 @@ msgstr "El mode d'avió és actiu"
#: ../js/ui/status/network.js:814
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Quan el mode d'avió és actiu es desactiva la xarxa sense fils."
msgstr "Quan el mode d'avió és actiu es desactiva la xarxa sense fil."
#: ../js/ui/status/network.js:815
msgid "Turn Off Airplane Mode"
@ -1145,11 +1145,11 @@ msgstr "La xarxa sense fil està desactivada"
#: ../js/ui/status/network.js:825
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "S'ha d'activar la xarxa sense fils per poder-se connectar a una xarxa."
msgstr "S'ha d'activar la xarxa sense fil per poder-se connectar a una xarxa."
#: ../js/ui/status/network.js:826
msgid "Turn On Wi-Fi"
msgstr "Activa la xarxa sense fils"
msgstr "Activa la xarxa sense fil"
#: ../js/ui/status/network.js:851
msgid "Wi-Fi Networks"

195
po/cs.po
View File

@ -12,8 +12,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: 2016-08-19 21:11+0000\n"
"PO-Revision-Date: 2016-08-19 23:17+0200\n"
"POT-Creation-Date: 2016-10-21 17:31+0000\n"
"PO-Revision-Date: 2016-10-28 12:42+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@ -24,6 +24,30 @@ msgstr ""
"X-Generator: Gtranslator 2.91.7\n"
"X-Project-Style: gnome\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "Systém"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "Zobrazit seznam upozornění"
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "Zaměřovat aktivní upozornění"
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "Zobrazit přehled"
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "Zobrazit všechny aplikace"
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "Otevřít nabídku aplikací"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
msgid "GNOME Shell Extension Preferences"
msgstr "Předvolby rozšíření GNOME Shell"
@ -284,7 +308,8 @@ msgstr "Se změnou zaměření v režimu myši čekat na zastavení pohybu ukaza
msgid "Network Login"
msgstr "Přihlášení do sítě"
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:8
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:9
msgid "network-workgroup"
msgstr "network-workgroup"
@ -298,23 +323,23 @@ msgstr ""
msgid "GNOME Shell Extensions"
msgstr "Rozšíření GNOME Shell"
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:483 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:916
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:926
msgid "Cancel"
msgstr "Zrušit"
#: js/gdm/authPrompt.js:169 js/gdm/authPrompt.js:216 js/gdm/authPrompt.js:448
#: js/gdm/authPrompt.js:171 js/gdm/authPrompt.js:218 js/gdm/authPrompt.js:450
msgid "Next"
msgstr "Další"
#: js/gdm/authPrompt.js:212 js/ui/shellMountOperation.js:403
#: js/gdm/authPrompt.js:214 js/ui/shellMountOperation.js:403
#: js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Odemknout"
#: js/gdm/authPrompt.js:214
#: js/gdm/authPrompt.js:216
msgctxt "button"
msgid "Sign In"
msgstr "Přihlásit se"
@ -332,7 +357,7 @@ msgstr "Nejste na seznamu?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(např. uživatel nebo %s)"
@ -340,12 +365,12 @@ msgstr "(např. uživatel nebo %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Uživatelské jméno: "
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Přihlašovací okno"
@ -463,31 +488,35 @@ msgstr "Zamítnout přístup"
msgid "Grant Access"
msgstr "Schválit přístup"
#: js/ui/appDisplay.js:794
#: js/ui/appDisplay.js:806
msgid "Frequently used applications will appear here"
msgstr "Zde se objeví často používané aplikace"
#: js/ui/appDisplay.js:914
#: js/ui/appDisplay.js:926
msgid "Frequent"
msgstr "Časté"
#: js/ui/appDisplay.js:921
#: js/ui/appDisplay.js:933
msgid "All"
msgstr "Všechny"
#: js/ui/appDisplay.js:1853
#: js/ui/appDisplay.js:1891
msgid "New Window"
msgstr "Nové okno"
#: js/ui/appDisplay.js:1881 js/ui/dash.js:289
#: js/ui/appDisplay.js:1905
msgid "Launch using Dedicated Graphics Card"
msgstr "Spustit pomocí vyhrazené grafické karty"
#: js/ui/appDisplay.js:1932 js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: js/ui/appDisplay.js:1887
#: js/ui/appDisplay.js:1938
msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené"
#: js/ui/appDisplay.js:1897
#: js/ui/appDisplay.js:1948
msgid "Show Details"
msgstr "Zobrazit podrobnosti"
@ -645,7 +674,7 @@ msgstr "Externí svazek připojen"
msgid "External drive disconnected"
msgstr "Externí svazek odpojen"
#: js/ui/components/autorunManager.js:355
#: js/ui/components/autorunManager.js:356
#, javascript-format
msgid "Open with %s"
msgstr "Otevřít pomocí %s"
@ -658,8 +687,8 @@ msgstr "Heslo:"
msgid "Type again:"
msgstr "Napište znovu:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:269
#: js/ui/status/network.js:352 js/ui/status/network.js:919
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:270
#: js/ui/status/network.js:353 js/ui/status/network.js:929
msgid "Connect"
msgstr "Připojit"
@ -734,7 +763,7 @@ msgstr "Heslo k mobilní širokopásmové síti"
msgid "A password is required to connect to “%s”."
msgstr "Pro připojení k „%s“ je vyžadováno heslo."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1670
msgid "Network Manager"
msgstr "Network Manager"
@ -760,7 +789,7 @@ msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s je teď znám jako %s"
@ -1231,7 +1260,7 @@ msgstr "Styl velkého textu"
msgid "Bluetooth"
msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:624
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:625
msgid "Bluetooth Settings"
msgstr "Nastavení Bluetooth"
@ -1249,16 +1278,16 @@ msgid "Off"
msgstr "Vypnuto"
#: js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "Nepoužívá se"
msgid "On"
msgstr "Zapnuto"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1279
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1289
msgid "Turn On"
msgstr "Zapnout"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:178
#: js/ui/status/network.js:353 js/ui/status/network.js:1279
#: js/ui/status/network.js:1394 js/ui/status/rfkill.js:90
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:179
#: js/ui/status/network.js:354 js/ui/status/network.js:1289
#: js/ui/status/network.js:1404 js/ui/status/rfkill.js:90
#: js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Vypnout"
@ -1307,18 +1336,18 @@ msgstr ""
"Přístup ke službám pro určování polohy lze kdykoliv změnit v nastavení "
"soukromí."
#: js/ui/status/network.js:101
#: js/ui/status/network.js:102
msgid "<unknown>"
msgstr "<neznámé>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:451 js/ui/status/network.js:1308
#: js/ui/status/network.js:452 js/ui/status/network.js:1318
#, javascript-format
msgid "%s Off"
msgstr "%s je vypnuto"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:454
#: js/ui/status/network.js:455
#, javascript-format
msgid "%s Connected"
msgstr "%s je připojeno"
@ -1326,168 +1355,168 @@ msgstr "%s je připojeno"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier
#: js/ui/status/network.js:459
#: js/ui/status/network.js:460
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s není spravováno"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:462
#: js/ui/status/network.js:463
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s se odpojuje"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:469 js/ui/status/network.js:1300
#: js/ui/status/network.js:470 js/ui/status/network.js:1310
#, javascript-format
msgid "%s Connecting"
msgstr "%s se připojuje"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: js/ui/status/network.js:472
#: js/ui/status/network.js:473
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s požaduje ověření"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier
#: js/ui/status/network.js:480
#: js/ui/status/network.js:481
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Schází firmware pro %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: js/ui/status/network.js:484
#: js/ui/status/network.js:485
#, javascript-format
msgid "%s Unavailable"
msgstr "%s je nedostupné"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:487
#: js/ui/status/network.js:488
#, javascript-format
msgid "%s Connection Failed"
msgstr "%s selhalo připojení"
#: js/ui/status/network.js:503
#: js/ui/status/network.js:504
msgid "Wired Settings"
msgstr "Nastavení připojení po drátu"
#: js/ui/status/network.js:545
#: js/ui/status/network.js:546
msgid "Mobile Broadband Settings"
msgstr "Nastavení mobilní širokopásmové sítě"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:588 js/ui/status/network.js:1305
#: js/ui/status/network.js:589 js/ui/status/network.js:1315
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s je hardwarově zakázáno"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: js/ui/status/network.js:592
#: js/ui/status/network.js:593
#, javascript-format
msgid "%s Disabled"
msgstr "%s je zakázáno"
#: js/ui/status/network.js:632
#: js/ui/status/network.js:633
msgid "Connect to Internet"
msgstr "Připojit k Internetu"
#: js/ui/status/network.js:813
#: js/ui/status/network.js:823
msgid "Airplane Mode is On"
msgstr "Režim „letadlo“ je zapnutý"
#: js/ui/status/network.js:814
#: js/ui/status/network.js:824
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Když je zapnutý režim „letadlo“, je WiFi zakázána."
#: js/ui/status/network.js:815
#: js/ui/status/network.js:825
msgid "Turn Off Airplane Mode"
msgstr "Vypnout režim „letadlo“"
#: js/ui/status/network.js:824
#: js/ui/status/network.js:834
msgid "Wi-Fi is Off"
msgstr "WiFi je vypnutá"
#: js/ui/status/network.js:825
#: js/ui/status/network.js:835
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Abyste se připojili k síti, je zapotřebí zapnout WiFi."
#: js/ui/status/network.js:826
#: js/ui/status/network.js:836
msgid "Turn On Wi-Fi"
msgstr "Zapnout WiFi"
#: js/ui/status/network.js:851
#: js/ui/status/network.js:861
msgid "Wi-Fi Networks"
msgstr "Sítě WiFi"
#: js/ui/status/network.js:853
#: js/ui/status/network.js:863
msgid "Select a network"
msgstr "Vyberte síť"
#: js/ui/status/network.js:883
#: js/ui/status/network.js:893
msgid "No Networks"
msgstr "Žádné sítě"
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:914 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "K vypnutí použijte fyzický vypínač"
#: js/ui/status/network.js:1171
#: js/ui/status/network.js:1181
msgid "Select Network"
msgstr "Vybrat síť"
#: js/ui/status/network.js:1177
#: js/ui/status/network.js:1187
msgid "Wi-Fi Settings"
msgstr "Nastavení WiFi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1296
#: js/ui/status/network.js:1306
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s je aktivní přístupový bod"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1311
#: js/ui/status/network.js:1321
#, javascript-format
msgid "%s Not Connected"
msgstr "%s není připojeno"
#: js/ui/status/network.js:1411
#: js/ui/status/network.js:1421
msgid "connecting..."
msgstr "připojuje se…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1414
#: js/ui/status/network.js:1424
msgid "authentication required"
msgstr "je požadováno ověření"
#: js/ui/status/network.js:1416
#: js/ui/status/network.js:1426
msgid "connection failed"
msgstr "připojení selhalo"
#: js/ui/status/network.js:1482 js/ui/status/rfkill.js:93
#: js/ui/status/network.js:1492 js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Nastavení sítě"
#: js/ui/status/network.js:1484
#: js/ui/status/network.js:1494
msgid "VPN Settings"
msgstr "Nastavení VPN"
#: js/ui/status/network.js:1503
#: js/ui/status/network.js:1513
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1513
#: js/ui/status/network.js:1523
msgid "VPN Off"
msgstr "VPN je vypnuta"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1709
msgid "Connection failed"
msgstr "Připojení selhalo"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1710
msgid "Activation of network connection failed"
msgstr "Aktivace síťového připojení selhala"
@ -1680,7 +1709,8 @@ msgstr "Přesunout o monitor doprava"
msgid "Evolution Calendar"
msgstr "Kalendář Evolution"
#: src/calendar-server/evolution-calendar.desktop.in:5
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: src/calendar-server/evolution-calendar.desktop.in:6
msgid "evolution"
msgstr "evolution"
@ -1708,19 +1738,19 @@ msgstr[2] "%u vstupů"
msgid "System Sounds"
msgstr "Systémové zvuky"
#: src/main.c:381
#: src/main.c:380
msgid "Print version"
msgstr "Vypsat verzi"
#: src/main.c:387
#: src/main.c:386
msgid "Mode used by GDM for login screen"
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
#: src/main.c:393
#: src/main.c:392
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“."
#: src/main.c:399
#: src/main.c:398
msgid "List possible modes"
msgstr "Vypsat možné režimy"
@ -1746,23 +1776,8 @@ msgstr "Heslo nemůže být prázdné."
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialogové okno ověření bylo uživatelem zrušeno"
#~ msgid "System"
#~ msgstr "Systém"
#~ msgid "Show the notification list"
#~ msgstr "Zobrazit seznam upozornění"
#~ msgid "Focus the active notification"
#~ msgstr "Zaměřovat aktivní upozornění"
#~ msgid "Show the overview"
#~ msgstr "Zobrazit přehled"
#~ msgid "Show all applications"
#~ msgstr "Zobrazit všechny aplikace"
#~ msgid "Open the application menu"
#~ msgstr "Otevřít nabídku aplikací"
#~ msgid "Not In Use"
#~ msgstr "Nepoužívá se"
#~ msgid "Show the week date in the calendar"
#~ msgstr "Zobrazovat v kalendáři čísla týdnů"

829
po/eu.po

File diff suppressed because it is too large Load Diff

201
po/fur.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: video-subtitles master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-08-20 08:27+0000\n"
"PO-Revision-Date: 2016-08-22 22:52+0200\n"
"POT-Creation-Date: 2016-10-21 17:31+0000\n"
"PO-Revision-Date: 2016-10-25 22:17+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
@ -19,6 +19,30 @@ msgstr ""
"X-Generator: Poedit 1.8.8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "Sisteme"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "Mostre la liste des notifichis"
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "Met il focus ae notifiche ative"
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "Mostre la panoramiche"
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "Mostre dutis lis aplicazions"
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "Vierç il menù aplicazions"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
msgid "GNOME Shell Extension Preferences"
msgstr "Preferencis Estensions di GNOME Shell"
@ -134,9 +158,9 @@ msgid ""
"state of the checkbox."
msgstr ""
"La shell e domandarà une password cuant che un dispositîf cifrât o un "
"filesystem rimot al ven montât. Se le password e pues sedi salvade par un ûs "
"futûr, une casele di selezion 'Visasi Password' e sarà presinte. Cheste clâf "
"e impueste il valôr predefinît di cheste casele di selezion."
"filesystem rimot al ven montât. Se le password e pues jessi salvade par un "
"ûs futûr, une casele di selezion 'Visasi Password' e sarà presinte. Cheste "
"clâf e impueste il valôr predefinît di cheste casele di selezion."
#: data/org.gnome.shell.gschema.xml.in:77
msgid ""
@ -305,23 +329,23 @@ msgstr ""
msgid "GNOME Shell Extensions"
msgstr "Estensions di GNOME Shell"
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:483 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:916
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:926
msgid "Cancel"
msgstr "Anule"
#: js/gdm/authPrompt.js:169 js/gdm/authPrompt.js:216 js/gdm/authPrompt.js:448
#: js/gdm/authPrompt.js:171 js/gdm/authPrompt.js:218 js/gdm/authPrompt.js:450
msgid "Next"
msgstr "Indenant"
#: js/gdm/authPrompt.js:212 js/ui/shellMountOperation.js:403
#: js/gdm/authPrompt.js:214 js/ui/shellMountOperation.js:403
#: js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Sbloche"
#: js/gdm/authPrompt.js:214
#: js/gdm/authPrompt.js:216
msgctxt "button"
msgid "Sign In"
msgstr "Jentre"
@ -339,7 +363,7 @@ msgstr "No in liste?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(p.e., utent o %s)"
@ -347,12 +371,12 @@ msgstr "(p.e., utent o %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Non utent:"
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Barcon di acès"
@ -470,31 +494,35 @@ msgstr "Dinee acès"
msgid "Grant Access"
msgstr "Garantìs l'acès"
#: js/ui/appDisplay.js:794
#: js/ui/appDisplay.js:806
msgid "Frequently used applications will appear here"
msgstr "Lis aplicazions dopradis dispès a vegnaran mostradis culì"
#: js/ui/appDisplay.js:914
#: js/ui/appDisplay.js:926
msgid "Frequent"
msgstr "Dispès"
#: js/ui/appDisplay.js:921
#: js/ui/appDisplay.js:933
msgid "All"
msgstr "Dutis"
#: js/ui/appDisplay.js:1853
#: js/ui/appDisplay.js:1891
msgid "New Window"
msgstr "Gnûf barcon"
#: js/ui/appDisplay.js:1881 js/ui/dash.js:289
#: js/ui/appDisplay.js:1905
msgid "Launch using Dedicated Graphics Card"
msgstr "Invie doprant une schede grafiche dedicade"
#: js/ui/appDisplay.js:1932 js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Gjave dai preferîts"
#: js/ui/appDisplay.js:1887
#: js/ui/appDisplay.js:1938
msgid "Add to Favorites"
msgstr "Zonte tai preferîts"
#: js/ui/appDisplay.js:1897
#: js/ui/appDisplay.js:1948
msgid "Show Details"
msgstr "Mostre Detais"
@ -652,7 +680,7 @@ msgstr "Dispositîf esterni tacât"
msgid "External drive disconnected"
msgstr "Dispositîf esterni distacât"
#: js/ui/components/autorunManager.js:355
#: js/ui/components/autorunManager.js:356
#, javascript-format
msgid "Open with %s"
msgstr "Vierç cun %s"
@ -665,8 +693,8 @@ msgstr "Password:"
msgid "Type again:"
msgstr "Scîf di gnûf:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:269
#: js/ui/status/network.js:352 js/ui/status/network.js:919
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:270
#: js/ui/status/network.js:353 js/ui/status/network.js:929
msgid "Connect"
msgstr "Conet"
@ -741,7 +769,7 @@ msgstr "Passowrd rêt mobil a bande largje"
msgid "A password is required to connect to “%s”."
msgstr "A covente une password par tacâsi a '%s'."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1670
msgid "Network Manager"
msgstr "Ministradôr di rêt"
@ -767,7 +795,7 @@ msgstr "Mi displâs, no je lade drete. Prove di gnûf"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "L'utent %s al è cognossût cumò come %s"
@ -1228,7 +1256,7 @@ msgstr "Test Larc"
msgid "Bluetooth"
msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:624
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:625
msgid "Bluetooth Settings"
msgstr "Impostazions Bluetooth"
@ -1245,16 +1273,16 @@ msgid "Off"
msgstr "Distudât"
#: js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "No in ûs"
msgid "On"
msgstr "Impiât"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1279
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1289
msgid "Turn On"
msgstr "Impie"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:178
#: js/ui/status/network.js:353 js/ui/status/network.js:1279
#: js/ui/status/network.js:1394 js/ui/status/rfkill.js:90
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:179
#: js/ui/status/network.js:354 js/ui/status/network.js:1289
#: js/ui/status/network.js:1404 js/ui/status/rfkill.js:90
#: js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Distude"
@ -1300,21 +1328,21 @@ msgstr "Permeti a %s di cognossi la tô posizion?"
#: js/ui/status/location.js:437
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"L'acès ae posizion al pues sedi cambiât cuant che tu vuelis su impostazions "
"L'acès ae posizion al pues jessi cambiât cuant che tu vuelis su impostazions "
"privacy."
#: js/ui/status/network.js:101
#: js/ui/status/network.js:102
msgid "<unknown>"
msgstr "<no cognossût>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:451 js/ui/status/network.js:1308
#: js/ui/status/network.js:452 js/ui/status/network.js:1318
#, javascript-format
msgid "%s Off"
msgstr "%s distudât"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:454
#: js/ui/status/network.js:455
#, javascript-format
msgid "%s Connected"
msgstr "%s tacât"
@ -1322,168 +1350,168 @@ msgstr "%s tacât"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier
#: js/ui/status/network.js:459
#: js/ui/status/network.js:460
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s no ministrât"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:462
#: js/ui/status/network.js:463
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s daûr a disconeti"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:469 js/ui/status/network.js:1300
#: js/ui/status/network.js:470 js/ui/status/network.js:1310
#, javascript-format
msgid "%s Connecting"
msgstr "%s in conession"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: js/ui/status/network.js:472
#: js/ui/status/network.js:473
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s al à dibisugne di autenticazion"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier
#: js/ui/status/network.js:480
#: js/ui/status/network.js:481
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Al mancje il firmware par %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: js/ui/status/network.js:484
#: js/ui/status/network.js:485
#, javascript-format
msgid "%s Unavailable"
msgstr "%s no disponibil"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:487
#: js/ui/status/network.js:488
#, javascript-format
msgid "%s Connection Failed"
msgstr "Conession falide su %s"
#: js/ui/status/network.js:503
#: js/ui/status/network.js:504
msgid "Wired Settings"
msgstr "Impostazions rêt vie fîl"
#: js/ui/status/network.js:545
#: js/ui/status/network.js:546
msgid "Mobile Broadband Settings"
msgstr "Impostazions bande largje mobil"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:588 js/ui/status/network.js:1305
#: js/ui/status/network.js:589 js/ui/status/network.js:1315
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s disabilitât vie hardware "
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: js/ui/status/network.js:592
#: js/ui/status/network.js:593
#, javascript-format
msgid "%s Disabled"
msgstr "%s disabilitât"
#: js/ui/status/network.js:632
#: js/ui/status/network.js:633
msgid "Connect to Internet"
msgstr "Conet a internet"
#: js/ui/status/network.js:813
#: js/ui/status/network.js:823
msgid "Airplane Mode is On"
msgstr "Modalitât avion piade"
#: js/ui/status/network.js:814
#: js/ui/status/network.js:824
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Il Wi-Fi al è disabilitât cuant che la modalitât avion e je impiade."
#: js/ui/status/network.js:815
#: js/ui/status/network.js:825
msgid "Turn Off Airplane Mode"
msgstr "Distude modalitât avion"
#: js/ui/status/network.js:824
#: js/ui/status/network.js:834
msgid "Wi-Fi is Off"
msgstr "Il Wi-Fi al è distudât"
#: js/ui/status/network.js:825
#: js/ui/status/network.js:835
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Il Wi-Fi al scugne jessi impiât par podêsi tacâ a une rêt."
#: js/ui/status/network.js:826
#: js/ui/status/network.js:836
msgid "Turn On Wi-Fi"
msgstr "Impie il Wi-Fi"
#: js/ui/status/network.js:851
#: js/ui/status/network.js:861
msgid "Wi-Fi Networks"
msgstr "Rêts Wi-Fi"
#: js/ui/status/network.js:853
#: js/ui/status/network.js:863
msgid "Select a network"
msgstr "Selezione une rêt"
#: js/ui/status/network.js:883
#: js/ui/status/network.js:893
msgid "No Networks"
msgstr "Nissune rêt"
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:914 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Dopre interutôr fisic par distudâ"
#: js/ui/status/network.js:1171
#: js/ui/status/network.js:1181
msgid "Select Network"
msgstr "Selezione rêt"
#: js/ui/status/network.js:1177
#: js/ui/status/network.js:1187
msgid "Wi-Fi Settings"
msgstr "Impostazions Wi-Fi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1296
#: js/ui/status/network.js:1306
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s atîf"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1311
#: js/ui/status/network.js:1321
#, javascript-format
msgid "%s Not Connected"
msgstr "%s distacât"
#: js/ui/status/network.js:1411
#: js/ui/status/network.js:1421
msgid "connecting..."
msgstr "Daûr a coneti..."
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1414
#: js/ui/status/network.js:1424
msgid "authentication required"
msgstr "autenticazion necessarie"
#: js/ui/status/network.js:1416
#: js/ui/status/network.js:1426
msgid "connection failed"
msgstr "conession falide"
#: js/ui/status/network.js:1482 js/ui/status/rfkill.js:93
#: js/ui/status/network.js:1492 js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Impostazions rêt"
#: js/ui/status/network.js:1484
#: js/ui/status/network.js:1494
msgid "VPN Settings"
msgstr "Impostazions VPN"
#: js/ui/status/network.js:1503
#: js/ui/status/network.js:1513
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1513
#: js/ui/status/network.js:1523
msgid "VPN Off"
msgstr "VPN distudât"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1709
msgid "Connection failed"
msgstr "Conession falide"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1710
msgid "Activation of network connection failed"
msgstr "Ativazion de conession di rêt falide"
@ -1511,7 +1539,7 @@ msgstr "A restin %d%02d (%d%%)"
#: js/ui/status/power.js:103
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d par sedi plene (%d%%)"
msgstr "%d%02d par jessi plene (%d%%)"
#: js/ui/status/power.js:131 js/ui/status/power.js:133
#, javascript-format
@ -1704,19 +1732,19 @@ msgstr[1] "%u jentradis"
msgid "System Sounds"
msgstr "Suns di sisteme"
#: src/main.c:381
#: src/main.c:380
msgid "Print version"
msgstr "Stampe version"
#: src/main.c:387
#: src/main.c:386
msgid "Mode used by GDM for login screen"
msgstr "Modalitât doprade da GDM pe videade di acès"
#: src/main.c:393
#: src/main.c:392
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Dopre une modalitât specifiche, par esempli \"gdm\" pe videade di acès"
#: src/main.c:399
#: src/main.c:398
msgid "List possible modes"
msgstr "Liste modalitâts pussibilis"
@ -1736,29 +1764,14 @@ msgstr "Lis password no corispuindin."
#: src/shell-keyring-prompt.c:738
msgid "Password cannot be blank"
msgstr "La password no pues sedi vueide"
msgstr "La password no pues jessi vueide"
#: src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialic di autenticazion anulât dal utent"
#~ msgid "System"
#~ msgstr "Sisteme"
#~ msgid "Show the notification list"
#~ msgstr "Mostre la liste des notifichis"
#~ msgid "Focus the active notification"
#~ msgstr "Met il focus ae notifiche ative"
#~ msgid "Show the overview"
#~ msgstr "Mostre la panoramiche"
#~ msgid "Show all applications"
#~ msgstr "Mostre dutis lis aplicazions"
#~ msgid "Open the application menu"
#~ msgstr "Vierç il menù aplicazions"
#~ msgid "Not In Use"
#~ msgstr "No in ûs"
#~ msgid "Show the week date in the calendar"
#~ msgstr "Mostre il dì de setemane tal calendari"

1771
po/hr.po Normal file

File diff suppressed because it is too large Load Diff

791
po/it.po

File diff suppressed because it is too large Load Diff

View File

@ -9,9 +9,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-20 10:20+0200\n"
"PO-Revision-Date: 2016-08-20 10:22+0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-10-11 08:09+0000\n"
"PO-Revision-Date: 2016-10-22 16:08+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@ -365,7 +366,7 @@ msgstr "Inny użytkownik?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(np. użytkownik lub %s)"
@ -373,12 +374,12 @@ msgstr "(np. użytkownik lub %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nazwa użytkownika: "
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Okno logowania"
@ -767,7 +768,7 @@ msgstr "Hasło sieci komórkowej"
msgid "A password is required to connect to “%s”."
msgstr "Do połączenia z siecią „%s” wymagane jest hasło."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1660
msgid "Network Manager"
msgstr "Menedżer sieci"
@ -793,7 +794,7 @@ msgstr "To nie zadziałało. Proszę spróbować ponownie."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "Użytkownik %s jest teraz znany jako %s"
@ -1512,11 +1513,11 @@ msgstr "VPN"
msgid "VPN Off"
msgstr "Wyłączono sieć VPN"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1699
msgid "Connection failed"
msgstr "Połączenie się nie powiodło"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1700
msgid "Activation of network connection failed"
msgstr "Aktywacja połączenia sieciowego się nie powiodła"
@ -1775,3 +1776,6 @@ msgstr "Hasło nie może być puste"
#: src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Okno dialogowe uwierzytelnienia zostało odrzucone przez użytkownika"
msgid "Launch using Dedicated Graphics Card"
msgstr "Uruchom za pomocą dedykowanej karty graficznej"

205
po/sk.po
View File

@ -9,8 +9,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: 2016-08-20 08:27+0000\n"
"PO-Revision-Date: 2016-08-21 18:01+0200\n"
"POT-Creation-Date: 2016-10-21 17:31+0000\n"
"PO-Revision-Date: 2016-10-30 09:17+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@ -19,7 +19,35 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.9\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "Systém"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "Zobraziť zoznam s oznámeniami"
# nazov klavesovej skratky
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "Zamerať aktívne oznámenie"
# nazov klavesovej skratky
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "Zobraziť prehľad"
# nazov klavesovej skratky
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "Zobraziť všetky aplikácie"
# nazov klavesovej skratky
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "Otvoriť ponuku aplikácií"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
msgid "GNOME Shell Extension Preferences"
@ -302,7 +330,6 @@ msgstr "Sieťové prihlásenie"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:9
#| msgid "Network error"
msgid "network-workgroup"
msgstr "network-workgroup"
@ -315,23 +342,23 @@ msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s
msgid "GNOME Shell Extensions"
msgstr "Rozšírenia pre Shell prostredia GNOME"
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:483 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:916
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:926
msgid "Cancel"
msgstr "Zrušiť"
#: js/gdm/authPrompt.js:169 js/gdm/authPrompt.js:216 js/gdm/authPrompt.js:448
#: js/gdm/authPrompt.js:171 js/gdm/authPrompt.js:218 js/gdm/authPrompt.js:450
msgid "Next"
msgstr "Ďalej"
#: js/gdm/authPrompt.js:212 js/ui/shellMountOperation.js:403
#: js/gdm/authPrompt.js:214 js/ui/shellMountOperation.js:403
#: js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Odomknúť"
#: js/gdm/authPrompt.js:214
#: js/gdm/authPrompt.js:216
msgctxt "button"
msgid "Sign In"
msgstr "Prihlásiť sa"
@ -351,7 +378,7 @@ msgstr "Nie ste v zozname?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(napr., používateľ alebo %s)"
@ -359,12 +386,12 @@ msgstr "(napr., používateľ alebo %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Používateľské meno: "
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Prihlasovacie okno"
@ -488,31 +515,35 @@ msgstr "Odmietnuť prístup"
msgid "Grant Access"
msgstr "Udeliť prístup"
#: js/ui/appDisplay.js:794
#: js/ui/appDisplay.js:806
msgid "Frequently used applications will appear here"
msgstr "Tu sa objavia často používané aplikácie"
#: js/ui/appDisplay.js:914
#: js/ui/appDisplay.js:926
msgid "Frequent"
msgstr "Často používané"
#: js/ui/appDisplay.js:921
#: js/ui/appDisplay.js:933
msgid "All"
msgstr "Všetky"
#: js/ui/appDisplay.js:1853
#: js/ui/appDisplay.js:1891
msgid "New Window"
msgstr "Nové okno"
#: js/ui/appDisplay.js:1881 js/ui/dash.js:289
#: js/ui/appDisplay.js:1905
msgid "Launch using Dedicated Graphics Card"
msgstr "Spustiť pomocou prídavnej grafickej karty"
#: js/ui/appDisplay.js:1932 js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Odstrániť z obľúbených"
#: js/ui/appDisplay.js:1887
#: js/ui/appDisplay.js:1938
msgid "Add to Favorites"
msgstr "Pridať do obľúbených"
#: js/ui/appDisplay.js:1897
#: js/ui/appDisplay.js:1948
msgid "Show Details"
msgstr "Zobraziť podrobnosti"
@ -674,7 +705,7 @@ msgid "External drive disconnected"
msgstr "Externá jednotka bola odpojená"
# DK: doplnil som slovo "programu", aby to znelo prirodzenejsie. priklad:po pripojeni USB kluca bolo zobrazene "Otvoriť pomocou Súbory"
#: js/ui/components/autorunManager.js:355
#: js/ui/components/autorunManager.js:356
#, javascript-format
msgid "Open with %s"
msgstr "Otvoriť pomocou programu %s"
@ -687,8 +718,8 @@ msgstr "Heslo:"
msgid "Type again:"
msgstr "Zadajte znovu:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:269
#: js/ui/status/network.js:352 js/ui/status/network.js:919
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:270
#: js/ui/status/network.js:353 js/ui/status/network.js:929
msgid "Connect"
msgstr "Pripojiť"
@ -763,7 +794,7 @@ msgstr "Heslo k mobilnej širokopásmovej sieti"
msgid "A password is required to connect to “%s”."
msgstr "Na pripojenie k „%s“ sa požaduje heslo."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1670
msgid "Network Manager"
msgstr "Správca siete"
@ -790,7 +821,7 @@ msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "Kontakt %s odteraz vystupuje ako %s"
@ -1266,7 +1297,7 @@ msgstr "Veľký text"
msgid "Bluetooth"
msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:624
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:625
msgid "Bluetooth Settings"
msgstr "Nastavenia Bluetooth"
@ -1284,17 +1315,18 @@ msgstr[2] "%d pripojených"
msgid "Off"
msgstr "Vypnuté"
# režim v lietadle
#: js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "Nepoužíva sa"
msgid "On"
msgstr "Zapnutý"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1279
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1289
msgid "Turn On"
msgstr "Zapnúť"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:178
#: js/ui/status/network.js:353 js/ui/status/network.js:1279
#: js/ui/status/network.js:1394 js/ui/status/rfkill.js:90
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:179
#: js/ui/status/network.js:354 js/ui/status/network.js:1289
#: js/ui/status/network.js:1404 js/ui/status/rfkill.js:90
#: js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Vypnúť"
@ -1343,18 +1375,18 @@ msgid "Location access can be changed at any time from the privacy settings."
msgstr "Prístup k umiestneniu sa dá zmeniť kedykoľvek v nastaveniach súkromia."
# zariadenie
#: js/ui/status/network.js:101
#: js/ui/status/network.js:102
msgid "<unknown>"
msgstr "<neznáme>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:451 js/ui/status/network.js:1308
#: js/ui/status/network.js:452 js/ui/status/network.js:1318
#, javascript-format
msgid "%s Off"
msgstr "%s vypnuté"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:454
#: js/ui/status/network.js:455
#, javascript-format
msgid "%s Connected"
msgstr "%s pripojené"
@ -1362,169 +1394,169 @@ msgstr "%s pripojené"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier
#: js/ui/status/network.js:459
#: js/ui/status/network.js:460
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s nespravované"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:462
#: js/ui/status/network.js:463
#, javascript-format
msgid "%s Disconnecting"
msgstr "Odpája sa %s"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:469 js/ui/status/network.js:1300
#: js/ui/status/network.js:470 js/ui/status/network.js:1310
#, javascript-format
msgid "%s Connecting"
msgstr "Pripája sa %s"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: js/ui/status/network.js:472
#: js/ui/status/network.js:473
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s vyžaduje overenie totožnosti"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier
#: js/ui/status/network.js:480
#: js/ui/status/network.js:481
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Chýba firmvér pre %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: js/ui/status/network.js:484
#: js/ui/status/network.js:485
#, javascript-format
msgid "%s Unavailable"
msgstr "%s nedostupné"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:487
#: js/ui/status/network.js:488
#, javascript-format
msgid "%s Connection Failed"
msgstr "Pripojenie %s zlyhalo"
#: js/ui/status/network.js:503
#: js/ui/status/network.js:504
msgid "Wired Settings"
msgstr "Nastavenia drôtovej siete"
#: js/ui/status/network.js:545
#: js/ui/status/network.js:546
msgid "Mobile Broadband Settings"
msgstr "Nastavenia mobilnej širokopásmovej siete"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:588 js/ui/status/network.js:1305
#: js/ui/status/network.js:589 js/ui/status/network.js:1315
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Hardvér %s zakázaný"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: js/ui/status/network.js:592
#: js/ui/status/network.js:593
#, javascript-format
msgid "%s Disabled"
msgstr "%s zakázané"
#: js/ui/status/network.js:632
#: js/ui/status/network.js:633
msgid "Connect to Internet"
msgstr "Pripojiť k internetu"
#: js/ui/status/network.js:813
#: js/ui/status/network.js:823
msgid "Airplane Mode is On"
msgstr "Režim v lietadle je zapnutý"
#: js/ui/status/network.js:814
#: js/ui/status/network.js:824
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Sieť Wi-Fi je zakázaná, keď je zapnutý režim v lietadle"
#: js/ui/status/network.js:815
#: js/ui/status/network.js:825
msgid "Turn Off Airplane Mode"
msgstr "Vypnúť režim v lietadle"
#: js/ui/status/network.js:824
#: js/ui/status/network.js:834
msgid "Wi-Fi is Off"
msgstr "Sieť Wi-Fi je vypnutá"
#: js/ui/status/network.js:825
#: js/ui/status/network.js:835
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Na pripojenie k sieti je potrebné zapnúť Wi-Fi"
#: js/ui/status/network.js:826
#: js/ui/status/network.js:836
msgid "Turn On Wi-Fi"
msgstr "Zapnúť Wi-Fi"
#: js/ui/status/network.js:851
#: js/ui/status/network.js:861
msgid "Wi-Fi Networks"
msgstr "Siete Wi-Fi"
#: js/ui/status/network.js:853
#: js/ui/status/network.js:863
msgid "Select a network"
msgstr "Vyberte sieť"
#: js/ui/status/network.js:883
#: js/ui/status/network.js:893
msgid "No Networks"
msgstr "Žiadne siete"
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:914 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Na vypnutie použite hardvérový prepínač"
# item menu
#: js/ui/status/network.js:1171
#: js/ui/status/network.js:1181
msgid "Select Network"
msgstr "Vybrať sieť"
#: js/ui/status/network.js:1177
#: js/ui/status/network.js:1187
msgid "Wi-Fi Settings"
msgstr "Nastavenia siete Wi-Fi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1296
#: js/ui/status/network.js:1306
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s aktívny"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1311
#: js/ui/status/network.js:1321
#, javascript-format
msgid "%s Not Connected"
msgstr "%s nepripojené"
#: js/ui/status/network.js:1411
#: js/ui/status/network.js:1421
msgid "connecting..."
msgstr "pripája sa…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1414
#: js/ui/status/network.js:1424
msgid "authentication required"
msgstr "požaduje sa overenie totožnosti"
#: js/ui/status/network.js:1416
#: js/ui/status/network.js:1426
msgid "connection failed"
msgstr "pripojenie zlyhalo"
#: js/ui/status/network.js:1482 js/ui/status/rfkill.js:93
#: js/ui/status/network.js:1492 js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Nastavenia siete"
#: js/ui/status/network.js:1484
#: js/ui/status/network.js:1494
msgid "VPN Settings"
msgstr "Nastavenia VPN"
#: js/ui/status/network.js:1503
#: js/ui/status/network.js:1513
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1513
#: js/ui/status/network.js:1523
msgid "VPN Off"
msgstr "Pripojenie VPN vypnuté"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1709
msgid "Connection failed"
msgstr "Pripojenie zlyhalo"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1710
msgid "Activation of network connection failed"
msgstr "Aktivácia pripojenia k sieti zlyhala"
@ -1749,19 +1781,19 @@ msgstr[2] "%u vstupov"
msgid "System Sounds"
msgstr "Systémové zvuky"
#: src/main.c:381
#: src/main.c:380
msgid "Print version"
msgstr "Verzia pre tlač"
#: src/main.c:387
#: src/main.c:386
msgid "Mode used by GDM for login screen"
msgstr "Režim používaný správcom GDM pre prihlasovaciu obrazovku"
#: src/main.c:393
#: src/main.c:392
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Použitie zvláštneho režimu, napr. „gdm“ pre prihlasovaciu obrazovku"
#: src/main.c:399
#: src/main.c:398
msgid "List possible modes"
msgstr "Zoznam možných režimov"
@ -1788,27 +1820,8 @@ msgstr "Heslo nemôže byť prázdne"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
#~ msgid "System"
#~ msgstr "Systém"
#~ msgid "Show the notification list"
#~ msgstr "Zobraziť zoznam s oznámeniami"
# nazov klavesovej skratky
#~ msgid "Focus the active notification"
#~ msgstr "Zamerať aktívne oznámenie"
# nazov klavesovej skratky
#~ msgid "Show the overview"
#~ msgstr "Zobraziť prehľad"
# nazov klavesovej skratky
#~ msgid "Show all applications"
#~ msgstr "Zobraziť všetky aplikácie"
# nazov klavesovej skratky
#~ msgid "Open the application menu"
#~ msgstr "Otvoriť ponuku aplikácií"
#~ msgid "Not In Use"
#~ msgstr "Nepoužíva sa"
#~ msgid "Show the week date in the calendar"
#~ msgstr "Zobraziť čísla týždňov v kalendári"
@ -1844,10 +1857,6 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
#~ msgid "Airplane Mode"
#~ msgstr "Režim v lietadle"
# režim v lietadle
#~ msgid "On"
#~ msgstr "Zapnutý"
#~ msgctxt "event list time"
#~ msgid "%H%M"
#~ msgstr "%H%M"

193
po/tr.po
View File

@ -14,8 +14,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: 2016-08-20 08:27+0000\n"
"PO-Revision-Date: 2016-09-04 22:11+0300\n"
"POT-Creation-Date: 2016-10-21 17:31+0000\n"
"PO-Revision-Date: 2016-10-23 22:58+0300\n"
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
"Language: tr\n"
@ -26,6 +26,30 @@ msgstr ""
"X-Generator: Gtranslator 2.91.7\n"
"X-Project-Style: gnome\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "Sistem"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "Bildirim listesini göster"
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "Etkin bildirime odaklan"
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "Genel görünümü göster"
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "Tüm uygulamaları göster"
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "Uygulama menüsünü aç"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
msgid "GNOME Shell Extension Preferences"
msgstr "GNOME Kabuğu Eklenti Tercihleri"
@ -298,7 +322,6 @@ msgstr "Ağ Girişi"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:9
#| msgid "Network error"
msgid "network-workgroup"
msgstr "network-workgroup"
@ -311,23 +334,23 @@ msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:"
msgid "GNOME Shell Extensions"
msgstr "GNOME Kabuğu Uzantıları"
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:483 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:916
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:926
msgid "Cancel"
msgstr "İptal"
#: js/gdm/authPrompt.js:169 js/gdm/authPrompt.js:216 js/gdm/authPrompt.js:448
#: js/gdm/authPrompt.js:171 js/gdm/authPrompt.js:218 js/gdm/authPrompt.js:450
msgid "Next"
msgstr "Sonraki"
#: js/gdm/authPrompt.js:212 js/ui/shellMountOperation.js:403
#: js/gdm/authPrompt.js:214 js/ui/shellMountOperation.js:403
#: js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Kilit Aç"
#: js/gdm/authPrompt.js:214
#: js/gdm/authPrompt.js:216
msgctxt "button"
msgid "Sign In"
msgstr "Giriş"
@ -345,7 +368,7 @@ msgstr "Listede yok mu?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: js/gdm/loginDialog.js:854
#: js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(örneğin, kullanıcı veya %s)"
@ -353,12 +376,12 @@ msgstr "(örneğin, kullanıcı veya %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: js/gdm/loginDialog.js:859 js/ui/components/networkAgent.js:271
#: js/gdm/loginDialog.js:864 js/ui/components/networkAgent.js:271
#: js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Kullanıcı Adı: "
#: js/gdm/loginDialog.js:1196
#: js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Oturum Açma Penceresi"
@ -476,31 +499,35 @@ msgstr "Erişimi Reddet"
msgid "Grant Access"
msgstr "Erişime İzin Ver"
#: js/ui/appDisplay.js:794
#: js/ui/appDisplay.js:806
msgid "Frequently used applications will appear here"
msgstr "Sık kullanılan uygulamalar burada yer alacak"
#: js/ui/appDisplay.js:914
#: js/ui/appDisplay.js:926
msgid "Frequent"
msgstr "Sık sık"
#: js/ui/appDisplay.js:921
#: js/ui/appDisplay.js:933
msgid "All"
msgstr "Hepsi"
#: js/ui/appDisplay.js:1853
#: js/ui/appDisplay.js:1891
msgid "New Window"
msgstr "Yeni Pencere"
#: js/ui/appDisplay.js:1881 js/ui/dash.js:289
#: js/ui/appDisplay.js:1905
msgid "Launch using Dedicated Graphics Card"
msgstr "Adanmış Ekran Kartıyla Başlat"
#: js/ui/appDisplay.js:1932 js/ui/dash.js:289
msgid "Remove from Favorites"
msgstr "Sık Kullanılanlardan Çıkar"
#: js/ui/appDisplay.js:1887
#: js/ui/appDisplay.js:1938
msgid "Add to Favorites"
msgstr "Sık Kullanılanlara Ekle"
#: js/ui/appDisplay.js:1897
#: js/ui/appDisplay.js:1948
msgid "Show Details"
msgstr "Ayrıntıları Göster"
@ -658,7 +685,7 @@ msgstr "Harici sürücü bağlandı"
msgid "External drive disconnected"
msgstr "Harici sürücü ayrıldı"
#: js/ui/components/autorunManager.js:355
#: js/ui/components/autorunManager.js:356
#, javascript-format
msgid "Open with %s"
msgstr "%s ile Aç"
@ -671,8 +698,8 @@ msgstr "Parola:"
msgid "Type again:"
msgstr "Terkar yazın:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:269
#: js/ui/status/network.js:352 js/ui/status/network.js:919
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:270
#: js/ui/status/network.js:353 js/ui/status/network.js:929
msgid "Connect"
msgstr "Bağlan"
@ -747,7 +774,7 @@ msgstr "Mobil geniş bant ağ parolası"
msgid "A password is required to connect to “%s”."
msgstr "“%s”e bağlanmak için parola gerekli."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1670
msgid "Network Manager"
msgstr "Ağ Yöneticisi"
@ -773,7 +800,7 @@ msgstr "Üzgünüm ama işe yaramadı. Lütfen tekrar deneyin."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:760
#: js/ui/components/telepathyClient.js:765
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s, şimdi %s olarak biliniyor"
@ -1224,7 +1251,7 @@ msgstr "Büyük Yazı"
msgid "Bluetooth"
msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:624
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:625
msgid "Bluetooth Settings"
msgstr "Bluetooth Ayarları"
@ -1240,16 +1267,16 @@ msgid "Off"
msgstr "Kapalı"
#: js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "Kullanımda Değil"
msgid "On"
msgstr "ık"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1279
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1289
msgid "Turn On"
msgstr "Aç"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:178
#: js/ui/status/network.js:353 js/ui/status/network.js:1279
#: js/ui/status/network.js:1394 js/ui/status/rfkill.js:90
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:179
#: js/ui/status/network.js:354 js/ui/status/network.js:1289
#: js/ui/status/network.js:1404 js/ui/status/rfkill.js:90
#: js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Kapat"
@ -1296,18 +1323,18 @@ msgstr "%s uygulaması konumunuza erişebilsin mi?"
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Konum erişimi, gizlilik ayarlarından her zaman değiştirilebilir."
#: js/ui/status/network.js:101
#: js/ui/status/network.js:102
msgid "<unknown>"
msgstr "<bilinmeyen>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:451 js/ui/status/network.js:1308
#: js/ui/status/network.js:452 js/ui/status/network.js:1318
#, javascript-format
msgid "%s Off"
msgstr "%s Kapalı"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:454
#: js/ui/status/network.js:455
#, javascript-format
msgid "%s Connected"
msgstr "%s Bağlandı"
@ -1315,168 +1342,168 @@ msgstr "%s Bağlandı"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier
#: js/ui/status/network.js:459
#: js/ui/status/network.js:460
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s Yönetilmiyor"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:462
#: js/ui/status/network.js:463
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s Bağlantısı Kesiliyor"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:469 js/ui/status/network.js:1300
#: js/ui/status/network.js:470 js/ui/status/network.js:1310
#, javascript-format
msgid "%s Connecting"
msgstr "%s Bağlanıyor"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: js/ui/status/network.js:472
#: js/ui/status/network.js:473
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s Kimlik Doğrulaması Gerektiriyor"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier
#: js/ui/status/network.js:480
#: js/ui/status/network.js:481
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "%s İçin Ürün Bilgisi Eksik"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: js/ui/status/network.js:484
#: js/ui/status/network.js:485
#, javascript-format
msgid "%s Unavailable"
msgstr "%s Kullanılamaz"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:487
#: js/ui/status/network.js:488
#, javascript-format
msgid "%s Connection Failed"
msgstr "%s Bağlantısı Başarısız Oldu"
#: js/ui/status/network.js:503
#: js/ui/status/network.js:504
msgid "Wired Settings"
msgstr "Kablolu Ağ Ayarları"
#: js/ui/status/network.js:545
#: js/ui/status/network.js:546
msgid "Mobile Broadband Settings"
msgstr "Mobil Geniş Bant Ayarları"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:588 js/ui/status/network.js:1305
#: js/ui/status/network.js:589 js/ui/status/network.js:1315
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s Donanımı Devre Dışı"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: js/ui/status/network.js:592
#: js/ui/status/network.js:593
#, javascript-format
msgid "%s Disabled"
msgstr "%s Devre Dışı"
#: js/ui/status/network.js:632
#: js/ui/status/network.js:633
msgid "Connect to Internet"
msgstr "İnternet'e Bağlan"
#: js/ui/status/network.js:813
#: js/ui/status/network.js:823
msgid "Airplane Mode is On"
msgstr "Uçak Kipi Açık"
#: js/ui/status/network.js:814
#: js/ui/status/network.js:824
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Uçak kipi açıldığında kablosuz ağ devre dışı kalır."
#: js/ui/status/network.js:815
#: js/ui/status/network.js:825
msgid "Turn Off Airplane Mode"
msgstr "Uçak Kipini Kapat"
#: js/ui/status/network.js:824
#: js/ui/status/network.js:834
msgid "Wi-Fi is Off"
msgstr "Kablosuz Ağ Kapalı"
#: js/ui/status/network.js:825
#: js/ui/status/network.js:835
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Bir ağa bağlanmak için kablosuz ağın açık olması gerekir."
#: js/ui/status/network.js:826
#: js/ui/status/network.js:836
msgid "Turn On Wi-Fi"
msgstr "Kablosuz Ağı Aç"
#: js/ui/status/network.js:851
#: js/ui/status/network.js:861
msgid "Wi-Fi Networks"
msgstr "Kablosuz Ağlar"
#: js/ui/status/network.js:853
#: js/ui/status/network.js:863
msgid "Select a network"
msgstr "Bir ağ seçin"
#: js/ui/status/network.js:883
#: js/ui/status/network.js:893
msgid "No Networks"
msgstr "Ağ Yok"
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:914 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Kapatmak için donanım anahtarını kullanın."
#: js/ui/status/network.js:1171
#: js/ui/status/network.js:1181
msgid "Select Network"
msgstr "Ağ Seç"
#: js/ui/status/network.js:1177
#: js/ui/status/network.js:1187
msgid "Wi-Fi Settings"
msgstr "Kablosuz Ağ Ayarları"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1296
#: js/ui/status/network.js:1306
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s Etkin Noktası Aktif"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1311
#: js/ui/status/network.js:1321
#, javascript-format
msgid "%s Not Connected"
msgstr "%s Bağlı Değil"
#: js/ui/status/network.js:1411
#: js/ui/status/network.js:1421
msgid "connecting..."
msgstr "bağlanıyor..."
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1414
#: js/ui/status/network.js:1424
msgid "authentication required"
msgstr "kimlik doğrulaması gerekli"
#: js/ui/status/network.js:1416
#: js/ui/status/network.js:1426
msgid "connection failed"
msgstr "bağlantı başarısız"
#: js/ui/status/network.js:1482 js/ui/status/rfkill.js:93
#: js/ui/status/network.js:1492 js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Ağ Ayarları"
#: js/ui/status/network.js:1484
#: js/ui/status/network.js:1494
msgid "VPN Settings"
msgstr "VPN Ayarları"
#: js/ui/status/network.js:1503
#: js/ui/status/network.js:1513
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1513
#: js/ui/status/network.js:1523
msgid "VPN Off"
msgstr "VPN Kapalı"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1709
msgid "Connection failed"
msgstr "Bağlantı başarısız oldu"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1710
msgid "Activation of network connection failed"
msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu"
@ -1692,19 +1719,19 @@ msgstr[0] "%u Girdi"
msgid "System Sounds"
msgstr "Sistem Sesleri"
#: src/main.c:381
#: src/main.c:380
msgid "Print version"
msgstr "Sürümü yazdır"
#: src/main.c:387
#: src/main.c:386
msgid "Mode used by GDM for login screen"
msgstr "Oturum açma ekranında GDM tarafından kullanılan kip"
#: src/main.c:393
#: src/main.c:392
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Oturum açma için -\"gdm\" gibi- özel bir kip kullan"
#: src/main.c:399
#: src/main.c:398
msgid "List possible modes"
msgstr "Mevcut kipleri listele"
@ -1730,23 +1757,8 @@ msgstr "Parola boş bırakılamaz"
msgid "Authentication dialog was dismissed by the user"
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
#~ msgid "System"
#~ msgstr "Sistem"
#~ msgid "Show the notification list"
#~ msgstr "Bildirim listesini göster"
#~ msgid "Focus the active notification"
#~ msgstr "Etkin bildirime odaklan"
#~ msgid "Show the overview"
#~ msgstr "Genel görünümü göster"
#~ msgid "Show all applications"
#~ msgstr "Tüm uygulamaları göster"
#~ msgid "Open the application menu"
#~ msgstr "Uygulama menüsünü aç"
#~ msgid "Not In Use"
#~ msgstr "Kullanımda Değil"
#~ msgid "Show the week date in the calendar"
#~ msgstr "Hafta tarihini takvimde göster"
@ -1776,9 +1788,6 @@ msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
#~ msgid "Airplane Mode"
#~ msgstr "Uçak Kipi"
#~ msgid "On"
#~ msgstr "Açık"
#~| msgid "Show the message tray"
#~ msgid "Show the message list"
#~ msgstr "İleti listesini göster"

View File

@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-15 15:05+0000\n"
"PO-Revision-Date: 2016-09-15 18:11+0300\n"
"PO-Revision-Date: 2016-10-29 02:34+0300\n"
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
"Language-Team: linux.org.ua\n"
"Language: uk\n"
@ -94,7 +94,7 @@ msgstr ""
#: data/org.gnome.shell.gschema.xml.in:26
msgid "Disables the validation of extension version compatibility"
msgstr "Вимикає перевіряння сумісності версії розширення"
msgstr "Вимикає перевірку сумісності версії розширення"
#: data/org.gnome.shell.gschema.xml.in:27
msgid ""
@ -103,8 +103,8 @@ msgid ""
"load all extensions regardless of the versions they claim to support."
msgstr ""
"GNOME Shell завантажуватиме тільки розширення, які вимагають поточну версію. "
"Увімкнення цього параметра вимкне це перевіряння і спробує завантажувати всі "
"розширення, попри розходження у версії."
"Увімкнення цього параметра вимкне цю перевірку і спробує завантажувати всі "
"розширення, навіть попри те, що версії можуть бути несумісні."
#: data/org.gnome.shell.gschema.xml.in:35
msgid "List of desktop file IDs for favorite applications"
@ -144,8 +144,8 @@ msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations."
msgstr ""
"Цей ключ нехтує автоматичним хованням пункту меню «Вийти» за умови, що "
"користувач єдиний або сеанс тільки один. "
"Цей ключ перевизначає автоматичне приховування пункту меню «Вийти» за умови, "
"що користувач або сеанс тільки один."
#: data/org.gnome.shell.gschema.xml.in:67
msgid ""
@ -161,8 +161,10 @@ msgid ""
"'Remember Password' checkbox will be present. This key sets the default "
"state of the checkbox."
msgstr ""
"Середовище вимагає пароль, коли шифрований пристрій або віддалену файлову "
"систему змонтовано."
"Середовище вимагатиме пароль, коли змонтовано зашифрований пристрій або "
"віддалену файлову систему. Якщо пароль можна зберегти для подальшого вжитку, "
"то з'явиться параметр «Запам'ятати пароль». Цей ключ вказує типовий стан "
"цього параметра."
#: data/org.gnome.shell.gschema.xml.in:77
msgid ""
@ -176,9 +178,9 @@ msgid ""
"adapter. This will be reset if the default adapter is ever seen not to have "
"devices associated to it."
msgstr ""
"Оболонка покаже меню Bluetooth лише, коли адаптер Bluetooth увімкнено або "
"пристрій зв'язано з типовим адаптером. Якщо типовий адаптер ніколи не був "
"зв'язаний з жодним пристроєм, то його буде скинуто. "
"Оболонка покаже меню Bluetooth лише у випадку, коли адаптер Bluetooth "
"увімкнено або пристрій зв'язано з типовим адаптером. Якщо типовий адаптер "
"ніколи не був зв'язаний з жодним пристроєм, то його буде скинуто."
#: data/org.gnome.shell.gschema.xml.in:93
msgid "Keybinding to open the application menu"
@ -195,7 +197,7 @@ msgstr "Комбінація клавіш, щоб «Показати прогр
#: data/org.gnome.shell.gschema.xml.in:101
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Комбінація клавіш, щоб «Показати програми» огляду діяльності."
msgstr "Комбінація клавіш, щоб «Показати програми» в огляді діяльності."
#: data/org.gnome.shell.gschema.xml.in:108
msgid "Keybinding to open the overview"
@ -225,7 +227,7 @@ msgstr "Комбінація клавіш, щоб перейти до актив
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Скорочення, що призупиняє й відновлює всіх запущених посередників, зі "
"Комбінація клавіш, що призупиняє й відновлює всіх запущених посередників, зі "
"зневаджувальною метою"
#: data/org.gnome.shell.gschema.xml.in:138
@ -246,9 +248,8 @@ msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
msgstr ""
"Якщо це вказано, то тільки ті програми, які мають вікна на поточному "
"робочому просторі, показано в перемикачі. Інакше всі програми будуть "
"враховуватись."
"Якщо це вказано, то тільки програми з поточного робочого простору "
"будуть показані в перемикачі. Інакше програми з усіх просторів."
#: data/org.gnome.shell.gschema.xml.in:168
msgid "The application icon mode."
@ -260,7 +261,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» (обидва)."
@ -269,8 +270,8 @@ msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
msgstr ""
"Якщо це вказано, то тільки ті вікна, які мають вікна на поточному робочому "
"просторі, показано в перемикачі. Інакше всі вікна будуть враховуватись."
"Якщо це вказано, то тільки вікна з поточного робочого простору "
"будуть показані в перемикачі. Інакше вікна з усіх просторів."
#: data/org.gnome.shell.gschema.xml.in:189
msgid "Attach modal dialog to the parent window"
@ -283,7 +284,7 @@ msgstr "Приєднати модальне вікно до батьківськ
#: data/org.gnome.shell.gschema.xml.in:223
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "Цей ключ нехтує ключем у org.gnome.mutter, коли запущено GNOME Shell."
msgstr "Цей ключ перевизначає ключ у org.gnome.mutter, коли запущено GNOME Shell."
#: data/org.gnome.shell.gschema.xml.in:198
msgid "Enable edge tiling when dropping windows on screen edges"
@ -479,7 +480,7 @@ msgstr "Переадресування інтернетного засвідче
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:426
msgid "Deny Access"
msgstr "Відкинути доступ"
msgstr "Заборонити доступ"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:429
msgid "Grant Access"
@ -946,7 +947,7 @@ msgid ""
"%s %s will be installed after restart. Upgrade installation can take a long "
"time: ensure that you have backed up and that the computer is plugged in."
msgstr ""
"%s %s буде встановлено після перезапуску. Оновлення може забрати трохи часу: "
"%s %s буде встановлено після перезапуску. Оновлення може тривати довго: "
"переконайтесь, що ви зробили резервні копії та комп'ютер під'єднано до "
"живлення."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -78,7 +78,7 @@ gnome_shell_cflags = \
-DGNOME_SHELL_PKGLIBDIR=\"$(pkglibdir)\"
privlibdir = $(pkglibdir)
privlib_LTLIBRARIES = libgnome-shell-js.la libgnome-shell-menu.la libgnome-shell.la
privlib_LTLIBRARIES = libgnome-shell-menu.la libgnome-shell.la
noinst_LTLIBRARIES += libgnome-shell-base.la
shell_built_sources = \
@ -200,7 +200,7 @@ gnome_shell_CPPFLAGS = \
# Here, and after, we repeat mutter and bluetooth libraries just for the rpath
# The dependency is already pulled in by libtool
gnome_shell_LDADD = libgnome-shell.la libgnome-shell-js.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
gnome_shell_LDADD = libgnome-shell.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
gnome_shell_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
gnome_shell_DEPENDENCIES = libgnome-shell.la
@ -212,7 +212,7 @@ nodist_gnome_shell_extension_prefs_SOURCES = \
$(top_builddir)/js/js-resources.h \
$(NULL)
gnome_shell_extension_prefs_CPPFLAGS = $(gnome_shell_cflags)
gnome_shell_extension_prefs_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
gnome_shell_extension_prefs_LDADD = $(GNOME_SHELL_LIBS)
gnome_shell_extension_prefs_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
if HAVE_NETWORKMANAGER
@ -226,30 +226,13 @@ nodist_gnome_shell_portal_helper_SOURCES = \
$(top_builddir)/js/js-resources.h \
$(NULL)
gnome_shell_portal_helper_CPPFLAGS = $(gnome_shell_cflags)
gnome_shell_portal_helper_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
gnome_shell_portal_helper_LDADD = $(GNOME_SHELL_LIBS)
gnome_shell_portal_helper_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
endif
########################################
libgnome_shell_js_la_SOURCES = \
shell-js.h \
shell-js.cpp \
$(NULL)
libgnome_shell_js_la_LIBADD = \
$(GNOME_SHELL_JS_LIBS) \
$(NULL)
libgnome_shell_js_la_LDFLAGS = \
-avoid-version
libgnome_shell_js_la_CPPFLAGS = \
$(GNOME_SHELL_JS_CFLAGS)
########################################
shell_recorder_sources = \
shell-recorder.c \
shell-recorder.h
@ -366,13 +349,6 @@ Shell_0_1_gir_SCANNERFLAGS = \
INTROSPECTION_GIRS += Shell-0.1.gir
CLEANFILES += Shell-0.1.gir
ShellJS-0.1.gir: libgnome-shell-js.la
ShellJS_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
ShellJS_0_1_gir_LIBS = libgnome-shell-js.la
ShellJS_0_1_gir_FILES = $(libgnome_shell_js_la_SOURCES)
INTROSPECTION_GIRS += ShellJS-0.1.gir
CLEANFILES += ShellJS-0.1.gir
St-1.0.gir: libst-1.0.la
St_1_0_gir_INCLUDES = Clutter-1.0 Gtk-3.0
St_1_0_gir_CFLAGS = $(st_cflags) -DST_COMPILATION

View File

@ -6,8 +6,6 @@
#include <gjs/gjs.h>
#include <glib/gi18n.h>
#include "shell-js.h"
int
main (int argc, char *argv[])
{
@ -51,18 +49,3 @@ main (int argc, char *argv[])
return 0;
}
/* HACK:
Add a dummy function that calls into libgnome-shell-js.so to ensure it's
linked to /usr/bin/gnome-shell-extension-prefs even when linking with
--as-needed. This function is never actually called.
https://bugzilla.gnome.org/show_bug.cgi?id=670477
*/
void _shell_link_to_shell_js (void);
void
_shell_link_to_shell_js (void)
{
shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
}

View File

@ -17,7 +17,7 @@ except ImportError:
print('The Python simplejson module is required')
sys.exit(1)
from gi.repository import Gio
from gi.repository import Gio, GLib
SAMPLE_EXTENSION_FILES = {
"extension.js": """
@ -172,6 +172,30 @@ def disable_extension(uuid):
settings.set_strv(ENABLED_EXTENSIONS_KEY, extensions)
print("%r is now disabled." % (uuid,), file=sys.stderr)
def reload_extension(uuid):
settings = Gio.Settings(schema='org.gnome.shell')
extensions = settings.get_strv(ENABLED_EXTENSIONS_KEY)
if uuid not in extensions:
print("%r is not enabled or installed." % (uuid,), file=sys.stderr)
sys.exit(1)
proxy = Gio.DBusProxy.new_sync(Gio.bus_get_sync(Gio.BusType.SESSION, None),
Gio.DBusProxyFlags.NONE,
None,
'org.gnome.Shell',
'/org/gnome/Shell',
'org.gnome.Shell.Extensions',
None)
proxy.call_sync('ReloadExtension',
GLib.Variant('(s)', (uuid,)),
Gio.DBusCallFlags.NONE,
-1,
None)
print("%r reloaded." % (uuid,), file=sys.stderr)
def main():
parser = optparse.OptionParser()
parser.add_option("-d", "--disable-extension", dest="disable",
@ -180,6 +204,8 @@ def main():
help="Enable a GNOME Shell extension")
parser.add_option("-c", "--create-extension", dest="create", action="store_true",
help="Create a new GNOME Shell extension")
parser.add_option("-r", "--reload-extension", dest="reload",
help="Reload a GNOME Shell extension")
options, args = parser.parse_args()
if args:
@ -195,6 +221,9 @@ def main():
elif options.create:
create_extension()
elif options.reload:
reload_extension(options.reload)
else:
parser.print_usage()
sys.exit(1)

View File

@ -25,7 +25,6 @@
#include "shell-global.h"
#include "shell-global-private.h"
#include "shell-js.h"
#include "shell-perf-log.h"
#include "st.h"
@ -480,17 +479,3 @@ main (int argc, char **argv)
return ecode;
}
/* HACK:
Add a dummy function that calls into libgnome-shell-js.so to ensure it's
linked to /usr/bin/gnome-shell even when linking with --as-needed.
This function is never actually called.
https://bugzilla.gnome.org/show_bug.cgi?id=670477
*/
void _shell_link_to_shell_js (void);
void
_shell_link_to_shell_js (void)
{
shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
}

View File

@ -505,7 +505,7 @@ shell_app_activate_full (ShellApp *app,
case SHELL_APP_STATE_STOPPED:
{
GError *error = NULL;
if (!shell_app_launch (app, timestamp, workspace, &error))
if (!shell_app_launch (app, timestamp, workspace, FALSE, &error))
{
char *msg;
msg = g_strdup_printf (_("Failed to launch “%s”"), shell_app_get_name (app));
@ -549,7 +549,7 @@ shell_app_open_new_window (ShellApp *app,
* as say Pidgin. Ideally, we have the application express to us
* that it supports an explicit new-window action.
*/
shell_app_launch (app, 0, workspace, NULL);
shell_app_launch (app, 0, workspace, FALSE, NULL);
}
/**
@ -1200,12 +1200,14 @@ app_child_setup (gpointer user_data)
* shell_app_launch:
* @timestamp: Event timestamp, or 0 for current event timestamp
* @workspace: Start on this workspace, or -1 for default
* @discrete_gpu: Whether to start on the discrete GPU
* @error: A #GError
*/
gboolean
shell_app_launch (ShellApp *app,
guint timestamp,
int workspace,
gboolean discrete_gpu,
GError **error)
{
ShellGlobal *global;
@ -1227,6 +1229,8 @@ shell_app_launch (ShellApp *app,
global = shell_global_get ();
context = shell_global_create_app_launch_context (global, timestamp, workspace);
if (discrete_gpu)
g_app_launch_context_setenv (context, "DRI_PRIME", "1");
ret = g_desktop_app_info_launch_uris_as_manager (app->info, NULL,
context,

View File

@ -54,6 +54,7 @@ gboolean shell_app_is_on_workspace (ShellApp *app, MetaWorkspace *workspace);
gboolean shell_app_launch (ShellApp *app,
guint timestamp,
int workspace,
gboolean discrete_gpu,
GError **error);
void shell_app_launch_action (ShellApp *app,

View File

@ -277,6 +277,7 @@ shell_global_init (ShellGlobal *global)
XDisplayName (NULL));
(void) g_mkdir_with_parents (path, 0700);
global->runtime_state_path = g_file_new_for_path (path);
g_free (path);
global->settings = g_settings_new ("org.gnome.shell");

View File

@ -1,77 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include "config.h"
#include "shell-js.h"
#include <gio/gio.h>
#include <gjs/gjs.h>
#include <gjs/gjs-module.h>
/**
* shell_js_add_extension_importer:
* @target_object_script: JavaScript code evaluating to a target object
* @target_property: Name of property to use for importer
* @directory: Source directory:
* @error: A #GError
*
* This function sets a property named @target_property on the object
* resulting from the evaluation of @target_object_script code, which
* acts as a GJS importer for directory @directory.
*
* Returns: %TRUE on success
*/
gboolean
shell_js_add_extension_importer (const char *target_object_script,
const char *target_property,
const char *directory,
GError **error)
{
jsval target_object;
GList *contexts;
JSContext *context;
char *search_path[2] = { 0, 0 };
gboolean ret = FALSE;
/* Take the first GjsContext from all of them --
* we should only ever have one context, so this
* should be alright. */
contexts = gjs_context_get_all ();
context = (JSContext*) gjs_context_get_native_context ((GjsContext*)contexts->data);
g_list_free_full (contexts, g_object_unref);
JS_BeginRequest (context);
/* This is a bit of a hack; ideally we'd be able to pass our target
* object directly into this function, but introspection doesn't
* support that at the moment. Instead evaluate a string to get it. */
if (!JS_EvaluateScript(context,
JS_GetGlobalObject(context),
target_object_script,
strlen (target_object_script),
"<target_object_script>",
0,
&target_object))
{
gjs_log_exception(context);
g_set_error(error,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Unable to import %s", target_object_script);
goto out;
}
if (!JSVAL_IS_OBJECT (target_object))
{
g_error ("shell_js_add_extension_importer: invalid target object");
goto out;
}
search_path[0] = (char*)directory;
gjs_define_importer (context, JSVAL_TO_OBJECT (target_object), target_property, (const char **)search_path, FALSE);
ret = TRUE;
out:
JS_EndRequest (context);
return ret;
}

View File

@ -1,16 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#ifndef __SHELL_JS_H__
#define __SHELL_JS_H__
#include <glib.h>
G_BEGIN_DECLS
gboolean shell_js_add_extension_importer (const char *target_object_script,
const char *target_property,
const char *directory,
GError **error);
G_END_DECLS
#endif /* __SHELL_JS_H__ */

View File

@ -202,9 +202,39 @@ get_app_from_window_wmclass (MetaWindow *window)
return NULL;
}
/*
* get_app_from_id:
* @window: a #MetaWindow
*
* Looks only at the given window, and attempts to determine
* an application based on %id. If one can't be determined,
* return %NULL.
*
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
*/
static ShellApp *
get_app_from_id (MetaWindow *window,
const char *id)
{
ShellApp *app;
ShellAppSystem *appsys;
char *desktop_file;
g_return_val_if_fail (id != NULL, NULL);
appsys = shell_app_system_get_default ();
desktop_file = g_strconcat (id, ".desktop", NULL);
app = shell_app_system_lookup_app (appsys, desktop_file);
if (app)
g_object_ref (app);
g_free (desktop_file);
return app;
}
/*
* get_app_from_gapplication_id:
* @monitor: a #ShellWindowTracker
* @window: a #MetaWindow
*
* Looks only at the given window, and attempts to determine
@ -216,24 +246,35 @@ get_app_from_window_wmclass (MetaWindow *window)
static ShellApp *
get_app_from_gapplication_id (MetaWindow *window)
{
ShellApp *app;
ShellAppSystem *appsys;
const char *id;
char *desktop_file;
appsys = shell_app_system_get_default ();
id = meta_window_get_gtk_application_id (window);
if (!id)
return NULL;
desktop_file = g_strconcat (id, ".desktop", NULL);
app = shell_app_system_lookup_app (appsys, desktop_file);
if (app)
g_object_ref (app);
return get_app_from_id (window, id);
}
g_free (desktop_file);
return app;
/*
* get_app_from_flatpak_id:
* @window: a #MetaWindow
*
* Looks only at the given window, and attempts to determine
* an application based on its Flatpak ID. If one can't be determined,
* return %NULL.
*
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
*/
static ShellApp *
get_app_from_flatpak_id (MetaWindow *window)
{
const char *id;
id = meta_window_get_flatpak_id (window);
if (!id)
return NULL;
return get_app_from_id (window, id);
}
/*
@ -354,6 +395,13 @@ get_app_for_window (ShellWindowTracker *tracker,
if (meta_window_is_remote (window))
return _shell_app_new_for_window (window);
/* Check if the window was opened from within a Flatpak sandbox; if this
* is the case, a corresponding .desktop file is guaranteed to match;
*/
result = get_app_from_flatpak_id (window);
if (result != NULL)
return result;
/* Check if the window has a GApplication ID attached; this is
* canonical if it does
*/

View File

@ -117,6 +117,7 @@ st_clipboard_provider (GdkXEvent *xevent_p,
GdkDisplay *display = gdk_display_get_default ();
if (xev->type != SelectionRequest ||
xev->xany.window != clipboard->priv->clipboard_window ||
!clipboard->priv->clipboard_text)
return GDK_FILTER_CONTINUE;
@ -233,13 +234,15 @@ st_clipboard_x11_event_filter (GdkXEvent *xevent_p,
{
XEvent *xev = (XEvent *) xevent_p;
EventFilterData *filter_data = user_data;
StClipboardPrivate *priv = filter_data->clipboard->priv;
Atom actual_type;
int actual_format, result;
unsigned long nitems, bytes_after;
unsigned char *data = NULL;
GdkDisplay *display = gdk_display_get_default ();
if(xev->type != SelectionNotify)
if(xev->type != SelectionNotify ||
xev->xany.window != priv->clipboard_window)
return GDK_FILTER_CONTINUE;
if (xev->xselection.property == None)