Compare commits
6 Commits
wip/window
...
wip/waylan
Author | SHA1 | Date | |
---|---|---|---|
![]() |
30898007f3 | ||
![]() |
2754a5e3a1 | ||
![]() |
da1b7f4f83 | ||
![]() |
206f036cef | ||
![]() |
e3be2237b8 | ||
![]() |
d663beab97 |
30
NEWS
30
NEWS
@@ -1,33 +1,3 @@
|
|||||||
3.9.3
|
|
||||||
=====
|
|
||||||
* Don't push window thumbs when workspace switcher is hidden [Jasper; #701167]
|
|
||||||
* Tweak timeout for activating windows during XDND [Adel; #700150]
|
|
||||||
* Fix ellipsization in control buttons in app picker [Carlos; #696307]
|
|
||||||
* Fix DND to empty dash [Florian; #684618]
|
|
||||||
* Fix OSD window appearing below system modal dialogs [Rui; #701269]
|
|
||||||
* Clear clipboard on screen lock to prevent information leak [Florian; #698922]
|
|
||||||
* Allow session mode specific overrides schema [Florian; #701717]
|
|
||||||
* window-switcher: Only show windows from current workspace by default
|
|
||||||
[Florian; #701214]
|
|
||||||
* logout dialog: Show the correct text right away [Matthias; #702056]
|
|
||||||
* bluetooth: Port to bluez 5 [Emilio; #700891]
|
|
||||||
* dateMenu: Allow events to span multiple lines [Giovanni; #701231]
|
|
||||||
* gdm: Clear message queue when no more messages are pending [Jonh; #702458]
|
|
||||||
* Misc bug fixes and cleanups [Jasper, Florian, Adel, Giovanni; #693836,
|
|
||||||
#700972, #701386, #700877, #701755, #698918, #701224, #702125, #701954,
|
|
||||||
#701849, #702121]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Giovanni Campagna, Matthias Clasen, Fran Diéguez, Adel Gadllah, Rui Matos,
|
|
||||||
Florian Müllner, Emilio Pozuelo Monfort, Carlos Soriano, Jasper St. Pierre,
|
|
||||||
Jonh Wendell
|
|
||||||
|
|
||||||
Translations:
|
|
||||||
Marek Černocký [cs], Victor Ibragimov [tg], Fran Diéguez [gl],
|
|
||||||
Benjamin Steinwender [de], Cheng-Chia Tseng [zh_HK, zh_TW],
|
|
||||||
eternalhui [zh_CN], Ivaylo Valkov [bg], Kjartan Maraas [nb],
|
|
||||||
Daniel Mustieles [es]
|
|
||||||
|
|
||||||
3.9.2
|
3.9.2
|
||||||
=====
|
=====
|
||||||
* Use a symbolic icon for DESKTOP windows [Matthias; #697914]
|
* Use a symbolic icon for DESKTOP windows [Matthias; #697914]
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
AC_INIT([gnome-shell],[3.9.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
AC_INIT([gnome-shell],[3.9.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||||
@@ -63,7 +63,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
|||||||
CLUTTER_MIN_VERSION=1.13.4
|
CLUTTER_MIN_VERSION=1.13.4
|
||||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||||
GJS_MIN_VERSION=1.35.4
|
GJS_MIN_VERSION=1.35.4
|
||||||
MUTTER_MIN_VERSION=3.9.3
|
MUTTER_MIN_VERSION=3.9.2
|
||||||
GTK_MIN_VERSION=3.7.9
|
GTK_MIN_VERSION=3.7.9
|
||||||
GIO_MIN_VERSION=2.37.0
|
GIO_MIN_VERSION=2.37.0
|
||||||
LIBECAL_MIN_VERSION=3.5.3
|
LIBECAL_MIN_VERSION=3.5.3
|
||||||
|
@@ -383,7 +383,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
/* Entries */
|
/* Entries */
|
||||||
|
|
||||||
#searchEntry,
|
#searchEntry,
|
||||||
.login-dialog StEntry,
|
|
||||||
.notification StEntry,
|
.notification StEntry,
|
||||||
.modal-dialog StEntry {
|
.modal-dialog StEntry {
|
||||||
color: rgb(64, 64, 64);
|
color: rgb(64, 64, 64);
|
||||||
@@ -395,7 +394,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#searchEntry,
|
#searchEntry,
|
||||||
.login-dialog StEntry,
|
|
||||||
.run-dialog-entry,
|
.run-dialog-entry,
|
||||||
.notification StEntry {
|
.notification StEntry {
|
||||||
border: 2px solid rgba(245,245,245,0.2);
|
border: 2px solid rgba(245,245,245,0.2);
|
||||||
@@ -408,7 +406,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
|
|
||||||
#searchEntry:focus,
|
#searchEntry:focus,
|
||||||
#searchEntry:hover,
|
#searchEntry:hover,
|
||||||
.login-dialog StEntry:focus,
|
|
||||||
.notification StEntry:focus,
|
.notification StEntry:focus,
|
||||||
.modal-dialog StEntry {
|
.modal-dialog StEntry {
|
||||||
border: 2px solid rgb(136,138,133);
|
border: 2px solid rgb(136,138,133);
|
||||||
@@ -418,7 +415,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.6);
|
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.6);
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog StEntry:focus,
|
|
||||||
.notification StEntry:focus,
|
.notification StEntry:focus,
|
||||||
.modal-dialog StEntry:focus {
|
.modal-dialog StEntry:focus {
|
||||||
border: 2px solid #3465a4;
|
border: 2px solid #3465a4;
|
||||||
@@ -442,7 +438,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
transition-duration: 0ms;
|
transition-duration: 0ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog StEntry,
|
|
||||||
.notification StEntry,
|
.notification StEntry,
|
||||||
.modal-dialog StEntry {
|
.modal-dialog StEntry {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
@@ -456,7 +451,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog StEntry:insensitive,
|
|
||||||
.modal-dialog StEntry:insensitive {
|
.modal-dialog StEntry:insensitive {
|
||||||
border-color: #666666;
|
border-color: #666666;
|
||||||
color: #9f9f9f;
|
color: #9f9f9f;
|
||||||
@@ -1160,6 +1154,11 @@ StScrollBar StButton#vhandle:active {
|
|||||||
|
|
||||||
/* Calendar popup */
|
/* Calendar popup */
|
||||||
|
|
||||||
|
#calendarArea {
|
||||||
|
/* this is the total width of the popup */
|
||||||
|
width: 720px;
|
||||||
|
}
|
||||||
|
|
||||||
.calendar-vertical-separator {
|
.calendar-vertical-separator {
|
||||||
-stipple-width: 1px;
|
-stipple-width: 1px;
|
||||||
-stipple-color: #505050;
|
-stipple-color: #505050;
|
||||||
@@ -2319,7 +2318,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
padding-left: 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-not-listed-button:focus .login-dialog-not-listed-label,
|
.login-dialog-not-listed-button:focus .login-dialog-not-listed-label,
|
||||||
@@ -2350,17 +2348,43 @@ StScrollBar StButton#vhandle:active {
|
|||||||
width: 15em;
|
width: 15em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-session-list-button StIcon {
|
.login-dialog-session-list,
|
||||||
icon-size: 1.25em;
|
.login-dialog-session-list-item {
|
||||||
|
color: #babdb6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-session-list-button:focus,
|
||||||
|
.login-dialog-session-list-button:active,
|
||||||
|
.login-dialog-session-list-button:hover,
|
||||||
|
.login-dialog-session-list-item:focus,
|
||||||
|
.login-dialog-session-list-item:hover {
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-session-list-button {
|
.login-dialog-session-list-button {
|
||||||
color: #8b8b8b;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-session-list-button:hover,
|
.login-dialog-session-list-scroll-view {
|
||||||
.login-dialog-session-list-button:active {
|
padding: 6px;
|
||||||
color: white;
|
}
|
||||||
|
|
||||||
|
.login-dialog-session-list-item {
|
||||||
|
padding-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-session-list-triangle {
|
||||||
|
padding-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-session-list-item-box {
|
||||||
|
padding-left: 6px;
|
||||||
|
spacing: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-session-list-item-dot {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-logo-bin {
|
.login-dialog-logo-bin {
|
||||||
|
@@ -37,7 +37,6 @@ nobase_dist_js_DATA = \
|
|||||||
misc/util.js \
|
misc/util.js \
|
||||||
perf/core.js \
|
perf/core.js \
|
||||||
ui/altTab.js \
|
ui/altTab.js \
|
||||||
ui/animation.js \
|
|
||||||
ui/appDisplay.js \
|
ui/appDisplay.js \
|
||||||
ui/appFavorites.js \
|
ui/appFavorites.js \
|
||||||
ui/backgroundMenu.js \
|
ui/backgroundMenu.js \
|
||||||
|
@@ -19,47 +19,38 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const AccountsService = imports.gi.AccountsService;
|
const AccountsService = imports.gi.AccountsService;
|
||||||
const Atk = imports.gi.Atk;
|
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const Gdm = imports.gi.Gdm;
|
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
const Gtk = imports.gi.Gtk;
|
const Gtk = imports.gi.Gtk;
|
||||||
const Lang = imports.lang;
|
|
||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const Meta = imports.gi.Meta;
|
const Meta = imports.gi.Meta;
|
||||||
const Shell = imports.gi.Shell;
|
const Lang = imports.lang;
|
||||||
const Signals = imports.signals;
|
const Pango = imports.gi.Pango;
|
||||||
const St = imports.gi.St;
|
|
||||||
|
|
||||||
const Animation = imports.ui.animation;
|
|
||||||
const Batch = imports.gdm.batch;
|
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
|
||||||
const GdmUtil = imports.gdm.util;
|
|
||||||
const Layout = imports.ui.layout;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const Realmd = imports.gdm.realmd;
|
const Realmd = imports.gdm.realmd;
|
||||||
|
const Signals = imports.signals;
|
||||||
|
const Shell = imports.gi.Shell;
|
||||||
|
const St = imports.gi.St;
|
||||||
|
const Gdm = imports.gi.Gdm;
|
||||||
|
|
||||||
|
const Batch = imports.gdm.batch;
|
||||||
|
const Fprint = imports.gdm.fingerprint;
|
||||||
|
const GdmUtil = imports.gdm.util;
|
||||||
|
const Lightbox = imports.ui.lightbox;
|
||||||
|
const Main = imports.ui.main;
|
||||||
|
const ModalDialog = imports.ui.modalDialog;
|
||||||
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
const UserWidget = imports.ui.userWidget;
|
const UserWidget = imports.ui.userWidget;
|
||||||
|
|
||||||
const _FADE_ANIMATION_TIME = 0.25;
|
const _FADE_ANIMATION_TIME = 0.25;
|
||||||
const _SCROLL_ANIMATION_TIME = 0.5;
|
const _SCROLL_ANIMATION_TIME = 0.5;
|
||||||
const _DEFAULT_BUTTON_WELL_ICON_SIZE = 24;
|
|
||||||
const _DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1.0;
|
|
||||||
const _DEFAULT_BUTTON_WELL_ANIMATION_TIME = 0.3;
|
|
||||||
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
||||||
const _LOGO_ICON_HEIGHT = 48;
|
const _LOGO_ICON_HEIGHT = 48;
|
||||||
|
|
||||||
let _loginDialog = null;
|
let _loginDialog = null;
|
||||||
|
|
||||||
const DefaultButtonWellMode = {
|
|
||||||
NONE: 0,
|
|
||||||
SESSION_MENU_BUTTON: 1,
|
|
||||||
SPINNER: 2
|
|
||||||
};
|
|
||||||
|
|
||||||
const UserListItem = new Lang.Class({
|
const UserListItem = new Lang.Class({
|
||||||
Name: 'UserListItem',
|
Name: 'UserListItem',
|
||||||
|
|
||||||
@@ -296,118 +287,203 @@ const UserList = new Lang.Class({
|
|||||||
});
|
});
|
||||||
Signals.addSignalMethods(UserList.prototype);
|
Signals.addSignalMethods(UserList.prototype);
|
||||||
|
|
||||||
const SessionMenuButton = new Lang.Class({
|
const SessionListItem = new Lang.Class({
|
||||||
Name: 'SessionMenuButton',
|
Name: 'SessionListItem',
|
||||||
|
|
||||||
|
_init: function(id, name) {
|
||||||
|
this.id = id;
|
||||||
|
|
||||||
|
this.actor = new St.Button({ style_class: 'login-dialog-session-list-item',
|
||||||
|
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||||
|
can_focus: true,
|
||||||
|
reactive: true,
|
||||||
|
x_fill: true,
|
||||||
|
x_align: St.Align.START });
|
||||||
|
|
||||||
|
this._box = new St.BoxLayout({ style_class: 'login-dialog-session-list-item-box' });
|
||||||
|
|
||||||
|
this.actor.add_actor(this._box);
|
||||||
|
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
||||||
|
|
||||||
|
this._dot = new St.DrawingArea({ style_class: 'login-dialog-session-list-item-dot' });
|
||||||
|
this._dot.connect('repaint', Lang.bind(this, this._onRepaintDot));
|
||||||
|
this._box.add_actor(this._dot);
|
||||||
|
this.setShowDot(false);
|
||||||
|
|
||||||
|
let label = new St.Label({ style_class: 'login-dialog-session-list-item-label',
|
||||||
|
text: name });
|
||||||
|
this.actor.label_actor = label;
|
||||||
|
|
||||||
|
this._box.add_actor(label);
|
||||||
|
},
|
||||||
|
|
||||||
|
setShowDot: function(show) {
|
||||||
|
if (show)
|
||||||
|
this._dot.opacity = 255;
|
||||||
|
else
|
||||||
|
this._dot.opacity = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
_onRepaintDot: function(area) {
|
||||||
|
let cr = area.get_context();
|
||||||
|
let [width, height] = area.get_surface_size();
|
||||||
|
let color = area.get_theme_node().get_foreground_color();
|
||||||
|
|
||||||
|
cr.setSourceRGBA (color.red / 255,
|
||||||
|
color.green / 255,
|
||||||
|
color.blue / 255,
|
||||||
|
color.alpha / 255);
|
||||||
|
cr.arc(width / 2, height / 2, width / 3, 0, 2 * Math.PI);
|
||||||
|
cr.fill();
|
||||||
|
cr.$dispose();
|
||||||
|
},
|
||||||
|
|
||||||
|
_onClicked: function() {
|
||||||
|
this.emit('activate');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Signals.addSignalMethods(SessionListItem.prototype);
|
||||||
|
|
||||||
|
const SessionList = new Lang.Class({
|
||||||
|
Name: 'SessionList',
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
let gearIcon = new St.Icon({ icon_name: 'emblem-system-symbolic' });
|
this.actor = new St.Bin();
|
||||||
|
|
||||||
|
this._box = new St.BoxLayout({ style_class: 'login-dialog-session-list',
|
||||||
|
vertical: true});
|
||||||
|
this.actor.child = this._box;
|
||||||
|
|
||||||
this._button = new St.Button({ style_class: 'login-dialog-session-list-button',
|
this._button = new St.Button({ style_class: 'login-dialog-session-list-button',
|
||||||
reactive: true,
|
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||||
track_hover: true,
|
|
||||||
can_focus: true,
|
can_focus: true,
|
||||||
accessible_name: _("Choose Session"),
|
x_fill: true,
|
||||||
accessible_role: Atk.Role.MENU,
|
y_fill: true });
|
||||||
child: gearIcon });
|
let box = new St.BoxLayout();
|
||||||
|
this._button.add_actor(box);
|
||||||
|
|
||||||
this.actor = new St.Bin({ child: this._button });
|
this._triangle = new St.Label({ style_class: 'login-dialog-session-list-triangle',
|
||||||
|
text: '\u25B8' });
|
||||||
|
box.add_actor(this._triangle);
|
||||||
|
|
||||||
this._menu = new PopupMenu.PopupMenu(this._button, 0, St.Side.TOP);
|
let label = new St.Label({ style_class: 'login-dialog-session-list-label',
|
||||||
Main.uiGroup.add_actor(this._menu.actor);
|
text: _("Session…") });
|
||||||
this._menu.actor.hide();
|
box.add_actor(label);
|
||||||
|
|
||||||
this._menu.connect('open-state-changed',
|
this._button.connect('clicked',
|
||||||
Lang.bind(this, function(menu, isOpen) {
|
Lang.bind(this, this._onClicked));
|
||||||
if (isOpen)
|
this._box.add_actor(this._button);
|
||||||
this._button.add_style_pseudo_class('active');
|
this._scrollView = new St.ScrollView({ style_class: 'login-dialog-session-list-scroll-view'});
|
||||||
else
|
this._scrollView.set_policy(Gtk.PolicyType.NEVER,
|
||||||
this._button.remove_style_pseudo_class('active');
|
Gtk.PolicyType.AUTOMATIC);
|
||||||
}));
|
this._box.add_actor(this._scrollView);
|
||||||
|
this._itemList = new St.BoxLayout({ style_class: 'login-dialog-session-item-list',
|
||||||
let subtitle = new PopupMenu.PopupMenuItem(_("Session"), { style_class: 'popup-subtitle-menu-item',
|
vertical: true });
|
||||||
reactive: false });
|
this._scrollView.add_actor(this._itemList);
|
||||||
this._menu.addMenuItem(subtitle);
|
this._scrollView.hide();
|
||||||
|
this.isOpen = false;
|
||||||
this._manager = new PopupMenu.PopupMenuManager({ actor: this._button });
|
|
||||||
this._manager.addMenu(this._menu);
|
|
||||||
|
|
||||||
this._button.connect('clicked', Lang.bind(this, function() {
|
|
||||||
this._menu.toggle();
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._items = {};
|
|
||||||
this._activeSessionId = null;
|
|
||||||
this._populate();
|
this._populate();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
open: function() {
|
||||||
|
if (this.isOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._button.add_style_pseudo_class('open');
|
||||||
|
this._scrollView.show();
|
||||||
|
this._triangle.set_text('\u25BE');
|
||||||
|
|
||||||
|
this.isOpen = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
close: function() {
|
||||||
|
if (!this.isOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._button.remove_style_pseudo_class('open');
|
||||||
|
this._scrollView.hide();
|
||||||
|
this._triangle.set_text('\u25B8');
|
||||||
|
|
||||||
|
this.isOpen = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
_onClicked: function() {
|
||||||
|
if (!this.isOpen)
|
||||||
|
this.open();
|
||||||
|
else
|
||||||
|
this.close();
|
||||||
|
},
|
||||||
|
|
||||||
updateSensitivity: function(sensitive) {
|
updateSensitivity: function(sensitive) {
|
||||||
this._button.reactive = sensitive;
|
this._button.reactive = sensitive;
|
||||||
this._button.can_focus = sensitive;
|
this._button.can_focus = sensitive;
|
||||||
this._menu.close(BoxPointer.PopupAnimation.NONE);
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateOrnament: function() {
|
for (let id in this._items)
|
||||||
let itemIds = Object.keys(this._items);
|
this._items[id].actor.reactive = sensitive;
|
||||||
for (let i = 0; i < itemIds.length; i++) {
|
|
||||||
if (itemIds[i] == this._activeSessionId)
|
|
||||||
this._items[itemIds[i]].setOrnament(PopupMenu.Ornament.DOT);
|
|
||||||
else
|
|
||||||
this._items[itemIds[i]].setOrnament(PopupMenu.Ornament.NONE);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setActiveSession: function(sessionId) {
|
setActiveSession: function(sessionId) {
|
||||||
if (sessionId == this._activeSessionId)
|
if (sessionId == this._activeSessionId)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (this._activeSessionId)
|
||||||
|
this._items[this._activeSessionId].setShowDot(false);
|
||||||
|
|
||||||
|
this._items[sessionId].setShowDot(true);
|
||||||
this._activeSessionId = sessionId;
|
this._activeSessionId = sessionId;
|
||||||
this._updateOrnament();
|
|
||||||
|
|
||||||
this.emit('session-activated', this._activeSessionId);
|
this.emit('session-activated', this._activeSessionId);
|
||||||
},
|
},
|
||||||
|
|
||||||
close: function() {
|
|
||||||
this._menu.close();
|
|
||||||
},
|
|
||||||
|
|
||||||
_populate: function() {
|
_populate: function() {
|
||||||
|
this._itemList.destroy_all_children();
|
||||||
|
this._activeSessionId = null;
|
||||||
|
this._items = {};
|
||||||
|
|
||||||
let ids = Gdm.get_session_ids();
|
let ids = Gdm.get_session_ids();
|
||||||
ids.sort();
|
ids.sort();
|
||||||
|
|
||||||
if (ids.length <= 1) {
|
if (ids.length <= 1) {
|
||||||
|
this._box.hide();
|
||||||
this._button.hide();
|
this._button.hide();
|
||||||
return;
|
} else {
|
||||||
|
this._button.show();
|
||||||
|
this._box.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < ids.length; i++) {
|
for (let i = 0; i < ids.length; i++) {
|
||||||
let [sessionName, sessionDescription] = Gdm.get_session_name_and_description(ids[i]);
|
let [sessionName, sessionDescription] = Gdm.get_session_name_and_description(ids[i]);
|
||||||
|
|
||||||
let id = ids[i];
|
let item = new SessionListItem(ids[i], sessionName);
|
||||||
let item = new PopupMenu.PopupMenuItem(sessionName);
|
this._itemList.add_actor(item.actor);
|
||||||
this._menu.addMenuItem(item);
|
this._items[ids[i]] = item;
|
||||||
this._items[id] = item;
|
|
||||||
|
|
||||||
if (!this._activeSessionId)
|
if (!this._activeSessionId)
|
||||||
this.setActiveSession(id);
|
this.setActiveSession(ids[i]);
|
||||||
|
|
||||||
item.connect('activate', Lang.bind(this, function() {
|
item.connect('activate',
|
||||||
this.setActiveSession(id);
|
Lang.bind(this, function() {
|
||||||
}));
|
this.setActiveSession(item.id);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Signals.addSignalMethods(SessionMenuButton.prototype);
|
Signals.addSignalMethods(SessionList.prototype);
|
||||||
|
|
||||||
const LoginDialog = new Lang.Class({
|
const LoginDialog = new Lang.Class({
|
||||||
Name: 'LoginDialog',
|
Name: 'LoginDialog',
|
||||||
|
Extends: ModalDialog.ModalDialog,
|
||||||
|
|
||||||
_init: function(parentActor) {
|
_init: function(parentActor) {
|
||||||
this.actor = new St.Widget({ accessible_role: Atk.Role.WINDOW,
|
this.parent({ shellReactive: true,
|
||||||
style_class: 'login-dialog',
|
styleClass: 'login-dialog',
|
||||||
visible: false });
|
parentActor: parentActor,
|
||||||
|
keybindingMode: Shell.KeyBindingMode.LOGIN_SCREEN,
|
||||||
this.actor.add_constraint(new Layout.MonitorConstraint({ primary: true }));
|
shouldFadeIn: false });
|
||||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
this.connect('destroy',
|
||||||
parentActor.add_child(this.actor);
|
Lang.bind(this, this._onDestroy));
|
||||||
|
this.connect('opened',
|
||||||
|
Lang.bind(this, this._onOpened));
|
||||||
|
|
||||||
this._userManager = AccountsService.UserManager.get_default()
|
this._userManager = AccountsService.UserManager.get_default()
|
||||||
this._greeterClient = new Gdm.Client();
|
this._greeterClient = new Gdm.Client();
|
||||||
@@ -450,10 +526,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
|
|
||||||
this._userSelectionBox = new St.BoxLayout({ style_class: 'login-dialog-user-selection-box',
|
this._userSelectionBox = new St.BoxLayout({ style_class: 'login-dialog-user-selection-box',
|
||||||
vertical: true });
|
vertical: true });
|
||||||
this._userSelectionBox.add_constraint(new Clutter.AlignConstraint({ source: this.actor,
|
this.contentLayout.add(this._userSelectionBox);
|
||||||
align_axis: Clutter.AlignAxis.BOTH,
|
|
||||||
factor: 0.5 }));
|
|
||||||
this.actor.add_child(this._userSelectionBox);
|
|
||||||
|
|
||||||
this._bannerLabel = new St.Label({ style_class: 'login-dialog-banner',
|
this._bannerLabel = new St.Label({ style_class: 'login-dialog-banner',
|
||||||
text: '' });
|
text: '' });
|
||||||
@@ -466,20 +539,15 @@ const LoginDialog = new Lang.Class({
|
|||||||
x_fill: true,
|
x_fill: true,
|
||||||
y_fill: true });
|
y_fill: true });
|
||||||
|
|
||||||
|
this.setInitialKeyFocus(this._userList.actor);
|
||||||
|
|
||||||
this._promptBox = new St.BoxLayout({ style_class: 'login-dialog-prompt-layout',
|
this._promptBox = new St.BoxLayout({ style_class: 'login-dialog-prompt-layout',
|
||||||
vertical: true });
|
vertical: true });
|
||||||
|
this.contentLayout.add(this._promptBox,
|
||||||
this._promptBox.connect('button-press-event',
|
{ expand: true,
|
||||||
Lang.bind(this, function(actor, event) {
|
x_fill: true,
|
||||||
if (event.get_key_symbol() == Clutter.KEY_Escape) {
|
y_fill: true,
|
||||||
this.cancel();
|
x_align: St.Align.START });
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._promptBox.add_constraint(new Clutter.AlignConstraint({ source: this.actor,
|
|
||||||
align_axis: Clutter.AlignAxis.BOTH,
|
|
||||||
factor: 0.5 }));
|
|
||||||
this.actor.add_child(this._promptBox);
|
|
||||||
this._promptUser = new St.Bin({ x_fill: true,
|
this._promptUser = new St.Bin({ x_fill: true,
|
||||||
x_align: St.Align.START });
|
x_align: St.Align.START });
|
||||||
this._promptBox.add(this._promptUser,
|
this._promptBox.add(this._promptUser,
|
||||||
@@ -511,15 +579,19 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._promptLoginHint.hide();
|
this._promptLoginHint.hide();
|
||||||
this._promptBox.add(this._promptLoginHint);
|
this._promptBox.add(this._promptLoginHint);
|
||||||
|
|
||||||
this._buttonBox = new St.BoxLayout({ style_class: 'modal-dialog-button-box',
|
|
||||||
vertical: false });
|
|
||||||
this._promptBox.add(this._buttonBox,
|
|
||||||
{ expand: true,
|
|
||||||
x_align: St.Align.MIDDLE,
|
|
||||||
y_align: St.Align.END });
|
|
||||||
this._cancelButton = null;
|
|
||||||
this._signInButton = null;
|
this._signInButton = null;
|
||||||
|
|
||||||
|
this._sessionList = new SessionList();
|
||||||
|
this._sessionList.connect('session-activated',
|
||||||
|
Lang.bind(this, function(list, sessionId) {
|
||||||
|
this._greeter.call_select_session_sync (sessionId, null);
|
||||||
|
}));
|
||||||
|
|
||||||
|
this._promptBox.add(this._sessionList.actor,
|
||||||
|
{ expand: true,
|
||||||
|
x_fill: false,
|
||||||
|
y_fill: true,
|
||||||
|
x_align: St.Align.START });
|
||||||
this._promptBox.hide();
|
this._promptBox.hide();
|
||||||
|
|
||||||
// translators: this message is shown below the user list on the
|
// translators: this message is shown below the user list on the
|
||||||
@@ -536,7 +608,6 @@ const LoginDialog = new Lang.Class({
|
|||||||
x_fill: true });
|
x_fill: true });
|
||||||
|
|
||||||
this._notListedButton.connect('clicked', Lang.bind(this, this._hideUserListAndLogIn));
|
this._notListedButton.connect('clicked', Lang.bind(this, this._hideUserListAndLogIn));
|
||||||
this._notListedButton.hide();
|
|
||||||
|
|
||||||
this._userSelectionBox.add(this._notListedButton,
|
this._userSelectionBox.add(this._notListedButton,
|
||||||
{ expand: false,
|
{ expand: false,
|
||||||
@@ -545,13 +616,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
|
|
||||||
this._logoBin = new St.Bin({ style_class: 'login-dialog-logo-bin', y_expand: true });
|
this._logoBin = new St.Bin({ style_class: 'login-dialog-logo-bin', y_expand: true });
|
||||||
this._logoBin.set_y_align(Clutter.ActorAlign.END);
|
this._logoBin.set_y_align(Clutter.ActorAlign.END);
|
||||||
this._logoBin.add_constraint(new Clutter.AlignConstraint({ source: this.actor,
|
this.backgroundStack.add_actor(this._logoBin);
|
||||||
align_axis: Clutter.AlignAxis.X_AXIS,
|
|
||||||
factor: 0.5 }));
|
|
||||||
this._logoBin.add_constraint(new Clutter.AlignConstraint({ source: this.actor,
|
|
||||||
align_axis: Clutter.AlignAxis.Y_AXIS,
|
|
||||||
factor: 1.0 }));
|
|
||||||
this.actor.add_child(this._logoBin);
|
|
||||||
this._updateLogo();
|
this._updateLogo();
|
||||||
|
|
||||||
if (!this._userManager.is_loaded)
|
if (!this._userManager.is_loaded)
|
||||||
@@ -571,27 +636,6 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._onUserListActivated(item);
|
this._onUserListActivated(item);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this._defaultButtonWell = new St.Widget();
|
|
||||||
this._defaultButtonWellMode = DefaultButtonWellMode.NONE;
|
|
||||||
|
|
||||||
this._sessionMenuButton = new SessionMenuButton();
|
|
||||||
this._sessionMenuButton.connect('session-activated',
|
|
||||||
Lang.bind(this, function(list, sessionId) {
|
|
||||||
this._greeter.call_select_session_sync (sessionId, null);
|
|
||||||
}));
|
|
||||||
this._sessionMenuButton.actor.opacity = 0;
|
|
||||||
this._sessionMenuButton.actor.show();
|
|
||||||
this._defaultButtonWell.add_child(this._sessionMenuButton.actor);
|
|
||||||
|
|
||||||
let spinnerIcon = global.datadir + '/theme/process-working.svg';
|
|
||||||
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, _DEFAULT_BUTTON_WELL_ICON_SIZE);
|
|
||||||
this._workSpinner.actor.opacity = 0;
|
|
||||||
this._workSpinner.actor.show();
|
|
||||||
|
|
||||||
this._defaultButtonWell.add_child(this._workSpinner.actor);
|
|
||||||
this._sessionMenuButton.actor.add_constraint(new Clutter.AlignConstraint({ source: this._workSpinner.actor,
|
|
||||||
align_axis: Clutter.AlignAxis.BOTH,
|
|
||||||
factor: 0.5 }));
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateDisableUserList: function() {
|
_updateDisableUserList: function() {
|
||||||
@@ -653,77 +697,15 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._showUserList();
|
this._showUserList();
|
||||||
},
|
},
|
||||||
|
|
||||||
_getActorForDefaultButtonWellMode: function(mode) {
|
|
||||||
let actor;
|
|
||||||
|
|
||||||
if (mode == DefaultButtonWellMode.NONE)
|
|
||||||
actor = null;
|
|
||||||
else if (mode == DefaultButtonWellMode.SPINNER)
|
|
||||||
actor = this._workSpinner.actor;
|
|
||||||
else if (mode == DefaultButtonWellMode.SESSION_MENU_BUTTON)
|
|
||||||
actor = this._sessionMenuButton.actor;
|
|
||||||
|
|
||||||
return actor;
|
|
||||||
},
|
|
||||||
|
|
||||||
_setDefaultButtonWellMode: function(mode, immediately) {
|
|
||||||
if (this._defaultButtonWellMode == DefaultButtonWellMode.NONE &&
|
|
||||||
mode == DefaultButtonWellMode.NONE)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let oldActor = this._getActorForDefaultButtonWellMode(this._defaultButtonWellMode);
|
|
||||||
|
|
||||||
if (oldActor)
|
|
||||||
Tweener.removeTweens(oldActor);
|
|
||||||
|
|
||||||
let actor = this._getActorForDefaultButtonWellMode(mode);
|
|
||||||
|
|
||||||
if (this._defaultButtonWellMode != mode && oldActor) {
|
|
||||||
if (immediately)
|
|
||||||
oldActor.opacity = 0;
|
|
||||||
else
|
|
||||||
Tweener.addTween(oldActor,
|
|
||||||
{ opacity: 0,
|
|
||||||
time: _DEFAULT_BUTTON_WELL_ANIMATION_TIME,
|
|
||||||
delay: _DEFAULT_BUTTON_WELL_ANIMATION_DELAY,
|
|
||||||
transition: 'linear',
|
|
||||||
onCompleteScope: this,
|
|
||||||
onComplete: function() {
|
|
||||||
if (mode == DefaultButtonWellMode.SPINNER) {
|
|
||||||
if (this._workSpinner)
|
|
||||||
this._workSpinner.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (actor) {
|
|
||||||
if (mode == DefaultButtonWellMode.SPINNER)
|
|
||||||
this._workSpinner.play();
|
|
||||||
|
|
||||||
if (immediately)
|
|
||||||
actor.opacity = 255;
|
|
||||||
else
|
|
||||||
Tweener.addTween(actor,
|
|
||||||
{ opacity: 255,
|
|
||||||
time: _DEFAULT_BUTTON_WELL_ANIMATION_TIME,
|
|
||||||
delay: _DEFAULT_BUTTON_WELL_ANIMATION_DELAY,
|
|
||||||
transition: 'linear' });
|
|
||||||
}
|
|
||||||
|
|
||||||
this._defaultButtonWellMode = mode;
|
|
||||||
},
|
|
||||||
|
|
||||||
_verificationFailed: function() {
|
_verificationFailed: function() {
|
||||||
this._promptEntry.text = '';
|
this._promptEntry.text = '';
|
||||||
|
|
||||||
this._updateSensitivity(true);
|
this._updateSensitivity(true);
|
||||||
this._setDefaultButtonWellMode(DefaultButtonWellMode.NONE, true);
|
this.setWorking(false);
|
||||||
},
|
},
|
||||||
|
|
||||||
_onDefaultSessionChanged: function(client, sessionId) {
|
_onDefaultSessionChanged: function(client, sessionId) {
|
||||||
this._sessionMenuButton.setActiveSession(sessionId);
|
this._sessionList.setActiveSession(sessionId);
|
||||||
},
|
},
|
||||||
|
|
||||||
_showMessage: function(userVerifier, message, styleClass) {
|
_showMessage: function(userVerifier, message, styleClass) {
|
||||||
@@ -754,20 +736,8 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._reset();
|
this._reset();
|
||||||
},
|
},
|
||||||
|
|
||||||
_shouldShowSessionMenuButton: function() {
|
|
||||||
if (this._verifyingUser)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (!this._user)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (this._user.is_logged_in)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
_showPrompt: function(forSecret) {
|
_showPrompt: function(forSecret) {
|
||||||
|
this._sessionList.actor.hide();
|
||||||
this._promptLabel.show();
|
this._promptLabel.show();
|
||||||
this._promptEntry.show();
|
this._promptEntry.show();
|
||||||
this._promptLoginHint.opacity = 0;
|
this._promptLoginHint.opacity = 0;
|
||||||
@@ -779,10 +749,8 @@ const LoginDialog = new Lang.Class({
|
|||||||
time: _FADE_ANIMATION_TIME,
|
time: _FADE_ANIMATION_TIME,
|
||||||
transition: 'easeOutQuad' });
|
transition: 'easeOutQuad' });
|
||||||
|
|
||||||
if (this._shouldShowSessionMenuButton())
|
if ((this._user && !this._user.is_logged_in()) || this._verifyingUser)
|
||||||
this._setDefaultButtonWellMode(DefaultButtonWellMode.SESSION_MENU_BUTTON, true);
|
this._sessionList.actor.show();
|
||||||
else
|
|
||||||
this._setDefaultButtonWellMode(DefaultButtonWellMode.NONE, true);
|
|
||||||
|
|
||||||
this._promptEntry.grab_key_focus();
|
this._promptEntry.grab_key_focus();
|
||||||
|
|
||||||
@@ -799,49 +767,33 @@ const LoginDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_prepareDialog: function(forSecret, hold) {
|
_prepareDialog: function(forSecret, hold) {
|
||||||
this._buttonBox.visible = true;
|
this.buttonLayout.visible = true;
|
||||||
this._buttonBox.remove_all_children();
|
this.clearButtons();
|
||||||
|
|
||||||
if (!this._disableUserList || this._verifyingUser) {
|
if (!this._disableUserList || this._verifyingUser)
|
||||||
this._cancelButton = new St.Button({ style_class: 'modal-dialog-button',
|
this.addButton({ action: Lang.bind(this, this.cancel),
|
||||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
label: _("Cancel"),
|
||||||
reactive: true,
|
key: Clutter.Escape },
|
||||||
can_focus: true,
|
{ expand: true,
|
||||||
label: _("Cancel") });
|
x_fill: false,
|
||||||
this._cancelButton.connect('clicked',
|
y_fill: false,
|
||||||
Lang.bind(this, function() {
|
x_align: St.Align.START,
|
||||||
this.cancel();
|
y_align: St.Align.MIDDLE });
|
||||||
}));
|
this.placeSpinner({ expand: false,
|
||||||
this._buttonBox.add(this._cancelButton,
|
x_fill: false,
|
||||||
{ expand: false,
|
y_fill: false,
|
||||||
x_fill: false,
|
x_align: St.Align.END,
|
||||||
y_fill: false,
|
y_align: St.Align.MIDDLE });
|
||||||
x_align: St.Align.START,
|
this._signInButton = this.addButton({ action: Lang.bind(this, function() {
|
||||||
y_align: St.Align.END });
|
hold.release();
|
||||||
}
|
}),
|
||||||
|
label: forSecret ? C_("button", "Sign In") : _("Next"),
|
||||||
this._buttonBox.add(this._defaultButtonWell,
|
default: true },
|
||||||
{ expand: true,
|
{ expand: false,
|
||||||
x_fill: false,
|
x_fill: false,
|
||||||
y_fill: false,
|
y_fill: false,
|
||||||
x_align: St.Align.END,
|
x_align: St.Align.END,
|
||||||
y_align: St.Align.MIDDLE });
|
y_align: St.Align.MIDDLE });
|
||||||
this._signInButton = new St.Button({ style_class: 'modal-dialog-button',
|
|
||||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
|
||||||
reactive: true,
|
|
||||||
can_focus: true,
|
|
||||||
label: forSecret ? C_("button", "Sign In") : _("Next") });
|
|
||||||
this._signInButton.connect('clicked',
|
|
||||||
Lang.bind(this, function() {
|
|
||||||
hold.release();
|
|
||||||
}));
|
|
||||||
this._signInButton.add_style_pseudo_class('default');
|
|
||||||
this._buttonBox.add(this._signInButton,
|
|
||||||
{ expand: false,
|
|
||||||
x_fill: false,
|
|
||||||
y_fill: false,
|
|
||||||
x_align: St.Align.END,
|
|
||||||
y_align: St.Align.END });
|
|
||||||
|
|
||||||
this._updateSignInButtonSensitivity(this._promptEntry.text.length > 0);
|
this._updateSignInButtonSensitivity(this._promptEntry.text.length > 0);
|
||||||
|
|
||||||
@@ -860,7 +812,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
_updateSensitivity: function(sensitive) {
|
_updateSensitivity: function(sensitive) {
|
||||||
this._promptEntry.reactive = sensitive;
|
this._promptEntry.reactive = sensitive;
|
||||||
this._promptEntry.clutter_text.editable = sensitive;
|
this._promptEntry.clutter_text.editable = sensitive;
|
||||||
this._sessionMenuButton.updateSensitivity(sensitive);
|
this._sessionList.updateSensitivity(sensitive);
|
||||||
this._updateSignInButtonSensitivity(sensitive);
|
this._updateSignInButtonSensitivity(sensitive);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -872,6 +824,8 @@ const LoginDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_hidePrompt: function() {
|
_hidePrompt: function() {
|
||||||
|
this.setButtons([]);
|
||||||
|
|
||||||
if (this._promptEntryTextChangedId > 0) {
|
if (this._promptEntryTextChangedId > 0) {
|
||||||
this._promptEntry.clutter_text.disconnect(this._promptEntryTextChangedId);
|
this._promptEntry.clutter_text.disconnect(this._promptEntryTextChangedId);
|
||||||
this._promptEntryTextChangedId = 0;
|
this._promptEntryTextChangedId = 0;
|
||||||
@@ -882,7 +836,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._promptEntryActivateId = 0;
|
this._promptEntryActivateId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
this._setDefaultButtonWellMode(DefaultButtonWellMode.NONE, true);
|
this.setWorking(false);
|
||||||
this._promptBox.hide();
|
this._promptBox.hide();
|
||||||
this._promptLoginHint.hide();
|
this._promptLoginHint.hide();
|
||||||
|
|
||||||
@@ -891,12 +845,11 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._updateSensitivity(true);
|
this._updateSensitivity(true);
|
||||||
this._promptEntry.set_text('');
|
this._promptEntry.set_text('');
|
||||||
|
|
||||||
this._sessionMenuButton.close();
|
this._sessionList.close();
|
||||||
this._promptLoginHint.hide();
|
this._promptLoginHint.hide();
|
||||||
|
|
||||||
this._buttonBox.remove_all_children();
|
this.clearButtons();
|
||||||
this._signInButton = null;
|
this._signInButton = null;
|
||||||
this._cancelButton = null;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_askQuestion: function(verifier, serviceName, question, passwordChar) {
|
_askQuestion: function(verifier, serviceName, question, passwordChar) {
|
||||||
@@ -913,7 +866,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
function() {
|
function() {
|
||||||
let text = this._promptEntry.get_text();
|
let text = this._promptEntry.get_text();
|
||||||
this._updateSensitivity(false);
|
this._updateSensitivity(false);
|
||||||
this._setDefaultButtonWellMode(DefaultButtonWellMode.SPINNER, false);
|
this.setWorking(true);
|
||||||
this._userVerifier.answerQuery(serviceName, text);
|
this._userVerifier.answerQuery(serviceName, text);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -962,7 +915,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_startSession: function(serviceName) {
|
_startSession: function(serviceName) {
|
||||||
Tweener.addTween(this.actor,
|
Tweener.addTween(this.dialogLayout,
|
||||||
{ opacity: 0,
|
{ opacity: 0,
|
||||||
time: _FADE_ANIMATION_TIME,
|
time: _FADE_ANIMATION_TIME,
|
||||||
transition: 'easeOutQuad',
|
transition: 'easeOutQuad',
|
||||||
@@ -971,7 +924,7 @@ const LoginDialog = new Lang.Class({
|
|||||||
|
|
||||||
for (let i = 0; i < children.length; i++) {
|
for (let i = 0; i < children.length; i++) {
|
||||||
if (children[i] != Main.layoutManager.screenShieldGroup)
|
if (children[i] != Main.layoutManager.screenShieldGroup)
|
||||||
children[i].opacity = this.actor.opacity;
|
children[i].opacity = this.dialogLayout.opacity;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onUpdateScope: this,
|
onUpdateScope: this,
|
||||||
@@ -1134,7 +1087,6 @@ const LoginDialog = new Lang.Class({
|
|||||||
_showUserList: function() {
|
_showUserList: function() {
|
||||||
this._hidePrompt();
|
this._hidePrompt();
|
||||||
this._setUserListExpanded(true);
|
this._setUserListExpanded(true);
|
||||||
this._notListedButton.show();
|
|
||||||
this._userList.actor.grab_key_focus();
|
this._userList.actor.grab_key_focus();
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1200,18 +1152,17 @@ const LoginDialog = new Lang.Class({
|
|||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function() {
|
_onOpened: function() {
|
||||||
Main.ctrlAltTabManager.addGroup(this.actor,
|
Main.ctrlAltTabManager.addGroup(this.dialogLayout,
|
||||||
_("Login Window"),
|
_("Login Window"),
|
||||||
'dialog-password-symbolic',
|
'dialog-password-symbolic',
|
||||||
{ sortGroup: CtrlAltTab.SortGroup.MIDDLE });
|
{ sortGroup: CtrlAltTab.SortGroup.MIDDLE });
|
||||||
this._userList.actor.grab_key_focus();
|
|
||||||
this.actor.show();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
close: function() {
|
close: function() {
|
||||||
|
this.parent();
|
||||||
|
|
||||||
Main.ctrlAltTabManager.removeGroup(this.dialogLayout);
|
Main.ctrlAltTabManager.removeGroup(this.dialogLayout);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1219,4 +1170,3 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._promptEntry.clutter_text.insert_unichar(unichar);
|
this._promptEntry.clutter_text.insert_unichar(unichar);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
Signals.addSignalMethods(LoginDialog.prototype);
|
|
||||||
|
@@ -164,7 +164,6 @@ const ShellUserVerifier = new Lang.Class({
|
|||||||
|
|
||||||
answerQuery: function(serviceName, answer) {
|
answerQuery: function(serviceName, answer) {
|
||||||
if (!this._userVerifier.hasPendingMessages) {
|
if (!this._userVerifier.hasPendingMessages) {
|
||||||
this._clearMessageQueue();
|
|
||||||
this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null);
|
this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null);
|
||||||
} else {
|
} else {
|
||||||
let signalId = this._userVerifier.connect('no-more-messages',
|
let signalId = this._userVerifier.connect('no-more-messages',
|
||||||
|
@@ -1,84 +0,0 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
|
||||||
|
|
||||||
const Lang = imports.lang;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
const Atk = imports.gi.Atk;
|
|
||||||
|
|
||||||
const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
|
|
||||||
|
|
||||||
const Animation = new Lang.Class({
|
|
||||||
Name: 'Animation',
|
|
||||||
|
|
||||||
_init: function(filename, width, height, speed) {
|
|
||||||
this.actor = new St.Bin();
|
|
||||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
|
||||||
this._speed = speed;
|
|
||||||
|
|
||||||
this._isLoaded = false;
|
|
||||||
this._isPlaying = false;
|
|
||||||
this._timeoutId = 0;
|
|
||||||
this._frame = 0;
|
|
||||||
this._animations = St.TextureCache.get_default().load_sliced_image (filename, width, height,
|
|
||||||
Lang.bind(this, this._animationsLoaded));
|
|
||||||
this.actor.set_child(this._animations);
|
|
||||||
},
|
|
||||||
|
|
||||||
play: function() {
|
|
||||||
if (this._isLoaded && this._timeoutId == 0) {
|
|
||||||
if (this._frame == 0)
|
|
||||||
this._showFrame(0);
|
|
||||||
|
|
||||||
this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
|
|
||||||
}
|
|
||||||
|
|
||||||
this._isPlaying = true;
|
|
||||||
},
|
|
||||||
|
|
||||||
stop: function() {
|
|
||||||
if (this._timeoutId > 0) {
|
|
||||||
Mainloop.source_remove(this._timeoutId);
|
|
||||||
this._timeoutId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._isPlaying = false;
|
|
||||||
},
|
|
||||||
|
|
||||||
_showFrame: function(frame) {
|
|
||||||
let oldFrameActor = this._animations.get_child_at_index(this._frame);
|
|
||||||
if (oldFrameActor)
|
|
||||||
oldFrameActor.hide();
|
|
||||||
|
|
||||||
this._frame = (frame % this._animations.get_n_children());
|
|
||||||
|
|
||||||
let newFrameActor = this._animations.get_child_at_index(this._frame);
|
|
||||||
if (newFrameActor)
|
|
||||||
newFrameActor.show();
|
|
||||||
},
|
|
||||||
|
|
||||||
_update: function() {
|
|
||||||
this._showFrame(this._frame + 1);
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
_animationsLoaded: function() {
|
|
||||||
this._isLoaded = true;
|
|
||||||
|
|
||||||
if (this._isPlaying)
|
|
||||||
this.play();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onDestroy: function() {
|
|
||||||
this.stop();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const AnimatedIcon = new Lang.Class({
|
|
||||||
Name: 'AnimatedIcon',
|
|
||||||
Extends: Animation,
|
|
||||||
|
|
||||||
_init: function(filename, size) {
|
|
||||||
this.parent(filename, size, size, ANIMATED_ICON_UPDATE_TIMEOUT);
|
|
||||||
}
|
|
||||||
});
|
|
@@ -571,16 +571,7 @@ const Background = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
let uri = this._settings.get_string(PICTURE_URI_KEY);
|
let uri = this._settings.get_string(PICTURE_URI_KEY);
|
||||||
let filename;
|
let filename = Gio.File.new_for_uri(uri).get_path();
|
||||||
if (GLib.uri_parse_scheme(uri) != null)
|
|
||||||
filename = Gio.File.new_for_uri(uri).get_path();
|
|
||||||
else
|
|
||||||
filename = uri;
|
|
||||||
|
|
||||||
if (!filename) {
|
|
||||||
this._setLoaded();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._loadFile(filename);
|
this._loadFile(filename);
|
||||||
},
|
},
|
||||||
|
@@ -589,12 +589,12 @@ const BoxPointer = new Lang.Class({
|
|||||||
return St.Side.TOP;
|
return St.Side.TOP;
|
||||||
break;
|
break;
|
||||||
case St.Side.LEFT:
|
case St.Side.LEFT:
|
||||||
if (sourceAllocation.x2 + boxWidth > monitor.x + monitor.width &&
|
if (sourceAllocation.y2 + boxWidth > monitor.x + monitor.width &&
|
||||||
boxWidth < sourceAllocation.x1 - monitor.x)
|
boxWidth < sourceAllocation.x1 - monitor.x)
|
||||||
return St.Side.RIGHT;
|
return St.Side.RIGHT;
|
||||||
break;
|
break;
|
||||||
case St.Side.RIGHT:
|
case St.Side.RIGHT:
|
||||||
if (sourceAllocation.x1 - boxWidth < monitor.x &&
|
if (sourceAllocation.y1 - boxWidth < monitor.x &&
|
||||||
boxWidth < monitor.x + monitor.width - sourceAllocation.x2)
|
boxWidth < monitor.x + monitor.width - sourceAllocation.x2)
|
||||||
return St.Side.LEFT;
|
return St.Side.LEFT;
|
||||||
break;
|
break;
|
||||||
|
@@ -31,7 +31,7 @@ function shouldAutorunMount(mount, forTransient) {
|
|||||||
if (!volume || (!volume.allowAutorun && forTransient))
|
if (!volume || (!volume.allowAutorun && forTransient))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (root.is_native() && isMountRootHidden(root))
|
if (!root.is_native() || isMountRootHidden(root))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@@ -18,7 +18,7 @@ const Params = imports.misc.params;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
// See Notification.appendMessage
|
// See Notification.appendMessage
|
||||||
const SCROLLBACK_IMMEDIATE_TIME = 3 * 60; // 3 minutes
|
const SCROLLBACK_IMMEDIATE_TIME = 60; // 1 minute
|
||||||
const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes
|
const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes
|
||||||
const SCROLLBACK_RECENT_LENGTH = 20;
|
const SCROLLBACK_RECENT_LENGTH = 20;
|
||||||
const SCROLLBACK_IDLE_LENGTH = 5;
|
const SCROLLBACK_IDLE_LENGTH = 5;
|
||||||
@@ -967,8 +967,7 @@ const ChatNotification = new Lang.Class({
|
|||||||
let timeLabel = this._append({ body: this._formatTimestamp(lastMessageDate),
|
let timeLabel = this._append({ body: this._formatTimestamp(lastMessageDate),
|
||||||
group: 'meta',
|
group: 'meta',
|
||||||
styles: ['chat-meta-message'],
|
styles: ['chat-meta-message'],
|
||||||
childProps: { expand: true, x_fill: false,
|
childProps: { expand: true, x_fill: false },
|
||||||
x_align: St.Align.END },
|
|
||||||
noTimestamp: true,
|
noTimestamp: true,
|
||||||
timestamp: lastMessageTime });
|
timestamp: lastMessageTime });
|
||||||
|
|
||||||
|
@@ -153,14 +153,15 @@ const DateMenuButton = new Lang.Class({
|
|||||||
this._openClocksItem.actor.visible = visible &&
|
this._openClocksItem.actor.visible = visible &&
|
||||||
(this._getClockApp() != null);
|
(this._getClockApp() != null);
|
||||||
this._separator.visible = visible;
|
this._separator.visible = visible;
|
||||||
this._eventList.actor.visible = visible;
|
|
||||||
if (visible) {
|
if (visible) {
|
||||||
let alignment = 0.25;
|
let alignment = 0.25;
|
||||||
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||||
alignment = 1.0 - alignment;
|
alignment = 1.0 - alignment;
|
||||||
this.menu._arrowAlignment = alignment;
|
this.menu._arrowAlignment = alignment;
|
||||||
|
this._eventList.actor.get_parent().show();
|
||||||
} else {
|
} else {
|
||||||
this.menu._arrowAlignment = 0.5;
|
this.menu._arrowAlignment = 0.5;
|
||||||
|
this._eventList.actor.get_parent().hide();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
109
js/ui/dnd.js
109
js/ui/dnd.js
@@ -1,7 +1,6 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const GLib = imports.gi.GLib;
|
|
||||||
const Gtk = imports.gi.Gtk;
|
const Gtk = imports.gi.Gtk;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
@@ -359,65 +358,60 @@ const _Draggable = new Lang.Class({
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateDragHover : function () {
|
|
||||||
let target = this._dragActor.get_stage().get_actor_at_pos(Clutter.PickMode.ALL,
|
|
||||||
this._dragX, this._dragY);
|
|
||||||
let dragEvent = {
|
|
||||||
x: this._dragX,
|
|
||||||
y: this._dragY,
|
|
||||||
dragActor: this._dragActor,
|
|
||||||
source: this.actor._delegate,
|
|
||||||
targetActor: target
|
|
||||||
};
|
|
||||||
for (let i = 0; i < dragMonitors.length; i++) {
|
|
||||||
let motionFunc = dragMonitors[i].dragMotion;
|
|
||||||
if (motionFunc) {
|
|
||||||
let result = motionFunc(dragEvent);
|
|
||||||
if (result != DragMotionResult.CONTINUE) {
|
|
||||||
global.set_cursor(DRAG_CURSOR_MAP[result]);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
while (target) {
|
|
||||||
if (target._delegate && target._delegate.handleDragOver) {
|
|
||||||
let [r, targX, targY] = target.transform_stage_point(this._dragX, this._dragY);
|
|
||||||
// We currently loop through all parents on drag-over even if one of the children has handled it.
|
|
||||||
// We can check the return value of the function and break the loop if it's true if we don't want
|
|
||||||
// to continue checking the parents.
|
|
||||||
let result = target._delegate.handleDragOver(this.actor._delegate,
|
|
||||||
this._dragActor,
|
|
||||||
targX,
|
|
||||||
targY,
|
|
||||||
0);
|
|
||||||
if (result != DragMotionResult.CONTINUE) {
|
|
||||||
global.set_cursor(DRAG_CURSOR_MAP[result]);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
target = target.get_parent();
|
|
||||||
}
|
|
||||||
global.set_cursor(Shell.Cursor.DND_IN_DRAG);
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
|
|
||||||
_queueUpdateDragHover: function() {
|
|
||||||
if (this._updateHoverId)
|
|
||||||
GLib.source_remove(this._updateHoverId);
|
|
||||||
|
|
||||||
this._updateHoverId = GLib.idle_add(GLib.PRIORITY_DEFAULT,
|
|
||||||
Lang.bind(this, this._updateDragHover));
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateDragPosition : function (event) {
|
_updateDragPosition : function (event) {
|
||||||
let [stageX, stageY] = event.get_coords();
|
let [stageX, stageY] = event.get_coords();
|
||||||
this._dragX = stageX;
|
this._dragX = stageX;
|
||||||
this._dragY = stageY;
|
this._dragY = stageY;
|
||||||
this._dragActor.set_position(stageX + this._dragOffsetX,
|
|
||||||
stageY + this._dragOffsetY);
|
|
||||||
|
|
||||||
this._queueUpdateDragHover();
|
// If we are dragging, update the position
|
||||||
|
if (this._dragActor) {
|
||||||
|
this._dragActor.set_position(stageX + this._dragOffsetX,
|
||||||
|
stageY + this._dragOffsetY);
|
||||||
|
|
||||||
|
let target = this._dragActor.get_stage().get_actor_at_pos(Clutter.PickMode.ALL,
|
||||||
|
stageX, stageY);
|
||||||
|
|
||||||
|
// We call observers only once per motion with the innermost
|
||||||
|
// target actor. If necessary, the observer can walk the
|
||||||
|
// parent itself.
|
||||||
|
let dragEvent = {
|
||||||
|
x: stageX,
|
||||||
|
y: stageY,
|
||||||
|
dragActor: this._dragActor,
|
||||||
|
source: this.actor._delegate,
|
||||||
|
targetActor: target
|
||||||
|
};
|
||||||
|
for (let i = 0; i < dragMonitors.length; i++) {
|
||||||
|
let motionFunc = dragMonitors[i].dragMotion;
|
||||||
|
if (motionFunc) {
|
||||||
|
let result = motionFunc(dragEvent);
|
||||||
|
if (result != DragMotionResult.CONTINUE) {
|
||||||
|
global.set_cursor(DRAG_CURSOR_MAP[result]);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (target) {
|
||||||
|
if (target._delegate && target._delegate.handleDragOver) {
|
||||||
|
let [r, targX, targY] = target.transform_stage_point(stageX, stageY);
|
||||||
|
// We currently loop through all parents on drag-over even if one of the children has handled it.
|
||||||
|
// We can check the return value of the function and break the loop if it's true if we don't want
|
||||||
|
// to continue checking the parents.
|
||||||
|
let result = target._delegate.handleDragOver(this.actor._delegate,
|
||||||
|
this._dragActor,
|
||||||
|
targX,
|
||||||
|
targY,
|
||||||
|
event.get_time());
|
||||||
|
if (result != DragMotionResult.CONTINUE) {
|
||||||
|
global.set_cursor(DRAG_CURSOR_MAP[result]);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
target = target.get_parent();
|
||||||
|
}
|
||||||
|
global.set_cursor(Shell.Cursor.DND_IN_DRAG);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -517,11 +511,6 @@ const _Draggable = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_cancelDrag: function(eventTime) {
|
_cancelDrag: function(eventTime) {
|
||||||
if (this._updateHoverId) {
|
|
||||||
GLib.source_remove(this._updateHoverId);
|
|
||||||
this._updateHoverId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.emit('drag-cancelled', eventTime);
|
this.emit('drag-cancelled', eventTime);
|
||||||
this._dragInProgress = false;
|
this._dragInProgress = false;
|
||||||
let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation();
|
let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation();
|
||||||
|
@@ -749,8 +749,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
// and shown otherwise)
|
// and shown otherwise)
|
||||||
addChrome: function(actor, params) {
|
addChrome: function(actor, params) {
|
||||||
this.uiGroup.add_actor(actor);
|
this.uiGroup.add_actor(actor);
|
||||||
if (this.uiGroup.contains(global.top_window_group))
|
|
||||||
this.uiGroup.set_child_below_sibling(actor, global.top_window_group);
|
|
||||||
this._trackActor(actor, params);
|
this._trackActor(actor, params);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@@ -53,7 +53,7 @@ const Magnifier = new Lang.Class({
|
|||||||
this._zoomRegions = [];
|
this._zoomRegions = [];
|
||||||
|
|
||||||
// Create small clutter tree for the magnified mouse.
|
// Create small clutter tree for the magnified mouse.
|
||||||
let xfixesCursor = Shell.XFixesCursor.get_for_stage(global.stage);
|
let xfixesCursor = Shell.XFixesCursor.get_for_screen(global.screen);
|
||||||
this._mouseSprite = new Clutter.Texture();
|
this._mouseSprite = new Clutter.Texture();
|
||||||
xfixesCursor.update_texture_image(this._mouseSprite);
|
xfixesCursor.update_texture_image(this._mouseSprite);
|
||||||
this._cursorRoot = new Clutter.Actor();
|
this._cursorRoot = new Clutter.Actor();
|
||||||
@@ -83,7 +83,7 @@ const Magnifier = new Lang.Class({
|
|||||||
* Show the system mouse pointer.
|
* Show the system mouse pointer.
|
||||||
*/
|
*/
|
||||||
showSystemCursor: function() {
|
showSystemCursor: function() {
|
||||||
this._xfixesCursor.show();
|
global.stage.show_cursor();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,7 +91,7 @@ const Magnifier = new Lang.Class({
|
|||||||
* Hide the system mouse pointer.
|
* Hide the system mouse pointer.
|
||||||
*/
|
*/
|
||||||
hideSystemCursor: function() {
|
hideSystemCursor: function() {
|
||||||
this._xfixesCursor.hide();
|
global.stage.hide_cursor();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,7 +112,7 @@ const Magnifier = new Lang.Class({
|
|||||||
// Make sure system mouse pointer is shown when all zoom regions are
|
// Make sure system mouse pointer is shown when all zoom regions are
|
||||||
// invisible.
|
// invisible.
|
||||||
if (!activate)
|
if (!activate)
|
||||||
this._xfixesCursor.show();
|
global.stage.show_cursor();
|
||||||
|
|
||||||
// Notify interested parties of this change
|
// Notify interested parties of this change
|
||||||
this.emit('active-changed', activate);
|
this.emit('active-changed', activate);
|
||||||
|
@@ -2597,16 +2597,16 @@ const MessageTray = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_expandNotification: function(autoExpanding) {
|
_expandNotification: function(autoExpanding) {
|
||||||
|
// Don't focus notifications that are auto-expanding.
|
||||||
|
if (!autoExpanding)
|
||||||
|
this._ensureNotificationFocused();
|
||||||
|
|
||||||
if (!this._notificationExpandedId)
|
if (!this._notificationExpandedId)
|
||||||
this._notificationExpandedId =
|
this._notificationExpandedId =
|
||||||
this._notification.connect('expanded',
|
this._notification.connect('expanded',
|
||||||
Lang.bind(this, this._onNotificationExpanded));
|
Lang.bind(this, this._onNotificationExpanded));
|
||||||
// Don't animate changes in notifications that are auto-expanding.
|
// Don't animate changes in notifications that are auto-expanding.
|
||||||
this._notification.expand(!autoExpanding);
|
this._notification.expand(!autoExpanding);
|
||||||
|
|
||||||
// Don't focus notifications that are auto-expanding.
|
|
||||||
if (!autoExpanding)
|
|
||||||
this._ensureNotificationFocused();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onNotificationExpanded: function() {
|
_onNotificationExpanded: function() {
|
||||||
|
@@ -14,7 +14,6 @@ const Atk = imports.gi.Atk;
|
|||||||
|
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
|
|
||||||
const Animation = imports.ui.animation;
|
|
||||||
const Layout = imports.ui.layout;
|
const Layout = imports.ui.layout;
|
||||||
const Lightbox = imports.ui.lightbox;
|
const Lightbox = imports.ui.lightbox;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -188,8 +187,10 @@ const ModalDialog = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
placeSpinner: function(layoutInfo) {
|
placeSpinner: function(layoutInfo) {
|
||||||
|
/* This is here because of recursive imports */
|
||||||
|
const Panel = imports.ui.panel;
|
||||||
let spinnerIcon = global.datadir + '/theme/process-working.svg';
|
let spinnerIcon = global.datadir + '/theme/process-working.svg';
|
||||||
this._workSpinner = new Animation.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
|
this._workSpinner = new Panel.AnimatedIcon(spinnerIcon, WORK_SPINNER_ICON_SIZE);
|
||||||
this._workSpinner.actor.opacity = 0;
|
this._workSpinner.actor.opacity = 0;
|
||||||
this._workSpinner.actor.show();
|
this._workSpinner.actor.show();
|
||||||
|
|
||||||
|
@@ -158,26 +158,23 @@ const OsdWindow = new Lang.Class({
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Mainloop.source_remove(this._hideTimeoutId);
|
Mainloop.source_remove(this._hideTimeoutId);
|
||||||
|
this._hideTimeoutId = 0;
|
||||||
this._hide();
|
this._hide();
|
||||||
},
|
},
|
||||||
|
|
||||||
_hide: function() {
|
_hide: function() {
|
||||||
this._hideTimeoutId = 0;
|
|
||||||
Tweener.addTween(this.actor,
|
Tweener.addTween(this.actor,
|
||||||
{ opacity: 0,
|
{ opacity: 0,
|
||||||
time: FADE_TIME,
|
time: FADE_TIME,
|
||||||
transition: 'easeOutQuad',
|
transition: 'easeOutQuad',
|
||||||
onComplete: Lang.bind(this, function() {
|
onComplete: Lang.bind(this, this._reset) });
|
||||||
this._reset();
|
|
||||||
Meta.enable_unredirect_for_screen(global.screen);
|
|
||||||
})
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_reset: function() {
|
_reset: function() {
|
||||||
this.actor.hide();
|
this.actor.hide();
|
||||||
this.setLabel(null);
|
this.setLabel(null);
|
||||||
this.setLevel(null);
|
this.setLevel(null);
|
||||||
|
Meta.enable_unredirect_for_screen(global.screen);
|
||||||
},
|
},
|
||||||
|
|
||||||
_monitorsChanged: function() {
|
_monitorsChanged: function() {
|
||||||
|
@@ -15,7 +15,6 @@ const Signals = imports.signals;
|
|||||||
const Atk = imports.gi.Atk;
|
const Atk = imports.gi.Atk;
|
||||||
|
|
||||||
|
|
||||||
const Animation = imports.ui.animation;
|
|
||||||
const Config = imports.misc.config;
|
const Config = imports.misc.config;
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
@@ -30,6 +29,7 @@ const PANEL_ICON_SIZE = 24;
|
|||||||
|
|
||||||
const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
|
const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
|
||||||
|
|
||||||
|
const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
|
||||||
const SPINNER_ANIMATION_TIME = 0.2;
|
const SPINNER_ANIMATION_TIME = 0.2;
|
||||||
|
|
||||||
// To make sure the panel corners blend nicely with the panel,
|
// To make sure the panel corners blend nicely with the panel,
|
||||||
@@ -75,6 +75,81 @@ function _unpremultiply(color) {
|
|||||||
blue: blue, alpha: color.alpha });
|
blue: blue, alpha: color.alpha });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const Animation = new Lang.Class({
|
||||||
|
Name: 'Animation',
|
||||||
|
|
||||||
|
_init: function(filename, width, height, speed) {
|
||||||
|
this.actor = new St.Bin();
|
||||||
|
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||||
|
this._speed = speed;
|
||||||
|
|
||||||
|
this._isLoaded = false;
|
||||||
|
this._isPlaying = false;
|
||||||
|
this._timeoutId = 0;
|
||||||
|
this._frame = 0;
|
||||||
|
this._animations = St.TextureCache.get_default().load_sliced_image (filename, width, height,
|
||||||
|
Lang.bind(this, this._animationsLoaded));
|
||||||
|
this.actor.set_child(this._animations);
|
||||||
|
},
|
||||||
|
|
||||||
|
play: function() {
|
||||||
|
if (this._isLoaded && this._timeoutId == 0) {
|
||||||
|
if (this._frame == 0)
|
||||||
|
this._showFrame(0);
|
||||||
|
|
||||||
|
this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
|
||||||
|
}
|
||||||
|
|
||||||
|
this._isPlaying = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
stop: function() {
|
||||||
|
if (this._timeoutId > 0) {
|
||||||
|
Mainloop.source_remove(this._timeoutId);
|
||||||
|
this._timeoutId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._isPlaying = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
_showFrame: function(frame) {
|
||||||
|
let oldFrameActor = this._animations.get_child_at_index(this._frame);
|
||||||
|
if (oldFrameActor)
|
||||||
|
oldFrameActor.hide();
|
||||||
|
|
||||||
|
this._frame = (frame % this._animations.get_n_children());
|
||||||
|
|
||||||
|
let newFrameActor = this._animations.get_child_at_index(this._frame);
|
||||||
|
if (newFrameActor)
|
||||||
|
newFrameActor.show();
|
||||||
|
},
|
||||||
|
|
||||||
|
_update: function() {
|
||||||
|
this._showFrame(this._frame + 1);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
_animationsLoaded: function() {
|
||||||
|
this._isLoaded = true;
|
||||||
|
|
||||||
|
if (this._isPlaying)
|
||||||
|
this.play();
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDestroy: function() {
|
||||||
|
this.stop();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const AnimatedIcon = new Lang.Class({
|
||||||
|
Name: 'AnimatedIcon',
|
||||||
|
Extends: Animation,
|
||||||
|
|
||||||
|
_init: function(filename, size) {
|
||||||
|
this.parent(filename, size, size, ANIMATED_ICON_UPDATE_TIMEOUT);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const TextShadower = new Lang.Class({
|
const TextShadower = new Lang.Class({
|
||||||
Name: 'TextShadower',
|
Name: 'TextShadower',
|
||||||
|
|
||||||
@@ -285,7 +360,7 @@ const AppMenuButton = new Lang.Class({
|
|||||||
if (!success || this._spinnerIcon == icon)
|
if (!success || this._spinnerIcon == icon)
|
||||||
return;
|
return;
|
||||||
this._spinnerIcon = icon;
|
this._spinnerIcon = icon;
|
||||||
this._spinner = new Animation.AnimatedIcon(this._spinnerIcon, PANEL_ICON_SIZE);
|
this._spinner = new AnimatedIcon(this._spinnerIcon, PANEL_ICON_SIZE);
|
||||||
this._container.add_actor(this._spinner.actor);
|
this._container.add_actor(this._spinner.actor);
|
||||||
this._spinner.actor.hide();
|
this._spinner.actor.hide();
|
||||||
this._spinner.actor.lower_bottom();
|
this._spinner.actor.lower_bottom();
|
||||||
|
@@ -527,10 +527,6 @@ const PopupSliderMenuItem = new Lang.Class({
|
|||||||
|
|
||||||
get value() {
|
get value() {
|
||||||
return this._slider.value;
|
return this._slider.value;
|
||||||
},
|
|
||||||
|
|
||||||
scroll: function (event) {
|
|
||||||
this._slider.scroll(event);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -720,8 +720,6 @@ const ScreenShield = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_onDragEnd: function(action, actor, eventX, eventY, modifiers) {
|
_onDragEnd: function(action, actor, eventX, eventY, modifiers) {
|
||||||
if (this._lockScreenState != MessageTray.State.HIDING)
|
|
||||||
return;
|
|
||||||
if (this._lockScreenGroup.y < -(ARROW_DRAG_THRESHOLD * global.stage.height)) {
|
if (this._lockScreenGroup.y < -(ARROW_DRAG_THRESHOLD * global.stage.height)) {
|
||||||
// Complete motion automatically
|
// Complete motion automatically
|
||||||
let [velocity, velocityX, velocityY] = this._dragAction.get_velocity(0);
|
let [velocity, velocityX, velocityY] = this._dragAction.get_velocity(0);
|
||||||
|
@@ -48,10 +48,10 @@ const Slider = new Lang.Class({
|
|||||||
let [hasHandleColor, handleBorderColor] =
|
let [hasHandleColor, handleBorderColor] =
|
||||||
themeNode.lookup_color('-slider-handle-border-color', false);
|
themeNode.lookup_color('-slider-handle-border-color', false);
|
||||||
|
|
||||||
|
let sliderWidth = width - 2 * handleRadius;
|
||||||
let sliderHeight = themeNode.get_length('-slider-height');
|
let sliderHeight = themeNode.get_length('-slider-height');
|
||||||
|
|
||||||
let sliderBorderWidth = themeNode.get_length('-slider-border-width');
|
let sliderBorderWidth = themeNode.get_length('-slider-border-width');
|
||||||
let sliderBorderRadius = Math.min(width, sliderHeight) / 2;
|
|
||||||
|
|
||||||
let sliderBorderColor = themeNode.get_color('-slider-border-color');
|
let sliderBorderColor = themeNode.get_color('-slider-border-color');
|
||||||
let sliderColor = themeNode.get_color('-slider-background-color');
|
let sliderColor = themeNode.get_color('-slider-background-color');
|
||||||
@@ -59,40 +59,55 @@ const Slider = new Lang.Class({
|
|||||||
let sliderActiveBorderColor = themeNode.get_color('-slider-active-border-color');
|
let sliderActiveBorderColor = themeNode.get_color('-slider-active-border-color');
|
||||||
let sliderActiveColor = themeNode.get_color('-slider-active-background-color');
|
let sliderActiveColor = themeNode.get_color('-slider-active-background-color');
|
||||||
|
|
||||||
const TAU = Math.PI * 2;
|
cr.setSourceRGBA (
|
||||||
|
sliderActiveColor.red / 255,
|
||||||
let handleX = handleRadius + (width - 2 * handleRadius) * this._value;
|
sliderActiveColor.green / 255,
|
||||||
|
sliderActiveColor.blue / 255,
|
||||||
cr.arc(sliderBorderRadius + sliderBorderWidth, height / 2, sliderBorderRadius, TAU * 1/4, TAU * 3/4);
|
sliderActiveColor.alpha / 255);
|
||||||
cr.lineTo(handleX, (height - sliderHeight) / 2);
|
cr.rectangle(handleRadius, (height - sliderHeight) / 2, sliderWidth * this._value, sliderHeight);
|
||||||
cr.lineTo(handleX, (height + sliderHeight) / 2);
|
|
||||||
cr.lineTo(sliderBorderRadius + sliderBorderWidth, (height + sliderHeight) / 2);
|
|
||||||
Clutter.cairo_set_source_color(cr, sliderActiveColor);
|
|
||||||
cr.fillPreserve();
|
cr.fillPreserve();
|
||||||
Clutter.cairo_set_source_color(cr, sliderActiveBorderColor);
|
cr.setSourceRGBA (
|
||||||
|
sliderActiveBorderColor.red / 255,
|
||||||
|
sliderActiveBorderColor.green / 255,
|
||||||
|
sliderActiveBorderColor.blue / 255,
|
||||||
|
sliderActiveBorderColor.alpha / 255);
|
||||||
cr.setLineWidth(sliderBorderWidth);
|
cr.setLineWidth(sliderBorderWidth);
|
||||||
cr.stroke();
|
cr.stroke();
|
||||||
|
|
||||||
cr.arc(width - sliderBorderRadius - sliderBorderWidth, height / 2, sliderBorderRadius, TAU * 3/4, TAU * 1/4);
|
cr.setSourceRGBA (
|
||||||
cr.lineTo(handleX, (height + sliderHeight) / 2);
|
sliderColor.red / 255,
|
||||||
cr.lineTo(handleX, (height - sliderHeight) / 2);
|
sliderColor.green / 255,
|
||||||
cr.lineTo(width - sliderBorderRadius - sliderBorderWidth, (height - sliderHeight) / 2);
|
sliderColor.blue / 255,
|
||||||
Clutter.cairo_set_source_color(cr, sliderColor);
|
sliderColor.alpha / 255);
|
||||||
|
cr.rectangle(handleRadius + sliderWidth * this._value, (height - sliderHeight) / 2, sliderWidth * (1 - this._value), sliderHeight);
|
||||||
cr.fillPreserve();
|
cr.fillPreserve();
|
||||||
Clutter.cairo_set_source_color(cr, sliderBorderColor);
|
cr.setSourceRGBA (
|
||||||
|
sliderBorderColor.red / 255,
|
||||||
|
sliderBorderColor.green / 255,
|
||||||
|
sliderBorderColor.blue / 255,
|
||||||
|
sliderBorderColor.alpha / 255);
|
||||||
cr.setLineWidth(sliderBorderWidth);
|
cr.setLineWidth(sliderBorderWidth);
|
||||||
cr.stroke();
|
cr.stroke();
|
||||||
|
|
||||||
let handleY = height / 2;
|
let handleY = height / 2;
|
||||||
|
let handleX = handleRadius + (width - 2 * handleRadius) * this._value;
|
||||||
|
|
||||||
let color = themeNode.get_foreground_color();
|
let color = themeNode.get_foreground_color();
|
||||||
Clutter.cairo_set_source_color(cr, color);
|
cr.setSourceRGBA (
|
||||||
|
color.red / 255,
|
||||||
|
color.green / 255,
|
||||||
|
color.blue / 255,
|
||||||
|
color.alpha / 255);
|
||||||
cr.arc(handleX, handleY, handleRadius, 0, 2 * Math.PI);
|
cr.arc(handleX, handleY, handleRadius, 0, 2 * Math.PI);
|
||||||
cr.fillPreserve();
|
cr.fillPreserve();
|
||||||
if (hasHandleColor && handleBorderWidth) {
|
if (hasHandleColor && handleBorderWidth) {
|
||||||
Clutter.cairo_set_source_color(cr, handleBorderColor);
|
cr.setSourceRGBA(
|
||||||
cr.setLineWidth(handleBorderWidth);
|
handleBorderColor.red / 255,
|
||||||
cr.stroke();
|
handleBorderColor.green / 255,
|
||||||
|
handleBorderColor.blue / 255,
|
||||||
|
handleBorderColor.alpha / 255);
|
||||||
|
cr.setLineWidth(handleBorderWidth);
|
||||||
|
cr.stroke();
|
||||||
}
|
}
|
||||||
cr.$dispose();
|
cr.$dispose();
|
||||||
},
|
},
|
||||||
|
@@ -479,10 +479,6 @@ const WindowManager = new Lang.Class({
|
|||||||
false, -1, 1);
|
false, -1, 1);
|
||||||
},
|
},
|
||||||
|
|
||||||
keepWorkspaceAlive: function(workspace, duration) {
|
|
||||||
this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
|
|
||||||
},
|
|
||||||
|
|
||||||
setCustomKeybindingHandler: function(name, modes, handler) {
|
setCustomKeybindingHandler: function(name, modes, handler) {
|
||||||
if (Meta.keybindings_set_custom_handler(name, handler))
|
if (Meta.keybindings_set_custom_handler(name, handler))
|
||||||
this.allowKeybinding(name, modes);
|
this.allowKeybinding(name, modes);
|
||||||
|
@@ -127,7 +127,7 @@ const WindowClone = new Lang.Class({
|
|||||||
if (this._stackAbove == null)
|
if (this._stackAbove == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
if (this.inDrag) {
|
if (this.inDrag || this._zooming) {
|
||||||
if (this._stackAbove._delegate)
|
if (this._stackAbove._delegate)
|
||||||
return this._stackAbove._delegate.getActualStackAbove();
|
return this._stackAbove._delegate.getActualStackAbove();
|
||||||
else
|
else
|
||||||
@@ -997,7 +997,7 @@ const Workspace = new Lang.Class({
|
|||||||
|
|
||||||
this._dropRect.set_position(geom.x, geom.y);
|
this._dropRect.set_position(geom.x, geom.y);
|
||||||
this._dropRect.set_size(geom.width, geom.height);
|
this._dropRect.set_size(geom.width, geom.height);
|
||||||
this._updateWindowPositions(Main.overview.animationInProgress ? WindowPositionFlags.ANIMATE : WindowPositionFlags.NONE);
|
this._updateWindowPositions(WindowPositionFlags.NONE);
|
||||||
|
|
||||||
this._actualGeometryLater = 0;
|
this._actualGeometryLater = 0;
|
||||||
return false;
|
return false;
|
||||||
|
@@ -764,8 +764,8 @@ const ThumbnailsBox = new Lang.Class({
|
|||||||
// to open its first window within some time, as tracked by Shell.WindowTracker.
|
// to open its first window within some time, as tracked by Shell.WindowTracker.
|
||||||
// Here, we only add a very brief timeout to avoid the _immediate_ removal of the
|
// Here, we only add a very brief timeout to avoid the _immediate_ removal of the
|
||||||
// workspace while we wait for the startup sequence to load.
|
// workspace while we wait for the startup sequence to load.
|
||||||
Main.wm.keepWorkspaceAlive(global.screen.get_workspace_by_index(newWorkspaceIndex),
|
Main.keepWorkspaceAlive(global.screen.get_workspace_by_index(newWorkspaceIndex),
|
||||||
WORKSPACE_KEEP_ALIVE_TIME);
|
WORKSPACE_KEEP_ALIVE_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start the animation on the workspace (which is actually
|
// Start the animation on the workspace (which is actually
|
||||||
|
352
po/cs.po
352
po/cs.po
@@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2013-06-27 11:02+0000\n"
|
"POT-Creation-Date: 2013-05-28 07:17+0000\n"
|
||||||
"PO-Revision-Date: 2013-06-28 18:32+0200\n"
|
"PO-Revision-Date: 2013-05-29 12:26+0200\n"
|
||||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
@@ -333,8 +333,7 @@ msgid ""
|
|||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||||
"GNOME Shell."
|
"GNOME Shell."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Když běží GNOME Shell, tento klíč přepíše klíč v org.gnome.desktop.wm."
|
"Když běží GNOME Shell, tento klíč přepíše klíč v org.gnome.desktop.wm.preferences"
|
||||||
"preferences"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:46
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:46
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
@@ -363,41 +362,37 @@ msgid "Select an extension to configure using the combobox above."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit."
|
"Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit."
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:308
|
#: ../js/gdm/loginDialog.js:371
|
||||||
msgid "Choose Session"
|
msgid "Session…"
|
||||||
msgstr "Vybrat sezení"
|
msgstr "Sezení…"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:326
|
|
||||||
msgid "Session"
|
|
||||||
msgstr "Sezení"
|
|
||||||
|
|
||||||
#. translators: this message is shown below the user list on the
|
#. translators: this message is shown below the user list on the
|
||||||
#. login screen. It can be activated to reveal an entry for
|
#. login screen. It can be activated to reveal an entry for
|
||||||
#. manually entering the username.
|
#. manually entering the username.
|
||||||
#: ../js/gdm/loginDialog.js:528
|
#: ../js/gdm/loginDialog.js:601
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Nejste na seznamu?"
|
msgstr "Nejste na seznamu?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:810 ../js/ui/components/networkAgent.js:137
|
#: ../js/gdm/loginDialog.js:776 ../js/ui/components/networkAgent.js:137
|
||||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/bluetooth.js:449 ../js/ui/unlockDialog.js:95
|
#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:96
|
||||||
#: ../js/ui/userMenu.js:884
|
#: ../js/ui/userMenu.js:938
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Zrušit"
|
msgstr "Zrušit"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:833
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Přihlásit se"
|
msgstr "Přihlásit se"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:833
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Následující"
|
msgstr "Následující"
|
||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:934
|
#: ../js/gdm/loginDialog.js:888
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(např. uživatel nebo %s)"
|
msgstr "(např. uživatel nebo %s)"
|
||||||
@@ -405,12 +400,12 @@ msgstr "(např. uživatel nebo %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:938 ../js/ui/components/networkAgent.js:260
|
#: ../js/gdm/loginDialog.js:892 ../js/ui/components/networkAgent.js:260
|
||||||
#: ../js/ui/components/networkAgent.js:278
|
#: ../js/ui/components/networkAgent.js:278
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Uživatelské jméno: "
|
msgstr "Uživatelské jméno: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1205
|
#: ../js/gdm/loginDialog.js:1158
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Přihlašovací okno"
|
msgstr "Přihlašovací okno"
|
||||||
|
|
||||||
@@ -419,8 +414,8 @@ msgstr "Přihlašovací okno"
|
|||||||
msgid "Power"
|
msgid "Power"
|
||||||
msgstr "Vypnout"
|
msgstr "Vypnout"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:651 ../js/ui/userMenu.js:655
|
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700
|
||||||
#: ../js/ui/userMenu.js:768
|
#: ../js/ui/userMenu.js:816
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Uspat do paměti"
|
msgstr "Uspat do paměti"
|
||||||
|
|
||||||
@@ -428,18 +423,18 @@ msgstr "Uspat do paměti"
|
|||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "Restartovat"
|
msgstr "Restartovat"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:653
|
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698
|
||||||
#: ../js/ui/userMenu.js:655 ../js/ui/userMenu.js:767 ../js/ui/userMenu.js:888
|
#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Vypnout"
|
msgstr "Vypnout"
|
||||||
|
|
||||||
#: ../js/gdm/util.js:248
|
#: ../js/gdm/util.js:247
|
||||||
msgid "Authentication error"
|
msgid "Authentication error"
|
||||||
msgstr "Chyba ověření"
|
msgstr "Chyba ověření"
|
||||||
|
|
||||||
#. Translators: this message is shown below the password entry field
|
#. Translators: this message is shown below the password entry field
|
||||||
#. to indicate the user can swipe their finger instead
|
#. to indicate the user can swipe their finger instead
|
||||||
#: ../js/gdm/util.js:365
|
#: ../js/gdm/util.js:364
|
||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(nebo otiskněte prst)"
|
msgstr "(nebo otiskněte prst)"
|
||||||
|
|
||||||
@@ -458,23 +453,23 @@ msgstr "Nelze analyzovat příkaz:"
|
|||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Vykonání „%s“ selhalo:"
|
msgstr "Vykonání „%s“ selhalo:"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:397
|
#: ../js/ui/appDisplay.js:361
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Časté"
|
msgstr "Časté"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:404
|
#: ../js/ui/appDisplay.js:368
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Všechny"
|
msgstr "Všechny"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:996
|
#: ../js/ui/appDisplay.js:960
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nové okno"
|
msgstr "Nové okno"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:999 ../js/ui/dash.js:284
|
#: ../js/ui/appDisplay.js:963 ../js/ui/dash.js:284
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Odstranit z oblíbených"
|
msgstr "Odstranit z oblíbených"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:1000
|
#: ../js/ui/appDisplay.js:964
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Přidat mezi oblíbené"
|
msgstr "Přidat mezi oblíbené"
|
||||||
|
|
||||||
@@ -488,7 +483,7 @@ msgstr "%s byl přidán mezi oblíbené."
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s byl odstraněn z oblíbených."
|
msgstr "%s byl odstraněn z oblíbených."
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:744
|
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Nastavení"
|
msgstr "Nastavení"
|
||||||
|
|
||||||
@@ -613,35 +608,35 @@ msgid "S"
|
|||||||
msgstr "So"
|
msgstr "So"
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
#. Translators: Text to show if there are no events
|
||||||
#: ../js/ui/calendar.js:750
|
#: ../js/ui/calendar.js:735
|
||||||
msgid "Nothing Scheduled"
|
msgid "Nothing Scheduled"
|
||||||
msgstr "Nic nenaplánováno"
|
msgstr "Nic nenaplánováno"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:768
|
#: ../js/ui/calendar.js:751
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %e. %B"
|
msgstr "%A, %e. %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:771
|
#: ../js/ui/calendar.js:754
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %e. %B %Y"
|
msgstr "%A, %e. %B %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:782
|
#: ../js/ui/calendar.js:764
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Dnes"
|
msgstr "Dnes"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:786
|
#: ../js/ui/calendar.js:768
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "Zítra"
|
msgstr "Zítra"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:797
|
#: ../js/ui/calendar.js:779
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr "Tento týden"
|
msgstr "Tento týden"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:805
|
#: ../js/ui/calendar.js:787
|
||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "Následující týden"
|
msgstr "Následující týden"
|
||||||
|
|
||||||
@@ -830,14 +825,14 @@ msgstr "<b>%d.</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
|
|||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name.
|
#. IM name.
|
||||||
#: ../js/ui/components/telepathyClient.js:986
|
#: ../js/ui/components/telepathyClient.js:985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s je teď znám jako %s"
|
msgstr "%s je teď znám jako %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example.
|
#. * room@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1089
|
#: ../js/ui/components/telepathyClient.js:1088
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Pozvánka na připojení k %s"
|
msgstr "Pozvánka na připojení k %s"
|
||||||
@@ -845,38 +840,38 @@ msgstr "Pozvánka na připojení k %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example.
|
#. * for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1097
|
#: ../js/ui/components/telepathyClient.js:1096
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s vás zve do %s"
|
msgstr "%s vás zve do %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1099
|
#: ../js/ui/components/telepathyClient.js:1098
|
||||||
#: ../js/ui/components/telepathyClient.js:1138
|
#: ../js/ui/components/telepathyClient.js:1137
|
||||||
#: ../js/ui/components/telepathyClient.js:1178
|
#: ../js/ui/components/telepathyClient.js:1177
|
||||||
#: ../js/ui/components/telepathyClient.js:1241
|
#: ../js/ui/components/telepathyClient.js:1240
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Odmítnout"
|
msgstr "Odmítnout"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1100
|
#: ../js/ui/components/telepathyClient.js:1099
|
||||||
#: ../js/ui/components/telepathyClient.js:1179
|
#: ../js/ui/components/telepathyClient.js:1178
|
||||||
#: ../js/ui/components/telepathyClient.js:1242
|
#: ../js/ui/components/telepathyClient.js:1241
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Přijmout"
|
msgstr "Přijmout"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1130
|
#: ../js/ui/components/telepathyClient.js:1129
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Videohovor od %s"
|
msgstr "Videohovor od %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1133
|
#: ../js/ui/components/telepathyClient.js:1132
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Hovor od %s"
|
msgstr "Hovor od %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun
|
#. translators: this is a button label (verb), not a noun
|
||||||
#: ../js/ui/components/telepathyClient.js:1140
|
#: ../js/ui/components/telepathyClient.js:1139
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Zvednout"
|
msgstr "Zvednout"
|
||||||
|
|
||||||
@@ -885,110 +880,110 @@ msgstr "Zvednout"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/components/telepathyClient.js:1172
|
#: ../js/ui/components/telepathyClient.js:1171
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s vám posílá %s"
|
msgstr "%s vám posílá %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias
|
#. To translators: The parameter is the contact's alias
|
||||||
#: ../js/ui/components/telepathyClient.js:1207
|
#: ../js/ui/components/telepathyClient.js:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s vás žádá o oprávnění vidět, že jste dostupní"
|
msgstr "%s vás žádá o oprávnění vidět, že jste dostupní"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1299
|
#: ../js/ui/components/telepathyClient.js:1298
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Chyba sítě"
|
msgstr "Chyba sítě"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1301
|
#: ../js/ui/components/telepathyClient.js:1300
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Ověření selhalo"
|
msgstr "Ověření selhalo"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1303
|
#: ../js/ui/components/telepathyClient.js:1302
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Chyba šifrování"
|
msgstr "Chyba šifrování"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1305
|
#: ../js/ui/components/telepathyClient.js:1304
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Certifikát neposkytnut"
|
msgstr "Certifikát neposkytnut"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1307
|
#: ../js/ui/components/telepathyClient.js:1306
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "Nedůvěryhodný certifikát"
|
msgstr "Nedůvěryhodný certifikát"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1309
|
#: ../js/ui/components/telepathyClient.js:1308
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Platnost certifikátu vypršela"
|
msgstr "Platnost certifikátu vypršela"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1311
|
#: ../js/ui/components/telepathyClient.js:1310
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Certifikát není aktivován"
|
msgstr "Certifikát není aktivován"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1313
|
#: ../js/ui/components/telepathyClient.js:1312
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "Název počítače certifikátu nesouhlasí"
|
msgstr "Název počítače certifikátu nesouhlasí"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1315
|
#: ../js/ui/components/telepathyClient.js:1314
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "Otisk prstu certifikátu nesouhlasí"
|
msgstr "Otisk prstu certifikátu nesouhlasí"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1317
|
#: ../js/ui/components/telepathyClient.js:1316
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Certifikát je podepsán sám sebou"
|
msgstr "Certifikát je podepsán sám sebou"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1319
|
#: ../js/ui/components/telepathyClient.js:1318
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "Stav nastaven na „Odhlášen“"
|
msgstr "Stav nastaven na „Odhlášen“"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1321
|
#: ../js/ui/components/telepathyClient.js:1320
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "Šifrování není dostupné"
|
msgstr "Šifrování není dostupné"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1323
|
#: ../js/ui/components/telepathyClient.js:1322
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "Certifikát je neplatný"
|
msgstr "Certifikát je neplatný"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1325
|
#: ../js/ui/components/telepathyClient.js:1324
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Spojení bylo odmítnuto"
|
msgstr "Spojení bylo odmítnuto"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1327
|
#: ../js/ui/components/telepathyClient.js:1326
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "Spojení nemohlo bát navázáno"
|
msgstr "Spojení nemohlo bát navázáno"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1329
|
#: ../js/ui/components/telepathyClient.js:1328
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Spojení bylo ztraceno"
|
msgstr "Spojení bylo ztraceno"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1331
|
#: ../js/ui/components/telepathyClient.js:1330
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Tento účet je již připojen k serveru"
|
msgstr "Tento účet je již připojen k serveru"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1333
|
#: ../js/ui/components/telepathyClient.js:1332
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr "Spojení bylo nahrazeno novým spojením, které používá stejný zdroj"
|
msgstr "Spojení bylo nahrazeno novým spojením, které používá stejný zdroj"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1335
|
#: ../js/ui/components/telepathyClient.js:1334
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "Takový účet již na serveru existuje"
|
msgstr "Takový účet již na serveru existuje"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1337
|
#: ../js/ui/components/telepathyClient.js:1336
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr "Server je právě příliš zaneprázdněn na to, aby obsloužil spojení"
|
msgstr "Server je právě příliš zaneprázdněn na to, aby obsloužil spojení"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1339
|
#: ../js/ui/components/telepathyClient.js:1338
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Certifikát byl odvolán"
|
msgstr "Certifikát byl odvolán"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1341
|
#: ../js/ui/components/telepathyClient.js:1340
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z "
|
"Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z "
|
||||||
"kryptografického hlediska slabý"
|
"kryptografického hlediska slabý"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1343
|
#: ../js/ui/components/telepathyClient.js:1342
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -996,22 +991,22 @@ msgstr ""
|
|||||||
"Délka certifikátu serveru nebo délka zřetězených certifikátů serveru "
|
"Délka certifikátu serveru nebo délka zřetězených certifikátů serveru "
|
||||||
"přesáhla omezení dané kryptografickou knihovnou"
|
"přesáhla omezení dané kryptografickou knihovnou"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1345
|
#: ../js/ui/components/telepathyClient.js:1344
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Vnitřní chyba"
|
msgstr "Vnitřní chyba"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example.
|
#. * name@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1355
|
#: ../js/ui/components/telepathyClient.js:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "Nelze se připojit k „%s“"
|
msgstr "Nelze se připojit k „%s“"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Zobrazit účet"
|
msgstr "Zobrazit účet"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1399
|
#: ../js/ui/components/telepathyClient.js:1398
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Neznámý důvod"
|
msgstr "Neznámý důvod"
|
||||||
|
|
||||||
@@ -1025,19 +1020,19 @@ msgstr "Zobrazit aplikace"
|
|||||||
|
|
||||||
#. Translators: this is the name of the dock/favorites area on
|
#. Translators: this is the name of the dock/favorites area on
|
||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/dash.js:439
|
#: ../js/ui/dash.js:435
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "Oblíbené"
|
msgstr "Oblíbené"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:85
|
#: ../js/ui/dateMenu.js:86
|
||||||
msgid "Open Calendar"
|
msgid "Open Calendar"
|
||||||
msgstr "Otevřít kalendář"
|
msgstr "Otevřít kalendář"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:89
|
#: ../js/ui/dateMenu.js:90
|
||||||
msgid "Open Clocks"
|
msgid "Open Clocks"
|
||||||
msgstr "Otevřít Hodiny"
|
msgstr "Otevřít Hodiny"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:96
|
#: ../js/ui/dateMenu.js:97
|
||||||
msgid "Date & Time Settings"
|
msgid "Date & Time Settings"
|
||||||
msgstr "Nastavení data a času"
|
msgstr "Nastavení data a času"
|
||||||
|
|
||||||
@@ -1045,7 +1040,7 @@ msgstr "Nastavení data a času"
|
|||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/dateMenu.js:201
|
#: ../js/ui/dateMenu.js:208
|
||||||
msgid "%A %B %e, %Y"
|
msgid "%A %B %e, %Y"
|
||||||
msgstr "%A, %e. %B, %Y"
|
msgstr "%A, %e. %B, %Y"
|
||||||
|
|
||||||
@@ -1220,15 +1215,15 @@ msgstr "Vymazat zprávy"
|
|||||||
msgid "Notification Settings"
|
msgid "Notification Settings"
|
||||||
msgstr "Nastavení upozornění"
|
msgstr "Nastavení upozornění"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1711
|
#: ../js/ui/messageTray.js:1707
|
||||||
msgid "No Messages"
|
msgid "No Messages"
|
||||||
msgstr "Žádné zprávy"
|
msgstr "Žádné zprávy"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1784
|
#: ../js/ui/messageTray.js:1780
|
||||||
msgid "Message Tray"
|
msgid "Message Tray"
|
||||||
msgstr "Lišta zpráv"
|
msgstr "Lišta zpráv"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2811
|
#: ../js/ui/messageTray.js:2805
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Informace o systému"
|
msgstr "Informace o systému"
|
||||||
|
|
||||||
@@ -1237,7 +1232,7 @@ msgctxt "program"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Neznámé"
|
msgstr "Neznámé"
|
||||||
|
|
||||||
#: ../js/ui/overviewControls.js:474 ../js/ui/screenShield.js:150
|
#: ../js/ui/overviewControls.js:472 ../js/ui/screenShield.js:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d new message"
|
msgid "%d new message"
|
||||||
msgid_plural "%d new messages"
|
msgid_plural "%d new messages"
|
||||||
@@ -1261,17 +1256,17 @@ msgstr "Přehled"
|
|||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Vyhledávejte psaním…"
|
msgstr "Vyhledávejte psaním…"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:567
|
#: ../js/ui/panel.js:642
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Ukončit"
|
msgstr "Ukončit"
|
||||||
|
|
||||||
#. Translators: If there is no suitable word for "Activities"
|
#. Translators: If there is no suitable word for "Activities"
|
||||||
#. in your language, you can use the word for "Overview".
|
#. in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:618
|
#: ../js/ui/panel.js:693
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Činnosti"
|
msgstr "Činnosti"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:914
|
#: ../js/ui/panel.js:989
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Horní lišta"
|
msgstr "Horní lišta"
|
||||||
|
|
||||||
@@ -1280,7 +1275,7 @@ msgstr "Horní lišta"
|
|||||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||||
#. switches containing "◯" and "|"). Other values will
|
#. switches containing "◯" and "|"). Other values will
|
||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: ../js/ui/popupMenu.js:549
|
#: ../js/ui/popupMenu.js:738
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1306,7 +1301,7 @@ msgstr[0] "%d nové upozornění"
|
|||||||
msgstr[1] "%d nová upozornění"
|
msgstr[1] "%d nová upozornění"
|
||||||
msgstr[2] "%d nových upozornění"
|
msgstr[2] "%d nových upozornění"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:759
|
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:807
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Uzamknout"
|
msgstr "Uzamknout"
|
||||||
|
|
||||||
@@ -1321,19 +1316,19 @@ msgstr "GNOME potřebuje uzamknout obrazovku"
|
|||||||
#.
|
#.
|
||||||
#. XXX: another option is to kick the user into the gdm login
|
#. XXX: another option is to kick the user into the gdm login
|
||||||
#. screen, where we're not affected by grabs
|
#. screen, where we're not affected by grabs
|
||||||
#: ../js/ui/screenShield.js:775 ../js/ui/screenShield.js:1215
|
#: ../js/ui/screenShield.js:773 ../js/ui/screenShield.js:1213
|
||||||
msgid "Unable to lock"
|
msgid "Unable to lock"
|
||||||
msgstr "Nelze uzamknout obrazovku"
|
msgstr "Nelze uzamknout obrazovku"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:776 ../js/ui/screenShield.js:1216
|
#: ../js/ui/screenShield.js:774 ../js/ui/screenShield.js:1214
|
||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Zamknutí bylo zablokováno některou z aplikací"
|
msgstr "Zamknutí bylo zablokováno některou z aplikací"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:445
|
#: ../js/ui/searchDisplay.js:453
|
||||||
msgid "Searching…"
|
msgid "Searching…"
|
||||||
msgstr "Hledá se…"
|
msgstr "Hledá se…"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:489
|
#: ../js/ui/searchDisplay.js:497
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Žádné výsledky."
|
msgstr "Žádné výsledky."
|
||||||
|
|
||||||
@@ -1361,7 +1356,7 @@ msgstr "Heslo"
|
|||||||
msgid "Remember Password"
|
msgid "Remember Password"
|
||||||
msgstr "Pamatovat si heslo"
|
msgstr "Pamatovat si heslo"
|
||||||
|
|
||||||
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:108
|
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:109
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Odemknout"
|
msgstr "Odemknout"
|
||||||
|
|
||||||
@@ -1414,9 +1409,9 @@ msgid "Large Text"
|
|||||||
msgstr "Styl velkého textu"
|
msgstr "Styl velkého textu"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
||||||
#: ../js/ui/status/bluetooth.js:290 ../js/ui/status/bluetooth.js:327
|
#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321
|
||||||
#: ../js/ui/status/bluetooth.js:355 ../js/ui/status/bluetooth.js:391
|
#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388
|
||||||
#: ../js/ui/status/bluetooth.js:422 ../js/ui/status/network.js:713
|
#: ../js/ui/status/network.js:739
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@@ -1437,106 +1432,97 @@ msgid "Bluetooth Settings"
|
|||||||
msgstr "Nastavit Bluetooth"
|
msgstr "Nastavit Bluetooth"
|
||||||
|
|
||||||
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
||||||
#: ../js/ui/status/bluetooth.js:105 ../js/ui/status/network.js:140
|
#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:142
|
||||||
msgid "hardware disabled"
|
msgid "hardware disabled"
|
||||||
msgstr "zařízení zakázáno"
|
msgstr "zařízení zakázáno"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:198
|
#: ../js/ui/status/bluetooth.js:197
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Připojení"
|
msgstr "Připojení"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:209 ../js/ui/status/network.js:399
|
#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:404
|
||||||
msgid "disconnecting..."
|
msgid "disconnecting..."
|
||||||
msgstr "odpojování…"
|
msgstr "odpojování…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:405
|
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:410
|
||||||
#: ../js/ui/status/network.js:1298
|
#: ../js/ui/status/network.js:1343
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "připojování…"
|
msgstr "připojování…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:240
|
#: ../js/ui/status/bluetooth.js:239
|
||||||
msgid "Send Files…"
|
msgid "Send Files…"
|
||||||
msgstr "Odeslat soubory…"
|
msgstr "Odeslat soubory…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:246
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Nastavení klávesnice"
|
msgstr "Nastavení klávesnice"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:250
|
#: ../js/ui/status/bluetooth.js:249
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Nastavení myši"
|
msgstr "Nastavení myši"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:255 ../js/ui/status/volume.js:313
|
#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Nastavení zvuku"
|
msgstr "Nastavení zvuku"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:328 ../js/ui/status/bluetooth.js:356
|
#: ../js/ui/status/bluetooth.js:322
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Požadavek na autorizaci od %s"
|
msgstr "Požadavek na autorizaci od %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:334 ../js/ui/status/bluetooth.js:399
|
#: ../js/ui/status/bluetooth.js:328
|
||||||
#: ../js/ui/status/bluetooth.js:430
|
|
||||||
#, c-format
|
|
||||||
msgid "Device %s wants to pair with this computer"
|
|
||||||
msgstr "Zařízení %s se chce spárovat s tímto počítačem"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:336
|
|
||||||
msgid "Allow"
|
|
||||||
msgstr "Povolit"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:337
|
|
||||||
msgid "Deny"
|
|
||||||
msgstr "Zamítnout"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:362
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Zařízení %s požaduje přístup ke službě „%s“"
|
msgstr "Zařízení %s požaduje přístup ke službě „%s“"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:364
|
#: ../js/ui/status/bluetooth.js:330
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Vždy udělovat přístup"
|
msgstr "Vždy udělovat přístup"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:365
|
#: ../js/ui/status/bluetooth.js:331
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Udělit pouze tentokrát"
|
msgstr "Udělit pouze tentokrát"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:366
|
#: ../js/ui/status/bluetooth.js:332
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Odmítnout"
|
msgstr "Odmítnout"
|
||||||
|
|
||||||
#. Translators: argument is the device short name
|
#. Translators: argument is the device short name
|
||||||
#: ../js/ui/status/bluetooth.js:393
|
#: ../js/ui/status/bluetooth.js:359
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Potvrzení spárování pro %s"
|
msgstr "Potvrzení spárování pro %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:400
|
#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396
|
||||||
|
#, c-format
|
||||||
|
msgid "Device %s wants to pair with this computer"
|
||||||
|
msgstr "Zařízení %s se chce spárovat s tímto počítačem"
|
||||||
|
|
||||||
|
#: ../js/ui/status/bluetooth.js:366
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||||
msgstr "Ověřte prosím, zda klíč „%06d“ odpovídá tomu na zařízení."
|
msgstr "Ověřte prosím, zda klíč „%06d“ odpovídá tomu na zařízení."
|
||||||
|
|
||||||
#. Translators: this is the verb, not the noun
|
#. Translators: this is the verb, not the noun
|
||||||
#: ../js/ui/status/bluetooth.js:403
|
#: ../js/ui/status/bluetooth.js:369
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Souhlasí"
|
msgstr "Souhlasí"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:404
|
#: ../js/ui/status/bluetooth.js:370
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Nesouhlasí"
|
msgstr "Nesouhlasí"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:423
|
#: ../js/ui/status/bluetooth.js:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Požadavek na spárování pro %s"
|
msgstr "Požadavek na spárování pro %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:431
|
#: ../js/ui/status/bluetooth.js:397
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Zadejte prosím PIN, který je uveden na zařízení."
|
msgstr "Zadejte prosím PIN, který je uveden na zařízení."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Budiž"
|
msgstr "Budiž"
|
||||||
|
|
||||||
@@ -1556,81 +1542,87 @@ msgstr "Hlasitost, síť, baterie"
|
|||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<neznámé>"
|
msgstr "<neznámé>"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:125
|
#: ../js/ui/status/network.js:127
|
||||||
msgid "Wi-Fi"
|
msgid "Wi-Fi"
|
||||||
msgstr "Wi-Fi"
|
msgstr "Wi-Fi"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:162
|
#: ../js/ui/status/network.js:164
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "zakázáno"
|
msgstr "zakázáno"
|
||||||
|
|
||||||
#. Translators: this is for network devices that are physically present but are not
|
#. 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)
|
#. under NetworkManager's control (and thus cannot be used in the menu)
|
||||||
#: ../js/ui/status/network.js:397
|
#: ../js/ui/status/network.js:402
|
||||||
msgid "unmanaged"
|
msgid "unmanaged"
|
||||||
msgstr "nespravováno"
|
msgstr "nespravováno"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1301
|
#: ../js/ui/status/network.js:413 ../js/ui/status/network.js:1346
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "je vyžadováno ověření"
|
msgstr "je vyžadováno ověření"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:419
|
#: ../js/ui/status/network.js:423
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "nedostupný firmware"
|
msgstr "nedostupný firmware"
|
||||||
|
|
||||||
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
|
#: ../js/ui/status/network.js:430
|
||||||
|
msgid "cable unplugged"
|
||||||
|
msgstr "kabel byl odpojen"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:423
|
#: ../js/ui/status/network.js:435
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "nedostupné"
|
msgstr "nedostupné"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1303
|
#: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1348
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "připojení selhalo"
|
msgstr "připojení selhalo"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478 ../js/ui/status/network.js:1190
|
#: ../js/ui/status/network.js:490 ../js/ui/status/network.js:1236
|
||||||
|
#: ../js/ui/status/network.js:1424
|
||||||
msgid "More…"
|
msgid "More…"
|
||||||
msgstr "Další…"
|
msgstr "Další…"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:506 ../js/ui/status/network.js:1142
|
#: ../js/ui/status/network.js:518 ../js/ui/status/network.js:1191
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Připojení (soukromé)"
|
msgstr "Připojení (soukromé)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:572
|
#: ../js/ui/status/network.js:597
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Drátová"
|
msgstr "Drátová"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:592
|
#: ../js/ui/status/network.js:611
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Mobilní širokopásmová"
|
msgstr "Mobilní širokopásmová"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1522
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Povolit síť"
|
msgstr "Povolit síť"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1522
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Nastavení sítě"
|
msgstr "Nastavení sítě"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1539
|
#: ../js/ui/status/network.js:1600
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Network Manager"
|
msgstr "Network Manager"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1623
|
#: ../js/ui/status/network.js:1690
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Připojení selhalo"
|
msgstr "Připojení selhalo"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1624
|
#: ../js/ui/status/network.js:1691
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktivace síťového připojení selhala"
|
msgstr "Aktivace síťového připojení selhala"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1937
|
#: ../js/ui/status/network.js:2047
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Síť je zakázána"
|
msgstr "Síť je zakázána"
|
||||||
|
|
||||||
@@ -1735,72 +1727,72 @@ msgctxt "device"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Neznámé"
|
msgstr "Neznámé"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:121
|
#: ../js/ui/status/volume.js:124
|
||||||
msgid "Volume changed"
|
msgid "Volume changed"
|
||||||
msgstr "Hlasitost změněna"
|
msgstr "Hlasitost změněna"
|
||||||
|
|
||||||
#. Translators: This is the label for audio volume
|
#. Translators: This is the label for audio volume
|
||||||
#: ../js/ui/status/volume.js:246 ../js/ui/status/volume.js:294
|
#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297
|
||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Hlasitost"
|
msgstr "Hlasitost"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:255
|
#: ../js/ui/status/volume.js:258
|
||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:119
|
#: ../js/ui/unlockDialog.js:120
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Přihlásit se jako jiný uživatel"
|
msgstr "Přihlásit se jako jiný uživatel"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:140
|
#: ../js/ui/unlockDialog.js:141
|
||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Odemykací okno"
|
msgstr "Odemykací okno"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:149
|
#: ../js/ui/userMenu.js:193
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "Přítomen"
|
msgstr "Přítomen"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:152
|
#: ../js/ui/userMenu.js:196
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Zaneprázdněn"
|
msgstr "Zaneprázdněn"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:155
|
#: ../js/ui/userMenu.js:199
|
||||||
msgid "Invisible"
|
msgid "Invisible"
|
||||||
msgstr "Neviditelný"
|
msgstr "Neviditelný"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:158
|
#: ../js/ui/userMenu.js:202
|
||||||
msgid "Away"
|
msgid "Away"
|
||||||
msgstr "Nepřítomen"
|
msgstr "Nepřítomen"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:161
|
#: ../js/ui/userMenu.js:205
|
||||||
msgid "Idle"
|
msgid "Idle"
|
||||||
msgstr "Nečinný"
|
msgstr "Nečinný"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:164
|
#: ../js/ui/userMenu.js:208
|
||||||
msgid "Offline"
|
msgid "Offline"
|
||||||
msgstr "Odpojen"
|
msgstr "Odpojen"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:736
|
#: ../js/ui/userMenu.js:781
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Upozornění"
|
msgstr "Upozornění"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:749
|
#: ../js/ui/userMenu.js:797
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Přepnout uživatele"
|
msgstr "Přepnout uživatele"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:754
|
#: ../js/ui/userMenu.js:802
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Odhlásit se"
|
msgstr "Odhlásit se"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:774
|
#: ../js/ui/userMenu.js:822
|
||||||
msgid "Install Updates & Restart"
|
msgid "Install Updates & Restart"
|
||||||
msgstr "Nainstalovat aktualizace a restartovat"
|
msgstr "Nainstalovat aktualizace a restartovat"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:792
|
#: ../js/ui/userMenu.js:840
|
||||||
msgid "Your chat status will be set to busy"
|
msgid "Your chat status will be set to busy"
|
||||||
msgstr "Váš stav v konverzacích byl nastaven na „Zaneprázdněn“"
|
msgstr "Váš stav v konverzacích byl nastaven na „Zaneprázdněn“"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:793
|
#: ../js/ui/userMenu.js:841
|
||||||
msgid ""
|
msgid ""
|
||||||
"Notifications are now disabled, including chat messages. Your online status "
|
"Notifications are now disabled, including chat messages. Your online status "
|
||||||
"has been adjusted to let others know that you might not see their messages."
|
"has been adjusted to let others know that you might not see their messages."
|
||||||
@@ -1808,22 +1800,22 @@ msgstr ""
|
|||||||
"Upozornění jsou nyní vypnuta, včetně zpráv v konverzacích. Váš stav on-line "
|
"Upozornění jsou nyní vypnuta, včetně zpráv v konverzacích. Váš stav on-line "
|
||||||
"byl změněn tak, aby ostatní věděli, že si jejich zprávy nemusíte přečíst."
|
"byl změněn tak, aby ostatní věděli, že si jejich zprávy nemusíte přečíst."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:834
|
#: ../js/ui/userMenu.js:888
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Jsou přihlášeni jiní uživatelé."
|
msgstr "Jsou přihlášeni jiní uživatelé."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:839
|
#: ../js/ui/userMenu.js:893
|
||||||
msgid "Shutting down might cause them to lose unsaved work."
|
msgid "Shutting down might cause them to lose unsaved work."
|
||||||
msgstr "Vypnutí by mohlo způsobit ztrátu jejich neuložené práce."
|
msgstr "Vypnutí by mohlo způsobit ztrátu jejich neuložené práce."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/userMenu.js:867
|
#: ../js/ui/userMenu.js:921
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (vzdálený)"
|
msgstr "%s (vzdálený)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/userMenu.js:870
|
#: ../js/ui/userMenu.js:924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (konzole)"
|
msgstr "%s (konzole)"
|
||||||
@@ -1883,19 +1875,19 @@ msgstr[2] "%u vstupů"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systémové zvuky"
|
msgstr "Systémové zvuky"
|
||||||
|
|
||||||
#: ../src/main.c:353
|
#: ../src/main.c:372
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Vypsat verzi"
|
msgstr "Vypsat verzi"
|
||||||
|
|
||||||
#: ../src/main.c:359
|
#: ../src/main.c:378
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
|
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
|
||||||
|
|
||||||
#: ../src/main.c:365
|
#: ../src/main.c:384
|
||||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||||
msgstr "Použít pro přihlašovací obrazovku určitý mód, např. „gdm“."
|
msgstr "Použít pro přihlašovací obrazovku určitý mód, např. „gdm“."
|
||||||
|
|
||||||
#: ../src/main.c:371
|
#: ../src/main.c:390
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Vypsat možné režimy"
|
msgstr "Vypsat možné režimy"
|
||||||
|
|
||||||
|
360
po/es.po
360
po/es.po
@@ -10,8 +10,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell.master\n"
|
"Project-Id-Version: gnome-shell.master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2013-06-26 18:42+0000\n"
|
"POT-Creation-Date: 2013-05-25 08:18+0000\n"
|
||||||
"PO-Revision-Date: 2013-06-27 12:33+0200\n"
|
"PO-Revision-Date: 2013-05-27 13:23+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -369,43 +369,37 @@ msgid "Select an extension to configure using the combobox above."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Seleccione una extensión que configurar usando la caja combinada de arriba."
|
"Seleccione una extensión que configurar usando la caja combinada de arriba."
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:302
|
#: ../js/gdm/loginDialog.js:371
|
||||||
#| msgid "Switch Session"
|
msgid "Session…"
|
||||||
msgid "Choose Session"
|
msgstr "Sesión…"
|
||||||
msgstr "Elegir sesión"
|
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:320
|
|
||||||
#| msgid "Session…"
|
|
||||||
msgid "Session"
|
|
||||||
msgstr "Sesión"
|
|
||||||
|
|
||||||
#. translators: this message is shown below the user list on the
|
#. translators: this message is shown below the user list on the
|
||||||
#. login screen. It can be activated to reveal an entry for
|
#. login screen. It can be activated to reveal an entry for
|
||||||
#. manually entering the username.
|
#. manually entering the username.
|
||||||
#: ../js/gdm/loginDialog.js:522
|
#: ../js/gdm/loginDialog.js:601
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "¿No está en la lista?"
|
msgstr "¿No está en la lista?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:739 ../js/ui/components/networkAgent.js:137
|
#: ../js/gdm/loginDialog.js:776 ../js/ui/components/networkAgent.js:137
|
||||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/bluetooth.js:449 ../js/ui/unlockDialog.js:95
|
#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:96
|
||||||
#: ../js/ui/userMenu.js:884
|
#: ../js/ui/userMenu.js:938
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:768
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Iniciar sesión"
|
msgstr "Iniciar sesión"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:768
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Siguiente"
|
msgstr "Siguiente"
|
||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:869
|
#: ../js/gdm/loginDialog.js:888
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(ej., usuario o %s)"
|
msgstr "(ej., usuario o %s)"
|
||||||
@@ -413,12 +407,12 @@ msgstr "(ej., usuario o %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:873 ../js/ui/components/networkAgent.js:260
|
#: ../js/gdm/loginDialog.js:892 ../js/ui/components/networkAgent.js:260
|
||||||
#: ../js/ui/components/networkAgent.js:278
|
#: ../js/ui/components/networkAgent.js:278
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Nombre de usuario:"
|
msgstr "Nombre de usuario:"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1140
|
#: ../js/gdm/loginDialog.js:1158
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Ventana de inicio de sesión"
|
msgstr "Ventana de inicio de sesión"
|
||||||
|
|
||||||
@@ -427,8 +421,8 @@ msgstr "Ventana de inicio de sesión"
|
|||||||
msgid "Power"
|
msgid "Power"
|
||||||
msgstr "Energía"
|
msgstr "Energía"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:651 ../js/ui/userMenu.js:655
|
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700
|
||||||
#: ../js/ui/userMenu.js:768
|
#: ../js/ui/userMenu.js:816
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Suspender"
|
msgstr "Suspender"
|
||||||
|
|
||||||
@@ -436,18 +430,18 @@ msgstr "Suspender"
|
|||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "Reiniciar"
|
msgstr "Reiniciar"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:653
|
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698
|
||||||
#: ../js/ui/userMenu.js:655 ../js/ui/userMenu.js:767 ../js/ui/userMenu.js:888
|
#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
#: ../js/gdm/util.js:248
|
#: ../js/gdm/util.js:247
|
||||||
msgid "Authentication error"
|
msgid "Authentication error"
|
||||||
msgstr "Error de autenticación"
|
msgstr "Error de autenticación"
|
||||||
|
|
||||||
#. Translators: this message is shown below the password entry field
|
#. Translators: this message is shown below the password entry field
|
||||||
#. to indicate the user can swipe their finger instead
|
#. to indicate the user can swipe their finger instead
|
||||||
#: ../js/gdm/util.js:365
|
#: ../js/gdm/util.js:364
|
||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(o pase el dedo)"
|
msgstr "(o pase el dedo)"
|
||||||
|
|
||||||
@@ -466,23 +460,23 @@ msgstr "No se pudo analizar el comando:"
|
|||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Falló la ejecución de «%s»:"
|
msgstr "Falló la ejecución de «%s»:"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:397
|
#: ../js/ui/appDisplay.js:361
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Frecuentes"
|
msgstr "Frecuentes"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:404
|
#: ../js/ui/appDisplay.js:368
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todas"
|
msgstr "Todas"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:996
|
#: ../js/ui/appDisplay.js:960
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Ventana nueva"
|
msgstr "Ventana nueva"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:999 ../js/ui/dash.js:284
|
#: ../js/ui/appDisplay.js:963 ../js/ui/dash.js:284
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Quitar de los favoritos"
|
msgstr "Quitar de los favoritos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:1000
|
#: ../js/ui/appDisplay.js:964
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Añadir a los favoritos"
|
msgstr "Añadir a los favoritos"
|
||||||
|
|
||||||
@@ -496,7 +490,7 @@ msgstr "Se ha añadido %s a sus favoritos."
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "Se ha quitado %s de sus favoritos."
|
msgstr "Se ha quitado %s de sus favoritos."
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:744
|
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Configuración"
|
msgstr "Configuración"
|
||||||
|
|
||||||
@@ -621,35 +615,35 @@ msgid "S"
|
|||||||
msgstr "S"
|
msgstr "S"
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
#. Translators: Text to show if there are no events
|
||||||
#: ../js/ui/calendar.js:750
|
#: ../js/ui/calendar.js:735
|
||||||
msgid "Nothing Scheduled"
|
msgid "Nothing Scheduled"
|
||||||
msgstr "Nada programado"
|
msgstr "Nada programado"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:768
|
#: ../js/ui/calendar.js:751
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d de %B"
|
msgstr "%A, %d de %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:771
|
#: ../js/ui/calendar.js:754
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d de %B de %Y"
|
msgstr "%A, %d de %B de %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:782
|
#: ../js/ui/calendar.js:764
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Hoy"
|
msgstr "Hoy"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:786
|
#: ../js/ui/calendar.js:768
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "Mañana"
|
msgstr "Mañana"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:797
|
#: ../js/ui/calendar.js:779
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr "Esta semana"
|
msgstr "Esta semana"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:805
|
#: ../js/ui/calendar.js:787
|
||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "La semana que viene"
|
msgstr "La semana que viene"
|
||||||
|
|
||||||
@@ -838,14 +832,14 @@ msgstr "<b>%d</b> de <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
|
|||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name.
|
#. IM name.
|
||||||
#: ../js/ui/components/telepathyClient.js:986
|
#: ../js/ui/components/telepathyClient.js:985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "Ahora %s se llama %s"
|
msgstr "Ahora %s se llama %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example.
|
#. * room@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1089
|
#: ../js/ui/components/telepathyClient.js:1088
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Invitación a %s"
|
msgstr "Invitación a %s"
|
||||||
@@ -853,38 +847,38 @@ msgstr "Invitación a %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example.
|
#. * for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1097
|
#: ../js/ui/components/telepathyClient.js:1096
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s le está invitando a unirse a %s"
|
msgstr "%s le está invitando a unirse a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1099
|
#: ../js/ui/components/telepathyClient.js:1098
|
||||||
#: ../js/ui/components/telepathyClient.js:1138
|
#: ../js/ui/components/telepathyClient.js:1137
|
||||||
#: ../js/ui/components/telepathyClient.js:1178
|
#: ../js/ui/components/telepathyClient.js:1177
|
||||||
#: ../js/ui/components/telepathyClient.js:1241
|
#: ../js/ui/components/telepathyClient.js:1240
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Rechazar"
|
msgstr "Rechazar"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1100
|
#: ../js/ui/components/telepathyClient.js:1099
|
||||||
#: ../js/ui/components/telepathyClient.js:1179
|
#: ../js/ui/components/telepathyClient.js:1178
|
||||||
#: ../js/ui/components/telepathyClient.js:1242
|
#: ../js/ui/components/telepathyClient.js:1241
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1130
|
#: ../js/ui/components/telepathyClient.js:1129
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Videollamada de %s"
|
msgstr "Videollamada de %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1133
|
#: ../js/ui/components/telepathyClient.js:1132
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Llamada de %s"
|
msgstr "Llamada de %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun
|
#. translators: this is a button label (verb), not a noun
|
||||||
#: ../js/ui/components/telepathyClient.js:1140
|
#: ../js/ui/components/telepathyClient.js:1139
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
@@ -893,112 +887,112 @@ msgstr "Responder"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/components/telepathyClient.js:1172
|
#: ../js/ui/components/telepathyClient.js:1171
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s le está enviando %s"
|
msgstr "%s le está enviando %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias
|
#. To translators: The parameter is the contact's alias
|
||||||
#: ../js/ui/components/telepathyClient.js:1207
|
#: ../js/ui/components/telepathyClient.js:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s solicita permiso para ver cuándo está en línea"
|
msgstr "%s solicita permiso para ver cuándo está en línea"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1299
|
#: ../js/ui/components/telepathyClient.js:1298
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Error de la red"
|
msgstr "Error de la red"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1301
|
#: ../js/ui/components/telepathyClient.js:1300
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Falló la autenticación"
|
msgstr "Falló la autenticación"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1303
|
#: ../js/ui/components/telepathyClient.js:1302
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Error de cifrado"
|
msgstr "Error de cifrado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1305
|
#: ../js/ui/components/telepathyClient.js:1304
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Certificado no proporcionado"
|
msgstr "Certificado no proporcionado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1307
|
#: ../js/ui/components/telepathyClient.js:1306
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "No se confía en el certificado"
|
msgstr "No se confía en el certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1309
|
#: ../js/ui/components/telepathyClient.js:1308
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Certificado caducado"
|
msgstr "Certificado caducado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1311
|
#: ../js/ui/components/telepathyClient.js:1310
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Certificado no activado"
|
msgstr "Certificado no activado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1313
|
#: ../js/ui/components/telepathyClient.js:1312
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "El nombre del servidor dle certificado no coincide"
|
msgstr "El nombre del servidor dle certificado no coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1315
|
#: ../js/ui/components/telepathyClient.js:1314
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "La huella del certificado no coincide"
|
msgstr "La huella del certificado no coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1317
|
#: ../js/ui/components/telepathyClient.js:1316
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Certificado autofirmado"
|
msgstr "Certificado autofirmado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1319
|
#: ../js/ui/components/telepathyClient.js:1318
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "El estado está establecido a «desconectado»"
|
msgstr "El estado está establecido a «desconectado»"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1321
|
#: ../js/ui/components/telepathyClient.js:1320
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "El cifrado no está disponible"
|
msgstr "El cifrado no está disponible"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1323
|
#: ../js/ui/components/telepathyClient.js:1322
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "El certificado no es válido"
|
msgstr "El certificado no es válido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1325
|
#: ../js/ui/components/telepathyClient.js:1324
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Se ha rechazado la conexión"
|
msgstr "Se ha rechazado la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1327
|
#: ../js/ui/components/telepathyClient.js:1326
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "No se puede establecer la conexión"
|
msgstr "No se puede establecer la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1329
|
#: ../js/ui/components/telepathyClient.js:1328
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Se ha perdido la conexión"
|
msgstr "Se ha perdido la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1331
|
#: ../js/ui/components/telepathyClient.js:1330
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Esta cuenta ya está conectada al servidor"
|
msgstr "Esta cuenta ya está conectada al servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1333
|
#: ../js/ui/components/telepathyClient.js:1332
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
|
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1335
|
#: ../js/ui/components/telepathyClient.js:1334
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "La cuenta ya existe en el servidor"
|
msgstr "La cuenta ya existe en el servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1337
|
#: ../js/ui/components/telepathyClient.js:1336
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
|
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1339
|
#: ../js/ui/components/telepathyClient.js:1338
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Se ha revocado el certificado"
|
msgstr "Se ha revocado el certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1341
|
#: ../js/ui/components/telepathyClient.js:1340
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
|
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
|
||||||
"débil"
|
"débil"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1343
|
#: ../js/ui/components/telepathyClient.js:1342
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -1007,22 +1001,22 @@ msgstr ""
|
|||||||
"certificado del servidor exceden los límites impuestos por la biblioteca de "
|
"certificado del servidor exceden los límites impuestos por la biblioteca de "
|
||||||
"criptografía"
|
"criptografía"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1345
|
#: ../js/ui/components/telepathyClient.js:1344
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Error interno"
|
msgstr "Error interno"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example.
|
#. * name@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1355
|
#: ../js/ui/components/telepathyClient.js:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "No se pudo conectar a %s"
|
msgstr "No se pudo conectar a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Ver cuenta"
|
msgstr "Ver cuenta"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1399
|
#: ../js/ui/components/telepathyClient.js:1398
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Razón desconocida"
|
msgstr "Razón desconocida"
|
||||||
|
|
||||||
@@ -1036,26 +1030,26 @@ msgstr "Mostrar aplicaciones"
|
|||||||
|
|
||||||
#. Translators: this is the name of the dock/favorites area on
|
#. Translators: this is the name of the dock/favorites area on
|
||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/dash.js:439
|
#: ../js/ui/dash.js:435
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "Tablero"
|
msgstr "Tablero"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:85
|
#: ../js/ui/dateMenu.js:86
|
||||||
msgid "Open Calendar"
|
msgid "Open Calendar"
|
||||||
msgstr "Abrir calendario"
|
msgstr "Abrir calendario"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:89
|
#: ../js/ui/dateMenu.js:90
|
||||||
msgid "Open Clocks"
|
msgid "Open Clocks"
|
||||||
msgstr "Abrir Relojes"
|
msgstr "Abrir Relojes"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:96
|
#: ../js/ui/dateMenu.js:97
|
||||||
msgid "Date & Time Settings"
|
msgid "Date & Time Settings"
|
||||||
msgstr "Configuración de hora y fecha"
|
msgstr "Configuración de hora y fecha"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/dateMenu.js:201
|
#: ../js/ui/dateMenu.js:208
|
||||||
msgid "%A %B %e, %Y"
|
msgid "%A %B %e, %Y"
|
||||||
msgstr "%A, %e de %B de %Y"
|
msgstr "%A, %e de %B de %Y"
|
||||||
|
|
||||||
@@ -1159,7 +1153,7 @@ msgstr "Instalar"
|
|||||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
|
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:314
|
||||||
#: ../js/ui/status/power.js:211
|
#: ../js/ui/status/power.js:211
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Teclado"
|
msgstr "Teclado"
|
||||||
@@ -1228,15 +1222,15 @@ msgstr "Limpiar mensajes"
|
|||||||
msgid "Notification Settings"
|
msgid "Notification Settings"
|
||||||
msgstr "Configuración de las notificaciones"
|
msgstr "Configuración de las notificaciones"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1711
|
#: ../js/ui/messageTray.js:1707
|
||||||
msgid "No Messages"
|
msgid "No Messages"
|
||||||
msgstr "No hay mensajes"
|
msgstr "No hay mensajes"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1784
|
#: ../js/ui/messageTray.js:1780
|
||||||
msgid "Message Tray"
|
msgid "Message Tray"
|
||||||
msgstr "Bandeja de mensajes"
|
msgstr "Bandeja de mensajes"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2811
|
#: ../js/ui/messageTray.js:2800
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Información del sistema"
|
msgstr "Información del sistema"
|
||||||
|
|
||||||
@@ -1245,7 +1239,7 @@ msgctxt "program"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Desconocido"
|
msgstr "Desconocido"
|
||||||
|
|
||||||
#: ../js/ui/overviewControls.js:474 ../js/ui/screenShield.js:150
|
#: ../js/ui/overviewControls.js:472 ../js/ui/screenShield.js:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d new message"
|
msgid "%d new message"
|
||||||
msgid_plural "%d new messages"
|
msgid_plural "%d new messages"
|
||||||
@@ -1268,17 +1262,17 @@ msgstr "Vista general"
|
|||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Escribir para buscar…"
|
msgstr "Escribir para buscar…"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:567
|
#: ../js/ui/panel.js:642
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Salir"
|
msgstr "Salir"
|
||||||
|
|
||||||
#. Translators: If there is no suitable word for "Activities"
|
#. Translators: If there is no suitable word for "Activities"
|
||||||
#. in your language, you can use the word for "Overview".
|
#. in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:618
|
#: ../js/ui/panel.js:693
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Actividades"
|
msgstr "Actividades"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:914
|
#: ../js/ui/panel.js:989
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
@@ -1287,7 +1281,7 @@ msgstr "Barra superior"
|
|||||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||||
#. switches containing "◯" and "|"). Other values will
|
#. switches containing "◯" and "|"). Other values will
|
||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: ../js/ui/popupMenu.js:549
|
#: ../js/ui/popupMenu.js:738
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1312,7 +1306,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d notificación nueva"
|
msgstr[0] "%d notificación nueva"
|
||||||
msgstr[1] "%d notificaciones nuevas"
|
msgstr[1] "%d notificaciones nuevas"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:759
|
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:807
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Bloquear"
|
msgstr "Bloquear"
|
||||||
|
|
||||||
@@ -1335,11 +1329,11 @@ msgstr "No se pudo bloquear"
|
|||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Una aplicación impidió el bloqueo"
|
msgstr "Una aplicación impidió el bloqueo"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:445
|
#: ../js/ui/searchDisplay.js:453
|
||||||
msgid "Searching…"
|
msgid "Searching…"
|
||||||
msgstr "Buscando…"
|
msgstr "Buscando…"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:489
|
#: ../js/ui/searchDisplay.js:497
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "No se encontraron resultados."
|
msgstr "No se encontraron resultados."
|
||||||
|
|
||||||
@@ -1367,7 +1361,7 @@ msgstr "Contraseña"
|
|||||||
msgid "Remember Password"
|
msgid "Remember Password"
|
||||||
msgstr "Recordar contraseña"
|
msgstr "Recordar contraseña"
|
||||||
|
|
||||||
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:108
|
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:109
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Desbloquear"
|
msgstr "Desbloquear"
|
||||||
|
|
||||||
@@ -1420,9 +1414,9 @@ msgid "Large Text"
|
|||||||
msgstr "Texto grande"
|
msgstr "Texto grande"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
||||||
#: ../js/ui/status/bluetooth.js:290 ../js/ui/status/bluetooth.js:327
|
#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321
|
||||||
#: ../js/ui/status/bluetooth.js:355 ../js/ui/status/bluetooth.js:391
|
#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388
|
||||||
#: ../js/ui/status/bluetooth.js:422 ../js/ui/status/network.js:713
|
#: ../js/ui/status/network.js:739
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@@ -1443,115 +1437,107 @@ msgid "Bluetooth Settings"
|
|||||||
msgstr "Configuración de Bluetooth"
|
msgstr "Configuración de Bluetooth"
|
||||||
|
|
||||||
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
||||||
#: ../js/ui/status/bluetooth.js:105 ../js/ui/status/network.js:140
|
#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:142
|
||||||
msgid "hardware disabled"
|
msgid "hardware disabled"
|
||||||
msgstr "hardware desactivado"
|
msgstr "hardware desactivado"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:198
|
#: ../js/ui/status/bluetooth.js:197
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Conexión"
|
msgstr "Conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:209 ../js/ui/status/network.js:399
|
#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:404
|
||||||
msgid "disconnecting..."
|
msgid "disconnecting..."
|
||||||
msgstr "deconectando…"
|
msgstr "deconectando…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:405
|
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:410
|
||||||
#: ../js/ui/status/network.js:1298
|
#: ../js/ui/status/network.js:1343
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "conectando…"
|
msgstr "conectando…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:240
|
#: ../js/ui/status/bluetooth.js:239
|
||||||
msgid "Send Files…"
|
msgid "Send Files…"
|
||||||
msgstr "Enviar archivos…"
|
msgstr "Enviar archivos…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:246
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Configuración del teclado"
|
msgstr "Configuración del teclado"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:250
|
#: ../js/ui/status/bluetooth.js:249
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Configuración del ratón…"
|
msgstr "Configuración del ratón…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:255 ../js/ui/status/volume.js:313
|
#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Configuración del sonido"
|
msgstr "Configuración del sonido"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:328 ../js/ui/status/bluetooth.js:356
|
#: ../js/ui/status/bluetooth.js:322
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Solicitud de autorización de %s"
|
msgstr "Solicitud de autorización de %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:334 ../js/ui/status/bluetooth.js:399
|
#: ../js/ui/status/bluetooth.js:328
|
||||||
#: ../js/ui/status/bluetooth.js:430
|
|
||||||
#, c-format
|
|
||||||
msgid "Device %s wants to pair with this computer"
|
|
||||||
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:336
|
|
||||||
msgid "Allow"
|
|
||||||
msgstr "Permitir"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:337
|
|
||||||
msgid "Deny"
|
|
||||||
msgstr "Denegar"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:362
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:364
|
#: ../js/ui/status/bluetooth.js:330
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Conceder acceso siempre"
|
msgstr "Conceder acceso siempre"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:365
|
#: ../js/ui/status/bluetooth.js:331
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Conceder sólo esta vez"
|
msgstr "Conceder sólo esta vez"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:366
|
#: ../js/ui/status/bluetooth.js:332
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Rechazar"
|
msgstr "Rechazar"
|
||||||
|
|
||||||
#. Translators: argument is the device short name
|
#. Translators: argument is the device short name
|
||||||
#: ../js/ui/status/bluetooth.js:393
|
#: ../js/ui/status/bluetooth.js:359
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Confirmación de emparejamiento para «%s»"
|
msgstr "Confirmación de emparejamiento para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:400
|
#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396
|
||||||
#, c-format
|
#, c-format
|
||||||
|
msgid "Device %s wants to pair with this computer"
|
||||||
|
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
||||||
|
|
||||||
|
#: ../js/ui/status/bluetooth.js:366
|
||||||
|
#, c-format
|
||||||
|
#| msgid "Please confirm whether the PIN '%06d' matches the one on the device."
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Confirme que la clave mostrada en «%06d» coincide con la del dispositivo."
|
"Confirme que la clave mostrada en «%06d» coincide con la del dispositivo."
|
||||||
|
|
||||||
#. Translators: this is the verb, not the noun
|
#. Translators: this is the verb, not the noun
|
||||||
#: ../js/ui/status/bluetooth.js:403
|
#: ../js/ui/status/bluetooth.js:369
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Coincide"
|
msgstr "Coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:404
|
#: ../js/ui/status/bluetooth.js:370
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "No coincide"
|
msgstr "No coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:423
|
#: ../js/ui/status/bluetooth.js:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Solicitud de emparejamiento para «%s»"
|
msgstr "Solicitud de emparejamiento para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:431
|
#: ../js/ui/status/bluetooth.js:397
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Introduzca el PIN mencionado en el dispositivo."
|
msgstr "Introduzca el PIN mencionado en el dispositivo."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:396
|
#: ../js/ui/status/keyboard.js:368
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Mostrar la distribución del teclado"
|
msgstr "Mostrar la distribución del teclado"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:401
|
#: ../js/ui/status/keyboard.js:373
|
||||||
msgid "Region & Language Settings"
|
msgid "Region & Language Settings"
|
||||||
msgstr "Configuración de región e idioma"
|
msgstr "Configuración de región e idioma"
|
||||||
|
|
||||||
@@ -1563,81 +1549,87 @@ msgstr "Volumen, red, batería"
|
|||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<desconocido>"
|
msgstr "<desconocido>"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:125
|
#: ../js/ui/status/network.js:127
|
||||||
msgid "Wi-Fi"
|
msgid "Wi-Fi"
|
||||||
msgstr "Wi-Fi"
|
msgstr "Wi-Fi"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:162
|
#: ../js/ui/status/network.js:164
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "desactivada"
|
msgstr "desactivada"
|
||||||
|
|
||||||
#. Translators: this is for network devices that are physically present but are not
|
#. 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)
|
#. under NetworkManager's control (and thus cannot be used in the menu)
|
||||||
#: ../js/ui/status/network.js:397
|
#: ../js/ui/status/network.js:402
|
||||||
msgid "unmanaged"
|
msgid "unmanaged"
|
||||||
msgstr "no gestionada"
|
msgstr "no gestionada"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1301
|
#: ../js/ui/status/network.js:413 ../js/ui/status/network.js:1346
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "se necesita autenticación"
|
msgstr "se necesita autenticación"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:419
|
#: ../js/ui/status/network.js:423
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "falta el «firmware»"
|
msgstr "falta el «firmware»"
|
||||||
|
|
||||||
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
|
#: ../js/ui/status/network.js:430
|
||||||
|
msgid "cable unplugged"
|
||||||
|
msgstr "cable desconectado"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:423
|
#: ../js/ui/status/network.js:435
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "no disponible"
|
msgstr "no disponible"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1303
|
#: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1348
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "falló la conexión"
|
msgstr "falló la conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478 ../js/ui/status/network.js:1190
|
#: ../js/ui/status/network.js:490 ../js/ui/status/network.js:1236
|
||||||
|
#: ../js/ui/status/network.js:1424
|
||||||
msgid "More…"
|
msgid "More…"
|
||||||
msgstr "Más…"
|
msgstr "Más…"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:506 ../js/ui/status/network.js:1142
|
#: ../js/ui/status/network.js:518 ../js/ui/status/network.js:1191
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Conectada (privada)"
|
msgstr "Conectada (privada)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:572
|
#: ../js/ui/status/network.js:597
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Cableada"
|
msgstr "Cableada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:592
|
#: ../js/ui/status/network.js:611
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Banda ancha móvil"
|
msgstr "Banda ancha móvil"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1522
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Activar red"
|
msgstr "Activar red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1522
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Configuración de la red"
|
msgstr "Configuración de la red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1539
|
#: ../js/ui/status/network.js:1600
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Gestor de la red"
|
msgstr "Gestor de la red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1623
|
#: ../js/ui/status/network.js:1690
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Falló la conexión"
|
msgstr "Falló la conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1624
|
#: ../js/ui/status/network.js:1691
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Falló la activación de la conexión de red"
|
msgstr "Falló la activación de la conexión de red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1937
|
#: ../js/ui/status/network.js:2047
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "La red está desactivada"
|
msgstr "La red está desactivada"
|
||||||
|
|
||||||
@@ -1738,72 +1730,72 @@ msgctxt "device"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Desconocido"
|
msgstr "Desconocido"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:121
|
#: ../js/ui/status/volume.js:124
|
||||||
msgid "Volume changed"
|
msgid "Volume changed"
|
||||||
msgstr "Volumen modificado"
|
msgstr "Volumen modificado"
|
||||||
|
|
||||||
#. Translators: This is the label for audio volume
|
#. Translators: This is the label for audio volume
|
||||||
#: ../js/ui/status/volume.js:246 ../js/ui/status/volume.js:294
|
#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297
|
||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volumen"
|
msgstr "Volumen"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:255
|
#: ../js/ui/status/volume.js:258
|
||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Micrófono"
|
msgstr "Micrófono"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:119
|
#: ../js/ui/unlockDialog.js:120
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Iniciar sesión como otro usuario"
|
msgstr "Iniciar sesión como otro usuario"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:140
|
#: ../js/ui/unlockDialog.js:141
|
||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Desbloquear ventana"
|
msgstr "Desbloquear ventana"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:149
|
#: ../js/ui/userMenu.js:193
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "Disponible"
|
msgstr "Disponible"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:152
|
#: ../js/ui/userMenu.js:196
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Ocupado"
|
msgstr "Ocupado"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:155
|
#: ../js/ui/userMenu.js:199
|
||||||
msgid "Invisible"
|
msgid "Invisible"
|
||||||
msgstr "Invisible"
|
msgstr "Invisible"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:158
|
#: ../js/ui/userMenu.js:202
|
||||||
msgid "Away"
|
msgid "Away"
|
||||||
msgstr "Ausente"
|
msgstr "Ausente"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:161
|
#: ../js/ui/userMenu.js:205
|
||||||
msgid "Idle"
|
msgid "Idle"
|
||||||
msgstr "Inactivo"
|
msgstr "Inactivo"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:164
|
#: ../js/ui/userMenu.js:208
|
||||||
msgid "Offline"
|
msgid "Offline"
|
||||||
msgstr "Desconectado"
|
msgstr "Desconectado"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:736
|
#: ../js/ui/userMenu.js:781
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Notificaciones"
|
msgstr "Notificaciones"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:749
|
#: ../js/ui/userMenu.js:797
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Cambiar de usuario"
|
msgstr "Cambiar de usuario"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:754
|
#: ../js/ui/userMenu.js:802
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Cerrar la sesión"
|
msgstr "Cerrar la sesión"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:774
|
#: ../js/ui/userMenu.js:822
|
||||||
msgid "Install Updates & Restart"
|
msgid "Install Updates & Restart"
|
||||||
msgstr "Instalar actualizaciones y reiniciar"
|
msgstr "Instalar actualizaciones y reiniciar"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:792
|
#: ../js/ui/userMenu.js:840
|
||||||
msgid "Your chat status will be set to busy"
|
msgid "Your chat status will be set to busy"
|
||||||
msgstr "Su estado del chat se establecerá a «ocupado»"
|
msgstr "Su estado del chat se establecerá a «ocupado»"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:793
|
#: ../js/ui/userMenu.js:841
|
||||||
msgid ""
|
msgid ""
|
||||||
"Notifications are now disabled, including chat messages. Your online status "
|
"Notifications are now disabled, including chat messages. Your online status "
|
||||||
"has been adjusted to let others know that you might not see their messages."
|
"has been adjusted to let others know that you might not see their messages."
|
||||||
@@ -1812,22 +1804,22 @@ msgstr ""
|
|||||||
"chat. Su estado en línea se ha ajustado para que otros sepan que puede no "
|
"chat. Su estado en línea se ha ajustado para que otros sepan que puede no "
|
||||||
"leer sus mensajes."
|
"leer sus mensajes."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:834
|
#: ../js/ui/userMenu.js:888
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Hay otros usuarios con la sesión iniciada"
|
msgstr "Hay otros usuarios con la sesión iniciada"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:839
|
#: ../js/ui/userMenu.js:893
|
||||||
msgid "Shutting down might cause them to lose unsaved work."
|
msgid "Shutting down might cause them to lose unsaved work."
|
||||||
msgstr "Apagar puede hacer que pierdan el trabajo que no hayan guardado."
|
msgstr "Apagar puede hacer que pierdan el trabajo que no hayan guardado."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/userMenu.js:867
|
#: ../js/ui/userMenu.js:921
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (remoto)"
|
msgstr "%s (remoto)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/userMenu.js:870
|
#: ../js/ui/userMenu.js:924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (consola)"
|
msgstr "%s (consola)"
|
||||||
@@ -1885,21 +1877,21 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sonidos del sistema"
|
msgstr "Sonidos del sistema"
|
||||||
|
|
||||||
#: ../src/main.c:353
|
#: ../src/main.c:372
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: ../src/main.c:359
|
#: ../src/main.c:378
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modo usado por GDM para la pantalla de inicio"
|
msgstr "Modo usado por GDM para la pantalla de inicio"
|
||||||
|
|
||||||
#: ../src/main.c:365
|
#: ../src/main.c:384
|
||||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
||||||
"sesión"
|
"sesión"
|
||||||
|
|
||||||
#: ../src/main.c:371
|
#: ../src/main.c:390
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Listar los modos posibles"
|
msgstr "Listar los modos posibles"
|
||||||
|
|
||||||
@@ -1920,9 +1912,6 @@ msgstr "La contraseña no puede estar vacía"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "El usuario rechazó el diálogo de autenticación"
|
msgstr "El usuario rechazó el diálogo de autenticación"
|
||||||
|
|
||||||
#~ msgid "cable unplugged"
|
|
||||||
#~ msgstr "cable desconectado"
|
|
||||||
|
|
||||||
#~ msgid "Whether to collect stats about applications usage"
|
#~ msgid "Whether to collect stats about applications usage"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Indica si se deben recolectar estadísticas acerca del uso de las "
|
#~ "Indica si se deben recolectar estadísticas acerca del uso de las "
|
||||||
@@ -2039,6 +2028,9 @@ msgstr "El usuario rechazó el diálogo de autenticación"
|
|||||||
#~ msgid "System Settings"
|
#~ msgid "System Settings"
|
||||||
#~ msgstr "Configuración del sistema"
|
#~ msgstr "Configuración del sistema"
|
||||||
|
|
||||||
|
#~ msgid "Switch Session"
|
||||||
|
#~ msgstr "Cambiar de sesión"
|
||||||
|
|
||||||
#~ msgid "disabled OpenSearch providers"
|
#~ msgid "disabled OpenSearch providers"
|
||||||
#~ msgstr "proveedores OpenSearch desactivados"
|
#~ msgstr "proveedores OpenSearch desactivados"
|
||||||
|
|
||||||
|
343
po/gl.po
343
po/gl.po
@@ -11,8 +11,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-06-28 01:33+0200\n"
|
"POT-Creation-Date: 2013-05-31 01:03+0200\n"
|
||||||
"PO-Revision-Date: 2013-06-28 01:35+0200\n"
|
"PO-Revision-Date: 2013-05-31 01:04+0200\n"
|
||||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||||
"Language-Team: gnome-l10n-gl@gnome.org\n"
|
"Language-Team: gnome-l10n-gl@gnome.org\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
@@ -369,41 +369,37 @@ msgid "Select an extension to configure using the combobox above."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Seleccione unha extensión que configurar usando a caixa combinada de arriba."
|
"Seleccione unha extensión que configurar usando a caixa combinada de arriba."
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:308
|
#: ../js/gdm/loginDialog.js:371
|
||||||
msgid "Choose Session"
|
msgid "Session…"
|
||||||
msgstr "Escolla unha sesión"
|
msgstr "Sesión…"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:326
|
|
||||||
msgid "Session"
|
|
||||||
msgstr "Sesión"
|
|
||||||
|
|
||||||
#. translators: this message is shown below the user list on the
|
#. translators: this message is shown below the user list on the
|
||||||
#. login screen. It can be activated to reveal an entry for
|
#. login screen. It can be activated to reveal an entry for
|
||||||
#. manually entering the username.
|
#. manually entering the username.
|
||||||
#: ../js/gdm/loginDialog.js:528
|
#: ../js/gdm/loginDialog.js:601
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Non está na lista?"
|
msgstr "Non está na lista?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:810 ../js/ui/components/networkAgent.js:137
|
#: ../js/gdm/loginDialog.js:776 ../js/ui/components/networkAgent.js:137
|
||||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/bluetooth.js:449 ../js/ui/unlockDialog.js:95
|
#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:96
|
||||||
#: ../js/ui/userMenu.js:884
|
#: ../js/ui/userMenu.js:938
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:833
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Iniciar sesión"
|
msgstr "Iniciar sesión"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:833
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Seguinte"
|
msgstr "Seguinte"
|
||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:934
|
#: ../js/gdm/loginDialog.js:888
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(p.ex., usuario ou %s)"
|
msgstr "(p.ex., usuario ou %s)"
|
||||||
@@ -411,12 +407,12 @@ msgstr "(p.ex., usuario ou %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:938 ../js/ui/components/networkAgent.js:260
|
#: ../js/gdm/loginDialog.js:892 ../js/ui/components/networkAgent.js:260
|
||||||
#: ../js/ui/components/networkAgent.js:278
|
#: ../js/ui/components/networkAgent.js:278
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Nome de usuario: "
|
msgstr "Nome de usuario: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1205
|
#: ../js/gdm/loginDialog.js:1158
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Xanela de inicio de sesión"
|
msgstr "Xanela de inicio de sesión"
|
||||||
|
|
||||||
@@ -425,8 +421,8 @@ msgstr "Xanela de inicio de sesión"
|
|||||||
msgid "Power"
|
msgid "Power"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:651 ../js/ui/userMenu.js:655
|
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700
|
||||||
#: ../js/ui/userMenu.js:768
|
#: ../js/ui/userMenu.js:816
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Suspender"
|
msgstr "Suspender"
|
||||||
|
|
||||||
@@ -434,18 +430,18 @@ msgstr "Suspender"
|
|||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "Reiniciar"
|
msgstr "Reiniciar"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:653
|
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698
|
||||||
#: ../js/ui/userMenu.js:655 ../js/ui/userMenu.js:767 ../js/ui/userMenu.js:888
|
#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
#: ../js/gdm/util.js:248
|
#: ../js/gdm/util.js:247
|
||||||
msgid "Authentication error"
|
msgid "Authentication error"
|
||||||
msgstr "Erro de autenticación"
|
msgstr "Erro de autenticación"
|
||||||
|
|
||||||
#. Translators: this message is shown below the password entry field
|
#. Translators: this message is shown below the password entry field
|
||||||
#. to indicate the user can swipe their finger instead
|
#. to indicate the user can swipe their finger instead
|
||||||
#: ../js/gdm/util.js:365
|
#: ../js/gdm/util.js:364
|
||||||
msgid "(or swipe finger)"
|
msgid "(or swipe finger)"
|
||||||
msgstr "(ou pase o dedo)"
|
msgstr "(ou pase o dedo)"
|
||||||
|
|
||||||
@@ -464,23 +460,23 @@ msgstr "Non foi posíbel analizar a orde:"
|
|||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Produciuse un fallo na execución de «%s»:"
|
msgstr "Produciuse un fallo na execución de «%s»:"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:397
|
#: ../js/ui/appDisplay.js:361
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Frecuentes"
|
msgstr "Frecuentes"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:404
|
#: ../js/ui/appDisplay.js:368
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todos"
|
msgstr "Todos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:996
|
#: ../js/ui/appDisplay.js:960
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Xanela nova"
|
msgstr "Xanela nova"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:999 ../js/ui/dash.js:284
|
#: ../js/ui/appDisplay.js:963 ../js/ui/dash.js:284
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Retirar dos marcadores"
|
msgstr "Retirar dos marcadores"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:1000
|
#: ../js/ui/appDisplay.js:964
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Engadir aos favoritos"
|
msgstr "Engadir aos favoritos"
|
||||||
|
|
||||||
@@ -494,7 +490,7 @@ msgstr "%s foi engadido aos seus favoritos."
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s retirouse dos seus marcadores."
|
msgstr "%s retirouse dos seus marcadores."
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:744
|
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Preferencias"
|
msgstr "Preferencias"
|
||||||
|
|
||||||
@@ -619,35 +615,35 @@ msgid "S"
|
|||||||
msgstr "S"
|
msgstr "S"
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
#. Translators: Text to show if there are no events
|
||||||
#: ../js/ui/calendar.js:750
|
#: ../js/ui/calendar.js:735
|
||||||
msgid "Nothing Scheduled"
|
msgid "Nothing Scheduled"
|
||||||
msgstr "Nada programado"
|
msgstr "Nada programado"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:768
|
#: ../js/ui/calendar.js:751
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d de %B"
|
msgstr "%A, %d de %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:771
|
#: ../js/ui/calendar.js:754
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d de %B de %Y"
|
msgstr "%A, %d de %B de %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:782
|
#: ../js/ui/calendar.js:764
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Hoxe"
|
msgstr "Hoxe"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:786
|
#: ../js/ui/calendar.js:768
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "Mañá"
|
msgstr "Mañá"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:797
|
#: ../js/ui/calendar.js:779
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr "Esta semana"
|
msgstr "Esta semana"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:805
|
#: ../js/ui/calendar.js:787
|
||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "A vindeira semana"
|
msgstr "A vindeira semana"
|
||||||
|
|
||||||
@@ -836,14 +832,14 @@ msgstr "<b>%d</b> de <b>%B</b> de <b>%Y</b>, <b>%H:%M</b> "
|
|||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name.
|
#. IM name.
|
||||||
#: ../js/ui/components/telepathyClient.js:986
|
#: ../js/ui/components/telepathyClient.js:985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "Agora %s chámase %s"
|
msgstr "Agora %s chámase %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example.
|
#. * room@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1089
|
#: ../js/ui/components/telepathyClient.js:1088
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Convite a %s"
|
msgstr "Convite a %s"
|
||||||
@@ -851,38 +847,38 @@ msgstr "Convite a %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example.
|
#. * for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1097
|
#: ../js/ui/components/telepathyClient.js:1096
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s estalle convidando a unirse a %s"
|
msgstr "%s estalle convidando a unirse a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1099
|
#: ../js/ui/components/telepathyClient.js:1098
|
||||||
#: ../js/ui/components/telepathyClient.js:1138
|
#: ../js/ui/components/telepathyClient.js:1137
|
||||||
#: ../js/ui/components/telepathyClient.js:1178
|
#: ../js/ui/components/telepathyClient.js:1177
|
||||||
#: ../js/ui/components/telepathyClient.js:1241
|
#: ../js/ui/components/telepathyClient.js:1240
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Rexeitar"
|
msgstr "Rexeitar"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1100
|
#: ../js/ui/components/telepathyClient.js:1099
|
||||||
#: ../js/ui/components/telepathyClient.js:1179
|
#: ../js/ui/components/telepathyClient.js:1178
|
||||||
#: ../js/ui/components/telepathyClient.js:1242
|
#: ../js/ui/components/telepathyClient.js:1241
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1130
|
#: ../js/ui/components/telepathyClient.js:1129
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Videochamada de %s"
|
msgstr "Videochamada de %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example.
|
#. translators: argument is a contact name like Alice for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1133
|
#: ../js/ui/components/telepathyClient.js:1132
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Chamada de %s"
|
msgstr "Chamada de %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun
|
#. translators: this is a button label (verb), not a noun
|
||||||
#: ../js/ui/components/telepathyClient.js:1140
|
#: ../js/ui/components/telepathyClient.js:1139
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
@@ -891,112 +887,112 @@ msgstr "Responder"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/components/telepathyClient.js:1172
|
#: ../js/ui/components/telepathyClient.js:1171
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s esta enviándolle %s"
|
msgstr "%s esta enviándolle %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias
|
#. To translators: The parameter is the contact's alias
|
||||||
#: ../js/ui/components/telepathyClient.js:1207
|
#: ../js/ui/components/telepathyClient.js:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s solicítalle permiso para ver cando está en liña"
|
msgstr "%s solicítalle permiso para ver cando está en liña"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1299
|
#: ../js/ui/components/telepathyClient.js:1298
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Erro da rede"
|
msgstr "Erro da rede"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1301
|
#: ../js/ui/components/telepathyClient.js:1300
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Fallou a autenticación"
|
msgstr "Fallou a autenticación"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1303
|
#: ../js/ui/components/telepathyClient.js:1302
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Erro de cifrado"
|
msgstr "Erro de cifrado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1305
|
#: ../js/ui/components/telepathyClient.js:1304
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Certificado non fornecido"
|
msgstr "Certificado non fornecido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1307
|
#: ../js/ui/components/telepathyClient.js:1306
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "Non se confía no certificado"
|
msgstr "Non se confía no certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1309
|
#: ../js/ui/components/telepathyClient.js:1308
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Certificado caducado"
|
msgstr "Certificado caducado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1311
|
#: ../js/ui/components/telepathyClient.js:1310
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Certificado non activado"
|
msgstr "Certificado non activado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1313
|
#: ../js/ui/components/telepathyClient.js:1312
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "O nome do servidor do certificado non coincide"
|
msgstr "O nome do servidor do certificado non coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1315
|
#: ../js/ui/components/telepathyClient.js:1314
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "A pegada do certificado non coincide"
|
msgstr "A pegada do certificado non coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1317
|
#: ../js/ui/components/telepathyClient.js:1316
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Certificado autoasinado"
|
msgstr "Certificado autoasinado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1319
|
#: ../js/ui/components/telepathyClient.js:1318
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "O estado está definido a «desconectado»"
|
msgstr "O estado está definido a «desconectado»"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1321
|
#: ../js/ui/components/telepathyClient.js:1320
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "O cifrado non está dispoñíbel"
|
msgstr "O cifrado non está dispoñíbel"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1323
|
#: ../js/ui/components/telepathyClient.js:1322
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "O certificado non é válido"
|
msgstr "O certificado non é válido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1325
|
#: ../js/ui/components/telepathyClient.js:1324
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Rexeitouse a conexión"
|
msgstr "Rexeitouse a conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1327
|
#: ../js/ui/components/telepathyClient.js:1326
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "Non é posíbel estabelecer a conexión"
|
msgstr "Non é posíbel estabelecer a conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1329
|
#: ../js/ui/components/telepathyClient.js:1328
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Perdeuse a conexión"
|
msgstr "Perdeuse a conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1331
|
#: ../js/ui/components/telepathyClient.js:1330
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Esta cuenta xa está conectada ao servidor"
|
msgstr "Esta cuenta xa está conectada ao servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1333
|
#: ../js/ui/components/telepathyClient.js:1332
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Substituíuse a conexión por unha nova conexión empregando o mesmo recurso"
|
"Substituíuse a conexión por unha nova conexión empregando o mesmo recurso"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1335
|
#: ../js/ui/components/telepathyClient.js:1334
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "Esta conta xa existe no servidor"
|
msgstr "Esta conta xa existe no servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1337
|
#: ../js/ui/components/telepathyClient.js:1336
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nestes intres o servidor está moi ocupado tentando xestionar a conexión"
|
"Nestes intres o servidor está moi ocupado tentando xestionar a conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1339
|
#: ../js/ui/components/telepathyClient.js:1338
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Revogouse o certificado"
|
msgstr "Revogouse o certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1341
|
#: ../js/ui/components/telepathyClient.js:1340
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"O certificado usa un algoritmo de cifrado inseguro ou é criptográficamente "
|
"O certificado usa un algoritmo de cifrado inseguro ou é criptográficamente "
|
||||||
"débil"
|
"débil"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1343
|
#: ../js/ui/components/telepathyClient.js:1342
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -1005,22 +1001,22 @@ msgstr ""
|
|||||||
"certificado do servidor excede os límites impostos pola biblioteca de "
|
"certificado do servidor excede os límites impostos pola biblioteca de "
|
||||||
"criptografía."
|
"criptografía."
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1345
|
#: ../js/ui/components/telepathyClient.js:1344
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Erro interno"
|
msgstr "Erro interno"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example.
|
#. * name@jabber.org for example.
|
||||||
#: ../js/ui/components/telepathyClient.js:1355
|
#: ../js/ui/components/telepathyClient.js:1354
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "Non foi posíbel conectarse a %s"
|
msgstr "Non foi posíbel conectarse a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Ver conta"
|
msgstr "Ver conta"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1399
|
#: ../js/ui/components/telepathyClient.js:1398
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Razón descoñecida"
|
msgstr "Razón descoñecida"
|
||||||
|
|
||||||
@@ -1034,26 +1030,26 @@ msgstr "Mostrar aplicativos"
|
|||||||
|
|
||||||
#. Translators: this is the name of the dock/favorites area on
|
#. Translators: this is the name of the dock/favorites area on
|
||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/dash.js:439
|
#: ../js/ui/dash.js:435
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "Taboleiro"
|
msgstr "Taboleiro"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:85
|
#: ../js/ui/dateMenu.js:86
|
||||||
msgid "Open Calendar"
|
msgid "Open Calendar"
|
||||||
msgstr "Abrir Calendario"
|
msgstr "Abrir Calendario"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:89
|
#: ../js/ui/dateMenu.js:90
|
||||||
msgid "Open Clocks"
|
msgid "Open Clocks"
|
||||||
msgstr "Abrir Reloxos"
|
msgstr "Abrir Reloxos"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:96
|
#: ../js/ui/dateMenu.js:97
|
||||||
msgid "Date & Time Settings"
|
msgid "Date & Time Settings"
|
||||||
msgstr "Preferencias de data e hora"
|
msgstr "Preferencias de data e hora"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/dateMenu.js:201
|
#: ../js/ui/dateMenu.js:208
|
||||||
msgid "%A %B %e, %Y"
|
msgid "%A %B %e, %Y"
|
||||||
msgstr "%a, %e de %B, %Y"
|
msgstr "%a, %e de %B, %Y"
|
||||||
|
|
||||||
@@ -1265,17 +1261,17 @@ msgstr "Vista xeral"
|
|||||||
msgid "Type to search…"
|
msgid "Type to search…"
|
||||||
msgstr "Escriba para buscar…"
|
msgstr "Escriba para buscar…"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:567
|
#: ../js/ui/panel.js:642
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Saír"
|
msgstr "Saír"
|
||||||
|
|
||||||
#. Translators: If there is no suitable word for "Activities"
|
#. Translators: If there is no suitable word for "Activities"
|
||||||
#. in your language, you can use the word for "Overview".
|
#. in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:618
|
#: ../js/ui/panel.js:693
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Actividades"
|
msgstr "Actividades"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:914
|
#: ../js/ui/panel.js:989
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
@@ -1284,7 +1280,7 @@ msgstr "Barra superior"
|
|||||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||||
#. switches containing "◯" and "|"). Other values will
|
#. switches containing "◯" and "|"). Other values will
|
||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: ../js/ui/popupMenu.js:549
|
#: ../js/ui/popupMenu.js:738
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1309,7 +1305,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d notificación nova"
|
msgstr[0] "%d notificación nova"
|
||||||
msgstr[1] "%d notificacións novas"
|
msgstr[1] "%d notificacións novas"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:759
|
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:807
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Bloquear"
|
msgstr "Bloquear"
|
||||||
|
|
||||||
@@ -1324,11 +1320,11 @@ msgstr "GNOME precisa bloquear a pantalla"
|
|||||||
#.
|
#.
|
||||||
#. XXX: another option is to kick the user into the gdm login
|
#. XXX: another option is to kick the user into the gdm login
|
||||||
#. screen, where we're not affected by grabs
|
#. screen, where we're not affected by grabs
|
||||||
#: ../js/ui/screenShield.js:775 ../js/ui/screenShield.js:1215
|
#: ../js/ui/screenShield.js:773 ../js/ui/screenShield.js:1213
|
||||||
msgid "Unable to lock"
|
msgid "Unable to lock"
|
||||||
msgstr "Non foi posíbel bloquear"
|
msgstr "Non foi posíbel bloquear"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:776 ../js/ui/screenShield.js:1216
|
#: ../js/ui/screenShield.js:774 ../js/ui/screenShield.js:1214
|
||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Un aplicativo impediu o bloqueo"
|
msgstr "Un aplicativo impediu o bloqueo"
|
||||||
|
|
||||||
@@ -1364,7 +1360,7 @@ msgstr "Contrasinal"
|
|||||||
msgid "Remember Password"
|
msgid "Remember Password"
|
||||||
msgstr "Lembrar contrasinal"
|
msgstr "Lembrar contrasinal"
|
||||||
|
|
||||||
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:108
|
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:109
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Desbloquear"
|
msgstr "Desbloquear"
|
||||||
|
|
||||||
@@ -1417,9 +1413,9 @@ msgid "Large Text"
|
|||||||
msgstr "Texto grande"
|
msgstr "Texto grande"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
||||||
#: ../js/ui/status/bluetooth.js:290 ../js/ui/status/bluetooth.js:327
|
#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321
|
||||||
#: ../js/ui/status/bluetooth.js:355 ../js/ui/status/bluetooth.js:391
|
#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388
|
||||||
#: ../js/ui/status/bluetooth.js:422 ../js/ui/status/network.js:713
|
#: ../js/ui/status/network.js:739
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@@ -1440,82 +1436,73 @@ msgid "Bluetooth Settings"
|
|||||||
msgstr "Preferencias do Bluetooth"
|
msgstr "Preferencias do Bluetooth"
|
||||||
|
|
||||||
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
||||||
#: ../js/ui/status/bluetooth.js:105 ../js/ui/status/network.js:140
|
#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:142
|
||||||
msgid "hardware disabled"
|
msgid "hardware disabled"
|
||||||
msgstr "hardware desactivado"
|
msgstr "hardware desactivado"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:198
|
#: ../js/ui/status/bluetooth.js:197
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Conexión"
|
msgstr "Conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:209 ../js/ui/status/network.js:399
|
#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:404
|
||||||
msgid "disconnecting..."
|
msgid "disconnecting..."
|
||||||
msgstr "desconectando…"
|
msgstr "desconectando…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:405
|
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:410
|
||||||
#: ../js/ui/status/network.js:1298
|
#: ../js/ui/status/network.js:1343
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "conectando…"
|
msgstr "conectando…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:240
|
#: ../js/ui/status/bluetooth.js:239
|
||||||
msgid "Send Files…"
|
msgid "Send Files…"
|
||||||
msgstr "Enviar ficheiros…"
|
msgstr "Enviar ficheiros…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:246
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Preferencias do teclado"
|
msgstr "Preferencias do teclado"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:250
|
#: ../js/ui/status/bluetooth.js:249
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Preferencias do rato"
|
msgstr "Preferencias do rato"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:255 ../js/ui/status/volume.js:313
|
#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Preferencias do son"
|
msgstr "Preferencias do son"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:328 ../js/ui/status/bluetooth.js:356
|
#: ../js/ui/status/bluetooth.js:322
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Solicitude de autorización de %s"
|
msgstr "Solicitude de autorización de %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:334 ../js/ui/status/bluetooth.js:399
|
#: ../js/ui/status/bluetooth.js:328
|
||||||
#: ../js/ui/status/bluetooth.js:430
|
|
||||||
#, c-format
|
|
||||||
msgid "Device %s wants to pair with this computer"
|
|
||||||
msgstr "O dispositivo «%s» quere emparellarse con este equipo"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:336
|
|
||||||
msgid "Allow"
|
|
||||||
msgstr "Permitir"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:337
|
|
||||||
msgid "Deny"
|
|
||||||
msgstr "Denegar"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:362
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "O dispositivo %s quere acceder ao servizo «%s»"
|
msgstr "O dispositivo %s quere acceder ao servizo «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:364
|
#: ../js/ui/status/bluetooth.js:330
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Conceder acceso sempre"
|
msgstr "Conceder acceso sempre"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:365
|
#: ../js/ui/status/bluetooth.js:331
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Conceder só esta vez"
|
msgstr "Conceder só esta vez"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:366
|
#: ../js/ui/status/bluetooth.js:332
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Rexeitar"
|
msgstr "Rexeitar"
|
||||||
|
|
||||||
#. Translators: argument is the device short name
|
#. Translators: argument is the device short name
|
||||||
#: ../js/ui/status/bluetooth.js:393
|
#: ../js/ui/status/bluetooth.js:359
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Confirmación de emparellado para «%s»"
|
msgstr "Confirmación de emparellado para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:400
|
#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396
|
||||||
|
#, c-format
|
||||||
|
msgid "Device %s wants to pair with this computer"
|
||||||
|
msgstr "O dispositivo «%s» quere emparellarse con este equipo"
|
||||||
|
|
||||||
|
#: ../js/ui/status/bluetooth.js:366
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||||
@@ -1523,24 +1510,24 @@ msgstr ""
|
|||||||
"Confirme que a frase de paso «%06d» coincide coa mostrada no dispositivo."
|
"Confirme que a frase de paso «%06d» coincide coa mostrada no dispositivo."
|
||||||
|
|
||||||
#. Translators: this is the verb, not the noun
|
#. Translators: this is the verb, not the noun
|
||||||
#: ../js/ui/status/bluetooth.js:403
|
#: ../js/ui/status/bluetooth.js:369
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Coincide"
|
msgstr "Coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:404
|
#: ../js/ui/status/bluetooth.js:370
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Non coincide"
|
msgstr "Non coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:423
|
#: ../js/ui/status/bluetooth.js:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Solicitude de emparellamento para «%s»"
|
msgstr "Solicitude de emparellamento para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:431
|
#: ../js/ui/status/bluetooth.js:397
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Escriba o PIN mencionado no dispositivo."
|
msgstr "Escriba o PIN mencionado no dispositivo."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
@@ -1560,81 +1547,87 @@ msgstr "Volume, rede, batería"
|
|||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<descoñecido>"
|
msgstr "<descoñecido>"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:125
|
#: ../js/ui/status/network.js:127
|
||||||
msgid "Wi-Fi"
|
msgid "Wi-Fi"
|
||||||
msgstr "Wifi"
|
msgstr "Wifi"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:162
|
#: ../js/ui/status/network.js:164
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "desactivada"
|
msgstr "desactivada"
|
||||||
|
|
||||||
#. Translators: this is for network devices that are physically present but are not
|
#. 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)
|
#. under NetworkManager's control (and thus cannot be used in the menu)
|
||||||
#: ../js/ui/status/network.js:397
|
#: ../js/ui/status/network.js:402
|
||||||
msgid "unmanaged"
|
msgid "unmanaged"
|
||||||
msgstr "non xestionada"
|
msgstr "non xestionada"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1301
|
#: ../js/ui/status/network.js:413 ../js/ui/status/network.js:1346
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "requírese autenticación"
|
msgstr "requírese autenticación"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:419
|
#: ../js/ui/status/network.js:423
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "falta o «firmware»"
|
msgstr "falta o «firmware»"
|
||||||
|
|
||||||
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
|
#: ../js/ui/status/network.js:430
|
||||||
|
msgid "cable unplugged"
|
||||||
|
msgstr "cable desconectado"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:423
|
#: ../js/ui/status/network.js:435
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "non dispoñíbel"
|
msgstr "non dispoñíbel"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1303
|
#: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1348
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "conexión fallada"
|
msgstr "conexión fallada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478 ../js/ui/status/network.js:1190
|
#: ../js/ui/status/network.js:490 ../js/ui/status/network.js:1236
|
||||||
|
#: ../js/ui/status/network.js:1424
|
||||||
msgid "More…"
|
msgid "More…"
|
||||||
msgstr "Máis…"
|
msgstr "Máis…"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:506 ../js/ui/status/network.js:1142
|
#: ../js/ui/status/network.js:518 ../js/ui/status/network.js:1191
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Conectada (privada)"
|
msgstr "Conectada (privada)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:572
|
#: ../js/ui/status/network.js:597
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Con fíos"
|
msgstr "Con fíos"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:592
|
#: ../js/ui/status/network.js:611
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Banda larga móbil"
|
msgstr "Banda larga móbil"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1522
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Activar rede"
|
msgstr "Activar rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1522
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Preferencias da rede"
|
msgstr "Preferencias da rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1539
|
#: ../js/ui/status/network.js:1600
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Xestor da rede"
|
msgstr "Xestor da rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1623
|
#: ../js/ui/status/network.js:1690
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Produciuse un fallo na conexión"
|
msgstr "Produciuse un fallo na conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1624
|
#: ../js/ui/status/network.js:1691
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Produciuse un fallo na activación da conexión de rede"
|
msgstr "Produciuse un fallo na activación da conexión de rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1937
|
#: ../js/ui/status/network.js:2047
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "A rede está desactivada"
|
msgstr "A rede está desactivada"
|
||||||
|
|
||||||
@@ -1735,72 +1728,72 @@ msgctxt "device"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Descoñecido"
|
msgstr "Descoñecido"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:121
|
#: ../js/ui/status/volume.js:124
|
||||||
msgid "Volume changed"
|
msgid "Volume changed"
|
||||||
msgstr "Volume cambiado"
|
msgstr "Volume cambiado"
|
||||||
|
|
||||||
#. Translators: This is the label for audio volume
|
#. Translators: This is the label for audio volume
|
||||||
#: ../js/ui/status/volume.js:246 ../js/ui/status/volume.js:294
|
#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297
|
||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volume"
|
msgstr "Volume"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:255
|
#: ../js/ui/status/volume.js:258
|
||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Micrófono"
|
msgstr "Micrófono"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:119
|
#: ../js/ui/unlockDialog.js:120
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Iniciar sesión como outro usuario"
|
msgstr "Iniciar sesión como outro usuario"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:140
|
#: ../js/ui/unlockDialog.js:141
|
||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Desbloquear xanela"
|
msgstr "Desbloquear xanela"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:149
|
#: ../js/ui/userMenu.js:193
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "Dispoñíbel"
|
msgstr "Dispoñíbel"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:152
|
#: ../js/ui/userMenu.js:196
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Ocupado"
|
msgstr "Ocupado"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:155
|
#: ../js/ui/userMenu.js:199
|
||||||
msgid "Invisible"
|
msgid "Invisible"
|
||||||
msgstr "Invisíbel"
|
msgstr "Invisíbel"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:158
|
#: ../js/ui/userMenu.js:202
|
||||||
msgid "Away"
|
msgid "Away"
|
||||||
msgstr "Ausente"
|
msgstr "Ausente"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:161
|
#: ../js/ui/userMenu.js:205
|
||||||
msgid "Idle"
|
msgid "Idle"
|
||||||
msgstr "Inactivo"
|
msgstr "Inactivo"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:164
|
#: ../js/ui/userMenu.js:208
|
||||||
msgid "Offline"
|
msgid "Offline"
|
||||||
msgstr "Desconectado"
|
msgstr "Desconectado"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:736
|
#: ../js/ui/userMenu.js:781
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Notificacións"
|
msgstr "Notificacións"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:749
|
#: ../js/ui/userMenu.js:797
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Cambiar de usuario"
|
msgstr "Cambiar de usuario"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:754
|
#: ../js/ui/userMenu.js:802
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Saír da sesión"
|
msgstr "Saír da sesión"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:774
|
#: ../js/ui/userMenu.js:822
|
||||||
msgid "Install Updates & Restart"
|
msgid "Install Updates & Restart"
|
||||||
msgstr "Instalar actualizacións e reiniciar"
|
msgstr "Instalar actualizacións e reiniciar"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:792
|
#: ../js/ui/userMenu.js:840
|
||||||
msgid "Your chat status will be set to busy"
|
msgid "Your chat status will be set to busy"
|
||||||
msgstr "O seu estado de conversa estabelecerase a «ocupado»"
|
msgstr "O seu estado de conversa estabelecerase a «ocupado»"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:793
|
#: ../js/ui/userMenu.js:841
|
||||||
msgid ""
|
msgid ""
|
||||||
"Notifications are now disabled, including chat messages. Your online status "
|
"Notifications are now disabled, including chat messages. Your online status "
|
||||||
"has been adjusted to let others know that you might not see their messages."
|
"has been adjusted to let others know that you might not see their messages."
|
||||||
@@ -1809,22 +1802,22 @@ msgstr ""
|
|||||||
"conversa. O seu estado de conexión axustouse para que outros saiban que non "
|
"conversa. O seu estado de conexión axustouse para que outros saiban que non "
|
||||||
"quere ver as súas mensaxes."
|
"quere ver as súas mensaxes."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:834
|
#: ../js/ui/userMenu.js:888
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Hai outros usuarios conectados."
|
msgstr "Hai outros usuarios conectados."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:839
|
#: ../js/ui/userMenu.js:893
|
||||||
msgid "Shutting down might cause them to lose unsaved work."
|
msgid "Shutting down might cause them to lose unsaved work."
|
||||||
msgstr "Se apaga o computador pode perder o traballo que non gardou."
|
msgstr "Se apaga o computador pode perder o traballo que non gardou."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/userMenu.js:867
|
#: ../js/ui/userMenu.js:921
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (remoto)"
|
msgstr "%s (remoto)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/userMenu.js:870
|
#: ../js/ui/userMenu.js:924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (consola)"
|
msgstr "%s (consola)"
|
||||||
@@ -1882,21 +1875,21 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sons do sistema"
|
msgstr "Sons do sistema"
|
||||||
|
|
||||||
#: ../src/main.c:353
|
#: ../src/main.c:372
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: ../src/main.c:359
|
#: ../src/main.c:378
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modo usado por GDM para a pantalla de inicio"
|
msgstr "Modo usado por GDM para a pantalla de inicio"
|
||||||
|
|
||||||
#: ../src/main.c:365
|
#: ../src/main.c:384
|
||||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Usar un modo específico, por exemplo, «gdm» para a pantalla de inicio de "
|
"Usar un modo específico, por exemplo, «gdm» para a pantalla de inicio de "
|
||||||
"sesión"
|
"sesión"
|
||||||
|
|
||||||
#: ../src/main.c:371
|
#: ../src/main.c:390
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Listar os modos posíbeis"
|
msgstr "Listar os modos posíbeis"
|
||||||
|
|
||||||
@@ -1917,9 +1910,6 @@ msgstr "O contrasinal non pode estar baleiro"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "O usuario rexeitou o diálogo de autenticación"
|
msgstr "O usuario rexeitou o diálogo de autenticación"
|
||||||
|
|
||||||
#~ msgid "cable unplugged"
|
|
||||||
#~ msgstr "cable desconectado"
|
|
||||||
|
|
||||||
#~ msgid "Whether to collect stats about applications usage"
|
#~ msgid "Whether to collect stats about applications usage"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Indica se se deben recolectar estatísticas sobre o uso dos aplicativos"
|
#~ "Indica se se deben recolectar estatísticas sobre o uso dos aplicativos"
|
||||||
@@ -2037,6 +2027,9 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
|
|||||||
#~ msgid "System Settings"
|
#~ msgid "System Settings"
|
||||||
#~ msgstr "Preferencias do sistema"
|
#~ msgstr "Preferencias do sistema"
|
||||||
|
|
||||||
|
#~ msgid "Switch Session"
|
||||||
|
#~ msgstr "Cambiar de sesión"
|
||||||
|
|
||||||
#~ msgid "disabled OpenSearch providers"
|
#~ msgid "disabled OpenSearch providers"
|
||||||
#~ msgstr "fornecedores OpenSearch desactivados"
|
#~ msgstr "fornecedores OpenSearch desactivados"
|
||||||
|
|
||||||
|
243
po/nb.po
243
po/nb.po
@@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 3.9.x\n"
|
"Project-Id-Version: gnome-shell 3.9.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-06-17 12:28+0200\n"
|
"POT-Creation-Date: 2013-05-28 09:43+0200\n"
|
||||||
"PO-Revision-Date: 2013-06-17 12:29+0200\n"
|
"PO-Revision-Date: 2013-05-28 09:44+0200\n"
|
||||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@@ -331,37 +331,37 @@ msgstr "Utvidelse"
|
|||||||
msgid "Select an extension to configure using the combobox above."
|
msgid "Select an extension to configure using the combobox above."
|
||||||
msgstr "Velg en utvidelse som skal konfigureres med komboboksen over."
|
msgstr "Velg en utvidelse som skal konfigureres med komboboksen over."
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:370
|
#: ../js/gdm/loginDialog.js:371
|
||||||
msgid "Session…"
|
msgid "Session…"
|
||||||
msgstr "Økt …"
|
msgstr "Økt …"
|
||||||
|
|
||||||
#. translators: this message is shown below the user list on the
|
#. translators: this message is shown below the user list on the
|
||||||
#. login screen. It can be activated to reveal an entry for
|
#. login screen. It can be activated to reveal an entry for
|
||||||
#. manually entering the username.
|
#. manually entering the username.
|
||||||
#: ../js/gdm/loginDialog.js:600
|
#: ../js/gdm/loginDialog.js:601
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Ikke listet?"
|
msgstr "Ikke listet?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:775 ../js/ui/components/networkAgent.js:137
|
#: ../js/gdm/loginDialog.js:776 ../js/ui/components/networkAgent.js:137
|
||||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:376
|
||||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||||
#: ../js/ui/status/bluetooth.js:449 ../js/ui/unlockDialog.js:95
|
#: ../js/ui/status/bluetooth.js:415 ../js/ui/unlockDialog.js:96
|
||||||
#: ../js/ui/userMenu.js:884
|
#: ../js/ui/userMenu.js:938
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:790
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Logg inn"
|
msgstr "Logg inn"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:790
|
#: ../js/gdm/loginDialog.js:791
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Neste"
|
msgstr "Neste"
|
||||||
|
|
||||||
#. Translators: this message is shown below the username entry field
|
#. Translators: this message is shown below the username entry field
|
||||||
#. to clue the user in on how to login to the local network realm
|
#. to clue the user in on how to login to the local network realm
|
||||||
#: ../js/gdm/loginDialog.js:887
|
#: ../js/gdm/loginDialog.js:888
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(f.eks. bruker eller %s)"
|
msgstr "(f.eks. bruker eller %s)"
|
||||||
@@ -369,12 +369,12 @@ msgstr "(f.eks. bruker eller %s)"
|
|||||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||||
#. is not visible here since we only care about phase2 authentication
|
#. is not visible here since we only care about phase2 authentication
|
||||||
#. (and don't even care of which one)
|
#. (and don't even care of which one)
|
||||||
#: ../js/gdm/loginDialog.js:891 ../js/ui/components/networkAgent.js:260
|
#: ../js/gdm/loginDialog.js:892 ../js/ui/components/networkAgent.js:260
|
||||||
#: ../js/ui/components/networkAgent.js:278
|
#: ../js/ui/components/networkAgent.js:278
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Brukernavn: "
|
msgstr "Brukernavn: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:1157
|
#: ../js/gdm/loginDialog.js:1158
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Innloggingsvindu"
|
msgstr "Innloggingsvindu"
|
||||||
|
|
||||||
@@ -383,8 +383,8 @@ msgstr "Innloggingsvindu"
|
|||||||
msgid "Power"
|
msgid "Power"
|
||||||
msgstr "Strøm"
|
msgstr "Strøm"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:651 ../js/ui/userMenu.js:655
|
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:696 ../js/ui/userMenu.js:700
|
||||||
#: ../js/ui/userMenu.js:768
|
#: ../js/ui/userMenu.js:816
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Hvilemodus"
|
msgstr "Hvilemodus"
|
||||||
|
|
||||||
@@ -392,8 +392,8 @@ msgstr "Hvilemodus"
|
|||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "Start på nytt"
|
msgstr "Start på nytt"
|
||||||
|
|
||||||
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:653
|
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:698
|
||||||
#: ../js/ui/userMenu.js:655 ../js/ui/userMenu.js:767 ../js/ui/userMenu.js:888
|
#: ../js/ui/userMenu.js:700 ../js/ui/userMenu.js:815 ../js/ui/userMenu.js:942
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Slå av"
|
msgstr "Slå av"
|
||||||
|
|
||||||
@@ -422,23 +422,23 @@ msgstr "Klarte ikke å lese kommando:"
|
|||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Kjøring av «%s» feilet:"
|
msgstr "Kjøring av «%s» feilet:"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:397
|
#: ../js/ui/appDisplay.js:361
|
||||||
msgid "Frequent"
|
msgid "Frequent"
|
||||||
msgstr "Ofte"
|
msgstr "Ofte"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:404
|
#: ../js/ui/appDisplay.js:368
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:996
|
#: ../js/ui/appDisplay.js:960
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nytt vindu"
|
msgstr "Nytt vindu"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:999 ../js/ui/dash.js:284
|
#: ../js/ui/appDisplay.js:963 ../js/ui/dash.js:284
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Fjern fra favoritter"
|
msgstr "Fjern fra favoritter"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:1000
|
#: ../js/ui/appDisplay.js:964
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Legg til i favoritter"
|
msgstr "Legg til i favoritter"
|
||||||
|
|
||||||
@@ -452,7 +452,7 @@ msgstr "%s ble lagt til i dine favoritter."
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s ble fjernet fra dine favoritter."
|
msgstr "%s ble fjernet fra dine favoritter."
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:744
|
#: ../js/ui/backgroundMenu.js:19 ../js/ui/userMenu.js:789
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Innstillinger"
|
msgstr "Innstillinger"
|
||||||
|
|
||||||
@@ -577,35 +577,35 @@ msgid "S"
|
|||||||
msgstr "Lø"
|
msgstr "Lø"
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
#. Translators: Text to show if there are no events
|
||||||
#: ../js/ui/calendar.js:750
|
#: ../js/ui/calendar.js:735
|
||||||
msgid "Nothing Scheduled"
|
msgid "Nothing Scheduled"
|
||||||
msgstr "Ingenting planlagt"
|
msgstr "Ingenting planlagt"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:768
|
#: ../js/ui/calendar.js:751
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A %B %d"
|
msgstr "%A %B %d"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:771
|
#: ../js/ui/calendar.js:754
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A %B %d, %Y"
|
msgstr "%A %B %d, %Y"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:782
|
#: ../js/ui/calendar.js:764
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "I dag"
|
msgstr "I dag"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:786
|
#: ../js/ui/calendar.js:768
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "I morgen"
|
msgstr "I morgen"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:797
|
#: ../js/ui/calendar.js:779
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr "Denne uken"
|
msgstr "Denne uken"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:805
|
#: ../js/ui/calendar.js:787
|
||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "Neste uke"
|
msgstr "Neste uke"
|
||||||
|
|
||||||
@@ -989,26 +989,26 @@ msgstr "Vis programmer"
|
|||||||
|
|
||||||
#. Translators: this is the name of the dock/favorites area on
|
#. Translators: this is the name of the dock/favorites area on
|
||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/dash.js:439
|
#: ../js/ui/dash.js:435
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "Favoritter"
|
msgstr "Favoritter"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:85
|
#: ../js/ui/dateMenu.js:86
|
||||||
msgid "Open Calendar"
|
msgid "Open Calendar"
|
||||||
msgstr "Åpne kalender"
|
msgstr "Åpne kalender"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:89
|
#: ../js/ui/dateMenu.js:90
|
||||||
msgid "Open Clocks"
|
msgid "Open Clocks"
|
||||||
msgstr "Åpne Klokker"
|
msgstr "Åpne Klokker"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:96
|
#: ../js/ui/dateMenu.js:97
|
||||||
msgid "Date & Time Settings"
|
msgid "Date & Time Settings"
|
||||||
msgstr "Innstillinger for dato og klokkeslett"
|
msgstr "Innstillinger for dato og klokkeslett"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
#.
|
#.
|
||||||
#: ../js/ui/dateMenu.js:202
|
#: ../js/ui/dateMenu.js:208
|
||||||
msgid "%A %B %e, %Y"
|
msgid "%A %B %e, %Y"
|
||||||
msgstr "%a %e %B, %Y"
|
msgstr "%a %e %B, %Y"
|
||||||
|
|
||||||
@@ -1182,15 +1182,15 @@ msgstr "Tøm meldinger"
|
|||||||
msgid "Notification Settings"
|
msgid "Notification Settings"
|
||||||
msgstr "Innstillinger for varsling"
|
msgstr "Innstillinger for varsling"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1711
|
#: ../js/ui/messageTray.js:1707
|
||||||
msgid "No Messages"
|
msgid "No Messages"
|
||||||
msgstr "Ingen meldinger"
|
msgstr "Ingen meldinger"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1784
|
#: ../js/ui/messageTray.js:1780
|
||||||
msgid "Message Tray"
|
msgid "Message Tray"
|
||||||
msgstr "Meldingstrau"
|
msgstr "Meldingstrau"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2811
|
#: ../js/ui/messageTray.js:2805
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Systeminformasjon"
|
msgstr "Systeminformasjon"
|
||||||
|
|
||||||
@@ -1199,7 +1199,7 @@ msgctxt "program"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ukjent"
|
msgstr "Ukjent"
|
||||||
|
|
||||||
#: ../js/ui/overviewControls.js:474 ../js/ui/screenShield.js:150
|
#: ../js/ui/overviewControls.js:472 ../js/ui/screenShield.js:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d new message"
|
msgid "%d new message"
|
||||||
msgid_plural "%d new messages"
|
msgid_plural "%d new messages"
|
||||||
@@ -1241,7 +1241,7 @@ msgstr "Topp-panel"
|
|||||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||||
#. switches containing "◯" and "|"). Other values will
|
#. switches containing "◯" and "|"). Other values will
|
||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: ../js/ui/popupMenu.js:545
|
#: ../js/ui/popupMenu.js:738
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1266,7 +1266,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d ny varsling"
|
msgstr[0] "%d ny varsling"
|
||||||
msgstr[1] "%d nye varslinger"
|
msgstr[1] "%d nye varslinger"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:759
|
#: ../js/ui/screenShield.js:449 ../js/ui/userMenu.js:807
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Lås"
|
msgstr "Lås"
|
||||||
|
|
||||||
@@ -1289,11 +1289,11 @@ msgstr "Kan ikke låse"
|
|||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Låsing ble stoppet av et program"
|
msgstr "Låsing ble stoppet av et program"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:445
|
#: ../js/ui/searchDisplay.js:453
|
||||||
msgid "Searching…"
|
msgid "Searching…"
|
||||||
msgstr "Søker …"
|
msgstr "Søker …"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:489
|
#: ../js/ui/searchDisplay.js:497
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Ingen resultater."
|
msgstr "Ingen resultater."
|
||||||
|
|
||||||
@@ -1321,7 +1321,7 @@ msgstr "Passord"
|
|||||||
msgid "Remember Password"
|
msgid "Remember Password"
|
||||||
msgstr "Husk passord"
|
msgstr "Husk passord"
|
||||||
|
|
||||||
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:108
|
#: ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:109
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Lås opp"
|
msgstr "Lås opp"
|
||||||
|
|
||||||
@@ -1374,9 +1374,9 @@ msgid "Large Text"
|
|||||||
msgstr "Stor tekst"
|
msgstr "Stor tekst"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:32
|
||||||
#: ../js/ui/status/bluetooth.js:290 ../js/ui/status/bluetooth.js:327
|
#: ../js/ui/status/bluetooth.js:289 ../js/ui/status/bluetooth.js:321
|
||||||
#: ../js/ui/status/bluetooth.js:355 ../js/ui/status/bluetooth.js:391
|
#: ../js/ui/status/bluetooth.js:357 ../js/ui/status/bluetooth.js:388
|
||||||
#: ../js/ui/status/bluetooth.js:422 ../js/ui/status/network.js:713
|
#: ../js/ui/status/network.js:739
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@@ -1397,106 +1397,97 @@ msgid "Bluetooth Settings"
|
|||||||
msgstr "Innstillinger for Bluetooth"
|
msgstr "Innstillinger for Bluetooth"
|
||||||
|
|
||||||
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
#. TRANSLATORS: this means that bluetooth was disabled by hardware rfkill
|
||||||
#: ../js/ui/status/bluetooth.js:105 ../js/ui/status/network.js:140
|
#: ../js/ui/status/bluetooth.js:104 ../js/ui/status/network.js:142
|
||||||
msgid "hardware disabled"
|
msgid "hardware disabled"
|
||||||
msgstr "maskinvare slått av"
|
msgstr "maskinvare slått av"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:198
|
#: ../js/ui/status/bluetooth.js:197
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Tilkobling"
|
msgstr "Tilkobling"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:209 ../js/ui/status/network.js:399
|
#: ../js/ui/status/bluetooth.js:208 ../js/ui/status/network.js:404
|
||||||
msgid "disconnecting..."
|
msgid "disconnecting..."
|
||||||
msgstr "kobler fra …"
|
msgstr "kobler fra …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:405
|
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:410
|
||||||
#: ../js/ui/status/network.js:1298
|
#: ../js/ui/status/network.js:1343
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "kobler til …"
|
msgstr "kobler til …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:240
|
#: ../js/ui/status/bluetooth.js:239
|
||||||
msgid "Send Files…"
|
msgid "Send Files…"
|
||||||
msgstr "Send filer …"
|
msgstr "Send filer …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:246
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Innstillinger for tastatur"
|
msgstr "Innstillinger for tastatur"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:250
|
#: ../js/ui/status/bluetooth.js:249
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Innstillinger for mus"
|
msgstr "Innstillinger for mus"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:255 ../js/ui/status/volume.js:313
|
#: ../js/ui/status/bluetooth.js:254 ../js/ui/status/volume.js:316
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Innstillinger for lyd"
|
msgstr "Innstillinger for lyd"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:328 ../js/ui/status/bluetooth.js:356
|
#: ../js/ui/status/bluetooth.js:322
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Forespørsel om autorisering fra %s"
|
msgstr "Forespørsel om autorisering fra %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:334 ../js/ui/status/bluetooth.js:399
|
#: ../js/ui/status/bluetooth.js:328
|
||||||
#: ../js/ui/status/bluetooth.js:430
|
|
||||||
#, c-format
|
|
||||||
msgid "Device %s wants to pair with this computer"
|
|
||||||
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:336
|
|
||||||
msgid "Allow"
|
|
||||||
msgstr "Tillat"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:337
|
|
||||||
msgid "Deny"
|
|
||||||
msgstr "Nekt"
|
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:362
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
|
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:364
|
#: ../js/ui/status/bluetooth.js:330
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Alltid gi tilgang"
|
msgstr "Alltid gi tilgang"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:365
|
#: ../js/ui/status/bluetooth.js:331
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Gi tilgang kun denne ene gangen"
|
msgstr "Gi tilgang kun denne ene gangen"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:366
|
#: ../js/ui/status/bluetooth.js:332
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Avvis"
|
msgstr "Avvis"
|
||||||
|
|
||||||
#. Translators: argument is the device short name
|
#. Translators: argument is the device short name
|
||||||
#: ../js/ui/status/bluetooth.js:393
|
#: ../js/ui/status/bluetooth.js:359
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Bekreftelse for tilkobling for %s"
|
msgstr "Bekreftelse for tilkobling for %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:400
|
#: ../js/ui/status/bluetooth.js:365 ../js/ui/status/bluetooth.js:396
|
||||||
|
#, c-format
|
||||||
|
msgid "Device %s wants to pair with this computer"
|
||||||
|
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
|
||||||
|
|
||||||
|
#: ../js/ui/status/bluetooth.js:366
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||||
msgstr "Vennligst bekreft om passord «%06d» er lik den som brukes på enheten."
|
msgstr "Vennligst bekreft om passord «%06d» er lik den som brukes på enheten."
|
||||||
|
|
||||||
#. Translators: this is the verb, not the noun
|
#. Translators: this is the verb, not the noun
|
||||||
#: ../js/ui/status/bluetooth.js:403
|
#: ../js/ui/status/bluetooth.js:369
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Stemmer overens"
|
msgstr "Stemmer overens"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:404
|
#: ../js/ui/status/bluetooth.js:370
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Stemmer ikke overens"
|
msgstr "Stemmer ikke overens"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:423
|
#: ../js/ui/status/bluetooth.js:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Forespørsel om tilkobling for %s"
|
msgstr "Forespørsel om tilkobling for %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:431
|
#: ../js/ui/status/bluetooth.js:397
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
@@ -1516,81 +1507,87 @@ msgstr "Volum, nettverk, batteri"
|
|||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<ukjent>"
|
msgstr "<ukjent>"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:125
|
#: ../js/ui/status/network.js:127
|
||||||
msgid "Wi-Fi"
|
msgid "Wi-Fi"
|
||||||
msgstr "Wi-Fi"
|
msgstr "Wi-Fi"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:162
|
#: ../js/ui/status/network.js:164
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "slått av"
|
msgstr "slått av"
|
||||||
|
|
||||||
#. Translators: this is for network devices that are physically present but are not
|
#. 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)
|
#. under NetworkManager's control (and thus cannot be used in the menu)
|
||||||
#: ../js/ui/status/network.js:397
|
#: ../js/ui/status/network.js:402
|
||||||
msgid "unmanaged"
|
msgid "unmanaged"
|
||||||
msgstr "ikke håndtert"
|
msgstr "ikke håndtert"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1301
|
#: ../js/ui/status/network.js:413 ../js/ui/status/network.js:1346
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "autentisering kreves"
|
msgstr "autentisering kreves"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:419
|
#: ../js/ui/status/network.js:423
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "fastvare mangler"
|
msgstr "fastvare mangler"
|
||||||
|
|
||||||
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
|
#: ../js/ui/status/network.js:430
|
||||||
|
msgid "cable unplugged"
|
||||||
|
msgstr "kabel koblet fra"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:423
|
#: ../js/ui/status/network.js:435
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "ikke tilgjengelig"
|
msgstr "ikke tilgjengelig"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1303
|
#: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1348
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "tilkobling feilet"
|
msgstr "tilkobling feilet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478 ../js/ui/status/network.js:1190
|
#: ../js/ui/status/network.js:490 ../js/ui/status/network.js:1236
|
||||||
|
#: ../js/ui/status/network.js:1424
|
||||||
msgid "More…"
|
msgid "More…"
|
||||||
msgstr "Mer …"
|
msgstr "Mer …"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:506 ../js/ui/status/network.js:1142
|
#: ../js/ui/status/network.js:518 ../js/ui/status/network.js:1191
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Tilkoblet (privat)"
|
msgstr "Tilkoblet (privat)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:572
|
#: ../js/ui/status/network.js:597
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Kablet"
|
msgstr "Kablet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:592
|
#: ../js/ui/status/network.js:611
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Mobilt bredbånd"
|
msgstr "Mobilt bredbånd"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1522
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Slå på nettverk"
|
msgstr "Slå på nettverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1522
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Innstillinger for nettverk"
|
msgstr "Innstillinger for nettverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1539
|
#: ../js/ui/status/network.js:1600
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Nettverkshåndtering"
|
msgstr "Nettverkshåndtering"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1623
|
#: ../js/ui/status/network.js:1690
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Tilkobling feilet"
|
msgstr "Tilkobling feilet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1624
|
#: ../js/ui/status/network.js:1691
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktivering av nettverkstilkobling feilet"
|
msgstr "Aktivering av nettverkstilkobling feilet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1937
|
#: ../js/ui/status/network.js:2047
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Nettverk er slått av"
|
msgstr "Nettverk er slått av"
|
||||||
|
|
||||||
@@ -1691,72 +1688,72 @@ msgctxt "device"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ukjent"
|
msgstr "Ukjent"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:121
|
#: ../js/ui/status/volume.js:124
|
||||||
msgid "Volume changed"
|
msgid "Volume changed"
|
||||||
msgstr "Volum endret"
|
msgstr "Volum endret"
|
||||||
|
|
||||||
#. Translators: This is the label for audio volume
|
#. Translators: This is the label for audio volume
|
||||||
#: ../js/ui/status/volume.js:246 ../js/ui/status/volume.js:294
|
#: ../js/ui/status/volume.js:249 ../js/ui/status/volume.js:297
|
||||||
msgid "Volume"
|
msgid "Volume"
|
||||||
msgstr "Volum"
|
msgstr "Volum"
|
||||||
|
|
||||||
#: ../js/ui/status/volume.js:255
|
#: ../js/ui/status/volume.js:258
|
||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:119
|
#: ../js/ui/unlockDialog.js:120
|
||||||
msgid "Log in as another user"
|
msgid "Log in as another user"
|
||||||
msgstr "Logg inn som en annen bruker"
|
msgstr "Logg inn som en annen bruker"
|
||||||
|
|
||||||
#: ../js/ui/unlockDialog.js:140
|
#: ../js/ui/unlockDialog.js:141
|
||||||
msgid "Unlock Window"
|
msgid "Unlock Window"
|
||||||
msgstr "Lås opp vindu"
|
msgstr "Lås opp vindu"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:149
|
#: ../js/ui/userMenu.js:193
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "Tilgjengelig"
|
msgstr "Tilgjengelig"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:152
|
#: ../js/ui/userMenu.js:196
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
msgstr "Opptatt"
|
msgstr "Opptatt"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:155
|
#: ../js/ui/userMenu.js:199
|
||||||
msgid "Invisible"
|
msgid "Invisible"
|
||||||
msgstr "Usynlig"
|
msgstr "Usynlig"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:158
|
#: ../js/ui/userMenu.js:202
|
||||||
msgid "Away"
|
msgid "Away"
|
||||||
msgstr "Borte"
|
msgstr "Borte"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:161
|
#: ../js/ui/userMenu.js:205
|
||||||
msgid "Idle"
|
msgid "Idle"
|
||||||
msgstr "Ledig"
|
msgstr "Ledig"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:164
|
#: ../js/ui/userMenu.js:208
|
||||||
msgid "Offline"
|
msgid "Offline"
|
||||||
msgstr "Frakoblet"
|
msgstr "Frakoblet"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:736
|
#: ../js/ui/userMenu.js:781
|
||||||
msgid "Notifications"
|
msgid "Notifications"
|
||||||
msgstr "Varslinger"
|
msgstr "Varslinger"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:749
|
#: ../js/ui/userMenu.js:797
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Bytt bruker"
|
msgstr "Bytt bruker"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:754
|
#: ../js/ui/userMenu.js:802
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Logg ut"
|
msgstr "Logg ut"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:774
|
#: ../js/ui/userMenu.js:822
|
||||||
msgid "Install Updates & Restart"
|
msgid "Install Updates & Restart"
|
||||||
msgstr "Installer oppdateringer og start på nytt"
|
msgstr "Installer oppdateringer og start på nytt"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:792
|
#: ../js/ui/userMenu.js:840
|
||||||
msgid "Your chat status will be set to busy"
|
msgid "Your chat status will be set to busy"
|
||||||
msgstr "Din pratestatus vil bli satt til opptatt"
|
msgstr "Din pratestatus vil bli satt til opptatt"
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:793
|
#: ../js/ui/userMenu.js:841
|
||||||
msgid ""
|
msgid ""
|
||||||
"Notifications are now disabled, including chat messages. Your online status "
|
"Notifications are now disabled, including chat messages. Your online status "
|
||||||
"has been adjusted to let others know that you might not see their messages."
|
"has been adjusted to let others know that you might not see their messages."
|
||||||
@@ -1765,24 +1762,24 @@ msgstr ""
|
|||||||
"tilkoblingsstatus er justert for å la andre vite at du kanskje ikke ser "
|
"tilkoblingsstatus er justert for å la andre vite at du kanskje ikke ser "
|
||||||
"deres meldinger."
|
"deres meldinger."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:834
|
#: ../js/ui/userMenu.js:888
|
||||||
msgid "Other users are logged in."
|
msgid "Other users are logged in."
|
||||||
msgstr "Andre brukere er logget inn."
|
msgstr "Andre brukere er logget inn."
|
||||||
|
|
||||||
#: ../js/ui/userMenu.js:839
|
#: ../js/ui/userMenu.js:893
|
||||||
msgid "Shutting down might cause them to lose unsaved work."
|
msgid "Shutting down might cause them to lose unsaved work."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Hvis du slår av vil dette kunne medføre at de mister arbeid som ikke er "
|
"Hvis du slår av vil dette kunne medføre at de mister arbeid som ikke er "
|
||||||
"lagret."
|
"lagret."
|
||||||
|
|
||||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||||
#: ../js/ui/userMenu.js:867
|
#: ../js/ui/userMenu.js:921
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (remote)"
|
msgid "%s (remote)"
|
||||||
msgstr "%s (ekstern)"
|
msgstr "%s (ekstern)"
|
||||||
|
|
||||||
#. Translators: Console here refers to a tty like a VT console
|
#. Translators: Console here refers to a tty like a VT console
|
||||||
#: ../js/ui/userMenu.js:870
|
#: ../js/ui/userMenu.js:924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s (console)"
|
msgid "%s (console)"
|
||||||
msgstr "%s (konsoll)"
|
msgstr "%s (konsoll)"
|
||||||
@@ -1840,19 +1837,19 @@ msgstr[1] "%u innganger"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systemlyder"
|
msgstr "Systemlyder"
|
||||||
|
|
||||||
#: ../src/main.c:353
|
#: ../src/main.c:372
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Skriv ut versjon"
|
msgstr "Skriv ut versjon"
|
||||||
|
|
||||||
#: ../src/main.c:359
|
#: ../src/main.c:378
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modus som brukes av GDM for innloggingsskjermen"
|
msgstr "Modus som brukes av GDM for innloggingsskjermen"
|
||||||
|
|
||||||
#: ../src/main.c:365
|
#: ../src/main.c:384
|
||||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||||
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
||||||
|
|
||||||
#: ../src/main.c:371
|
#: ../src/main.c:390
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Vis mulige modi"
|
msgstr "Vis mulige modi"
|
||||||
|
|
||||||
|
@@ -314,38 +314,6 @@ gnome_shell_plugin_kill_switch_workspace (MetaPlugin *plugin)
|
|||||||
_shell_wm_kill_switch_workspace (get_shell_wm());
|
_shell_wm_kill_switch_workspace (get_shell_wm());
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
ignore_crossing_event (MetaPlugin *plugin,
|
|
||||||
XIEnterEvent *enter_event)
|
|
||||||
{
|
|
||||||
MetaScreen *screen = meta_plugin_get_screen (plugin);
|
|
||||||
ClutterStage *stage = CLUTTER_STAGE (meta_get_stage_for_screen (screen));
|
|
||||||
|
|
||||||
if (enter_event->event == clutter_x11_get_stage_window (stage))
|
|
||||||
{
|
|
||||||
/* If the pointer enters a child of the stage window (eg, a
|
|
||||||
* trayicon), we want to consider it to still be in the stage,
|
|
||||||
* so don't let Clutter see the event.
|
|
||||||
*/
|
|
||||||
if (enter_event->detail == XINotifyInferior)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
/* If the pointer is grabbed by a window it is not currently in,
|
|
||||||
* filter that out as well. In particular, if a trayicon grabs
|
|
||||||
* the pointer after a click on its label, we don't want to hide
|
|
||||||
* the message tray. Filtering out this event will leave Clutter
|
|
||||||
* out of sync, but that happens fairly often with grabs, and we
|
|
||||||
* can work around it. (Eg, shell_global_sync_pointer().)
|
|
||||||
*/
|
|
||||||
if (enter_event->mode == XINotifyGrab &&
|
|
||||||
(enter_event->detail == XINotifyNonlinear ||
|
|
||||||
enter_event->detail == XINotifyNonlinearVirtual))
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
||||||
XEvent *xev)
|
XEvent *xev)
|
||||||
@@ -371,25 +339,10 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Make sure that Clutter doesn't see certain focus change events,
|
|
||||||
* so that when we're moving into something like a tray icon, we
|
|
||||||
* don't unfocus the container. */
|
|
||||||
if (xev->type == GenericEvent &&
|
|
||||||
xev->xcookie.extension == meta_display_get_xinput_opcode (display))
|
|
||||||
{
|
|
||||||
XIEvent *input_event = (XIEvent *) xev->xcookie.data;
|
|
||||||
if ((input_event->evtype == XI_Enter || input_event->evtype == XI_Leave) &&
|
|
||||||
ignore_crossing_event (plugin, (XIEnterEvent *) input_event))
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pass the event to shell-global
|
* Pass the event to shell-global
|
||||||
*/
|
*/
|
||||||
if (_shell_global_check_xdnd_event (shell_plugin->global, xev))
|
return _shell_global_check_xdnd_event (shell_plugin->global, xev);
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
14
src/main.c
14
src/main.c
@@ -22,6 +22,7 @@
|
|||||||
#include <atk-bridge.h>
|
#include <atk-bridge.h>
|
||||||
#include <telepathy-glib/debug.h>
|
#include <telepathy-glib/debug.h>
|
||||||
#include <telepathy-glib/debug-sender.h>
|
#include <telepathy-glib/debug-sender.h>
|
||||||
|
#include <meta/util.h>
|
||||||
|
|
||||||
#include "shell-global.h"
|
#include "shell-global.h"
|
||||||
#include "shell-global-private.h"
|
#include "shell-global-private.h"
|
||||||
@@ -41,6 +42,7 @@ extern GType gnome_shell_plugin_get_type (void);
|
|||||||
|
|
||||||
static gboolean is_gdm_mode = FALSE;
|
static gboolean is_gdm_mode = FALSE;
|
||||||
static char *session_mode = NULL;
|
static char *session_mode = NULL;
|
||||||
|
static gboolean is_display_server = FALSE;
|
||||||
|
|
||||||
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
||||||
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
||||||
@@ -347,6 +349,12 @@ print_version (const gchar *option_name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
GOptionEntry gnome_shell_options[] = {
|
GOptionEntry gnome_shell_options[] = {
|
||||||
|
{
|
||||||
|
"display-server", 0, 0, G_OPTION_ARG_NONE,
|
||||||
|
&is_display_server,
|
||||||
|
N_("Run as a display server"),
|
||||||
|
NULL,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version", 0, G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
|
"version", 0, G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
|
||||||
print_version,
|
print_version,
|
||||||
@@ -386,8 +394,6 @@ main (int argc, char **argv)
|
|||||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||||
textdomain (GETTEXT_PACKAGE);
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
g_setenv ("GDK_SCALE", "1", TRUE);
|
|
||||||
|
|
||||||
ctx = meta_get_option_context ();
|
ctx = meta_get_option_context ();
|
||||||
g_option_context_add_main_entries (ctx, gnome_shell_options, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (ctx, gnome_shell_options, GETTEXT_PACKAGE);
|
||||||
if (!g_option_context_parse (ctx, &argc, &argv, &error))
|
if (!g_option_context_parse (ctx, &argc, &argv, &error))
|
||||||
@@ -398,6 +404,8 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
g_option_context_free (ctx);
|
g_option_context_free (ctx);
|
||||||
|
|
||||||
|
meta_set_is_display_server (is_display_server);
|
||||||
|
|
||||||
meta_plugin_manager_set_plugin_type (gnome_shell_plugin_get_type ());
|
meta_plugin_manager_set_plugin_type (gnome_shell_plugin_get_type ());
|
||||||
|
|
||||||
meta_set_wm_name (WM_NAME);
|
meta_set_wm_name (WM_NAME);
|
||||||
@@ -437,8 +445,6 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
_shell_global_init ("session-mode", session_mode, NULL);
|
_shell_global_init ("session-mode", session_mode, NULL);
|
||||||
|
|
||||||
g_unsetenv ("GDK_SCALE");
|
|
||||||
|
|
||||||
ecode = meta_run ();
|
ecode = meta_run ();
|
||||||
|
|
||||||
if (g_getenv ("GNOME_SHELL_ENABLE_CLEANUP"))
|
if (g_getenv ("GNOME_SHELL_ENABLE_CLEANUP"))
|
||||||
|
@@ -930,9 +930,34 @@ _shell_global_set_plugin (ShellGlobal *global,
|
|||||||
meta_screen_get_screen_number (global->meta_screen));
|
meta_screen_get_screen_number (global->meta_screen));
|
||||||
|
|
||||||
global->stage = CLUTTER_STAGE (meta_get_stage_for_screen (global->meta_screen));
|
global->stage = CLUTTER_STAGE (meta_get_stage_for_screen (global->meta_screen));
|
||||||
global->stage_xwindow = clutter_x11_get_stage_window (global->stage);
|
if (meta_is_display_server ())
|
||||||
global->stage_gdk_window = gdk_x11_window_foreign_new_for_display (global->gdk_display,
|
{
|
||||||
global->stage_xwindow);
|
/* When Mutter is acting as its own display server then the
|
||||||
|
stage does not have a window. Instead we'll just create a
|
||||||
|
dummy window that might make some things blunder along but
|
||||||
|
will probably just leave most things broken. It might be
|
||||||
|
possible to fix this to make the fake window be the same size
|
||||||
|
as the stage window would be and make it more useful. */
|
||||||
|
|
||||||
|
GdkWindowAttr attributes;
|
||||||
|
|
||||||
|
attributes.wclass = GDK_INPUT_OUTPUT;
|
||||||
|
attributes.width = 100;
|
||||||
|
attributes.height = 100;
|
||||||
|
attributes.window_type = GDK_WINDOW_TOPLEVEL;
|
||||||
|
|
||||||
|
global->stage_gdk_window = gdk_window_new (NULL,
|
||||||
|
&attributes,
|
||||||
|
0 /* attributes_mask */);
|
||||||
|
global->stage_xwindow = gdk_x11_window_get_xid (global->stage_gdk_window);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
global->stage_xwindow = clutter_x11_get_stage_window (global->stage);
|
||||||
|
global->stage_gdk_window =
|
||||||
|
gdk_x11_window_foreign_new_for_display (global->gdk_display,
|
||||||
|
global->stage_xwindow);
|
||||||
|
}
|
||||||
|
|
||||||
g_signal_connect (global->stage, "notify::width",
|
g_signal_connect (global->stage, "notify::width",
|
||||||
G_CALLBACK (global_stage_notify_width), global);
|
G_CALLBACK (global_stage_notify_width), global);
|
||||||
@@ -1240,9 +1265,12 @@ void shell_global_init_xdnd (ShellGlobal *global)
|
|||||||
gdk_x11_get_xatom_by_name ("XdndAware"), XA_ATOM,
|
gdk_x11_get_xatom_by_name ("XdndAware"), XA_ATOM,
|
||||||
32, PropModeReplace, (const unsigned char *)&xdnd_version, 1);
|
32, PropModeReplace, (const unsigned char *)&xdnd_version, 1);
|
||||||
|
|
||||||
XChangeProperty (global->xdisplay, output_window,
|
/* There is no overlay window when running as a display server */
|
||||||
gdk_x11_get_xatom_by_name ("XdndProxy"), XA_WINDOW,
|
if (output_window)
|
||||||
32, PropModeReplace, (const unsigned char *)&global->stage_xwindow, 1);
|
XChangeProperty (global->xdisplay, output_window,
|
||||||
|
gdk_x11_get_xatom_by_name ("XdndProxy"), XA_WINDOW,
|
||||||
|
32, PropModeReplace,
|
||||||
|
(const unsigned char *)&global->stage_xwindow, 1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XdndProxy is additionally set on the proxy window as verification that the
|
* XdndProxy is additionally set on the proxy window as verification that the
|
||||||
|
@@ -43,6 +43,8 @@ struct _ShellNetworkAgentClass
|
|||||||
/* used by SHELL_TYPE_NETWORK_AGENT */
|
/* used by SHELL_TYPE_NETWORK_AGENT */
|
||||||
GType shell_network_agent_get_type (void);
|
GType shell_network_agent_get_type (void);
|
||||||
|
|
||||||
|
ShellNetworkAgent *shell_network_agent_new (void);
|
||||||
|
|
||||||
void shell_network_agent_set_password (ShellNetworkAgent *self,
|
void shell_network_agent_set_password (ShellNetworkAgent *self,
|
||||||
gchar *request_id,
|
gchar *request_id,
|
||||||
gchar *setting_key,
|
gchar *setting_key,
|
||||||
|
@@ -4,8 +4,11 @@
|
|||||||
|
|
||||||
#include "shell-xfixes-cursor.h"
|
#include "shell-xfixes-cursor.h"
|
||||||
|
|
||||||
#include <clutter/x11/clutter-x11.h>
|
#include <gdk/gdkx.h>
|
||||||
#include <X11/extensions/Xfixes.h>
|
#include <X11/extensions/Xfixes.h>
|
||||||
|
#include <meta/display.h>
|
||||||
|
#include <meta/screen.h>
|
||||||
|
#include <meta/util.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SECTION:shell-xfixes-cursor
|
* SECTION:shell-xfixes-cursor
|
||||||
@@ -24,7 +27,7 @@ struct _ShellXFixesCursorClass
|
|||||||
struct _ShellXFixesCursor {
|
struct _ShellXFixesCursor {
|
||||||
GObject parent;
|
GObject parent;
|
||||||
|
|
||||||
ClutterStage *stage;
|
MetaScreen *screen;
|
||||||
|
|
||||||
gboolean have_xfixes;
|
gboolean have_xfixes;
|
||||||
int xfixes_event_base;
|
int xfixes_event_base;
|
||||||
@@ -36,17 +39,14 @@ struct _ShellXFixesCursor {
|
|||||||
int cursor_hot_y;
|
int cursor_hot_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void xfixes_cursor_show (ShellXFixesCursor *xfixes_cursor);
|
static void xfixes_cursor_set_screen (ShellXFixesCursor *xfixes_cursor,
|
||||||
static void xfixes_cursor_hide (ShellXFixesCursor *xfixes_cursor);
|
MetaScreen *screen);
|
||||||
|
|
||||||
static void xfixes_cursor_set_stage (ShellXFixesCursor *xfixes_cursor,
|
|
||||||
ClutterStage *stage);
|
|
||||||
|
|
||||||
static void xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor);
|
static void xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_STAGE,
|
PROP_SCREEN,
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE(ShellXFixesCursor, shell_xfixes_cursor, G_TYPE_OBJECT);
|
G_DEFINE_TYPE(ShellXFixesCursor, shell_xfixes_cursor, G_TYPE_OBJECT);
|
||||||
@@ -71,31 +71,22 @@ shell_xfixes_cursor_finalize (GObject *object)
|
|||||||
{
|
{
|
||||||
ShellXFixesCursor *xfixes_cursor = SHELL_XFIXES_CURSOR (object);
|
ShellXFixesCursor *xfixes_cursor = SHELL_XFIXES_CURSOR (object);
|
||||||
|
|
||||||
// Make sure the system cursor is showing before leaving the stage.
|
xfixes_cursor_set_screen (xfixes_cursor, NULL);
|
||||||
xfixes_cursor_show (xfixes_cursor);
|
|
||||||
xfixes_cursor_set_stage (xfixes_cursor, NULL);
|
|
||||||
if (xfixes_cursor->cursor_sprite != NULL)
|
if (xfixes_cursor->cursor_sprite != NULL)
|
||||||
cogl_handle_unref (xfixes_cursor->cursor_sprite);
|
cogl_handle_unref (xfixes_cursor->cursor_sprite);
|
||||||
|
|
||||||
G_OBJECT_CLASS (shell_xfixes_cursor_parent_class)->finalize (object);
|
G_OBJECT_CLASS (shell_xfixes_cursor_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static GdkFilterReturn
|
||||||
xfixes_cursor_on_stage_destroy (ClutterActor *actor,
|
xfixes_cursor_event_filter (XEvent *xev,
|
||||||
ShellXFixesCursor *xfixes_cursor)
|
GdkEvent *ev,
|
||||||
{
|
gpointer data)
|
||||||
xfixes_cursor_set_stage (xfixes_cursor, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ClutterX11FilterReturn
|
|
||||||
xfixes_cursor_event_filter (XEvent *xev,
|
|
||||||
ClutterEvent *cev,
|
|
||||||
gpointer data)
|
|
||||||
{
|
{
|
||||||
ShellXFixesCursor *xfixes_cursor = data;
|
ShellXFixesCursor *xfixes_cursor = data;
|
||||||
|
|
||||||
if (xev->xany.window != clutter_x11_get_stage_window (xfixes_cursor->stage))
|
if (xev->xany.window != meta_get_overlay_window (xfixes_cursor->screen))
|
||||||
return CLUTTER_X11_FILTER_CONTINUE;
|
return GDK_FILTER_CONTINUE;
|
||||||
|
|
||||||
if (xev->xany.type == xfixes_cursor->xfixes_event_base + XFixesCursorNotify)
|
if (xev->xany.type == xfixes_cursor->xfixes_event_base + XFixesCursorNotify)
|
||||||
{
|
{
|
||||||
@@ -103,93 +94,43 @@ xfixes_cursor_event_filter (XEvent *xev,
|
|||||||
if (notify_event->subtype == XFixesDisplayCursorNotify)
|
if (notify_event->subtype == XFixesDisplayCursorNotify)
|
||||||
xfixes_cursor_reset_image (xfixes_cursor);
|
xfixes_cursor_reset_image (xfixes_cursor);
|
||||||
}
|
}
|
||||||
return CLUTTER_X11_FILTER_CONTINUE;
|
|
||||||
|
return GDK_FILTER_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xfixes_cursor_set_stage (ShellXFixesCursor *xfixes_cursor,
|
xfixes_cursor_set_screen (ShellXFixesCursor *xfixes_cursor,
|
||||||
ClutterStage *stage)
|
MetaScreen *screen)
|
||||||
{
|
{
|
||||||
if (xfixes_cursor->stage == stage)
|
if (xfixes_cursor->screen == screen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (xfixes_cursor->stage)
|
if (xfixes_cursor->screen)
|
||||||
{
|
{
|
||||||
g_signal_handlers_disconnect_by_func (xfixes_cursor->stage,
|
gdk_window_remove_filter (NULL, (GdkFilterFunc)xfixes_cursor_event_filter, xfixes_cursor);
|
||||||
(void *)xfixes_cursor_on_stage_destroy,
|
|
||||||
xfixes_cursor);
|
|
||||||
|
|
||||||
clutter_x11_remove_filter (xfixes_cursor_event_filter, xfixes_cursor);
|
|
||||||
}
|
}
|
||||||
xfixes_cursor->stage = stage;
|
|
||||||
if (xfixes_cursor->stage)
|
xfixes_cursor->screen = screen;
|
||||||
|
if (xfixes_cursor->screen)
|
||||||
{
|
{
|
||||||
int error_base;
|
int error_base;
|
||||||
|
|
||||||
xfixes_cursor->stage = stage;
|
gdk_window_add_filter (NULL, (GdkFilterFunc)xfixes_cursor_event_filter, xfixes_cursor);
|
||||||
g_signal_connect (xfixes_cursor->stage, "destroy",
|
|
||||||
G_CALLBACK (xfixes_cursor_on_stage_destroy), xfixes_cursor);
|
|
||||||
|
|
||||||
clutter_x11_add_filter (xfixes_cursor_event_filter, xfixes_cursor);
|
xfixes_cursor->have_xfixes = XFixesQueryExtension (gdk_x11_get_default_xdisplay (),
|
||||||
|
|
||||||
xfixes_cursor->have_xfixes = XFixesQueryExtension (clutter_x11_get_default_display (),
|
|
||||||
&xfixes_cursor->xfixes_event_base,
|
&xfixes_cursor->xfixes_event_base,
|
||||||
&error_base);
|
&error_base);
|
||||||
if (xfixes_cursor->have_xfixes)
|
|
||||||
XFixesSelectCursorInput (clutter_x11_get_default_display (),
|
/* FIXME: this needs to be moved down to mutter as a whole */
|
||||||
clutter_x11_get_stage_window (stage),
|
if (xfixes_cursor->have_xfixes && !meta_is_display_server())
|
||||||
|
XFixesSelectCursorInput (gdk_x11_get_default_xdisplay (),
|
||||||
|
meta_get_overlay_window (screen),
|
||||||
XFixesDisplayCursorNotifyMask);
|
XFixesDisplayCursorNotifyMask);
|
||||||
|
|
||||||
xfixes_cursor_reset_image (xfixes_cursor);
|
xfixes_cursor_reset_image (xfixes_cursor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
xfixes_cursor_show (ShellXFixesCursor *xfixes_cursor)
|
|
||||||
{
|
|
||||||
int minor, major;
|
|
||||||
Display *xdisplay;
|
|
||||||
Window xwindow;
|
|
||||||
|
|
||||||
if (xfixes_cursor->is_showing == TRUE)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!xfixes_cursor->have_xfixes || !xfixes_cursor->stage)
|
|
||||||
return;
|
|
||||||
|
|
||||||
xdisplay = clutter_x11_get_default_display ();
|
|
||||||
xwindow = clutter_x11_get_stage_window (xfixes_cursor->stage);
|
|
||||||
XFixesQueryVersion (xdisplay, &major, &minor);
|
|
||||||
if (major >= 4)
|
|
||||||
{
|
|
||||||
XFixesShowCursor (xdisplay, xwindow);
|
|
||||||
xfixes_cursor->is_showing = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
xfixes_cursor_hide (ShellXFixesCursor *xfixes_cursor)
|
|
||||||
{
|
|
||||||
int minor, major;
|
|
||||||
Display *xdisplay;
|
|
||||||
Window xwindow;
|
|
||||||
|
|
||||||
if (xfixes_cursor->is_showing == FALSE)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!xfixes_cursor->have_xfixes || !xfixes_cursor->stage)
|
|
||||||
return;
|
|
||||||
|
|
||||||
xdisplay = clutter_x11_get_default_display ();
|
|
||||||
xwindow = clutter_x11_get_stage_window (xfixes_cursor->stage);
|
|
||||||
XFixesQueryVersion (xdisplay, &major, &minor);
|
|
||||||
if (major >= 4)
|
|
||||||
{
|
|
||||||
XFixesHideCursor (xdisplay, xwindow);
|
|
||||||
xfixes_cursor->is_showing = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
|
xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
|
||||||
{
|
{
|
||||||
@@ -201,7 +142,7 @@ xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
|
|||||||
if (!xfixes_cursor->have_xfixes)
|
if (!xfixes_cursor->have_xfixes)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cursor_image = XFixesGetCursorImage (clutter_x11_get_default_display ());
|
cursor_image = XFixesGetCursorImage (gdk_x11_get_default_xdisplay ());
|
||||||
if (!cursor_image)
|
if (!cursor_image)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -265,8 +206,8 @@ shell_xfixes_cursor_set_property (GObject *object,
|
|||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
case PROP_STAGE:
|
case PROP_SCREEN:
|
||||||
xfixes_cursor_set_stage (xfixes_cursor, g_value_get_object (value));
|
xfixes_cursor_set_screen (xfixes_cursor, g_value_get_object (value));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@@ -284,8 +225,8 @@ shell_xfixes_cursor_get_property (GObject *object,
|
|||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
case PROP_STAGE:
|
case PROP_SCREEN:
|
||||||
g_value_set_object (value, G_OBJECT (xfixes_cursor->stage));
|
g_value_set_object (value, G_OBJECT (xfixes_cursor->screen));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@@ -311,22 +252,22 @@ shell_xfixes_cursor_class_init (ShellXFixesCursorClass *klass)
|
|||||||
gobject_class->set_property = shell_xfixes_cursor_set_property;
|
gobject_class->set_property = shell_xfixes_cursor_set_property;
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
g_object_class_install_property (gobject_class,
|
||||||
PROP_STAGE,
|
PROP_SCREEN,
|
||||||
g_param_spec_object ("stage",
|
g_param_spec_object ("screen",
|
||||||
"Stage",
|
"Screen",
|
||||||
"Stage for mouse cursor",
|
"Screen for mouse cursor",
|
||||||
CLUTTER_TYPE_STAGE,
|
META_TYPE_SCREEN,
|
||||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_xfixes_cursor_get_for_stage:
|
* shell_xfixes_cursor_get_for_screen:
|
||||||
* @stage: (transfer none): The #ClutterStage to get the cursor for
|
* @screen: (transfer none): The #MetaScreen to get the cursor for
|
||||||
*
|
*
|
||||||
* Return value: (transfer none): A #ShellXFixesCursor instance
|
* Return value: (transfer none): A #ShellXFixesCursor instance
|
||||||
*/
|
*/
|
||||||
ShellXFixesCursor *
|
ShellXFixesCursor *
|
||||||
shell_xfixes_cursor_get_for_stage (ClutterStage *stage)
|
shell_xfixes_cursor_get_for_screen (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
ShellXFixesCursor *instance;
|
ShellXFixesCursor *instance;
|
||||||
static GQuark xfixes_cursor_quark;
|
static GQuark xfixes_cursor_quark;
|
||||||
@@ -334,47 +275,19 @@ shell_xfixes_cursor_get_for_stage (ClutterStage *stage)
|
|||||||
if (G_UNLIKELY (xfixes_cursor_quark == 0))
|
if (G_UNLIKELY (xfixes_cursor_quark == 0))
|
||||||
xfixes_cursor_quark = g_quark_from_static_string ("gnome-shell-xfixes-cursor");
|
xfixes_cursor_quark = g_quark_from_static_string ("gnome-shell-xfixes-cursor");
|
||||||
|
|
||||||
instance = g_object_get_qdata (G_OBJECT (stage), xfixes_cursor_quark);
|
instance = g_object_get_qdata (G_OBJECT (screen), xfixes_cursor_quark);
|
||||||
|
|
||||||
if (instance == NULL)
|
if (instance == NULL)
|
||||||
{
|
{
|
||||||
instance = g_object_new (SHELL_TYPE_XFIXES_CURSOR,
|
instance = g_object_new (SHELL_TYPE_XFIXES_CURSOR,
|
||||||
"stage", stage,
|
"screen", screen,
|
||||||
NULL);
|
NULL);
|
||||||
g_object_set_qdata (G_OBJECT (stage), xfixes_cursor_quark, instance);
|
g_object_set_qdata (G_OBJECT (screen), xfixes_cursor_quark, instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* shell_xfixes_cursor_hide:
|
|
||||||
* @xfixes_cursor: the #ShellXFixesCursor
|
|
||||||
*
|
|
||||||
* Hide the system mouse cursor.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
shell_xfixes_cursor_hide (ShellXFixesCursor *xfixes_cursor)
|
|
||||||
{
|
|
||||||
g_return_if_fail (SHELL_IS_XFIXES_CURSOR (xfixes_cursor));
|
|
||||||
|
|
||||||
xfixes_cursor_hide (xfixes_cursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* shell_xfixes_cursor_show:
|
|
||||||
* @xfixes_cursor: the #ShellXFixesCursor
|
|
||||||
*
|
|
||||||
* Show the system mouse cursor to show
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
shell_xfixes_cursor_show (ShellXFixesCursor *xfixes_cursor)
|
|
||||||
{
|
|
||||||
g_return_if_fail (SHELL_IS_XFIXES_CURSOR (xfixes_cursor));
|
|
||||||
|
|
||||||
xfixes_cursor_show (xfixes_cursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_xfixes_cursor_update_texture_image:
|
* shell_xfixes_cursor_update_texture_image:
|
||||||
* @xfixes_cursor: the #ShellXFixesCursor
|
* @xfixes_cursor: the #ShellXFixesCursor
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
#include <meta/screen.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@@ -19,10 +20,8 @@ typedef struct _ShellXFixesCursorClass ShellXFixesCursorClass;
|
|||||||
|
|
||||||
GType shell_xfixes_cursor_get_type (void) G_GNUC_CONST;
|
GType shell_xfixes_cursor_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
ShellXFixesCursor *shell_xfixes_cursor_get_for_stage (ClutterStage *stage);
|
ShellXFixesCursor *shell_xfixes_cursor_get_for_screen (MetaScreen *screen);
|
||||||
|
|
||||||
void shell_xfixes_cursor_show (ShellXFixesCursor *xfixes_cursor);
|
|
||||||
void shell_xfixes_cursor_hide (ShellXFixesCursor *xfixes_cursor);
|
|
||||||
int shell_xfixes_cursor_get_hot_x (ShellXFixesCursor *xfixes_cursor);
|
int shell_xfixes_cursor_get_hot_x (ShellXFixesCursor *xfixes_cursor);
|
||||||
int shell_xfixes_cursor_get_hot_y (ShellXFixesCursor *xfixes_cursor);
|
int shell_xfixes_cursor_get_hot_y (ShellXFixesCursor *xfixes_cursor);
|
||||||
void shell_xfixes_cursor_update_texture_image (ShellXFixesCursor *xfixes_cursor,
|
void shell_xfixes_cursor_update_texture_image (ShellXFixesCursor *xfixes_cursor,
|
||||||
|
@@ -3056,10 +3056,6 @@ parse_shadow_property (StThemeNode *node,
|
|||||||
*/
|
*/
|
||||||
for (term = decl->value; term; term = term->next)
|
for (term = decl->value; term; term = term->next)
|
||||||
{
|
{
|
||||||
/* if we found "none", we're all set with the default values */
|
|
||||||
if (term_is_none (term))
|
|
||||||
return VALUE_FOUND;
|
|
||||||
|
|
||||||
if (term->type == TERM_NUMBER)
|
if (term->type == TERM_NUMBER)
|
||||||
{
|
{
|
||||||
gdouble value;
|
gdouble value;
|
||||||
|
@@ -385,7 +385,7 @@ st_widget_finalize (GObject *gobject)
|
|||||||
g_free (priv->inline_style);
|
g_free (priv->inline_style);
|
||||||
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (priv->paint_states); i++)
|
for (i = 0; i < G_N_ELEMENTS (priv->paint_states); i++)
|
||||||
st_theme_node_paint_state_free (&priv->paint_states[i]);
|
st_theme_node_paint_state_init (&priv->paint_states[i]);
|
||||||
|
|
||||||
G_OBJECT_CLASS (st_widget_parent_class)->finalize (gobject);
|
G_OBJECT_CLASS (st_widget_parent_class)->finalize (gobject);
|
||||||
}
|
}
|
||||||
@@ -643,9 +643,8 @@ st_widget_get_theme_node (StWidget *widget)
|
|||||||
|
|
||||||
if (stage == NULL)
|
if (stage == NULL)
|
||||||
{
|
{
|
||||||
g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
|
g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
|
||||||
st_describe_actor (CLUTTER_ACTOR (widget)));
|
st_describe_actor (CLUTTER_ACTOR (widget)));
|
||||||
return g_object_new (ST_TYPE_THEME_NODE, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parent_node == NULL)
|
if (parent_node == NULL)
|
||||||
|
Reference in New Issue
Block a user