Compare commits

..

18 Commits

Author SHA1 Message Date
858cf5e0c9 Bump version to 3.11.5
Update NEWS.
2014-02-05 00:17:32 +01:00
881dd4666e Updated Hebrew translation
Signed-off-by: Yosef Or Boczko <yoseforb@src.gnome.org>
2014-02-05 00:32:33 +02:00
c4aeaf7fe8 NetworkMenu: use the carrier state to the decide if wired should be shown
The design says "when a network cable is connected", not
"When a network cable is connected and the link is up and we
have an IP etc. etc." (which is what ACTIVATED would imply).

https://bugzilla.gnome.org/show_bug.cgi?id=723570
2014-02-04 22:25:11 +01:00
ea1f5a8fc6 NMWirelessDialog: show an informative message when airplane mode is on
Rather than just showing "No networks", inform the user if airplane
mode is on or if wifi is off, and allow the user to change that
from the dialog (if possible).

https://bugzilla.gnome.org/show_bug.cgi?id=709128
2014-02-04 22:25:06 +01:00
7f1e420a0a NMWirelessDialog: request a scan when there are no visible access points
Ideally, we should keep scanning while the dialog is open, and
stop (or reduce the frequency) when it's closed. Forcing a new
scan when the dialog is opened empty is a close approximation
and increases the probability that the user will find the AP
he needs.

https://bugzilla.gnome.org/show_bug.cgi?id=709128
2014-02-04 22:24:01 +01:00
1272eaf07f NMWirelessDialog: fix removing access points
We must destroy the actor, not the item, because the latter doesn't
have a destroy() method.

https://bugzilla.gnome.org/show_bug.cgi?id=709128
2014-02-04 22:24:00 +01:00
2fe760cc4b rfkill: split out the dbus handling parts from the indicator
status.network wants to watch for airplane mode too, we can
share the code with a manager singleton.

https://bugzilla.gnome.org/show_bug.cgi?id=709128
2014-02-04 22:24:00 +01:00
df3a50bae8 AirplaneMode: don't show a "Turn off" item if HW enabled
If airplane mode is enabled with an HW switch, we can't turn it
off from the menu, so make the menu item insensitive and
replace it with a helpful tip.

https://bugzilla.gnome.org/show_bug.cgi?id=709685
2014-02-04 22:24:00 +01:00
0db3605f33 Magnifier: Disable unredirect when active
The unredirect feature does not apply to the magnifier and it
prevents users from gaming whilst it is on so disable when magnifier
is active and allow magnifier users to game!

Bug https://bugzilla.gnome.org/show_bug.cgi?id=708985
2014-02-04 16:58:25 +01:00
173fa92116 Updated Indonesian translation 2014-02-04 14:16:26 +00:00
02ca58c1eb Updated Hebrew translation. 2014-02-03 16:30:03 +02:00
4a22fe58bf updated kn.po 2014-02-03 16:51:29 +05:30
3fc478a14b overview: don't add a null desktop clone
If there is no desktop window, getDesktopClone() returns null.
In that case, we know that no animation is needed.

Fixes a regression from b97f3a9ecf

https://bugzilla.gnome.org/show_bug.cgi?id=723523
2014-02-03 11:55:50 +01:00
203bc674fe Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-02-02 20:36:23 +08:00
a4a9f0a04c Updated Kazakh translation 2014-02-01 15:12:11 +00:00
918e7fffeb Updated Tajik translation 2014-02-01 12:55:49 +00:00
e1648de661 Updated Brazilian Portuguese translation 2014-02-01 10:05:14 +00:00
f7c94e6343 Updated Greek translation 2014-02-01 08:16:19 +02:00
38 changed files with 2430 additions and 2471 deletions

30
NEWS
View File

@ -1,3 +1,33 @@
3.11.5
======
* Fix extension preference tool [Florian; #722334]
* Fix keyboard activation of legacy tray icons [Giovanni; #721267]
* Add radial background shade for modal dialogs [Giovanni; #669798]
* Show attached modal windows in the overview [Giovanni; #650843]
* Add support for desktop actions [Giovanni; #669603]
* Indicate in system status when location service is used [Zeeshan; #709372]
* Add support for extended app folder schema [Jasper; #723179]
* Show status icon for wired network connections [Jasper; #708966]
* Indicate airplane mode in network selection dialog [Giovanni; #709128]
* Misc bug fixes and cleanups [Florian, Sebastian, Giovanni, Tim, Matt, Jasper;
#722417, #722494, #722547, #722593, #722434, #722787, #722690, #722840,
#722660, #722812, #723197, #722927, #723306, #723308, #723523, #709685,
#723570]
Contributors:
Zeeshan Ali (Khattak), Magdalen Berns, Giovanni Campagna, William Jon McCann,
Sebastian Keller, Tim Lunn, Florian Müllner, Carlos Soriano,
Jasper St. Pierre, Rico Tzschichholz, Matt Watson
Translations:
Marek Černocký [cs], Mattias Põldaru [et], Tong Hui [zh_CN],
Victor Ibragimov [tg], Enrico Nicoletto [pt_BR], Daniel Mustieles [es],
Fran Diéguez [gl], Kjartan Maraas [nb], Nilamdyuti Goswami [as],
Aurimas Černius [lt], Stas Solovey [ru], Yosef Or Boczko [he],
Jorge Pérez Pérez [an], Dimitris Spingos [el], Baurzhan Muftakhidinov [kk],
Chao-Hsiung Liao [zh_HK, zh_TW], Shankar Prasad [kn], Yaron Shahrabani [he],
Andika Triwidada [id]
3.11.4
======
* Fix removal of workspacaes that are not at the end [Giovanni; #721417]

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.11.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.11.5],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@ -76,7 +76,7 @@ AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.15.90
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.11.1
MUTTER_MIN_VERSION=3.11.5
GTK_MIN_VERSION=3.7.9
GIO_MIN_VERSION=2.37.0
LIBECAL_MIN_VERSION=3.5.3

View File

@ -289,6 +289,20 @@ StScrollBar StButton#vhandle:active {
spacing: 10px;
}
.nm-dialog-airplane-box {
spacing: 12px;
}
.nm-dialog-airplane-headline {
font-size: 1.1em;
font-weight: bold;
text-align: center;
}
.nm-dialog-airplane-text {
color: #999999;
}
.nm-dialog-header-icon {
icon-size: 32px;
}
@ -1453,6 +1467,10 @@ StScrollBar StButton#vhandle:active {
color: #999999;
}
.no-networks-box {
spacing: 12px;
}
.notification {
border-radius: 10px 10px 0px 0px;
background: rgba(0,0,0,0.9);
@ -2512,7 +2530,7 @@ StScrollBar StButton#vhandle:active {
box-shadow: 0px 4px 8px rgba(0,0,0,0.9);
}
#systemGroup {
#lockDialogGroup {
background: #2e3436 url(noise-texture.png);
background-repeat: repeat;
}

View File

@ -274,7 +274,7 @@ const SessionMenuButton = new Lang.Class({
this.actor = new St.Bin({ child: this._button });
this._menu = new PopupMenu.PopupMenu(this._button, 0, St.Side.TOP);
Main.layoutManager.menuGroup.add_actor(this._menu.actor);
Main.uiGroup.add_actor(this._menu.actor);
this._menu.actor.hide();
this._menu.connect('open-state-changed',

View File

@ -1525,7 +1525,7 @@ const AppIconMenu = new Lang.Class({
}));
source.actor.connect('destroy', Lang.bind(this, function () { this.actor.destroy(); }));
Main.layoutManager.menuGroup.add_actor(this.actor);
Main.uiGroup.add_actor(this.actor);
},
_redisplay: function() {

View File

@ -132,46 +132,6 @@ const BackgroundCache = new Lang.Class({
this._removeContent(this._images, content);
},
_loadImageContentInternal: function(filename, style) {
let cancellable = new Gio.Cancellable();
let content = new Meta.Background({ meta_screen: global.screen });
let info = { filename: filename,
style: style,
cancellable: cancellable,
callers: [] };
content.load_file_async(filename, style, cancellable, Lang.bind(this, function(object, result) {
if (cancellable.is_cancelled())
return;
try {
content.load_file_finish(result);
} catch(e) {
content = null;
}
if (content) {
this._monitorFile(filename);
info.callers.forEach(Lang.bind(this, function(caller) {
let newContent = content.copy(caller.monitorIndex, caller.effects);
this._images.push(newContent);
caller.onFinished(newContent);
}));
} else {
info.callers.forEach(Lang.bind(this, function(caller) {
caller.onFinished(null);
}));
}
let idx = this._pendingFileLoads.indexOf(info);
this._pendingFileLoads.splice(idx, 1);
}));
this._pendingFileLoads.push(info);
return info;
},
_loadImageContent: function(params) {
params = Params.parse(params, { monitorIndex: 0,
style: null,
@ -180,38 +140,67 @@ const BackgroundCache = new Lang.Class({
cancellable: null,
onFinished: null });
let caller = { monitorIndex: params.monitorIndex,
effects: params.effects,
cancellable: params.cancellable,
onFinished: params.onFinished };
let info = null;
for (let i = 0; i < this._pendingFileLoads.length; i++) {
let pendingLoad = this._pendingFileLoads[i];
if (pendingLoad.filename == params.filename && pendingLoad.style == params.style) {
info = pendingLoad;
break;
if (this._pendingFileLoads[i].filename == params.filename &&
this._pendingFileLoads[i].style == params.style) {
this._pendingFileLoads[i].callers.push({ shouldCopy: true,
monitorIndex: params.monitorIndex,
effects: params.effects,
onFinished: params.onFinished });
return;
}
}
if (!info)
info = this._loadImageContentInternal(params.filename, params.style);
this._pendingFileLoads.push({ filename: params.filename,
style: params.style,
callers: [{ shouldCopy: false,
monitorIndex: params.monitorIndex,
effects: params.effects,
onFinished: params.onFinished }] });
info.callers.push(caller);
let content = new Meta.Background({ meta_screen: global.screen,
monitor: params.monitorIndex,
effects: params.effects });
if (caller.cancellable) {
caller.cancellable.connect(Lang.bind(this, function() {
let idx = info.callers.indexOf(caller);
info.callers.splice(idx, 1);
content.load_file_async(params.filename,
params.style,
params.cancellable,
Lang.bind(this,
function(object, result) {
try {
content.load_file_finish(result);
if (info.callers.length == 0) {
info.cancellable.cancel();
this._monitorFile(params.filename);
this._images.push(content);
} catch(e) {
content = null;
}
let idx = this._pendingFileLoads.indexOf(info);
this._pendingFileLoads.splice(idx, 1);
}
}));
}
for (let i = 0; i < this._pendingFileLoads.length; i++) {
let pendingLoad = this._pendingFileLoads[i];
if (pendingLoad.filename != params.filename ||
pendingLoad.style != params.style)
continue;
for (let j = 0; j < pendingLoad.callers.length; j++) {
if (pendingLoad.callers[j].onFinished) {
let newContent;
if (content && pendingLoad.callers[j].shouldCopy) {
newContent = content.copy(pendingLoad.callers[j].monitorIndex,
pendingLoad.callers[j].effects);
this._images.push(newContent);
} else {
newContent = content;
}
pendingLoad.callers[j].onFinished(newContent);
}
}
this._pendingFileLoads.splice(i, 1);
}
}));
},
getImageContent: function(params) {
@ -261,6 +250,7 @@ const BackgroundCache = new Lang.Class({
monitorIndex: params.monitorIndex,
cancellable: params.cancellable,
onFinished: params.onFinished });
}
},
@ -634,6 +624,31 @@ const Background = new Lang.Class({
});
Signals.addSignalMethods(Background.prototype);
const SystemBackground = new Lang.Class({
Name: 'SystemBackground',
_init: function() {
this._cache = getBackgroundCache();
this.actor = new Meta.BackgroundActor();
this._cache.getImageContent({ style: GDesktopEnums.BackgroundStyle.WALLPAPER,
filename: global.datadir + '/theme/noise-texture.png',
effects: Meta.BackgroundEffects.NONE,
onFinished: Lang.bind(this, function(content) {
this.actor.content = content;
this.emit('loaded');
})
});
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
},
_onDestroy: function() {
this._cache.removeImageContent(this.actor.content);
},
});
Signals.addSignalMethods(SystemBackground.prototype);
const Animation = new Lang.Class({
Name: 'Animation',

View File

@ -22,7 +22,7 @@ const BackgroundMenu = new Lang.Class({
this.actor.add_style_class_name('background-menu');
layoutManager.menuGroup.add_actor(this.actor);
layoutManager.uiGroup.add_actor(this.actor);
this.actor.hide();
}
});

View File

@ -46,7 +46,7 @@ let dragMonitors = [];
function _getEventHandlerActor() {
if (!eventHandlerActor) {
eventHandlerActor = new Clutter.Actor({ width: 0, height: 0 });
Main.layoutManager.sessionGroup.add_actor(eventHandlerActor);
Main.uiGroup.add_actor(eventHandlerActor);
// We connect to 'event' rather than 'captured-event' because the capturing phase doesn't happen
// when you've grabbed the pointer.
eventHandlerActor.connect('event',
@ -236,7 +236,7 @@ const _Draggable = new Lang.Class({
if (this.actor._delegate && this.actor._delegate.getDragActor) {
this._dragActor = this.actor._delegate.getDragActor();
Main.layoutManager.sessionGroup.add_child(this._dragActor);
Main.uiGroup.add_child(this._dragActor);
this._dragActor.raise_top();
Shell.util_set_hidden_from_pick(this._dragActor, true);
@ -276,7 +276,7 @@ const _Draggable = new Lang.Class({
this._dragOrigScale = this._dragActor.scale_x;
// Set the actor's scale such that it will keep the same
// transformed size when it's reparented to the sessionGroup
// transformed size when it's reparented to the uiGroup
let [scaledWidth, scaledHeight] = this.actor.get_transformed_size();
this._dragActor.set_scale(scaledWidth / this.actor.width,
scaledHeight / this.actor.height);
@ -286,7 +286,7 @@ const _Draggable = new Lang.Class({
this._dragOffsetY = actorStageY - this._dragStartY;
this._dragOrigParent.remove_actor(this._dragActor);
Main.layoutManager.sessionGroup.add_child(this._dragActor);
Main.uiGroup.add_child(this._dragActor);
this._dragActor.raise_top();
Shell.util_set_hidden_from_pick(this._dragActor, true);
}
@ -448,7 +448,7 @@ const _Draggable = new Lang.Class({
event.get_time())) {
// If it accepted the drop without taking the actor,
// handle it ourselves.
if (this._dragActor.get_parent() == Main.layoutManager.sessionGroup) {
if (this._dragActor.get_parent() == Main.uiGroup) {
if (this._restoreOnSuccess) {
this._restoreDragActor(event.get_time());
return true;
@ -557,7 +557,7 @@ const _Draggable = new Lang.Class({
_onAnimationComplete : function (dragActor, eventTime) {
if (this._dragOrigParent) {
Main.layoutManager.sessionGroup.remove_child(this._dragActor);
Main.uiGroup.remove_child(this._dragActor);
this._dragOrigParent.add_actor(this._dragActor);
dragActor.set_scale(this._dragOrigScale, this._dragOrigScale);
dragActor.set_position(this._dragOrigX, this._dragOrigY);

View File

@ -162,9 +162,9 @@ const LayoutManager = new Lang.Class({
this._startingUp = true;
// Normally, the stage is always covered so Clutter doesn't need to clear
// it; however it becomes visible when using the magnifier.
// it; however it becomes visible during the startup animation
// See the comment below for a longer explanation
global.stage.color = DEFAULT_BACKGROUND_COLOR;
global.stage.no_clear_hint = true;
// Set up stage hierarchy to group all UI actors under one container.
this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
@ -184,27 +184,29 @@ const LayoutManager = new Lang.Class({
let height = global.stage.height;
[alloc.min_size, alloc.natural_size] = [height, height];
});
global.stage.add_child(this.uiGroup);
this.systemGroup = new St.Widget({ name: 'systemGroup',
layout_manager: new Clutter.BinLayout() });
this.uiGroup.add_actor(this.systemGroup);
this.sessionGroup = new St.Widget({ name: 'sessionGroup' });
this.uiGroup.add_child(this.sessionGroup);
global.stage.remove_actor(global.window_group);
this.sessionGroup.add_actor(global.window_group);
this.uiGroup.add_actor(global.window_group);
global.stage.add_child(this.uiGroup);
this.overviewGroup = new St.Widget({ name: 'overviewGroup',
visible: false });
this.addChrome(this.overviewGroup);
this.screenShieldGroup = new St.Widget({ name: 'screenShieldGroup',
visible: false,
clip_to_allocation: true,
layout_manager: new Clutter.BinLayout(),
});
this.uiGroup.add_child(this.screenShieldGroup);
this.addChrome(this.screenShieldGroup);
this.panelBox = new St.BoxLayout({ name: 'panelBox',
vertical: true });
this.addChrome(this.panelBox, { affectsStruts: true,
trackFullscreen: true });
this.panelBox.connect('allocation-changed',
Lang.bind(this, this._panelBoxChanged));
this.trayBox = new St.Widget({ name: 'trayBox',
layout_manager: new Clutter.BinLayout() });
@ -217,39 +219,13 @@ const LayoutManager = new Lang.Class({
this.addChrome(this.keyboardBox);
this._keyboardHeightNotifyId = 0;
this.osdGroup = new St.Widget();
this.sessionGroup.add_child(this.osdGroup);
this.switcherPopupGroup = new St.Widget();
this.sessionGroup.add_child(this.switcherPopupGroup);
this.dialogGroup = new St.Widget();
this.sessionGroup.add_child(this.dialogGroup);
// A dummy actor that tracks the mouse or text cursor, based on the
// position set in setDummyCursorPosition.
this.dummyCursor = new St.Widget({ width: 0, height: 0 });
this.uiGroup.add_child(this.dummyCursor);
this.uiGroup.add_actor(this.dummyCursor);
// The panel group isn't in the session, as it needs to go above the screen
// shield, and it isn't animated in the login animation.
this.panelGroup = new St.Widget({ name: 'panelGroup' });
this.uiGroup.add_child(this.panelGroup);
this._trackActor(this.panelGroup, { affectsStruts: true,
trackFullscreen: true });
this.panelGroup.connect('allocation-changed',
Lang.bind(this, this._panelGroupChanged));
this.overlayGroup = new St.Widget({ name: 'overlayGroup' });
this.uiGroup.add_child(this.overlayGroup);
this.menuGroup = new St.Widget();
this.overlayGroup.add_child(this.menuGroup);
this._topSessionGroup = new St.Widget();
this.overlayGroup.add_child(this._topSessionGroup);
global.stage.remove_child(global.top_window_group);
this._topSessionGroup.add_child(global.top_window_group);
global.stage.remove_actor(global.top_window_group);
this.uiGroup.add_actor(global.top_window_group);
this._backgroundGroup = new Meta.BackgroundGroup();
global.window_group.add_child(this._backgroundGroup);
@ -271,7 +247,8 @@ const LayoutManager = new Lang.Class({
// This is called by Main after everything else is constructed
init: function() {
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
this._prepareStartupAnimation();
this._loadBackground();
},
showOverview: function() {
@ -280,9 +257,6 @@ const LayoutManager = new Lang.Class({
this._inOverview = true;
this._updateVisibility();
this._updateRegions();
global.window_group.hide();
global.top_window_group.hide();
},
hideOverview: function() {
@ -291,9 +265,6 @@ const LayoutManager = new Lang.Class({
this._inOverview = false;
this._updateVisibility();
this._queueUpdateRegions();
global.window_group.show();
global.top_window_group.show();
},
_sessionUpdated: function() {
@ -335,7 +306,7 @@ const LayoutManager = new Lang.Class({
});
this.hotCorners = [];
let size = this.panelGroup.height;
let size = this.panelBox.height;
// build new hot corners
for (let i = 0; i < this.monitors.length; i++) {
@ -435,11 +406,11 @@ const LayoutManager = new Lang.Class({
},
_updateBoxes: function() {
this.systemGroup.set_position(0, 0);
this.systemGroup.set_size(global.screen_width, global.screen_height);
this.screenShieldGroup.set_position(0, 0);
this.screenShieldGroup.set_size(global.screen_width, global.screen_height);
this.panelGroup.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
this.panelGroup.set_size(this.primaryMonitor.width, -1);
this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
this.panelBox.set_size(this.primaryMonitor.width, -1);
if (this.keyboardIndex < 0)
this.keyboardIndex = this.primaryIndex;
@ -449,10 +420,10 @@ const LayoutManager = new Lang.Class({
this.trayBox.set_size(this.bottomMonitor.width, -1);
},
_panelGroupChanged: function() {
_panelBoxChanged: function() {
this._updatePanelBarrier();
let size = this.panelGroup.height;
let size = this.panelBox.height;
this.hotCorners.forEach(function(corner) {
if (corner)
corner.setBarrierSize(size);
@ -465,12 +436,12 @@ const LayoutManager = new Lang.Class({
this._rightPanelBarrier = null;
}
if (this.panelGroup.height) {
if (this.panelBox.height) {
let primary = this.primaryMonitor;
this._rightPanelBarrier = new Meta.Barrier({ display: global.display,
x1: primary.x + primary.width, y1: primary.y,
x2: primary.x + primary.width, y2: primary.y + this.panelGroup.height,
x2: primary.x + primary.width, y2: primary.y + this.panelBox.height,
directions: Meta.BarrierDirection.NEGATIVE_X });
}
},
@ -576,6 +547,25 @@ const LayoutManager = new Lang.Class({
return this._keyboardIndex;
},
_loadBackground: function() {
this._systemBackground = new Background.SystemBackground();
this._systemBackground.actor.hide();
global.stage.insert_child_below(this._systemBackground.actor, null);
let constraint = new Clutter.BindConstraint({ source: global.stage,
coordinate: Clutter.BindCoordinate.ALL });
this._systemBackground.actor.add_constraint(constraint);
let signalId = this._systemBackground.connect('loaded', Lang.bind(this, function() {
this._systemBackground.disconnect(signalId);
this._systemBackground.actor.show();
global.stage.show();
this._prepareStartupAnimation();
}));
},
// Startup Animations
//
// We have two different animations, depending on whether we're a greeter
@ -596,8 +586,6 @@ const LayoutManager = new Lang.Class({
// screen. So, we set no_clear_hint at the end of the animation.
_prepareStartupAnimation: function() {
global.stage.show();
// During the initial transition, add a simple actor to block all events,
// so they don't get delivered to X11 windows that have been transformed.
this._coverPane = new Clutter.Actor({ opacity: 0,
@ -607,7 +595,7 @@ const LayoutManager = new Lang.Class({
this.addChrome(this._coverPane);
if (Main.sessionMode.isGreeter) {
this.panelGroup.translation_y = -this.panelGroup.height;
this.panelBox.translation_y = -this.panelBox.height;
} else {
this._updateBackgrounds();
@ -622,10 +610,10 @@ const LayoutManager = new Lang.Class({
let x = monitor.x + monitor.width / 2.0;
let y = monitor.y + monitor.height / 2.0;
this.sessionGroup.set_pivot_point(x / global.screen_width,
y / global.screen_height);
this.sessionGroup.scale_x = this.sessionGroup.scale_y = 0.75;
this.sessionGroup.opacity = 0;
this.uiGroup.set_pivot_point(x / global.screen_width,
y / global.screen_height);
this.uiGroup.scale_x = this.uiGroup.scale_y = 0.75;
this.uiGroup.opacity = 0;
global.window_group.set_clip(monitor.x, monitor.y, monitor.width, monitor.height);
}
@ -651,7 +639,7 @@ const LayoutManager = new Lang.Class({
},
_startupAnimationGreeter: function() {
Tweener.addTween(this.panelGroup,
Tweener.addTween(this.panelBox,
{ translation_y: 0,
time: STARTUP_ANIMATION_TIME,
transition: 'easeOutQuad',
@ -660,7 +648,7 @@ const LayoutManager = new Lang.Class({
},
_startupAnimationSession: function() {
Tweener.addTween(this.sessionGroup,
Tweener.addTween(this.uiGroup,
{ scale_x: 1,
scale_y: 1,
opacity: 255,
@ -671,9 +659,16 @@ const LayoutManager = new Lang.Class({
},
_startupAnimationComplete: function() {
// At this point, the UI group is covering everything, so
// we no longer need to clear the stage
global.stage.no_clear_hint = true;
this._coverPane.destroy();
this._coverPane = null;
this._systemBackground.actor.destroy();
this._systemBackground = null;
this._startingUp = false;
this.trayBox.show();
@ -763,9 +758,9 @@ const LayoutManager = new Lang.Class({
// monitor (it will be hidden whenever a fullscreen window is visible,
// and shown otherwise)
addChrome: function(actor, params) {
this.sessionGroup.add_actor(actor);
if (this.sessionGroup.contains(global.top_window_group))
this.sessionGroup.set_child_below_sibling(actor, global.top_window_group);
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);
},
@ -816,7 +811,7 @@ const LayoutManager = new Lang.Class({
//
// Removes @actor from the chrome
removeChrome: function(actor) {
this.sessionGroup.remove_actor(actor);
this.uiGroup.remove_actor(actor);
this._untrackActor(actor);
},
@ -864,6 +859,9 @@ const LayoutManager = new Lang.Class({
_updateVisibility: function() {
let windowsVisible = Main.sessionMode.hasWindows && !this._inOverview;
global.window_group.visible = windowsVisible;
global.top_window_group.visible = windowsVisible;
for (let i = 0; i < this._trackedActors.length; i++) {
let actorData = this._trackedActors[i], visible;
if (!actorData.trackFullscreen)
@ -1082,9 +1080,9 @@ const HotCorner = new Lang.Class({
this._ripple2 = new St.BoxLayout({ style_class: 'ripple-box', opacity: 0, visible: false });
this._ripple3 = new St.BoxLayout({ style_class: 'ripple-box', opacity: 0, visible: false });
layoutManager.sessionGroup.add_actor(this._ripple1);
layoutManager.sessionGroup.add_actor(this._ripple2);
layoutManager.sessionGroup.add_actor(this._ripple3);
layoutManager.uiGroup.add_actor(this._ripple1);
layoutManager.uiGroup.add_actor(this._ripple2);
layoutManager.uiGroup.add_actor(this._ripple3);
},
setBarrierSize: function(size) {

View File

@ -503,7 +503,7 @@ const Inspector = new Lang.Class({
let container = new Shell.GenericContainer({ width: 0,
height: 0 });
container.connect('allocate', Lang.bind(this, this._allocate));
Main.layoutManager.sessionGroup.add_actor(container);
Main.uiGroup.add_actor(container);
let eventHandler = new St.BoxLayout({ name: 'LookingGlassDialog',
vertical: false,
@ -801,14 +801,16 @@ const LookingGlass = new Lang.Class({
this._updateFont();
// We want it to appear to slide out from underneath the panel
Main.layoutManager.sessionGroup.add_actor(this.actor);
Main.layoutManager.panelGroup.connect('allocation-changed',
Lang.bind(this, this._queueResize));
Main.uiGroup.add_actor(this.actor);
Main.uiGroup.set_child_below_sibling(this.actor,
Main.layoutManager.panelBox);
Main.layoutManager.panelBox.connect('allocation-changed',
Lang.bind(this, this._queueResize));
Main.layoutManager.keyboardBox.connect('allocation-changed',
Lang.bind(this, this._queueResize));
this._objInspector = new ObjInspector(this);
Main.layoutManager.sessionGroup.add_actor(this._objInspector.actor);
Main.uiGroup.add_actor(this._objInspector.actor);
this._objInspector.actor.hide();
let toolbar = new St.BoxLayout({ name: 'Toolbar' });
@ -1035,7 +1037,7 @@ const LookingGlass = new Lang.Class({
let availableHeight = primary.height - Main.layoutManager.keyboardBox.height;
let myHeight = Math.min(primary.height * 0.7, availableHeight * 0.9);
this.actor.x = primary.x + (primary.width - myWidth) / 2;
this._hiddenY = primary.y + Main.layoutManager.panelGroup.height - myHeight - 4; // -4 to hide the top corners
this._hiddenY = primary.y + Main.layoutManager.panelBox.height - myHeight - 4; // -4 to hide the top corners
this._targetY = this._hiddenY + myHeight;
this.actor.y = this._hiddenY;
this.actor.width = myWidth;

View File

@ -125,10 +125,14 @@ const Magnifier = new Lang.Class({
zoomRegion.setActive(activate);
});
if (activate)
if (activate) {
Meta.disable_unredirect_for_screen(global.screen);
this.startTrackingMouse();
else
}
else {
Meta.enable_unredirect_for_screen(global.screen);
this.stopTrackingMouse();
}
// Make sure system mouse pointer is shown when all zoom regions are
// invisible.
@ -1184,7 +1188,7 @@ const ZoomRegion = new Lang.Class({
// Clone the group that contains all of UI on the screen. This is the
// chrome, the windows, etc.
this._uiGroupClone = new Clutter.Clone({ source: Main.layoutManager.uiGroup });
this._uiGroupClone = new Clutter.Clone({ source: Main.uiGroup });
mainGroup.add_actor(this._uiGroupClone);
// Add either the given mouseSourceActor to the ZoomRegion, or a clone of

View File

@ -64,6 +64,7 @@ let screencastService = null;
let modalCount = 0;
let keybindingMode = Shell.KeyBindingMode.NONE;
let modalActorFocusStack = [];
let uiGroup = null;
let magnifier = null;
let xdndHandler = null;
let keyboard = null;
@ -149,6 +150,11 @@ function _initializeUI() {
// Setup the stage hierarchy early
layoutManager = new Layout.LayoutManager();
// Various parts of the codebase still refers to Main.uiGroup
// instead using the layoutManager. This keeps that code
// working until it's updated.
uiGroup = layoutManager.uiGroup;
screencastService = new Screencast.ScreencastService();
xdndHandler = new XdndHandler.XdndHandler();
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
@ -166,19 +172,6 @@ function _initializeUI() {
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
componentManager = new Components.ComponentManager();
if (sessionMode.isGreeter && screenShield) {
layoutManager.connect('startup-prepared', function() {
screenShield.showDialog();
});
}
layoutManager.connect('startup-complete', function() {
if (keybindingMode == Shell.KeyBindingMode.NONE)
keybindingMode = Shell.KeyBindingMode.NORMAL;
if (screenShield)
screenShield.lockIfWasLocked();
});
layoutManager.init();
overview.init();
@ -209,6 +202,21 @@ function _initializeUI() {
ExtensionDownloader.init();
ExtensionSystem.init();
if (sessionMode.isGreeter && screenShield) {
layoutManager.connect('startup-prepared', function() {
screenShield.showDialog();
});
}
layoutManager.connect('startup-complete', function() {
if (keybindingMode == Shell.KeyBindingMode.NONE) {
keybindingMode = Shell.KeyBindingMode.NORMAL;
}
if (screenShield) {
screenShield.lockIfWasLocked();
}
});
}
function _loadDefaultStylesheet() {

View File

@ -1611,7 +1611,7 @@ const MessageTrayMenu = new Lang.Class({
this._accountManager.prepare_async(null, Lang.bind(this, this._onIMPresenceChanged));
this.actor.hide();
Main.layoutManager.menuGroup.add_child(this.actor);
Main.layoutManager.addChrome(this.actor);
this._busyItem = new PopupMenu.PopupSwitchMenuItem(_("Notifications"));
this._busyItem.connect('toggled', Lang.bind(this, this._updatePresence));
@ -2512,7 +2512,7 @@ const MessageTray = new Lang.Class({
let cloneSource = Main.overview.visible ? Main.layoutManager.overviewGroup : global.window_group;
this._desktopClone = new Clutter.Clone({ source: cloneSource,
clip: new Clutter.Geometry(this._bottomMonitorGeometry) });
Main.layoutManager.sessionGroup.insert_child_above(this._desktopClone, cloneSource);
Main.uiGroup.insert_child_above(this._desktopClone, cloneSource);
this._desktopClone.x = 0;
this._desktopClone.y = 0;
this._desktopClone.show();

View File

@ -41,7 +41,7 @@ const ModalDialog = new Lang.Class({
_init: function(params) {
params = Params.parse(params, { shellReactive: false,
styleClass: null,
parentActor: Main.layoutManager.dialogGroup,
parentActor: Main.uiGroup,
keybindingMode: Shell.KeyBindingMode.SYSTEM_MODAL,
shouldFadeIn: true,
destroyOnClose: true });

View File

@ -110,7 +110,7 @@ const OsdWindow = new Lang.Class({
Lang.bind(this, this._monitorsChanged));
this._monitorsChanged();
Main.layoutManager.osdGroup.add_child(this.actor);
Main.uiGroup.add_child(this.actor);
},
setIcon: function(icon) {

View File

@ -493,8 +493,13 @@ const Overview = new Lang.Class({
},
fadeOutDesktop: function() {
if (!this._desktopFade.get_n_children())
this._desktopFade.add_child(this._getDesktopClone());
if (!this._desktopFade.get_n_children()) {
let clone = this._getDesktopClone();
if (!clone)
return;
this._desktopFade.add_child(clone);
}
this._desktopFade.opacity = 255;
this._desktopFade.show();
@ -622,7 +627,7 @@ const Overview = new Lang.Class({
this.animationInProgress = true;
this.visibleTarget = false;
this.viewSelector.leaveOverview();
this.viewSelector.zoomFromOverview();
// Make other elements fade out.
Tweener.addTween(this._stack,

View File

@ -901,7 +901,7 @@ const Panel = new Lang.Class({
this.actor.remove_style_pseudo_class('overview');
}));
Main.layoutManager.panelGroup.add_child(this.actor);
Main.layoutManager.panelBox.add(this.actor);
Main.ctrlAltTabManager.addGroup(this.actor, _("Top Bar"), 'emblem-system-symbolic',
{ sortGroup: CtrlAltTab.SortGroup.TOP });

View File

@ -130,7 +130,7 @@ const Button = new Lang.Class({
this.menu.connect('open-state-changed', Lang.bind(this, this._onOpenStateChanged));
this.menu.actor.connect('key-press-event', Lang.bind(this, this._onMenuKeyPress));
Main.layoutManager.menuGroup.add_child(this.menu.actor);
Main.uiGroup.add_actor(this.menu.actor);
this.menu.actor.hide();
}
},

View File

@ -456,6 +456,8 @@ const ScreenShield = new Lang.Class({
Name: 'ScreenShield',
_init: function() {
this.actor = Main.layoutManager.screenShieldGroup;
this._lockScreenState = MessageTray.State.HIDDEN;
this._lockScreenGroup = new St.Widget({ x_expand: true,
y_expand: true,
@ -464,7 +466,6 @@ const ScreenShield = new Lang.Class({
name: 'lockScreenGroup',
visible: false,
});
this._lockScreenGroup.connect('key-press-event',
Lang.bind(this, this._onLockScreenKeyPress));
this._lockScreenGroup.connect('scroll-event',
@ -515,9 +516,10 @@ const ScreenShield = new Lang.Class({
reactive: true,
pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
name: 'lockDialogGroup' });
Main.layoutManager.systemGroup.add_child(this._lockDialogGroup);
Main.layoutManager.screenShieldGroup.add_child(this._lockScreenGroup);
this.actor.add_actor(this._lockDialogGroup);
this.actor.add_actor(this._lockScreenGroup);
this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
if (error) {
logError(error, 'Error while reading gnome-session presence');
@ -575,27 +577,19 @@ const ScreenShield = new Lang.Class({
// The "long" lightbox is used for the longer (20 seconds) fade from session
// to idle status, the "short" is used for quickly fading to black when locking
// manually
this._longLightbox = new Lightbox.Lightbox(Main.layoutManager.overlayGroup,
this._longLightbox = new Lightbox.Lightbox(Main.uiGroup,
{ inhibitEvents: true,
fadeFactor: 1 });
this._longLightbox.connect('shown', Lang.bind(this, this._onLongLightboxShown));
this._shortLightbox = new Lightbox.Lightbox(Main.layoutManager.overlayGroup,
this._shortLightbox = new Lightbox.Lightbox(Main.uiGroup,
{ inhibitEvents: true,
fadeFactor: 1 });
this._shortLightbox.connect('shown', Lang.bind(this, this._onShortLightboxShown));
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._monitorsChanged));
this._monitorsChanged();
this.idleMonitor = Meta.IdleMonitor.get_core();
this._cursorTracker = Meta.CursorTracker.get_for_screen(global.screen);
},
_monitorsChanged: function() {
this._longLightbox.actor.set_size(global.screen_width, global.screen_height);
this._shortLightbox.actor.set_size(global.screen_width, global.screen_height);
},
_createBackground: function(monitorIndex) {
let monitor = Main.layoutManager.monitors[monitorIndex];
let widget = new St.Widget({ style_class: 'screen-shield-background',
@ -653,14 +647,14 @@ const ScreenShield = new Lang.Class({
if (this._isModal)
return true;
this._isModal = Main.pushModal(this._lockDialogGroup, { keybindingMode: Shell.KeyBindingMode.LOCK_SCREEN });
this._isModal = Main.pushModal(this.actor, { keybindingMode: Shell.KeyBindingMode.LOCK_SCREEN });
if (this._isModal)
return true;
// We failed to get a pointer grab, it means that
// something else has it. Try with a keyboard grab only
this._isModal = Main.pushModal(this._lockDialogGroup, { options: Meta.ModalOptions.POINTER_ALREADY_GRABBED,
keybindingMode: Shell.KeyBindingMode.LOCK_SCREEN });
this._isModal = Main.pushModal(this.actor, { options: Meta.ModalOptions.POINTER_ALREADY_GRABBED,
keybindingMode: Shell.KeyBindingMode.LOCK_SCREEN });
return this._isModal;
},
@ -918,7 +912,7 @@ const ScreenShield = new Lang.Class({
return false;
}));
this._lockDialogGroup.show();
this.actor.show();
this._isGreeter = Main.sessionMode.isGreeter;
this._isLocked = true;
if (this._ensureUnlockDialog(true, true))
@ -1008,7 +1002,6 @@ const ScreenShield = new Lang.Class({
return;
this._ensureLockScreen();
this._lockDialogGroup.hide();
this._lockDialogGroup.scale_x = 1;
this._lockDialogGroup.scale_y = 1;
@ -1107,10 +1100,8 @@ const ScreenShield = new Lang.Class({
}));
this._cursorTracker.set_pointer_visible(false);
this._lockDialogGroup.show();
this._lockScreenGroup.fixed_position_set = false;
this._lockScreenState = MessageTray.State.SHOWN;
Main.layoutManager.sessionGroup.hide();
this._lockScreenGroup.fixed_position_set = false;
this._lockScreenScrollCounter = 0;
if (params.fadeToBlack && params.animateFade) {
@ -1233,11 +1224,10 @@ const ScreenShield = new Lang.Class({
this._dialog.popModal();
if (this._isModal) {
Main.popModal(this._lockDialogGroup);
Main.popModal(this.actor);
this._isModal = false;
}
Main.layoutManager.sessionGroup.show();
Tweener.addTween(this._lockDialogGroup, {
scale_x: 0,
scale_y: 0,
@ -1256,7 +1246,7 @@ const ScreenShield = new Lang.Class({
this._longLightbox.hide();
this._shortLightbox.hide();
this._lockScreenGroup.hide();
this.actor.hide();
if (this._becameActiveId != 0) {
this.idleMonitor.remove_watch(this._becameActiveId);
@ -1280,7 +1270,7 @@ const ScreenShield = new Lang.Class({
if (this._activationTime == 0)
this._activationTime = GLib.get_monotonic_time();
this._lockScreenGroup.show();
this.actor.show();
if (Main.sessionMode.currentMode != 'unlock-dialog' &&
Main.sessionMode.currentMode != 'lock-screen') {

View File

@ -146,7 +146,7 @@ const SelectArea = new Lang.Class({
reactive: true,
x: 0,
y: 0 });
Main.layoutManager.osdGroup.add_actor(this._group);
Main.uiGroup.add_actor(this._group);
this._group.connect('button-press-event',
Lang.bind(this, this._onButtonPress));
@ -259,9 +259,9 @@ const Flashspot = new Lang.Class({
Extends: Lightbox.Lightbox,
_init: function(area) {
this.parent(Main.layoutManager.osdGroup, { inhibitEvents: true,
width: area.width,
height: area.height });
this.parent(Main.uiGroup, { inhibitEvents: true,
width: area.width,
height: area.height });
this.actor.style_class = 'flashspot';
this.actor.set_position(area.x, area.y);

View File

@ -36,7 +36,7 @@ const EntryMenu = new Lang.Class({
this._passwordItem = null;
Main.layoutManager.menuGroup.add_actor(this.actor);
Main.uiGroup.add_actor(this.actor);
this.actor.hide();
},

View File

@ -11,12 +11,14 @@ const NMGtk = imports.gi.NMGtk;
const Signals = imports.signals;
const St = imports.gi.St;
const Animation = imports.ui.animation;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const MessageTray = imports.ui.messageTray;
const ModalDialog = imports.ui.modalDialog;
const ModemManager = imports.misc.modemManager;
const Rfkill = imports.ui.status.rfkill;
const Util = imports.misc.util;
const NMConnectionCategory = {
@ -430,16 +432,15 @@ const NMDeviceWired = new Lang.Class({
this.item.menu.addMenuItem(createSettingsAction(_("Wired Settings"), device));
},
_isConnected: function() {
if (!this._device.active_connection)
return false;
let state = this._device.active_connection.state;
return state >= NetworkManager.ActiveConnectionState.ACTIVATING;
_hasCarrier: function() {
if (this._device instanceof NMClient.DeviceEthernet)
return this._device.carrier;
else
return true;
},
_sync: function() {
this.item.actor.visible = this._isConnected();
this.item.actor.visible = this._hasCarrier();
this.parent();
},
@ -651,6 +652,13 @@ const NMWirelessDialog = new Lang.Class({
this._client = client;
this._device = device;
this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled',
Lang.bind(this, this._syncView));
this._rfkill = Rfkill.getRfkillManager();
this._airplaneModeChangedId = this._rfkill.connect('airplane-mode-changed',
Lang.bind(this, this._syncView));
this._networks = [];
this._buildLayout();
@ -669,6 +677,12 @@ const NMWirelessDialog = new Lang.Class({
this._selectedNetwork = null;
this._activeApChanged();
this._updateSensitivity();
this._syncView();
if (accessPoints.length == 0) {
/* If there are no visible access points, request a scan */
this._device.request_scan_simple(null);
}
},
destroy: function() {
@ -684,6 +698,14 @@ const NMWirelessDialog = new Lang.Class({
GObject.Object.prototype.disconnect.call(this._device, this._activeApChangedId);
this._activeApChangedId = 0;
}
if (this._wirelessEnabledChangedId) {
this._client.disconnect(this._wirelessEnabledChangedId);
this._wirelessEnabledChangedId = 0;
}
if (this._airplaneModeChangedId) {
this._rfkill.disconnect(this._airplaneModeChangedId);
this._airplaneModeChangedId = 0;
}
this.parent();
},
@ -705,13 +727,44 @@ const NMWirelessDialog = new Lang.Class({
},
_updateSensitivity: function() {
let connectSensitive = this._selectedNetwork && (this._selectedNetwork != this._activeNetwork);
let connectSensitive = this._client.wireless_enabled && this._selectedNetwork && (this._selectedNetwork != this._activeNetwork);
this._connectButton.reactive = connectSensitive;
this._connectButton.can_focus = connectSensitive;
},
_updateVisibility: function() {
this._noNetworksLabel.visible = (this._networks.length == 0);
_syncView: function() {
if (this._rfkill.airplaneMode) {
this._airplaneBox.show();
this._airplaneIcon.icon_name = 'airplane-mode-symbolic';
this._airplaneHeadline.text = _("Airplane Mode is On");
this._airplaneText.text = _("Wi-Fi is disabled when airplane mode is on.");
this._airplaneButton.label = _("Turn Off Airplane Mode");
this._airplaneButton.visible = !this._rfkill.hwAirplaneMode;
this._airplaneInactive.visible = this._rfkill.hwAirplaneMode;
this._noNetworksBox.hide();
} else if (!this._client.wireless_enabled) {
this._airplaneBox.show();
this._airplaneIcon.icon_name = 'dialog-information-symbolic';
this._airplaneHeadline.text = _("Wi-Fi is Off");
this._airplaneText.text = _("Wi-Fi needs to be turned on in order to connect to a network.");
this._airplaneButton.label = _("Turn On Wi-Fi");
this._airplaneButton.show();
this._airplaneInactive.hide();
this._noNetworksBox.hide();
} else {
this._airplaneBox.hide();
this._noNetworksBox.visible = (this._networks.length == 0);
}
if (this._noNetworksBox.visible)
this._noNetworksSpinner.play();
else
this._noNetworksSpinner.stop();
},
_buildLayout: function() {
@ -745,11 +798,43 @@ const NMWirelessDialog = new Lang.Class({
this._scrollView.add_actor(this._itemBox);
this._stack.add_child(this._scrollView);
this._noNetworksLabel = new St.Label({ style_class: 'no-networks-label',
this._noNetworksBox = new St.BoxLayout({ vertical: true,
style_class: 'no-networks-box',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER });
this._noNetworksSpinner = new Animation.AnimatedIcon(global.datadir + '/theme/process-working.svg', 24, 24);
this._noNetworksBox.add_actor(this._noNetworksSpinner.actor);
this._noNetworksBox.add_actor(new St.Label({ style_class: 'no-networks-label',
text: _("No Networks") }));
this._stack.add_child(this._noNetworksBox);
this._airplaneBox = new St.BoxLayout({ vertical: true,
style_class: 'nm-dialog-airplane-box',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
text: _("No Networks") });
this._stack.add_child(this._noNetworksLabel);
y_align: Clutter.ActorAlign.CENTER });
this._airplaneIcon = new St.Icon({ icon_size: 48 });
this._airplaneHeadline = new St.Label({ style_class: 'nm-dialog-airplane-headline' });
this._airplaneText = new St.Label({ style_class: 'nm-dialog-airplane-text' });
let airplaneSubStack = new St.Widget({ layout_manager: new Clutter.BinLayout });
this._airplaneButton = new St.Button({ style_class: 'modal-dialog-button' });
this._airplaneButton.connect('clicked', Lang.bind(this, function() {
if (this._rfkill.airplaneMode)
this._rfkill.airplaneMode = false;
else
this._client.wireless_enabled = true;
}));
airplaneSubStack.add_actor(this._airplaneButton);
this._airplaneInactive = new St.Label({ style_class: 'nm-dialog-airplane-text',
text: _("Use hardware switch to turn off") });
airplaneSubStack.add_actor(this._airplaneInactive);
this._airplaneBox.add(this._airplaneIcon, { x_align: St.Align.MIDDLE });
this._airplaneBox.add(this._airplaneHeadline, { x_align: St.Align.MIDDLE });
this._airplaneBox.add(this._airplaneText, { x_align: St.Align.MIDDLE });
this._airplaneBox.add(airplaneSubStack, { x_align: St.Align.MIDDLE });
this._stack.add_child(this._airplaneBox);
this.contentLayout.add(this._stack, { expand: true });
@ -942,7 +1027,7 @@ const NMWirelessDialog = new Lang.Class({
this._itemBox.insert_child_at_index(network.item.actor, newPos);
}
this._updateVisibility();
this._syncView();
},
_accessPointRemoved: function(device, accessPoint) {
@ -957,14 +1042,14 @@ const NMWirelessDialog = new Lang.Class({
network.accessPoints.splice(res.ap, 1);
if (network.accessPoints.length == 0) {
network.item.destroy();
network.item.actor.destroy();
this._networks.splice(res.network, 1);
} else {
network.item.updateBestAP(network.accessPoints[0]);
this._resortItems();
}
this._updateVisibility();
this._syncView();
},
_resortItems: function() {

View File

@ -2,6 +2,7 @@
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Signals = imports.signals;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@ -12,11 +13,55 @@ const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
const RfkillManagerInterface = '<node> \
<interface name="org.gnome.SettingsDaemon.Rfkill"> \
<property name="AirplaneMode" type="b" access="readwrite" /> \
<property name="HardwareAirplaneMode" type="b" access="read" /> \
</interface> \
</node>';
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
const RfkillManager = new Lang.Class({
Name: 'RfkillManager',
_init: function() {
this._proxy = new RfkillManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
if (error) {
log(error.message);
return;
}
this._proxy.connect('g-properties-changed',
Lang.bind(this, this._changed));
this._changed();
}));
},
get airplaneMode() {
return this._proxy.AirplaneMode;
},
set airplaneMode(v) {
this._proxy.AirplaneMode = v;
},
get hwAirplaneMode() {
return this._proxy.HardwareAirplaneMode;
},
_changed: function() {
this.emit('airplane-mode-changed');
}
});
Signals.addSignalMethods(RfkillManager.prototype);
var _manager;
function getRfkillManager() {
if (_manager != null)
return _manager;
_manager = new RfkillManager();
return _manager;
}
const Indicator = new Lang.Class({
Name: 'RfkillIndicator',
Extends: PanelMenu.SystemIndicator,
@ -24,16 +69,8 @@ const Indicator = new Lang.Class({
_init: function() {
this.parent();
this._proxy = new RfkillManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
if (error) {
log(error.message);
return;
}
this._proxy.connect('g-properties-changed',
Lang.bind(this, this._sync));
this._sync();
}));
this._manager = getRfkillManager();
this._manager.connect('airplane-mode-changed', Lang.bind(this, this._sync));
this._indicator = this._addIndicator();
this._indicator.icon_name = 'airplane-mode-symbolic';
@ -45,7 +82,7 @@ const Indicator = new Lang.Class({
this._item = new PopupMenu.PopupSubMenuMenuItem(_("Airplane Mode"), true);
this._item.icon.icon_name = 'airplane-mode-symbolic';
this._item.status.text = _("On");
this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._proxy.AirplaneMode = false;
}));
this._item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
@ -53,8 +90,18 @@ const Indicator = new Lang.Class({
},
_sync: function() {
let airplaneMode = this._proxy.AirplaneMode;
let airplaneMode = this._manager.airplaneMode;
let hwAirplaneMode = this._manager.hwAirplaneMode;
let changed = (airplaneMode != this._indicator.visible) ||
(hwAirplaneMode != this._offItem.actor.visible);
this._indicator.visible = airplaneMode;
this._item.actor.visible = airplaneMode;
this._offItem.setSensitive(!hwAirplaneMode);
if (hwAirplaneMode)
this._offItem.label.text = _("Use hardware switch to turn off");
else
this._offItem.label.text = _("Turn Off");
},
});

View File

@ -54,7 +54,7 @@ const SwitcherPopup = new Lang.Class({
this.actor.connect('allocate', Lang.bind(this, this._allocate));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
Main.layoutManager.switcherPopupGroup.add_child(this.actor);
Main.uiGroup.add_actor(this.actor);
this._haveModal = false;
this._modifierMask = 0;

View File

@ -118,11 +118,13 @@ const ViewSelector = new Lang.Class({
this._stageKeyPressId = 0;
Main.overview.connect('showing', Lang.bind(this,
function () {
this._resetShowAppsButton();
this._stageKeyPressId = global.stage.connect('key-press-event',
Lang.bind(this, this._onStageKeyPress));
}));
Main.overview.connect('hiding', Lang.bind(this,
function () {
this._resetShowAppsButton();
if (this._stageKeyPressId != 0) {
global.stage.disconnect(this._stageKeyPressId);
this._stageKeyPressId = 0;
@ -158,26 +160,19 @@ const ViewSelector = new Lang.Class({
show: function() {
this.reset();
this._showAppsBlocked = true;
this._showAppsButton.checked = false;
this._showAppsBlocked = false;
this._workspacesPage.opacity = 255;
this._workspacesDisplay.show();
this._activePage = null;
this._syncActivePage();
this._showPage(this._workspacesPage);
if (!this._workspacesDisplay.activeWorkspaceHasMaximizedWindows())
Main.overview.fadeOutDesktop();
},
leaveOverview: function() {
zoomFromOverview: function() {
this._workspacesDisplay.zoomFromOverview();
if (!this._workspacesDisplay.activeWorkspaceHasMaximizedWindows())
Main.overview.fadeInDesktop();
// If we're not on the windows page, don't zoom back the primary monitor.
let zoomPrimary = (this._activePage == this._workspacesPage);
this._workspacesDisplay.leaveOverview(zoomPrimary);
},
setWorkspacesFullGeometry: function(geom) {
@ -186,9 +181,6 @@ const ViewSelector = new Lang.Class({
hide: function() {
this._workspacesDisplay.hide();
if (this._activePage)
this._activePage.hide();
this._activePage = null;
},
_addPage: function(actor, name, a11yIcon, params) {
@ -223,13 +215,13 @@ const ViewSelector = new Lang.Class({
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
this._activePage.show();
Tweener.addTween(this._activePage,
{ opacity: 255,
time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME,
transition: 'easeOutQuad'
});
{ opacity: 255,
time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME,
transition: 'easeOutQuad'
});
},
_setActivePage: function(page) {
_showPage: function(page, noFade) {
if (page == this._activePage)
return;
@ -237,7 +229,7 @@ const ViewSelector = new Lang.Class({
this._activePage = page;
this.emit('page-changed');
if (oldPage)
if (oldPage && !noFade)
Tweener.addTween(oldPage,
{ opacity: 0,
time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME,
@ -256,25 +248,20 @@ const ViewSelector = new Lang.Class({
page.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
},
_getActivePage: function() {
if (this._searchActive)
return this._searchPage;
else if (this._showAppsButton.checked)
return this._appsPage;
else
return this._workspacesPage;
},
_syncActivePage: function() {
let activePage = this._getActivePage();
if (activePage == this._activePage)
return;
this._setActivePage(activePage);
},
_onShowAppsButtonToggled: function() {
if (!this._showAppsBlocked)
this._syncActivePage();
if (this._showAppsBlocked)
return;
this._showPage(this._showAppsButton.checked ?
this._appsPage : this._workspacesPage);
},
_resetShowAppsButton: function() {
this._showAppsBlocked = true;
this._showAppsButton.checked = false;
this._showAppsBlocked = false;
this._showPage(this._workspacesPage, true);
},
_onStageKeyPress: function(actor, event) {
@ -300,6 +287,20 @@ const ViewSelector = new Lang.Class({
return Clutter.EVENT_PROPAGATE;
},
_searchCancelled: function() {
this._showPage(this._showAppsButton.checked ? this._appsPage
: this._workspacesPage);
// Leave the entry focused when it doesn't have any text;
// when replacing a selected search term, Clutter emits
// two 'text-changed' signals, one for deleting the previous
// text and one for the new one - the second one is handled
// incorrectly when we remove focus
// (https://bugzilla.gnome.org/show_bug.cgi?id=636341) */
if (this._text.text != '')
this.reset();
},
reset: function () {
global.stage.set_key_focus(null);
@ -390,18 +391,8 @@ const ViewSelector = new Lang.Class({
}
this._entry.set_secondary_icon(null);
// Leave the entry focused when it doesn't have any text;
// when replacing a selected search term, Clutter emits
// two 'text-changed' signals, one for deleting the previous
// text and one for the new one - the second one is handled
// incorrectly when we remove focus
// (https://bugzilla.gnome.org/show_bug.cgi?id=636341) */
if (this._text.text != '')
this.reset();
this._searchCancelled();
}
this._syncActivePage();
},
_onKeyPress: function(entry, event) {
@ -468,7 +459,9 @@ const ViewSelector = new Lang.Class({
this._searchTimeoutId = 0;
let terms = getTermsForSearchString(this._entry.get_text());
this._searchResults.setTerms(terms);
this._showPage(this._searchPage);
return GLib.SOURCE_REMOVE;
},

View File

@ -1521,39 +1521,34 @@ const Workspace = new Lang.Class({
this._recalculateWindowPositions(WindowPositionFlags.ANIMATE | WindowPositionFlags.INITIAL);
},
_leavingOverview: function() {
// Animates the return from Overview mode
zoomFromOverview : function() {
let currentWorkspace = global.screen.get_active_workspace();
if (this.metaWorkspace != null && this.metaWorkspace != currentWorkspace)
return false;
this.leavingOverview = true;
this._overviewHiddenId = Main.overview.connect('hidden', Lang.bind(this,
this._doneLeavingOverview));
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
Tweener.removeTweens(clone.actor);
let overlay = this._windowOverlays[i];
if (overlay)
overlay.hide();
}
if (this._repositionWindowsId > 0) {
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
this._overviewHiddenId = Main.overview.connect('hidden', Lang.bind(this,
this._doneLeavingOverview));
return true;
},
// Animates the return from Overview mode
zoomFromOverview : function() {
if (!this._leavingOverview())
if (this.metaWorkspace != null && this.metaWorkspace != currentWorkspace)
return;
// Position and scale the windows.
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
let overlay = this._windowOverlays[i];
if (overlay)
overlay.hide();
if (clone.metaWindow.showing_on_its_workspace()) {
let [origX, origY] = clone.getOriginalPosition();
@ -1580,31 +1575,6 @@ const Workspace = new Lang.Class({
}
},
fadeFromOverview: function() {
if (!this._leavingOverview())
return;
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
if (clone.metaWindow.showing_on_its_workspace()) {
clone.actor.x = clone.origX;
clone.actor.y = clone.origY;
clone.actor.scale_x = 1.0;
clone.actor.scale_y = 1.0;
clone.actor.opacity = 0;
Tweener.addTween(clone.actor,
{ opacity: 255,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad'
});
} else {
clone.actor.hide();
}
}
},
destroy : function() {
this.actor.destroy();
},

View File

@ -25,7 +25,7 @@ const WorkspaceSwitcherPopup = new Lang.Class({
width: global.screen_width,
height: global.screen_height,
style_class: 'workspace-switcher-group' });
Main.layoutManager.osdGroup.add_child(this.actor);
Main.uiGroup.add_actor(this.actor);
this._container = new St.BoxLayout({ style_class: 'workspace-switcher-container' });
this._list = new Shell.GenericContainer({ style_class: 'workspace-switcher' });

View File

@ -145,22 +145,11 @@ const WorkspacesView = new Lang.Class({
this._updateWorkspaceActors(false);
},
_leaveOverview: function() {
this.actor.remove_clip();
},
zoomFromOverview: function() {
this._leaveOverview();
this._workspaces.forEach(function(w) {
w.zoomFromOverview();
});
},
this.actor.remove_clip();
fadeFromOverview: function() {
this._leaveOverview();
this._workspaces.forEach(function(w) {
w.fadeFromOverview();
});
for (let w = 0; w < this._workspaces.length; w++)
this._workspaces[w].zoomFromOverview();
},
syncStacking: function(stackIndices) {
@ -376,10 +365,6 @@ const ExtraWorkspaceView = new Lang.Class({
this._workspace.zoomFromOverview();
},
fadeFromOverview: function() {
this._workspace.fadeFromOverview();
},
syncStacking: function(stackIndices) {
this._workspace.syncStacking(stackIndices);
},
@ -481,18 +466,9 @@ const WorkspacesDisplay = new Lang.Class({
this._scrollEventId = Main.overview.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
},
leaveOverview: function(zoomPrimary) {
for (let i = 0; i < this._workspacesViews.length; i++) {
let view = this._workspacesViews[i];
if (i == this._primaryIndex) {
if (zoomPrimary)
view.zoomFromOverview();
else
view.fadeFromOverview();
} else {
view.zoomFromOverview();
}
}
zoomFromOverview: function() {
for (let i = 0; i < this._workspacesViews.length; i++)
this._workspacesViews[i].zoomFromOverview();
},
hide: function() {

View File

@ -18,7 +18,7 @@ const XdndHandler = new Lang.Class({
// Used as a drag actor in case we don't have a cursor window clone
this._dummy = new Clutter.Actor({ width: 1, height: 1, opacity: 0 });
Main.layoutManager.sessionGroup.add_actor(this._dummy);
Main.uiGroup.add_actor(this._dummy);
this._dummy.hide();
if (!Meta.is_wayland_compositor())
@ -69,7 +69,7 @@ const XdndHandler = new Lang.Class({
source: cursorWindow});
this._cursorWindowClone = new Clutter.Clone({ source: cursorWindow });
Main.layoutManager.sessionGroup.add_actor(this._cursorWindowClone);
Main.uiGroup.add_actor(this._cursorWindowClone);
// Make sure that the clone has the same position as the source
this._cursorWindowClone.add_constraint(constraint_position);

313
po/el.po
View File

@ -7,16 +7,16 @@ msgstr ""
"Project-Id-Version: gnome-shell.po.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-01-10 21:15+0000\n"
"PO-Revision-Date: 2014-01-11 14:55+0300\n"
"POT-Creation-Date: 2014-01-29 20:43+0000\n"
"PO-Revision-Date: 2014-01-30 20:22+0300\n"
"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>\n"
"Language-Team: www.gnome.gr\n"
"Language-Team: team@lists.gnome.gr\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Generator: Virtaal 0.7.0\n"
"X-DamnedLies-Scope: partial\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Project-Style: gnome\n"
@ -111,30 +111,18 @@ msgstr ""
"περιοχή αγαπημένων."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of categories that should be displayed as folders"
msgstr "Η λίστα των κατηγοριών που πρέπει να εμφανίζονται ως φάκελοι"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
msgid ""
"Each category name in this list will be represented as folder in the "
"application view, rather than being displayed inline in the main view."
msgstr ""
"Το όνομα κάθε κατηγορίας σε αυτή τη λίστα θα αναπαριστάται ως φάκελος στην "
"προβολή εφαρμογής, αντί να εμφανίζεται ενσωματωμένο στην κύρια προβολή."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
msgstr "Ιστορικό του διαλόγου εντολών (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
msgid "History for the looking glass dialog"
msgstr "Ιστορικό του διαλόγου καθρέπτη"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Να εμφανίζεται πάντα το στοιχείο μενού 'Αποσύνδεση' στο μενού χρήστη."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations."
@ -142,14 +130,14 @@ msgstr ""
"Αυτό το κλειδί υπερισχύει της αυτόματης απόκρυψης του στοιχείου μενού "
"'Αποσύνδεση' σε μεμονωμένο χρήστη, σε καταστάσεις μεμονωμένης συνεδρίας."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
msgid ""
"Whether to remember password for mounting encrypted or remote filesystems"
msgstr ""
"Εάν θα θυμάται τον κωδικό πρόσβασης για προσάρτηση κρυπτογραφημένων ή "
"απομακρυσμένων συστημάτων αρχείων"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid ""
"The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a "
@ -162,71 +150,71 @@ msgstr ""
"μην απαιτείται ο κωδικός πρόσβασης'. Αυτό το κλειδί ορίζει την προεπιλεγμένη "
"κατάσταση του πλαισίου ελέγχου."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Show the week date in the calendar"
msgstr "Εμφάνιση του αριθμού εβδομάδας στο ημερολόγιο"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Αν αληθές, εμφανίζει τον αριθμό εβδομάδας σύμφωνα με το ISO στο ημερολόγιο."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Συνδυασμός πλήκτρων για το άνοιγμα του μενού εφαρμογών"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Συνδυασμός πλήκτρων για το άνοιγμα του μενού εφαρμογών."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Συνδυασμός πλήκτρων για το άνοιγμα της προβολής \"Εμφάνιση εφαρμογών\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Ο συνδυασμός πλήκτρων για το άνοιγμα της προβολής \"Εμφάνιση εφαρμογών\" της "
"επισκόπησης ενεργειών."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to open the overview"
msgstr "Συνδυασμός πλήκτρων για το άνοιγμα της επισκόπησης"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the Activities Overview."
msgstr "Συνδυασμός πλήκτρων για το άνοιγμα της επισκόπησης δραστηριοτήτων."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Συνδυασμός πλήκτρων για εναλλαγή ορατότητας της περιοχής ειδοποιήσεων"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Συνδυασμός πλήκτρων για εναλλαγή ορατότητας της περιοχής ειδοποιήσεων."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to focus the active notification"
msgstr "Συνδυασμός πλήκτρων για εστίαση της ενεργής ειδοποίησης"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to focus the active notification."
msgstr "Συνδυασμός πλήκτρων για εστίαση της ενεργής ειδοποίησης."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Which keyboard to use"
msgstr "Ποιο πληκτρολόγιο θα χρησιμοποιηθεί"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "The type of keyboard to use."
msgstr "Ο τύπος του πληκτρολογίου που θα χρησιμοποιηθεί."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "The application icon mode."
msgstr "Η κατάσταση εικονιδίου εφαρμογής."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@ -237,22 +225,22 @@ msgstr ""
"παραθύρου), 'app-icon-only' (εμφανίζει μόνο το εικονίδιο της εφαρμογής) ή "
"'both' - και τα δύο."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Attach modal dialog to the parent window"
msgstr "Προσάρτηση αποκλειστικού διαλόγου στο γονικό παράθυρο"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Αυτό το κλειδί υπερισχύει του κλειδιού στο org.gnome.mutter όταν εκτελείται "
"το GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Arrangement of buttons on the titlebar"
msgstr "Διάταξη των κουμπιών στη γραμμή τίτλου"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
@ -260,21 +248,21 @@ msgstr ""
"Αυτό το κλειδί υπερισχύει του κλειδιού στο org.gnome.desktop.wm.preferences "
"όταν εκτελείται το GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Ενεργοποίηση της προσάρτηση άκρων, όταν αφήνετε παράθυρα στις άκρες της "
"οθόνης"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "Workspaces are managed dynamically"
msgstr "Οι χώροι εργασίας διαχειρίζονται δυναμικά"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Workspaces only on primary monitor"
msgstr "Χώροι εργασίας μόνο στην κύρια οθόνη"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Καθυστέρηση εστίασης αλλαγών στην κατάσταση ποντικιού μέχρι να σταματήσει να "
@ -300,7 +288,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:357
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:726
#: ../js/ui/status/network.js:757
msgid "Cancel"
msgstr "Ακύρωση"
@ -358,30 +346,30 @@ msgstr "Δεν ήταν δυνατό να επεξεργαστεί η εντολ
#: ../js/misc/util.js:156
#, javascript-format
msgid "Execution of '%s' failed:"
msgstr "Η εκτέλεση του '%s' απέτυχε:"
msgid "Execution of %s failed:"
msgstr "Η εκτέλεση του %s απέτυχε:"
#: ../js/ui/appDisplay.js:600
#: ../js/ui/appDisplay.js:633
msgid "Frequently used applications will appear here"
msgstr "Οι συχνά χρησιμοποιούμενες εφαρμογές θα εμφανιστούν εδώ"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:744
msgid "Frequent"
msgstr "Συχνά"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:751
msgid "All"
msgstr "Όλα"
#: ../js/ui/appDisplay.js:1546
#: ../js/ui/appDisplay.js:1558
msgid "New Window"
msgstr "Νέο παράθυρο"
#: ../js/ui/appDisplay.js:1549 ../js/ui/dash.js:285
#: ../js/ui/appDisplay.js:1580 ../js/ui/dash.js:285
msgid "Remove from Favorites"
msgstr "Αφαίρεση από τα αγαπημένα"
#: ../js/ui/appDisplay.js:1550
#: ../js/ui/appDisplay.js:1586
msgid "Add to Favorites"
msgstr "Προσθήκη στα αγαπημένα"
@ -595,7 +583,7 @@ msgid "Type again:"
msgstr "Πληκτρολογήστε ξανά:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:295 ../js/ui/status/network.js:729
#: ../js/ui/status/network.js:294 ../js/ui/status/network.js:760
msgid "Connect"
msgstr "Σύνδεση"
@ -631,10 +619,10 @@ msgstr "Απαιτείται πιστοποίηση από το ασύρματο
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
"%s."
msgstr ""
"Κωδικοί ή κλειδιά κρυπτογράφησης απαιτούνται για πρόσβαση στο ασύρματο "
"δίκτυο '%s'."
"Κωδικοί πρόσβασης ή κλειδιά κρυπτογράφησης απαιτούνται για πρόσβαση στο "
"ασύρματο δίκτυο %s."
#: ../js/ui/components/networkAgent.js:316
msgid "Wired 802.1X authentication"
@ -666,8 +654,8 @@ msgstr "Κωδικός δικτύου κινητής ευρυζωνικής σύ
#: ../js/ui/components/networkAgent.js:339
#, javascript-format
msgid "A password is required to connect to '%s'."
msgstr "Απαιτείται κωδικός για σύνδεση στο '%s'."
msgid "A password is required to connect to %s."
msgstr "Απαιτείται κωδικός πρόσβασης για σύνδεση στο %s."
#: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required"
@ -714,35 +702,35 @@ msgid "Mute"
msgstr "Σίγαση"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:941
#: ../js/ui/components/telepathyClient.js:952
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Χθες</b>, <b>%Ω:%Λ</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:947
#: ../js/ui/components/telepathyClient.js:958
msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%ΗΗΗΗ</b>, <b>%Ω:%Λ</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:963
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%Η</b> <b>%ΜΜΜΜ</b>, <b>%Ω:%Λ</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:967
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%Η</b> <b>%ΜΜΜΜ</b> <b>%ΕΕΕΕ</b>, <b>%Ω:%Λ</b> "
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#: ../js/ui/components/telepathyClient.js:987
#: ../js/ui/components/telepathyClient.js:998
#, javascript-format
msgid "%s is now known as %s"
msgstr "Ο %s είναι τώρα γνωστός ως %s"
#. translators: argument is a room name like
#. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1101
#, javascript-format
msgid "Invitation to %s"
msgstr "Πρόσκληση στο %s"
@ -750,38 +738,38 @@ msgstr "Πρόσκληση στο %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1109
#, javascript-format
msgid "%s is inviting you to join %s"
msgstr "Ο %s σας προσκαλεί να μπείτε στο %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1135
#: ../js/ui/components/telepathyClient.js:1169
#: ../js/ui/components/telepathyClient.js:1226
#: ../js/ui/components/telepathyClient.js:1111
#: ../js/ui/components/telepathyClient.js:1146
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1237
msgid "Decline"
msgstr "Απόρριψη"
#: ../js/ui/components/telepathyClient.js:1106
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1231
#: ../js/ui/components/telepathyClient.js:1117
#: ../js/ui/components/telepathyClient.js:1186
#: ../js/ui/components/telepathyClient.js:1242
msgid "Accept"
msgstr "Αποδοχή"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1125
#: ../js/ui/components/telepathyClient.js:1136
#, javascript-format
msgid "Video call from %s"
msgstr "Βιντεοκλήση από %s"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1128
#: ../js/ui/components/telepathyClient.js:1139
#, javascript-format
msgid "Call from %s"
msgstr "Κλήση από %s"
#. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142
#: ../js/ui/components/telepathyClient.js:1153
msgid "Answer"
msgstr "Απάντηση"
@ -790,112 +778,112 @@ msgstr "Απάντηση"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#. */
#: ../js/ui/components/telepathyClient.js:1163
#: ../js/ui/components/telepathyClient.js:1174
#, javascript-format
msgid "%s is sending you %s"
msgstr "Ο %s σας στέλνει το %s"
#. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1192
#: ../js/ui/components/telepathyClient.js:1203
#, javascript-format
msgid "%s would like permission to see when you are online"
msgstr "Ο %s ζητάει άδεια για να βλέπει πότε είστε συνδεδεμένος"
#: ../js/ui/components/telepathyClient.js:1277
#: ../js/ui/components/telepathyClient.js:1288
msgid "Network error"
msgstr "Σφάλμα δικτύου"
#: ../js/ui/components/telepathyClient.js:1279
#: ../js/ui/components/telepathyClient.js:1290
msgid "Authentication failed"
msgstr "Η πιστοποίηση απέτυχε"
#: ../js/ui/components/telepathyClient.js:1281
#: ../js/ui/components/telepathyClient.js:1292
msgid "Encryption error"
msgstr "Σφάλμα κρυπτογράφησης"
#: ../js/ui/components/telepathyClient.js:1283
#: ../js/ui/components/telepathyClient.js:1294
msgid "Certificate not provided"
msgstr "Δεν υπάρχει πιστοποιητικό"
#: ../js/ui/components/telepathyClient.js:1285
#: ../js/ui/components/telepathyClient.js:1296
msgid "Certificate untrusted"
msgstr "Μη έμπιστο πιστοποιητικό"
#: ../js/ui/components/telepathyClient.js:1287
#: ../js/ui/components/telepathyClient.js:1298
msgid "Certificate expired"
msgstr "Ληγμένο πιστοποιητικό"
#: ../js/ui/components/telepathyClient.js:1289
#: ../js/ui/components/telepathyClient.js:1300
msgid "Certificate not activated"
msgstr "Το πιστοποιητικό δεν ενεργοποιήθηκε"
#: ../js/ui/components/telepathyClient.js:1291
#: ../js/ui/components/telepathyClient.js:1302
msgid "Certificate hostname mismatch"
msgstr "Αναντιστοιχία ονόματος κεντρικού υπολογιστή στο πιστοποιητικό"
#: ../js/ui/components/telepathyClient.js:1293
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate fingerprint mismatch"
msgstr "Αναντιστοιχία αποτυπώματος πιστοποιητικού"
#: ../js/ui/components/telepathyClient.js:1295
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate self-signed"
msgstr "Αυτο-υπογεγραμμένο πιστοποιητικό"
#: ../js/ui/components/telepathyClient.js:1297
#: ../js/ui/components/telepathyClient.js:1308
msgid "Status is set to offline"
msgstr "Η κατάσταση έχει ορισθεί σε εκτός σύνδεσης"
#: ../js/ui/components/telepathyClient.js:1299
#: ../js/ui/components/telepathyClient.js:1310
msgid "Encryption is not available"
msgstr "Δεν υπάρχει διαθέσιμη κρυπτογράφηση"
#: ../js/ui/components/telepathyClient.js:1301
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate is invalid"
msgstr "Το πιστοποιητικό είναι άκυρο"
#: ../js/ui/components/telepathyClient.js:1303
#: ../js/ui/components/telepathyClient.js:1314
msgid "Connection has been refused"
msgstr "Άρνηση σύνδεσης"
#: ../js/ui/components/telepathyClient.js:1305
#: ../js/ui/components/telepathyClient.js:1316
msgid "Connection can't be established"
msgstr "Δεν είναι δυνατή η σύνδεση"
#: ../js/ui/components/telepathyClient.js:1307
#: ../js/ui/components/telepathyClient.js:1318
msgid "Connection has been lost"
msgstr "Η σύνδεση χάθηκε"
#: ../js/ui/components/telepathyClient.js:1309
#: ../js/ui/components/telepathyClient.js:1320
msgid "This account is already connected to the server"
msgstr "Αυτός ο λογαριασμός είναι ήδη συνδεδεμένος στον εξυπηρετητή"
#: ../js/ui/components/telepathyClient.js:1311
#: ../js/ui/components/telepathyClient.js:1322
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"Η σύνδεση έχει αντικατασταθεί από μια νέα σύνδεση που χρησιμοποιεί τον ίδιο "
"πόρο"
#: ../js/ui/components/telepathyClient.js:1313
#: ../js/ui/components/telepathyClient.js:1324
msgid "The account already exists on the server"
msgstr "Ο λογαριασμός υπάρχει ήδη στον εξυπηρετητή"
#: ../js/ui/components/telepathyClient.js:1315
#: ../js/ui/components/telepathyClient.js:1326
msgid "Server is currently too busy to handle the connection"
msgstr "Ο εξυπηρετητής είναι πολύ απασχολημένος ώστε να χειριστεί τη σύνδεση"
#: ../js/ui/components/telepathyClient.js:1317
#: ../js/ui/components/telepathyClient.js:1328
msgid "Certificate has been revoked"
msgstr "Το πιστοποιητικό έχει ανακληθεί"
#: ../js/ui/components/telepathyClient.js:1319
#: ../js/ui/components/telepathyClient.js:1330
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Το πιστοποιητικό χρησιμοποιεί ένα μη ασφαλή αλγόριθμο αποτυπώματος ή είναι "
"αδύναμο κρυπτογραφικά"
#: ../js/ui/components/telepathyClient.js:1321
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -904,22 +892,22 @@ msgstr ""
"πιστοποιητικού του εξυπηρετητή υπερβαίνει τα όρια που επιτρέπει η βιβλιοθήκη "
"κρυπτογραφίας"
#: ../js/ui/components/telepathyClient.js:1323
#: ../js/ui/components/telepathyClient.js:1334
msgid "Internal error"
msgstr "Εσωτερικό σφάλμα"
#. translators: argument is the account name, like
#. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1333
#: ../js/ui/components/telepathyClient.js:1344
#, javascript-format
msgid "Unable to connect to %s"
msgstr "Αδυναμία σύνδεσης με %s"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1349
msgid "View account"
msgstr "Προβολή λογαριασμού"
#: ../js/ui/components/telepathyClient.js:1370
#: ../js/ui/components/telepathyClient.js:1381
msgid "Unknown reason"
msgstr "Άγνωστος λόγος"
@ -1067,8 +1055,8 @@ msgstr "Εγκατάσταση"
#: ../js/ui/extensionDownloader.js:204
#, javascript-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Λήψη και εγκατάσταση '%s' από το extensions.gnome.org;"
msgid "Download and install %s from extensions.gnome.org?"
msgstr "Λήψη και εγκατάσταση του “%s από το extensions.gnome.org;"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335
msgid "Keyboard"
@ -1100,7 +1088,7 @@ msgstr "Ενεργοποιημένο"
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:472
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:518
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "Απενεργοποιημένο"
@ -1125,48 +1113,48 @@ msgstr "Προβολή πηγής"
msgid "Web Page"
msgstr "Ιστοσελίδα"
#: ../js/ui/messageTray.js:1310
#: ../js/ui/messageTray.js:1312
msgid "Open"
msgstr "Άνοιγμα"
#: ../js/ui/messageTray.js:1317
#: ../js/ui/messageTray.js:1319
msgid "Remove"
msgstr "Αφαίρεση"
#: ../js/ui/messageTray.js:1614
#: ../js/ui/messageTray.js:1616
msgid "Notifications"
msgstr "Ειδοποιήσεις"
#: ../js/ui/messageTray.js:1621
#: ../js/ui/messageTray.js:1623
msgid "Clear Messages"
msgstr "Καθαρισμός μηνυμάτων"
#: ../js/ui/messageTray.js:1640
#: ../js/ui/messageTray.js:1642
msgid "Notification Settings"
msgstr "Ρυθμίσεις ειδοποιήσεων"
#: ../js/ui/messageTray.js:1693
#: ../js/ui/messageTray.js:1695
msgid "Tray Menu"
msgstr "Μενού περιοχής ειδοποιήσεων"
#: ../js/ui/messageTray.js:1910
#: ../js/ui/messageTray.js:1912
msgid "No Messages"
msgstr "Κανένα μήνυμα"
#: ../js/ui/messageTray.js:1948
#: ../js/ui/messageTray.js:1950
msgid "Message Tray"
msgstr "Περιοχή ειδοποιήσεων μηνυμάτων"
#: ../js/ui/messageTray.js:2931
#: ../js/ui/messageTray.js:2934
msgid "System Information"
msgstr "Πληροφορίες συστήματος"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:397
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:399
msgctxt "program"
msgid "Unknown"
msgstr "Άγνωστο"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:153
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1199,7 +1187,7 @@ msgstr "Έξοδος"
msgid "Activities"
msgstr "Δραστηριότητες"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:905
msgid "Top Bar"
msgstr "Πάνω μπάρα"
@ -1217,30 +1205,30 @@ msgstr "Κλείσιμο"
#. Translators: This is a time format for a date in
#. long format */
#: ../js/ui/screenShield.js:89
#: ../js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:155
#: ../js/ui/screenShield.js:153
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d νέα ειδοποίηση"
msgstr[1] "%d νέες ειδοποιήσεις"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342
msgid "Lock"
msgstr "Κλείδωμα"
#: ../js/ui/screenShield.js:708
#: ../js/ui/screenShield.js:707
msgid "GNOME needs to lock the screen"
msgstr "Το GNOME χρειάζεται να κλειδώσει την οθόνη"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
msgid "Unable to lock"
msgstr "Αδυναμία κλειδώματος"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1303
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
msgid "Lock was blocked by an application"
msgstr "Το κλείδωμα εμποδίστηκε από μια εφαρμογή"
@ -1325,7 +1313,7 @@ msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1083 ../js/ui/status/rfkill.js:48
#: ../js/ui/status/network.js:1108 ../js/ui/status/rfkill.js:48
msgid "Turn Off"
msgstr "Σβήσιμο"
@ -1352,95 +1340,99 @@ msgstr "Εμφάνιση διάταξης πληκτρολογίου"
msgid "<unknown>"
msgstr "<άγνωστο>"
#: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1104
#: ../js/ui/status/network.js:221 ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:1129
msgid "Off"
msgstr "Εκτός σύνδεσης"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:385
#: ../js/ui/status/network.js:389
msgid "unmanaged"
msgstr "μη διαχειριζόμενες"
#: ../js/ui/status/network.js:387
#: ../js/ui/status/network.js:391
msgid "disconnecting..."
msgstr "αποσύνδεση..."
#: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1158
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1183
msgid "connecting..."
msgstr "σύνδεση..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1161
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1186
msgid "authentication required"
msgstr "απαιτείται πιστοποίηση"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:404
#: ../js/ui/status/network.js:408
msgid "firmware missing"
msgstr "έλλειψη firmware"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:408
#: ../js/ui/status/network.js:412
msgid "unavailable"
msgstr "μη διαθέσιμο"
#: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1163
#: ../js/ui/status/network.js:414 ../js/ui/status/network.js:1188
msgid "connection failed"
msgstr "αποτυχία σύνδεσης"
#: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
#: ../js/ui/status/network.js:430
msgid "Wired Settings"
msgstr "Ενσύρματες ρυθμίσεις"
#: ../js/ui/status/network.js:472 ../js/ui/status/network.js:558
msgid "Mobile Broadband Settings"
msgstr "Ρυθμίσεις Κινήτης Ευρυζωνικής"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1102
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:1127
msgid "Hardware Disabled"
msgstr "Το Υλικό Απενεργοποιήθηκε"
#: ../js/ui/status/network.js:694
#: ../js/ui/status/network.js:725
msgid "Wi-Fi Networks"
msgstr "Δίκτυα Wi-Fi"
#: ../js/ui/status/network.js:696
#: ../js/ui/status/network.js:727
msgid "Select a network"
msgstr "Επιλογή δικτύου"
#: ../js/ui/status/network.js:720
#: ../js/ui/status/network.js:751
msgid "No Networks"
msgstr "Χωρίς δίκτυα"
#: ../js/ui/status/network.js:989
#: ../js/ui/status/network.js:1014
msgid "Select Network"
msgstr "Επιλογή δικτύου"
#: ../js/ui/status/network.js:995
#: ../js/ui/status/network.js:1020
msgid "Wi-Fi Settings"
msgstr "Ρυθμίσεις Wi-Fi"
#: ../js/ui/status/network.js:1083
#: ../js/ui/status/network.js:1108
msgid "Turn On"
msgstr "Ενεργοποίηση"
#: ../js/ui/status/network.js:1106
#: ../js/ui/status/network.js:1131
msgid "Not Connected"
msgstr "Χωρίς σύνδεση"
#: ../js/ui/status/network.js:1226
#: ../js/ui/status/network.js:1251
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1366
#: ../js/ui/status/network.js:1394
msgid "Network Manager"
msgstr "Διαχειριστής δικτύου"
#: ../js/ui/status/network.js:1405
#: ../js/ui/status/network.js:1433
msgid "Connection failed"
msgstr "Αποτυχία σύνδεσης"
#: ../js/ui/status/network.js:1406
#: ../js/ui/status/network.js:1434
msgid "Activation of network connection failed"
msgstr "Απέτυχε η ενεργοποίηση της σύνδεσης δικτύου"
@ -1536,8 +1528,8 @@ msgstr "Αναζήτηση"
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
msgid "'%s' is ready"
msgstr "Το '%s' είναι έτοιμο"
msgid "%s is ready"
msgstr "Το %s είναι έτοιμο"
#: ../js/ui/windowManager.js:56
msgid "Do you want to keep these display settings?"
@ -1606,10 +1598,10 @@ msgstr ""
msgid "List possible modes"
msgstr "Λίστα πιθανών καταστάσεων λειτουργίας"
#: ../src/shell-app.c:640
#: ../src/shell-app.c:642
#, c-format
msgid "Failed to launch '%s'"
msgstr "Αποτυχία εκκίνησης '%s'"
msgid "Failed to launch %s"
msgstr "Αποτυχία εκκίνησης του “%s"
#: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match."
@ -1623,6 +1615,17 @@ msgstr "Ο κωδικός δεν μπορεί να είναι κενός"
msgid "Authentication dialog was dismissed by the user"
msgstr "Το παράθυρο πιστοποίησης έκλεισε από τον χρήστη"
#~ msgid "List of categories that should be displayed as folders"
#~ msgstr "Η λίστα των κατηγοριών που πρέπει να εμφανίζονται ως φάκελοι"
#~ msgid ""
#~ "Each category name in this list will be represented as folder in the "
#~ "application view, rather than being displayed inline in the main view."
#~ msgstr ""
#~ "Το όνομα κάθε κατηγορίας σε αυτή τη λίστα θα αναπαριστάται ως φάκελος "
#~ "στην προβολή εφαρμογής, αντί να εμφανίζεται ενσωματωμένο στην κύρια "
#~ "προβολή."
#~ msgid "Authorization request from %s"
#~ msgstr "Αίτηση εξουσιοδότησης από %s"

131
po/he.po
View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-29 22:33+0200\n"
"PO-Revision-Date: 2014-01-29 22:38+0200\n"
"POT-Creation-Date: 2014-02-05 00:27+0200\n"
"PO-Revision-Date: 2014-02-05 00:31+0200\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: עברית <>\n"
"Language: he\n"
@ -271,7 +271,7 @@ msgstr "יש לבחור את ההרחבה להגדרה באמצעות תיבת
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:357
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:757
#: ../js/ui/status/network.js:842
msgid "Cancel"
msgstr "ביטול"
@ -328,7 +328,7 @@ msgid "Could not parse command:"
msgstr "לא ניתן לפענח את הפקודה:"
#: ../js/misc/util.js:156
#, c-format
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "ההרצה של „%s” נכשלה:"
@ -565,8 +565,8 @@ msgstr "ססמה:"
msgid "Type again:"
msgstr "נא להקליד שוב:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:294 ../js/ui/status/network.js:760
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:134
#: ../js/ui/status/network.js:296 ../js/ui/status/network.js:845
msgid "Connect"
msgstr "התחברות"
@ -599,7 +599,7 @@ msgid "Authentication required by wireless network"
msgstr "הרשת האלחוטית דורשת אימות"
#: ../js/ui/components/networkAgent.js:312
#, c-format
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"“%s”."
@ -634,7 +634,7 @@ msgid "Mobile broadband network password"
msgstr "ססמת רשת הפס הרחב הניידת"
#: ../js/ui/components/networkAgent.js:339
#, c-format
#, javascript-format
msgid "A password is required to connect to “%s”."
msgstr "נדרשת ססמה כדי להתחבר אל „%s”"
@ -1025,7 +1025,7 @@ msgid "Install"
msgstr "התקנה"
#: ../js/ui/extensionDownloader.js:204
#, c-format
#, javascript-format
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "הורדה והתקנה של „%s” מ־extensions.gnome.org?"
@ -1059,7 +1059,7 @@ msgstr "פעיל"
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:518
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:519
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "מנוטרל"
@ -1285,8 +1285,9 @@ msgstr "טקסט גדול"
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1108 ../js/ui/status/rfkill.js:48
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:134
#: ../js/ui/status/network.js:1193 ../js/ui/status/rfkill.js:85
#: ../js/ui/status/rfkill.js:105
msgid "Turn Off"
msgstr "כיבוי"
@ -1310,103 +1311,131 @@ msgstr "בהירות"
msgid "Show Keyboard Layout"
msgstr "הצגת פריסת המקלדת"
#: ../js/ui/status/network.js:71
#: ../js/ui/status/network.js:73
msgid "<unknown>"
msgstr "<לא ידוע>"
#: ../js/ui/status/network.js:221 ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:1129
#: ../js/ui/status/network.js:223 ../js/ui/status/network.js:385
#: ../js/ui/status/network.js:1214
msgid "Off"
msgstr "כבוימנותק"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:389
#: ../js/ui/status/network.js:391
msgid "unmanaged"
msgstr "לא מנוהל"
#: ../js/ui/status/network.js:391
#: ../js/ui/status/network.js:393
msgid "disconnecting..."
msgstr "בהליכי ניתוק..."
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1183
#: ../js/ui/status/network.js:399 ../js/ui/status/network.js:1268
msgid "connecting..."
msgstr "בהתחברות..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1186
#: ../js/ui/status/network.js:402 ../js/ui/status/network.js:1271
msgid "authentication required"
msgstr "נדרש אימות"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:408
#: ../js/ui/status/network.js:410
msgid "firmware missing"
msgstr "הקושחה חסרה"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:412
#: ../js/ui/status/network.js:414
msgid "unavailable"
msgstr "לא זמין"
#: ../js/ui/status/network.js:414 ../js/ui/status/network.js:1188
#: ../js/ui/status/network.js:416 ../js/ui/status/network.js:1273
msgid "connection failed"
msgstr "החיבור נכשל"
#: ../js/ui/status/network.js:430
#: ../js/ui/status/network.js:432
msgid "Wired Settings"
msgstr "הגדרות רשת קווית"
#: ../js/ui/status/network.js:472 ../js/ui/status/network.js:558
#: ../js/ui/status/network.js:473 ../js/ui/status/network.js:559
msgid "Mobile Broadband Settings"
msgstr "הגדרות פס־רחב נייד"
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:1127
#: ../js/ui/status/network.js:515 ../js/ui/status/network.js:1212
msgid "Hardware Disabled"
msgstr "מנוטרל חומרתית"
#: ../js/ui/status/network.js:725
#: ../js/ui/status/network.js:740
msgid "Airplane Mode is On"
msgstr "מצב טיסה מופעל"
#: ../js/ui/status/network.js:741
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "רשת אלחוטית מושבתת כאשר מצב טיסה מופעל."
#: ../js/ui/status/network.js:742
msgid "Turn Off Airplane Mode"
msgstr "כיבוי מצב טיסה"
#: ../js/ui/status/network.js:751
msgid "Wi-Fi is Off"
msgstr "רשת אלחוטית כבויה"
#: ../js/ui/status/network.js:752
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "רשת אלחוטית צריכה להיות מופעלת על מנת להתחבר לרשת."
#: ../js/ui/status/network.js:753
msgid "Turn On Wi-Fi"
msgstr "הפעלת רשת אלחוטית"
#: ../js/ui/status/network.js:778
msgid "Wi-Fi Networks"
msgstr "רשתות אלחוטיות"
#: ../js/ui/status/network.js:727
#: ../js/ui/status/network.js:780
msgid "Select a network"
msgstr "בחירת רשת"
#: ../js/ui/status/network.js:751
#: ../js/ui/status/network.js:809
msgid "No Networks"
msgstr "אין רשתות"
#: ../js/ui/status/network.js:1014
#: ../js/ui/status/network.js:830 ../js/ui/status/rfkill.js:103
msgid "Use hardware switch to turn off"
msgstr "שימוש במתג של החומרה לכיבוי"
#: ../js/ui/status/network.js:1099
msgid "Select Network"
msgstr "בחירת רשת"
#: ../js/ui/status/network.js:1020
#: ../js/ui/status/network.js:1105
msgid "Wi-Fi Settings"
msgstr "הגדרות רשת אלחוטית"
#: ../js/ui/status/network.js:1108
#: ../js/ui/status/network.js:1193
msgid "Turn On"
msgstr "הפעלה"
#: ../js/ui/status/network.js:1131
#: ../js/ui/status/network.js:1216
msgid "Not Connected"
msgstr "לא מחובר"
#: ../js/ui/status/network.js:1251
#: ../js/ui/status/network.js:1336
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1394
#: ../js/ui/status/network.js:1479
msgid "Network Manager"
msgstr "מנהל הרשתות"
#: ../js/ui/status/network.js:1433
#: ../js/ui/status/network.js:1518
msgid "Connection failed"
msgstr "ההתחברות נכשל"
#: ../js/ui/status/network.js:1434
#: ../js/ui/status/network.js:1519
msgid "Activation of network connection failed"
msgstr "הפעלת חיבור הרשת נכשלה"
@ -1423,12 +1452,12 @@ msgid "Estimating…"
msgstr "מתבצע שערוך…"
#: ../js/ui/status/power.js:86
#, javascript-format
#, c-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d\\u2236%02d נותרו (%d%%)"
#: ../js/ui/status/power.js:91
#, javascript-format
#, c-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d\\u2236%02d עד לטעינה מלאה (%d%%)"
@ -1440,15 +1469,15 @@ msgstr "אל־פסק"
msgid "Battery"
msgstr "סוללה"
#: ../js/ui/status/rfkill.js:45
#: ../js/ui/status/rfkill.js:82
msgid "Airplane Mode"
msgstr "מצב טיסה"
#: ../js/ui/status/rfkill.js:47
#: ../js/ui/status/rfkill.js:84
msgid "On"
msgstr "פועל"
#: ../js/ui/status/rfkill.js:51
#: ../js/ui/status/rfkill.js:88
msgid "Network Settings"
msgstr "הגדרות הרשת"
@ -1462,7 +1491,7 @@ msgstr "יציאה"
#: ../js/ui/status/system.js:338
msgid "Orientation Lock"
msgstr ""
msgstr "נעילת כיוון"
#: ../js/ui/status/system.js:346
msgid "Suspend"
@ -1501,7 +1530,7 @@ msgid "Search"
msgstr "חיפוש"
#: ../js/ui/windowAttentionHandler.js:19
#, c-format
#, javascript-format
msgid "“%s” is ready"
msgstr "‏„%s” מוכן"
@ -1587,6 +1616,14 @@ msgstr "הססמה לא יכולה להישאר ריקה"
msgid "Authentication dialog was dismissed by the user"
msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgctxt "event list time"
#~ msgid "%H\\u2236%M"
#~ msgstr "%H\\u2236%M"
#~ msgctxt "event list time"
#~ msgid "%l\\u2236%M\\u2009%p"
#~ msgstr "%l\\u2236%M\\u2009%p"
#~ msgid "List of categories that should be displayed as folders"
#~ msgstr "List of categories that should be displayed as folders"
@ -1653,14 +1690,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "%s the Oracle says"
#~ msgstr "%s, כה אמרה האוראקל"
#~ msgctxt "event list time"
#~ msgid "%H\\u2236%M"
#~ msgstr "%H\\u2236%M"
#~ msgctxt "event list time"
#~ msgid "%l\\u2236%M\\u2009%p"
#~ msgstr "%l\\u2236%M\\u2009%p"
#~ msgid "Screenshots"
#~ msgstr "צילומי מסך"

374
po/id.po
View File

@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-01-03 21:13+0000\n"
"PO-Revision-Date: 2014-01-04 10:24+0700\n"
"POT-Creation-Date: 2014-02-04 08:57+0000\n"
"PO-Revision-Date: 2014-02-04 21:15+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.5.7\n"
"X-Generator: Poedit 1.6.3\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -83,20 +83,20 @@ msgstr ""
"dialog Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
msgid "Uuids of extensions to enable"
msgstr "Uuid ekstensi yang hendak diaktifkan"
msgid "UUIDs of extensions to enable"
msgstr "UUID ekstensi yang akan difungsikan"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"GNOME Shell extensions have a UUID property; this key lists extensions which "
"should be loaded. Any extension that wants to be loaded needs to be in this "
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
"DisableExtension D-Bus methods on org.gnome.Shell."
msgstr ""
"Ekstensi GNOME Shell memiliki properti uuid; kunci ini berisikan ekstensi "
"yang seharusnya dimuat. Ekstensi yang ingin dimuat harus berada di dalam "
"daftar tersebut. Anda juga bisa memanipulasi daftar ini dengan metode DBus "
"EnableExtension dan DisableExtension pada org.gnome.Shell."
"Ekstensi GNOME Shell memiliki properti UUID; kunci ini memuat daftar "
"ekstensi yang mesti dimuat. Sebarang ekstensi yang ingin dimuat perlu berada "
"dalam daftar ini. Anda juga dapat memanipulasi daftar ini dengan metoda D-"
"Bus EnableExtension dan DisableExtension pada org.gnome.Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "List of desktop file IDs for favorite applications"
@ -111,45 +111,33 @@ msgstr ""
"area favorit."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of categories that should be displayed as folders"
msgstr "Daftar kategori yang mesti ditampilkan sebagai folder"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
msgid ""
"Each category name in this list will be represented as folder in the "
"application view, rather than being displayed inline in the main view."
msgstr ""
"Setiap nama kategori dalam daftar ini akan diwakili oleh folder dalam "
"tilikan aplikasi, bukan ditampilkan dalam tilikan utama."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
msgstr "Riwayat dialog perintah (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
msgid "History for the looking glass dialog"
msgstr "Riwayat untuk dialog yang berpenampilan gelas kaca"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Selalku tampilkan butir menu 'Log keluar' dalam menu pengguna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Selalu tampilkan butir menu 'Log keluar' dalam menu pengguna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations."
msgstr ""
"Kunci ini menimpa penyembunyian otomatis dari butir menu 'Log keluar' dalam "
"situasi pengguna tunggal, sesi tunggal."
"Kunci ini menimpa penyembunyian otomatis butir menu 'Log keluar' dalam "
"situasi pengguna-tunggal, sesi-tunggal."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
msgid ""
"Whether to remember password for mounting encrypted or remote filesystems"
msgstr ""
"Apakah mengingat sandi untuk mengait sistem berkas terenkripsi atau jarak "
"jauh"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid ""
"The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a "
@ -161,70 +149,70 @@ msgstr ""
"dimasa depan, suatu kotak contreng 'Ingat Sandi' akan tampil. Kunci ini "
"menata keadaan baku dari kontak contreng."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Show the week date in the calendar"
msgstr "Menampilkan tanggal pada kalender"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Jika \"true\", menampilkan tanggal berformat ISO pada kalender."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Kombinasi tombol untuk membuka menu aplikasi"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Kombinasi tombol untuk membuka menu aplikasi."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Kombinasi tombol untuk membuka tilikan \"Tampilkan Aplikasi\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Kombinasi tombol untuk membuka tilikan Ringkasan Aktivitas \"Tampilkan "
"Aplikasi\"."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to open the overview"
msgstr "Kombinasi tombol untuk membuka ringkasan"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to open the Activities Overview."
msgstr "Kombinasi tombol untuk membuka Ringkasan Aktivitas."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Kombinasi tombol untuk kenampakan baki pesan"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Kombinasi tombol untuk kenampakan baki pesan."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to focus the active notification"
msgstr "Kombinasi tombol untuk fokus pada pemberitahuan yang aktif"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to focus the active notification."
msgstr "Kombinasi tombol untuk fokus pada pemberitahuan yang aktif."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Which keyboard to use"
msgstr "Papan tik mana yang akan dipakai"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "The type of keyboard to use."
msgstr "Jenis papan tik yang akan dipakai."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "The application icon mode."
msgstr "Mode ikon aplikasi."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@ -234,22 +222,22 @@ msgstr ""
"adalah 'thumbnail-only' (menampilkan gambar mini dari jendela), 'app-icon-"
"only' (hanya menampilkan ikon aplikasi), atau 'both' (keduanya)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Attach modal dialog to the parent window"
msgstr "Mencantolkan dialog modal ke jendela induk"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Kunci ini menimpa kunci dalam org.gnome.mutter ketika menjalankan GNOME "
"Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Arrangement of buttons on the titlebar"
msgstr "Pengaturan tombol pada bilah judul"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
@ -257,20 +245,20 @@ msgstr ""
"Kunci ini menimpa kunci dalam org.gnome.desktop.wm.preferences ketika "
"menjalankan GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Memfungsikan pengubinan tepi ketika menjatuhkan jendela pada tepi layar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "Workspaces are managed dynamically"
msgstr "Ruang kerja dikelola secara dinamis"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Workspaces only on primary monitor"
msgstr "Ruang kerja hanya pada monitor primer"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Tunda perubahan fokus dalam mode tetikus sampai penunjuk berhenti bergerak"
@ -289,9 +277,9 @@ msgid "Select an extension to configure using the combobox above."
msgstr "Pilih ekstensi yang ingin dikonfigurasi pada kotak di atas."
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:359
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:357
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:726
#: ../js/ui/status/network.js:757
msgid "Cancel"
msgstr "Batal"
@ -309,25 +297,25 @@ msgctxt "button"
msgid "Sign In"
msgstr "Masuk"
#: ../js/gdm/loginDialog.js:272
#: ../js/gdm/loginDialog.js:270
msgid "Choose Session"
msgstr "Pilih Sesi"
#: ../js/gdm/loginDialog.js:432
#: ../js/gdm/loginDialog.js:430
msgid "Not listed?"
msgstr "Tak masuk daftar?"
#: ../js/gdm/loginDialog.js:600
#: ../js/gdm/loginDialog.js:598
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(cth., pengguna dari %s)"
#: ../js/gdm/loginDialog.js:605 ../js/ui/components/networkAgent.js:262
#: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280
msgid "Username: "
msgstr "Nama pengguna: "
#: ../js/gdm/loginDialog.js:870
#: ../js/gdm/loginDialog.js:868
msgid "Login Window"
msgstr "Jendela Log Masuk"
@ -349,30 +337,30 @@ msgstr "Tidak dapat mengurai perintah:"
#: ../js/misc/util.js:156
#, javascript-format
msgid "Execution of '%s' failed:"
msgstr "Eksekusi '%s' gagal:"
msgid "Execution of %s failed:"
msgstr "Eksekusi \"%s\" gagal:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:633
msgid "Frequently used applications will appear here"
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
#: ../js/ui/appDisplay.js:715
#: ../js/ui/appDisplay.js:744
msgid "Frequent"
msgstr "Sering"
#: ../js/ui/appDisplay.js:722
#: ../js/ui/appDisplay.js:751
msgid "All"
msgstr "Semua"
#: ../js/ui/appDisplay.js:1541
#: ../js/ui/appDisplay.js:1558
msgid "New Window"
msgstr "Jendela Baru"
#: ../js/ui/appDisplay.js:1544 ../js/ui/dash.js:285
#: ../js/ui/appDisplay.js:1580 ../js/ui/dash.js:285
msgid "Remove from Favorites"
msgstr "Hapus dari Favorit"
#: ../js/ui/appDisplay.js:1545
#: ../js/ui/appDisplay.js:1586
msgid "Add to Favorites"
msgstr "Tambah ke Favorit"
@ -586,7 +574,7 @@ msgid "Type again:"
msgstr "Ketik lagi:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:295 ../js/ui/status/network.js:729
#: ../js/ui/status/network.js:294 ../js/ui/status/network.js:760
msgid "Connect"
msgstr "Sambung"
@ -622,10 +610,10 @@ msgstr "Otentikasi dibutuhkan oleh jaringan nirkabel"
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
"%s."
msgstr ""
"Sandi atau kunci penyandian diperlukan untuk mengakses jaringan nirkabel "
"'%s'."
"Sandi atau kunci enkripsi diperlukan untuk mengakses jaringan nirkabel \"%s"
"\"."
#: ../js/ui/components/networkAgent.js:316
msgid "Wired 802.1X authentication"
@ -657,8 +645,8 @@ msgstr "Sandi jaringan data seluler"
#: ../js/ui/components/networkAgent.js:339
#, javascript-format
msgid "A password is required to connect to '%s'."
msgstr "Sebuah kata sandi dibutuhkan untuk menyambung ke '%s'."
msgid "A password is required to connect to %s."
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
#: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required"
@ -705,35 +693,35 @@ msgid "Mute"
msgstr "Bisu"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:941
#: ../js/ui/components/telepathyClient.js:952
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Kemarin</b>, <b>%H:%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:947
#: ../js/ui/components/telepathyClient.js:958
msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:963
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%d</b> <b>%B</b>, <b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:967
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#: ../js/ui/components/telepathyClient.js:987
#: ../js/ui/components/telepathyClient.js:998
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s sekarang dikenal sebagai %s"
#. translators: argument is a room name like
#. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1101
#, javascript-format
msgid "Invitation to %s"
msgstr "Undangan ke %s"
@ -741,38 +729,38 @@ msgstr "Undangan ke %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1109
#, javascript-format
msgid "%s is inviting you to join %s"
msgstr "%s mengundang Anda untuk bergabung dengan %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1135
#: ../js/ui/components/telepathyClient.js:1169
#: ../js/ui/components/telepathyClient.js:1226
#: ../js/ui/components/telepathyClient.js:1111
#: ../js/ui/components/telepathyClient.js:1146
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1237
msgid "Decline"
msgstr "Tolak"
#: ../js/ui/components/telepathyClient.js:1106
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1231
#: ../js/ui/components/telepathyClient.js:1117
#: ../js/ui/components/telepathyClient.js:1186
#: ../js/ui/components/telepathyClient.js:1242
msgid "Accept"
msgstr "Terima"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1125
#: ../js/ui/components/telepathyClient.js:1136
#, javascript-format
msgid "Video call from %s"
msgstr "Panggilan video dari %s"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1128
#: ../js/ui/components/telepathyClient.js:1139
#, javascript-format
msgid "Call from %s"
msgstr "Panggilan dari %s"
#. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142
#: ../js/ui/components/telepathyClient.js:1153
msgid "Answer"
msgstr "Jawab"
@ -781,111 +769,111 @@ msgstr "Jawab"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#. */
#: ../js/ui/components/telepathyClient.js:1163
#: ../js/ui/components/telepathyClient.js:1174
#, javascript-format
msgid "%s is sending you %s"
msgstr "%s sedang mengirimi Anda %s"
#. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1192
#: ../js/ui/components/telepathyClient.js:1203
#, javascript-format
msgid "%s would like permission to see when you are online"
msgstr "%s ingin minta ijin melihat Anda ketika Anda daring"
#: ../js/ui/components/telepathyClient.js:1277
#: ../js/ui/components/telepathyClient.js:1288
msgid "Network error"
msgstr "Galat jaringan"
#: ../js/ui/components/telepathyClient.js:1279
#: ../js/ui/components/telepathyClient.js:1290
msgid "Authentication failed"
msgstr "Otentikasi gagal"
#: ../js/ui/components/telepathyClient.js:1281
#: ../js/ui/components/telepathyClient.js:1292
msgid "Encryption error"
msgstr "Galat enkripsi"
#: ../js/ui/components/telepathyClient.js:1283
#: ../js/ui/components/telepathyClient.js:1294
msgid "Certificate not provided"
msgstr "Sertifikat tidak disediakan"
#: ../js/ui/components/telepathyClient.js:1285
#: ../js/ui/components/telepathyClient.js:1296
msgid "Certificate untrusted"
msgstr "Sertifikat tidak dipercaya"
#: ../js/ui/components/telepathyClient.js:1287
#: ../js/ui/components/telepathyClient.js:1298
msgid "Certificate expired"
msgstr "Sertifikat kadaluarsa"
#: ../js/ui/components/telepathyClient.js:1289
#: ../js/ui/components/telepathyClient.js:1300
msgid "Certificate not activated"
msgstr "Sertifikat tidak diaktifkan"
#: ../js/ui/components/telepathyClient.js:1291
#: ../js/ui/components/telepathyClient.js:1302
msgid "Certificate hostname mismatch"
msgstr "Nama host sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1293
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate fingerprint mismatch"
msgstr "Sidik jari sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1295
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate self-signed"
msgstr "Sertifikat ditandatangani sendiri"
#: ../js/ui/components/telepathyClient.js:1297
#: ../js/ui/components/telepathyClient.js:1308
msgid "Status is set to offline"
msgstr "Status diatur ke luring"
#: ../js/ui/components/telepathyClient.js:1299
#: ../js/ui/components/telepathyClient.js:1310
msgid "Encryption is not available"
msgstr "Enkripsi tidak tersedia"
#: ../js/ui/components/telepathyClient.js:1301
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate is invalid"
msgstr "Sertifikat tidak valid"
#: ../js/ui/components/telepathyClient.js:1303
#: ../js/ui/components/telepathyClient.js:1314
msgid "Connection has been refused"
msgstr "Koneksi telah ditolak"
#: ../js/ui/components/telepathyClient.js:1305
#: ../js/ui/components/telepathyClient.js:1316
msgid "Connection can't be established"
msgstr "Koneksi tak dapat dijalin"
#: ../js/ui/components/telepathyClient.js:1307
#: ../js/ui/components/telepathyClient.js:1318
msgid "Connection has been lost"
msgstr "Koneksi telah terputus"
#: ../js/ui/components/telepathyClient.js:1309
#: ../js/ui/components/telepathyClient.js:1320
msgid "This account is already connected to the server"
msgstr "Akun ini telah tersambung pada server"
#: ../js/ui/components/telepathyClient.js:1311
#: ../js/ui/components/telepathyClient.js:1322
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"Koneksi telah digantikan oleh koneksi baru memakai sumberdaya yang sama"
#: ../js/ui/components/telepathyClient.js:1313
#: ../js/ui/components/telepathyClient.js:1324
msgid "The account already exists on the server"
msgstr "Akun ini sudah ada di server"
#: ../js/ui/components/telepathyClient.js:1315
#: ../js/ui/components/telepathyClient.js:1326
msgid "Server is currently too busy to handle the connection"
msgstr "Server kini terlalu sibuk untuk menangani koneksi"
#: ../js/ui/components/telepathyClient.js:1317
#: ../js/ui/components/telepathyClient.js:1328
msgid "Certificate has been revoked"
msgstr "Sertifikat telah dicabut"
#: ../js/ui/components/telepathyClient.js:1319
#: ../js/ui/components/telepathyClient.js:1330
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Sertifikat memakai algorima cipher yang tak aman atau lemah secara "
"kriptografi"
#: ../js/ui/components/telepathyClient.js:1321
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -893,22 +881,22 @@ msgstr ""
"Panjang sertifikat server, atau kedalaman rantai sertifikat server, "
"melampaui batas yang diberlakukan oleh pustaka kriptografi"
#: ../js/ui/components/telepathyClient.js:1323
#: ../js/ui/components/telepathyClient.js:1334
msgid "Internal error"
msgstr "Galat internal"
#. translators: argument is the account name, like
#. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1333
#: ../js/ui/components/telepathyClient.js:1344
#, javascript-format
msgid "Unable to connect to %s"
msgstr "Tak bisa menyambung ke %s"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1349
msgid "View account"
msgstr "Tilik akun"
#: ../js/ui/components/telepathyClient.js:1370
#: ../js/ui/components/telepathyClient.js:1381
msgid "Unknown reason"
msgstr "Alasan yang tidak diketahui"
@ -943,72 +931,72 @@ msgstr "Pengaturan Waktu & Tanggal"
msgid "%A %B %e, %Y"
msgstr "%A, %e %B %Y"
#: ../js/ui/endSessionDialog.js:64
#: ../js/ui/endSessionDialog.js:62
#, javascript-format
msgctxt "title"
msgid "Log Out %s"
msgstr "Keluar %s"
#: ../js/ui/endSessionDialog.js:65
#: ../js/ui/endSessionDialog.js:63
msgctxt "title"
msgid "Log Out"
msgstr "Keluar"
#: ../js/ui/endSessionDialog.js:67
#: ../js/ui/endSessionDialog.js:65
#, javascript-format
msgid "%s will be logged out automatically in %d second."
msgid_plural "%s will be logged out automatically in %d seconds."
msgstr[0] "%s akan log keluar otomatis dalam %d detik.\t\t"
#: ../js/ui/endSessionDialog.js:72
#: ../js/ui/endSessionDialog.js:70
#, javascript-format
msgid "You will be logged out automatically in %d second."
msgid_plural "You will be logged out automatically in %d seconds."
msgstr[0] "Anda akan log keluar otomatis dalam %d detik."
#: ../js/ui/endSessionDialog.js:77
#: ../js/ui/endSessionDialog.js:75
msgctxt "button"
msgid "Log Out"
msgstr "Keluar"
#: ../js/ui/endSessionDialog.js:83
#: ../js/ui/endSessionDialog.js:81
msgctxt "title"
msgid "Power Off"
msgstr "Matikan"
#: ../js/ui/endSessionDialog.js:85
#: ../js/ui/endSessionDialog.js:83
#, javascript-format
msgid "The system will power off automatically in %d second."
msgid_plural "The system will power off automatically in %d seconds."
msgstr[0] "Sistem ini akan otomatis dimatikan dalam %d detik."
#: ../js/ui/endSessionDialog.js:90 ../js/ui/endSessionDialog.js:106
#: ../js/ui/endSessionDialog.js:88 ../js/ui/endSessionDialog.js:104
msgctxt "button"
msgid "Restart"
msgstr "Nyalakan Ulang"
#: ../js/ui/endSessionDialog.js:92
#: ../js/ui/endSessionDialog.js:90
msgctxt "button"
msgid "Power Off"
msgstr "Matikan"
#: ../js/ui/endSessionDialog.js:99
#: ../js/ui/endSessionDialog.js:97
msgctxt "title"
msgid "Restart"
msgstr "Nyalakan Ulang"
#: ../js/ui/endSessionDialog.js:101
#: ../js/ui/endSessionDialog.js:99
#, javascript-format
msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "Sistem ini akan otomatis dimulai ulang dalam %d detik."
#: ../js/ui/endSessionDialog.js:114
#: ../js/ui/endSessionDialog.js:112
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "Start Ulang & Pasang Pemutakhiran"
#: ../js/ui/endSessionDialog.js:116
#: ../js/ui/endSessionDialog.js:114
#, javascript-format
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
@ -1017,27 +1005,27 @@ msgstr[0] ""
"Sistem ini akan otomatis dimulai ulang dan memasang pemutakhiran dalam %d "
"detik."
#: ../js/ui/endSessionDialog.js:121
#: ../js/ui/endSessionDialog.js:119
msgctxt "button"
msgid "Restart & Install"
msgstr "Start Ulang & Pasang"
#: ../js/ui/endSessionDialog.js:277
#: ../js/ui/endSessionDialog.js:275
msgid "Some applications are busy or have unsaved work."
msgstr "Beberapa aplikasi sedang sibuk atau belum disimpan perubahannya."
#: ../js/ui/endSessionDialog.js:284
#: ../js/ui/endSessionDialog.js:282
msgid "Other users are logged in."
msgstr "Pengguna lain sedang log masuk."
#. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:488
#: ../js/ui/endSessionDialog.js:486
#, javascript-format
msgid "%s (remote)"
msgstr "%s (jarak jauh)"
#. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:491
#: ../js/ui/endSessionDialog.js:489
#, javascript-format
msgid "%s (console)"
msgstr "%s (konsol)"
@ -1048,8 +1036,8 @@ msgstr "Pasang"
#: ../js/ui/extensionDownloader.js:204
#, javascript-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Unduh dan pasang '%s' dari extensions.gnome.org?"
msgid "Download and install %s from extensions.gnome.org?"
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335
msgid "Keyboard"
@ -1081,7 +1069,7 @@ msgstr "Diaktifkan"
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:472
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:518
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "Dinonaktifkan"
@ -1106,48 +1094,48 @@ msgstr "Tilik Sumber"
msgid "Web Page"
msgstr "Halaman Web"
#: ../js/ui/messageTray.js:1310
#: ../js/ui/messageTray.js:1312
msgid "Open"
msgstr "Buka"
#: ../js/ui/messageTray.js:1317
#: ../js/ui/messageTray.js:1319
msgid "Remove"
msgstr "Hapus"
#: ../js/ui/messageTray.js:1614
#: ../js/ui/messageTray.js:1616
msgid "Notifications"
msgstr "Pemberitahuan"
#: ../js/ui/messageTray.js:1621
#: ../js/ui/messageTray.js:1623
msgid "Clear Messages"
msgstr "Bersihkan Pesan"
#: ../js/ui/messageTray.js:1640
#: ../js/ui/messageTray.js:1642
msgid "Notification Settings"
msgstr "Pengaturan Pemberitahuan"
#: ../js/ui/messageTray.js:1693
#: ../js/ui/messageTray.js:1695
msgid "Tray Menu"
msgstr "Menu Baki"
#: ../js/ui/messageTray.js:1910
#: ../js/ui/messageTray.js:1912
msgid "No Messages"
msgstr "Tiada Pesan"
#: ../js/ui/messageTray.js:1948
#: ../js/ui/messageTray.js:1950
msgid "Message Tray"
msgstr "Baki Pesan"
#: ../js/ui/messageTray.js:2931
#: ../js/ui/messageTray.js:2934
msgid "System Information"
msgstr "Informasi Sistem"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:397
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:399
msgctxt "program"
msgid "Unknown"
msgstr "Tak dikenal"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:153
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1179,7 +1167,7 @@ msgstr "Keluar"
msgid "Activities"
msgstr "Aktivitas"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:905
msgid "Top Bar"
msgstr "Bar Atas"
@ -1198,29 +1186,29 @@ msgstr "Tutup"
#. Translators: This is a time format for a date in
#. long format */
#: ../js/ui/screenShield.js:89
#: ../js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/screenShield.js:155
#: ../js/ui/screenShield.js:153
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342
msgid "Lock"
msgstr "Kunci"
#: ../js/ui/screenShield.js:708
#: ../js/ui/screenShield.js:707
msgid "GNOME needs to lock the screen"
msgstr "GNOME perlu mengunci layar"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
msgid "Unable to lock"
msgstr "Tak bisa mengunci"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1303
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi"
@ -1305,7 +1293,7 @@ msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1083 ../js/ui/status/rfkill.js:48
#: ../js/ui/status/network.js:1108 ../js/ui/status/rfkill.js:48
msgid "Turn Off"
msgstr "Matikan"
@ -1331,95 +1319,99 @@ msgstr "Tampilkan Tata Letak Papan Tik"
msgid "<unknown>"
msgstr "<tak dikenal>"
#: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1104
#: ../js/ui/status/network.js:221 ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:1129
msgid "Off"
msgstr "Mati"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:385
#: ../js/ui/status/network.js:389
msgid "unmanaged"
msgstr "tak dikelola"
#: ../js/ui/status/network.js:387
#: ../js/ui/status/network.js:391
msgid "disconnecting..."
msgstr "memutus..."
#: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1158
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1183
msgid "connecting..."
msgstr "menghubungi..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1161
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1186
msgid "authentication required"
msgstr "diperlukan otentikasi"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:404
#: ../js/ui/status/network.js:408
msgid "firmware missing"
msgstr "firmware hilang"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:408
#: ../js/ui/status/network.js:412
msgid "unavailable"
msgstr "tidak tersedia"
#: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1163
#: ../js/ui/status/network.js:414 ../js/ui/status/network.js:1188
msgid "connection failed"
msgstr "koneksi gagal"
#: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
#: ../js/ui/status/network.js:430
msgid "Wired Settings"
msgstr "Pengaturan Kabel"
#: ../js/ui/status/network.js:472 ../js/ui/status/network.js:558
msgid "Mobile Broadband Settings"
msgstr "Pengaturan Data Seluler"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1102
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:1127
msgid "Hardware Disabled"
msgstr "Perangkat Keras Dinonaktifkan"
#: ../js/ui/status/network.js:694
#: ../js/ui/status/network.js:725
msgid "Wi-Fi Networks"
msgstr "Jaringan Wi-Fi"
#: ../js/ui/status/network.js:696
#: ../js/ui/status/network.js:727
msgid "Select a network"
msgstr "Pilih jaringan"
#: ../js/ui/status/network.js:720
#: ../js/ui/status/network.js:751
msgid "No Networks"
msgstr "Tiada Jaringan"
#: ../js/ui/status/network.js:989
#: ../js/ui/status/network.js:1014
msgid "Select Network"
msgstr "Pilih Jaringan"
#: ../js/ui/status/network.js:995
#: ../js/ui/status/network.js:1020
msgid "Wi-Fi Settings"
msgstr "Pengaturan Wi-Fi"
#: ../js/ui/status/network.js:1083
#: ../js/ui/status/network.js:1108
msgid "Turn On"
msgstr "Nyalakan"
#: ../js/ui/status/network.js:1106
#: ../js/ui/status/network.js:1131
msgid "Not Connected"
msgstr "Tak Tersambung"
#: ../js/ui/status/network.js:1226
#: ../js/ui/status/network.js:1251
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1366
#: ../js/ui/status/network.js:1394
msgid "Network Manager"
msgstr "Manajer Jaringan"
#: ../js/ui/status/network.js:1405
#: ../js/ui/status/network.js:1433
msgid "Connection failed"
msgstr "Koneksi gagal"
#: ../js/ui/status/network.js:1406
#: ../js/ui/status/network.js:1434
msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal"
@ -1515,8 +1507,8 @@ msgstr "Cari"
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
msgid "'%s' is ready"
msgstr "'%s' telah siap"
msgid "%s is ready"
msgstr "'%s' siap"
#: ../js/ui/windowManager.js:56
msgid "Do you want to keep these display settings?"
@ -1579,10 +1571,10 @@ msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
msgid "List possible modes"
msgstr "Menampilkan mode yang mungkin"
#: ../src/shell-app.c:640
#: ../src/shell-app.c:642
#, c-format
msgid "Failed to launch '%s'"
msgstr "Gagal meluncurkan '%s'"
msgid "Failed to launch %s"
msgstr "Gagal meluncurkan \"%s\""
#: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match."

396
po/kk.po

File diff suppressed because it is too large Load Diff

728
po/kn.po

File diff suppressed because it is too large Load Diff

View File

@ -13,15 +13,16 @@
# Enrico Nicoletto <liverig@gmail.com>, 2013.
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013.
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
# Fábio Nogueira <fnogueira@gnome.org>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-01-19 17:52+0000\n"
"PO-Revision-Date: 2014-01-10 13:12-0300\n"
"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
"POT-Creation-Date: 2014-01-29 20:04+0000\n"
"PO-Revision-Date: 2014-01-30 13:19-0300\n"
"Last-Translator: Fábio Nogueira <deb-user-ba@ubuntu.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
@ -276,7 +277,6 @@ msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
#: ../js/extensionPrefs/main.js:127
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:"
@ -292,7 +292,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:357
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:724
#: ../js/ui/status/network.js:757
msgid "Cancel"
msgstr "Cancelar"
@ -319,7 +319,6 @@ msgid "Not listed?"
msgstr "Não está listado?"
#: ../js/gdm/loginDialog.js:598
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(ex.: usuário ou %s)"
@ -349,41 +348,38 @@ msgid "Could not parse command:"
msgstr "Não foi possível analisar comando:"
#: ../js/misc/util.js:156
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "A execução de \"%s\" falhou:"
#: ../js/ui/appDisplay.js:543
#: ../js/ui/appDisplay.js:633
msgid "Frequently used applications will appear here"
msgstr "Aplicativos usados frequentemente vão aparecer aqui"
#: ../js/ui/appDisplay.js:663
#: ../js/ui/appDisplay.js:744
msgid "Frequent"
msgstr "Frequente"
#: ../js/ui/appDisplay.js:670
#: ../js/ui/appDisplay.js:751
msgid "All"
msgstr "Todos"
#: ../js/ui/appDisplay.js:1499
#: ../js/ui/appDisplay.js:1558
msgid "New Window"
msgstr "Nova janela"
#: ../js/ui/appDisplay.js:1521 ../js/ui/dash.js:285
#: ../js/ui/appDisplay.js:1580 ../js/ui/dash.js:285
msgid "Remove from Favorites"
msgstr "Remover dos favoritos"
#: ../js/ui/appDisplay.js:1527
#: ../js/ui/appDisplay.js:1586
msgid "Add to Favorites"
msgstr "Adicionar aos favoritos"
#: ../js/ui/appFavorites.js:87
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s foi adicionado aos seus favoritos."
#: ../js/ui/appFavorites.js:121
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s foi removido dos seus favoritos."
@ -570,7 +566,6 @@ msgid "Removable Devices"
msgstr "Dispositivos removíveis"
#: ../js/ui/components/autorunManager.js:596
#, javascript-format
msgid "Open with %s"
msgstr "Abrir com %s"
@ -586,8 +581,8 @@ msgstr "Senha:"
msgid "Type again:"
msgstr "Digite novamente:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:131
#: ../js/ui/status/network.js:293 ../js/ui/status/network.js:727
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:294 ../js/ui/status/network.js:760
msgid "Connect"
msgstr "Conectar"
@ -620,7 +615,6 @@ msgid "Authentication required by wireless network"
msgstr "Autenticação requisitada pela rede sem fio"
#: ../js/ui/components/networkAgent.js:312
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"“%s”."
@ -657,7 +651,6 @@ msgid "Mobile broadband network password"
msgstr "Senha da rede de banda larga móvel"
#: ../js/ui/components/networkAgent.js:339
#, javascript-format
msgid "A password is required to connect to “%s”."
msgstr "Uma senha é necessária para se conectar a \"%s\""
@ -706,74 +699,69 @@ msgid "Mute"
msgstr "Sem áudio"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:941
#: ../js/ui/components/telepathyClient.js:952
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Ontem</b>, <b>%H:%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:947
#: ../js/ui/components/telepathyClient.js:958
msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:963
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%d</b> de <b>%B</b>, às <b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:967
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%d</b> de <b>%B</b> de <b>%Y</b>, às <b>%H:%M</b> "
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#: ../js/ui/components/telepathyClient.js:987
#, javascript-format
#: ../js/ui/components/telepathyClient.js:998
msgid "%s is now known as %s"
msgstr "%s agora é conhecido como %s"
#. translators: argument is a room name like
#. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1090
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1101
msgid "Invitation to %s"
msgstr "Convite para %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */
#: ../js/ui/components/telepathyClient.js:1098
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1109
msgid "%s is inviting you to join %s"
msgstr "%s está convidando você para participar de %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1135
#: ../js/ui/components/telepathyClient.js:1169
#: ../js/ui/components/telepathyClient.js:1226
#: ../js/ui/components/telepathyClient.js:1111
#: ../js/ui/components/telepathyClient.js:1146
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1237
msgid "Decline"
msgstr "Recusar"
#: ../js/ui/components/telepathyClient.js:1106
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1231
#: ../js/ui/components/telepathyClient.js:1117
#: ../js/ui/components/telepathyClient.js:1186
#: ../js/ui/components/telepathyClient.js:1242
msgid "Accept"
msgstr "Aceitar"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1125
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1136
msgid "Video call from %s"
msgstr "Chamada de vídeo para %s"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1128
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1139
msgid "Call from %s"
msgstr "Chamada de %s"
#. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142
#: ../js/ui/components/telepathyClient.js:1153
msgid "Answer"
msgstr "Atender"
@ -782,110 +770,108 @@ msgstr "Atender"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#. */
#: ../js/ui/components/telepathyClient.js:1163
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1174
msgid "%s is sending you %s"
msgstr "%s está enviando %s"
#. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1192
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1203
msgid "%s would like permission to see when you are online"
msgstr "%s quer permissão para vê-lo quando conectado"
#: ../js/ui/components/telepathyClient.js:1277
#: ../js/ui/components/telepathyClient.js:1288
msgid "Network error"
msgstr "Erro de rede"
#: ../js/ui/components/telepathyClient.js:1279
#: ../js/ui/components/telepathyClient.js:1290
msgid "Authentication failed"
msgstr "Falha de autenticação"
#: ../js/ui/components/telepathyClient.js:1281
#: ../js/ui/components/telepathyClient.js:1292
msgid "Encryption error"
msgstr "Erro de criptografia"
#: ../js/ui/components/telepathyClient.js:1283
#: ../js/ui/components/telepathyClient.js:1294
msgid "Certificate not provided"
msgstr "Certificado não fornecido"
#: ../js/ui/components/telepathyClient.js:1285
#: ../js/ui/components/telepathyClient.js:1296
msgid "Certificate untrusted"
msgstr "Certificado não confiável"
#: ../js/ui/components/telepathyClient.js:1287
#: ../js/ui/components/telepathyClient.js:1298
msgid "Certificate expired"
msgstr "Certificado expirado"
#: ../js/ui/components/telepathyClient.js:1289
#: ../js/ui/components/telepathyClient.js:1300
msgid "Certificate not activated"
msgstr "Certificado não ativado"
#: ../js/ui/components/telepathyClient.js:1291
#: ../js/ui/components/telepathyClient.js:1302
msgid "Certificate hostname mismatch"
msgstr "Máquina do certificado não confere"
#: ../js/ui/components/telepathyClient.js:1293
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate fingerprint mismatch"
msgstr "Impressão digital do certificado não confere"
#: ../js/ui/components/telepathyClient.js:1295
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate self-signed"
msgstr "Certificado auto-assinado"
#: ../js/ui/components/telepathyClient.js:1297
#: ../js/ui/components/telepathyClient.js:1308
msgid "Status is set to offline"
msgstr "O status está definido como desconectado."
#: ../js/ui/components/telepathyClient.js:1299
#: ../js/ui/components/telepathyClient.js:1310
msgid "Encryption is not available"
msgstr "Criptografia não disponível"
#: ../js/ui/components/telepathyClient.js:1301
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate is invalid"
msgstr "O certificado é inválido"
#: ../js/ui/components/telepathyClient.js:1303
#: ../js/ui/components/telepathyClient.js:1314
msgid "Connection has been refused"
msgstr "A conexão foi recusada"
#: ../js/ui/components/telepathyClient.js:1305
#: ../js/ui/components/telepathyClient.js:1316
msgid "Connection can't be established"
msgstr "A conexão não pode ser estabelecida"
#: ../js/ui/components/telepathyClient.js:1307
#: ../js/ui/components/telepathyClient.js:1318
msgid "Connection has been lost"
msgstr "Conexão perdida"
#: ../js/ui/components/telepathyClient.js:1309
#: ../js/ui/components/telepathyClient.js:1320
msgid "This account is already connected to the server"
msgstr "Esta conta já está conectada ao servidor"
#: ../js/ui/components/telepathyClient.js:1311
#: ../js/ui/components/telepathyClient.js:1322
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "A conexão foi substituída por uma nova conexão usando o mesmo recurso"
#: ../js/ui/components/telepathyClient.js:1313
#: ../js/ui/components/telepathyClient.js:1324
msgid "The account already exists on the server"
msgstr "A conta já existe no servidor"
#: ../js/ui/components/telepathyClient.js:1315
#: ../js/ui/components/telepathyClient.js:1326
msgid "Server is currently too busy to handle the connection"
msgstr "O servidor está atualmente muito ocupado para controlar a conexão"
#: ../js/ui/components/telepathyClient.js:1317
#: ../js/ui/components/telepathyClient.js:1328
msgid "Certificate has been revoked"
msgstr "O certificado foi revogado"
#: ../js/ui/components/telepathyClient.js:1319
#: ../js/ui/components/telepathyClient.js:1330
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"O certificado usa um algoritmo de cifragem inseguro ou é criptograficamente "
"fraco"
#: ../js/ui/components/telepathyClient.js:1321
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -893,22 +879,21 @@ msgstr ""
"O comprimento do certificado do servidor, ou a profundidade da cadeia do "
"certificado excedeu os limites impostos pela biblioteca de criptografia"
#: ../js/ui/components/telepathyClient.js:1323
#: ../js/ui/components/telepathyClient.js:1334
msgid "Internal error"
msgstr "Erro interno"
#. translators: argument is the account name, like
#. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1333
#, javascript-format
#: ../js/ui/components/telepathyClient.js:1344
msgid "Unable to connect to %s"
msgstr "Não foi possível conectar-se a %s"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1349
msgid "View account"
msgstr "Visualizar conta"
#: ../js/ui/components/telepathyClient.js:1370
#: ../js/ui/components/telepathyClient.js:1381
msgid "Unknown reason"
msgstr "Razão desconhecida"
@ -945,7 +930,6 @@ msgid "%A %B %e, %Y"
msgstr "%A, %e de %B de %Y"
#: ../js/ui/endSessionDialog.js:62
#, javascript-format
msgctxt "title"
msgid "Log Out %s"
msgstr "Encerrar sessão de %s"
@ -956,14 +940,12 @@ msgid "Log Out"
msgstr "Encerrar sessão"
#: ../js/ui/endSessionDialog.js:65
#, javascript-format
msgid "%s will be logged out automatically in %d second."
msgid_plural "%s will be logged out automatically in %d seconds."
msgstr[0] "%s encerrará a sessão automaticamente em %d segundo."
msgstr[1] "%s encerrará a sessão automaticamente em %d segundos."
#: ../js/ui/endSessionDialog.js:70
#, javascript-format
msgid "You will be logged out automatically in %d second."
msgid_plural "You will be logged out automatically in %d seconds."
msgstr[0] "Sua sessão será encerrada automaticamente em %d segundo."
@ -980,7 +962,6 @@ msgid "Power Off"
msgstr "Desligar"
#: ../js/ui/endSessionDialog.js:83
#, javascript-format
msgid "The system will power off automatically in %d second."
msgid_plural "The system will power off automatically in %d seconds."
msgstr[0] "O sistema será desligado automaticamente em %d segundo."
@ -1002,7 +983,6 @@ msgid "Restart"
msgstr "Reiniciar"
#: ../js/ui/endSessionDialog.js:99
#, javascript-format
msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "O sistema irá reiniciar automaticamente em %d segundo."
@ -1014,7 +994,6 @@ msgid "Restart & Install Updates"
msgstr "Reiniciar & Instalar atualizações"
#: ../js/ui/endSessionDialog.js:114
#, javascript-format
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@ -1040,13 +1019,11 @@ msgstr "Outros usuários estão com sessão aberta."
#. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:486
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:489
#, javascript-format
msgid "%s (console)"
msgstr "%s (console)"
@ -1055,7 +1032,6 @@ msgid "Install"
msgstr "Instalar"
#: ../js/ui/extensionDownloader.js:204
#, javascript-format
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
@ -1069,7 +1045,6 @@ msgstr "Nenhuma extensão instalada"
#. Translators: argument is an extension UUID. */
#: ../js/ui/lookingGlass.js:695
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s não emitiu erros."
@ -1089,7 +1064,7 @@ msgstr "Habilitado"
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:470
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:518
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "Desabilitado"
@ -1150,13 +1125,12 @@ msgstr "Área de notificação"
msgid "System Information"
msgstr "Informações do sistema"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:397
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:399
msgctxt "program"
msgid "Unknown"
msgstr "Desconhecido"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d nova mensagem"
@ -1188,7 +1162,7 @@ msgstr "Sair"
msgid "Activities"
msgstr "Atividades"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:905
msgid "Top Bar"
msgstr "Barra superior"
@ -1211,25 +1185,24 @@ msgid "%A, %B %d"
msgstr "%A, %d de %B"
#: ../js/ui/screenShield.js:153
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d nova notificação"
msgstr[1] "%d novas notificações"
#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/screenShield.js:706
#: ../js/ui/screenShield.js:707
msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a tela"
#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1300
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
msgid "Unable to lock"
msgstr "Não foi possível bloquear"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
msgid "Lock was blocked by an application"
msgstr "O bloqueio foi impedido por um aplicativo"
@ -1313,8 +1286,8 @@ msgstr "Texto grande"
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:131
#: ../js/ui/status/network.js:1081 ../js/ui/status/rfkill.js:48
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1108 ../js/ui/status/rfkill.js:48
msgid "Turn Off"
msgstr "Desligar"
@ -1323,7 +1296,6 @@ msgid "Bluetooth Settings"
msgstr "Configurações de Bluetooth"
#: ../js/ui/status/bluetooth.js:98
#, javascript-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo conectado"
@ -1337,100 +1309,105 @@ msgstr "Brilho"
msgid "Show Keyboard Layout"
msgstr "Exibir disposição de teclado"
#: ../js/ui/status/network.js:70
#: ../js/ui/status/network.js:71
msgid "<unknown>"
msgstr "<desconhecido>"
# Referente ao estado "desligado" da rede.
#: ../js/ui/status/network.js:220 ../js/ui/status/network.js:377
#: ../js/ui/status/network.js:1102
#: ../js/ui/status/network.js:221 ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:1129
msgid "Off"
msgstr "Desligado"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:389
msgid "unmanaged"
msgstr "não gerenciado"
#: ../js/ui/status/network.js:385
#: ../js/ui/status/network.js:391
msgid "disconnecting..."
msgstr "desconectando..."
#: ../js/ui/status/network.js:391 ../js/ui/status/network.js:1156
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1183
msgid "connecting..."
msgstr "conectando..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1159
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1186
msgid "authentication required"
msgstr "autenticação necessária"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:402
#: ../js/ui/status/network.js:408
msgid "firmware missing"
msgstr "firmware faltando"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:406
#: ../js/ui/status/network.js:412
msgid "unavailable"
msgstr "indisponível"
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1161
#: ../js/ui/status/network.js:414 ../js/ui/status/network.js:1188
msgid "connection failed"
msgstr "conexão falhou"
#: ../js/ui/status/network.js:424 ../js/ui/status/network.js:510
#: ../js/ui/status/network.js:430
#| msgid "Wi-Fi Settings"
msgid "Wired Settings"
msgstr "Configurações da rede cabeada"
#: ../js/ui/status/network.js:472 ../js/ui/status/network.js:558
msgid "Mobile Broadband Settings"
msgstr "Configurações de banda larga móvel"
#: ../js/ui/status/network.js:466 ../js/ui/status/network.js:1100
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:1127
msgid "Hardware Disabled"
msgstr "Hardware desabilitado"
#: ../js/ui/status/network.js:692
#: ../js/ui/status/network.js:725
msgid "Wi-Fi Networks"
msgstr "Redes Wi-Fi"
#: ../js/ui/status/network.js:694
#: ../js/ui/status/network.js:727
msgid "Select a network"
msgstr "Selecione uma rede"
#: ../js/ui/status/network.js:718
#: ../js/ui/status/network.js:751
msgid "No Networks"
msgstr "Nenhuma rede"
#: ../js/ui/status/network.js:987
#: ../js/ui/status/network.js:1014
msgid "Select Network"
msgstr "Selecione a rede"
#: ../js/ui/status/network.js:993
#: ../js/ui/status/network.js:1020
msgid "Wi-Fi Settings"
msgstr "Configurações de Wi-Fi"
#: ../js/ui/status/network.js:1081
#: ../js/ui/status/network.js:1108
msgid "Turn On"
msgstr "Ligar"
#: ../js/ui/status/network.js:1104
#: ../js/ui/status/network.js:1131
msgid "Not Connected"
msgstr "Não conectado"
#: ../js/ui/status/network.js:1224
#: ../js/ui/status/network.js:1251
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1364
#: ../js/ui/status/network.js:1394
msgid "Network Manager"
msgstr "Gerenciador de rede"
#: ../js/ui/status/network.js:1403
#: ../js/ui/status/network.js:1433
msgid "Connection failed"
msgstr "Falha de conexão"
#: ../js/ui/status/network.js:1404
#: ../js/ui/status/network.js:1434
msgid "Activation of network connection failed"
msgstr "Falha ao ativar a conexão da rede"
@ -1447,12 +1424,10 @@ msgid "Estimating…"
msgstr "Estimando…"
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d:%02d restante(s) (%d%%)"
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d até completamente carregada (%d%%)"
@ -1527,7 +1502,6 @@ msgid "Search"
msgstr "Pesquisar"
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
msgid "“%s” is ready"
msgstr "\"%s\" está pronto"
@ -1547,7 +1521,6 @@ msgid "Keep Changes"
msgstr "Manter alterações"
#: ../js/ui/windowManager.js:97
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Alterações nas configurações serão revertidas em %d segundo"
@ -1595,7 +1568,7 @@ msgstr "Utilizar um modo específico, ex.: \"gdm\" para a tela de login"
msgid "List possible modes"
msgstr "Listar modos possíveis"
#: ../src/shell-app.c:640
#: ../src/shell-app.c:642
#, c-format
msgid "Failed to launch “%s”"
msgstr "Erro ao lançar \"%s\""

211
po/tg.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Tajik Gnome\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-01-17 21:35+0000\n"
"PO-Revision-Date: 2014-01-18 16:47+0500\n"
"POT-Creation-Date: 2014-02-01 06:16+0000\n"
"PO-Revision-Date: 2014-02-01 17:51+0500\n"
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
"Language-Team: \n"
"Language: tg\n"
@ -284,7 +284,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:357
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:724
#: ../js/ui/status/network.js:757
msgid "Cancel"
msgstr "Бекор кардан"
@ -342,31 +342,30 @@ msgstr "Фармон иҷро нашудааст:"
#: ../js/misc/util.js:156
#, javascript-format
#| msgid "Execution of '%s' failed:"
msgid "Execution of “%s” failed:"
msgstr "Иҷрокунии “%s” қатъ шудааст:"
#: ../js/ui/appDisplay.js:540
#: ../js/ui/appDisplay.js:633
msgid "Frequently used applications will appear here"
msgstr "Барномаҳои бештар истифодашуда ин ҷо намоиш дода мешаванд"
#: ../js/ui/appDisplay.js:660
#: ../js/ui/appDisplay.js:744
msgid "Frequent"
msgstr "Роиҷ"
#: ../js/ui/appDisplay.js:667
#: ../js/ui/appDisplay.js:751
msgid "All"
msgstr "Ҳама"
#: ../js/ui/appDisplay.js:1498
#: ../js/ui/appDisplay.js:1558
msgid "New Window"
msgstr "Равзанаи нав"
#: ../js/ui/appDisplay.js:1501 ../js/ui/dash.js:285
#: ../js/ui/appDisplay.js:1580 ../js/ui/dash.js:285
msgid "Remove from Favorites"
msgstr "Тоза кардан аз Баргузидаҳо"
#: ../js/ui/appDisplay.js:1502
#: ../js/ui/appDisplay.js:1586
msgid "Add to Favorites"
msgstr "Илова кардан ба Баргузидаҳо"
@ -579,8 +578,8 @@ msgstr "Парол:"
msgid "Type again:"
msgstr "Аз нав ворид кунед:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:131
#: ../js/ui/status/network.js:293 ../js/ui/status/network.js:727
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:294 ../js/ui/status/network.js:760
msgid "Connect"
msgstr "Пайваст шудан"
@ -614,9 +613,6 @@ msgstr "Шабакаи бесим санҷиши ҳаққониятро тала
#: ../js/ui/components/networkAgent.js:312
#, javascript-format
#| msgid ""
#| "Passwords or encryption keys are required to access the wireless network "
#| "'%s'."
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"“%s”."
@ -654,7 +650,6 @@ msgstr "Пароли шабакаи паҳннавори мобилӣ"
#: ../js/ui/components/networkAgent.js:339
#, javascript-format
#| msgid "A password is required to connect to '%s'."
msgid "A password is required to connect to “%s”."
msgstr "Барои пайваст шудан ба “%s” парол лозим аст."
@ -703,35 +698,35 @@ msgid "Mute"
msgstr "Бесадо кардан"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:941
#: ../js/ui/components/telepathyClient.js:952
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Дирӯз</b>, <b>%С:%Д</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:947
#: ../js/ui/components/telepathyClient.js:958
msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:963
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:967
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#: ../js/ui/components/telepathyClient.js:987
#: ../js/ui/components/telepathyClient.js:998
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s аллакой бо номи %s номида мешавад"
#. translators: argument is a room name like
#. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1101
#, javascript-format
msgid "Invitation to %s"
msgstr "Даъватнома барои to %s"
@ -739,38 +734,38 @@ msgstr "Даъватнома барои to %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1109
#, javascript-format
msgid "%s is inviting you to join %s"
msgstr "%s шуморо барои ҳамроҳ шудан ба %s даъват мекунад"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1135
#: ../js/ui/components/telepathyClient.js:1169
#: ../js/ui/components/telepathyClient.js:1226
#: ../js/ui/components/telepathyClient.js:1111
#: ../js/ui/components/telepathyClient.js:1146
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1237
msgid "Decline"
msgstr "Рад кардан"
#: ../js/ui/components/telepathyClient.js:1106
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1231
#: ../js/ui/components/telepathyClient.js:1117
#: ../js/ui/components/telepathyClient.js:1186
#: ../js/ui/components/telepathyClient.js:1242
msgid "Accept"
msgstr "Қабул кардан"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1125
#: ../js/ui/components/telepathyClient.js:1136
#, javascript-format
msgid "Video call from %s"
msgstr "Занги видеоӣ аз %s"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1128
#: ../js/ui/components/telepathyClient.js:1139
#, javascript-format
msgid "Call from %s"
msgstr "Занг аз %s"
#. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142
#: ../js/ui/components/telepathyClient.js:1153
msgid "Answer"
msgstr "Ҷавоб"
@ -779,110 +774,110 @@ msgstr "Ҷавоб"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#. */
#: ../js/ui/components/telepathyClient.js:1163
#: ../js/ui/components/telepathyClient.js:1174
#, javascript-format
msgid "%s is sending you %s"
msgstr "%s ба шумо %s-ро мефиристад"
#. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1192
#: ../js/ui/components/telepathyClient.js:1203
#, javascript-format
msgid "%s would like permission to see when you are online"
msgstr "%s аз шумо иҷозат мепурсад, ки тавонад шуморо дар онлайн бинад"
#: ../js/ui/components/telepathyClient.js:1277
#: ../js/ui/components/telepathyClient.js:1288
msgid "Network error"
msgstr "Хатои шабака"
#: ../js/ui/components/telepathyClient.js:1279
#: ../js/ui/components/telepathyClient.js:1290
msgid "Authentication failed"
msgstr "Санҷиши ҳаққоният қатъ шудааст."
#: ../js/ui/components/telepathyClient.js:1281
#: ../js/ui/components/telepathyClient.js:1292
msgid "Encryption error"
msgstr "Хатои рамзгузорӣ"
#: ../js/ui/components/telepathyClient.js:1283
#: ../js/ui/components/telepathyClient.js:1294
msgid "Certificate not provided"
msgstr "Гувоҳинома таъмин нашудааст"
#: ../js/ui/components/telepathyClient.js:1285
#: ../js/ui/components/telepathyClient.js:1296
msgid "Certificate untrusted"
msgstr "Гувоҳиномаи беэътибор"
#: ../js/ui/components/telepathyClient.js:1287
#: ../js/ui/components/telepathyClient.js:1298
msgid "Certificate expired"
msgstr "Гувоҳинома аз мӯҳлаташ гузашт"
#: ../js/ui/components/telepathyClient.js:1289
#: ../js/ui/components/telepathyClient.js:1300
msgid "Certificate not activated"
msgstr "Гувоҳинома фаъол нашудааст"
#: ../js/ui/components/telepathyClient.js:1291
#: ../js/ui/components/telepathyClient.js:1302
msgid "Certificate hostname mismatch"
msgstr "Номувофиқати гувоҳиномаи номи мизоҷон"
#: ../js/ui/components/telepathyClient.js:1293
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate fingerprint mismatch"
msgstr "Номувофиқати гувоҳиномаи нақши ангуштон"
#: ../js/ui/components/telepathyClient.js:1295
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate self-signed"
msgstr "Гувоҳиномаи худимзошуда"
#: ../js/ui/components/telepathyClient.js:1297
#: ../js/ui/components/telepathyClient.js:1308
msgid "Status is set to offline"
msgstr "Вазъият ба \"офлайн\" гузаштааст"
#: ../js/ui/components/telepathyClient.js:1299
#: ../js/ui/components/telepathyClient.js:1310
msgid "Encryption is not available"
msgstr "Рамзгузорӣ дастрас нест"
#: ../js/ui/components/telepathyClient.js:1301
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate is invalid"
msgstr "Гувоҳинома нодуруст аст"
#: ../js/ui/components/telepathyClient.js:1303
#: ../js/ui/components/telepathyClient.js:1314
msgid "Connection has been refused"
msgstr "Пайваст рад карда шудааст"
#: ../js/ui/components/telepathyClient.js:1305
#: ../js/ui/components/telepathyClient.js:1316
msgid "Connection can't be established"
msgstr "Пайвастшавӣ имконнопазир аст"
#: ../js/ui/components/telepathyClient.js:1307
#: ../js/ui/components/telepathyClient.js:1318
msgid "Connection has been lost"
msgstr "Пайваст гум шудааст"
#: ../js/ui/components/telepathyClient.js:1309
#: ../js/ui/components/telepathyClient.js:1320
msgid "This account is already connected to the server"
msgstr "Ин ҳисоб аллакай ба сервер пайваст шудааст"
#: ../js/ui/components/telepathyClient.js:1311
#: ../js/ui/components/telepathyClient.js:1322
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Пайваст тавассути сарчашмаи якхела бо пайвасти нав ҷойиваз карда шуд"
#: ../js/ui/components/telepathyClient.js:1313
#: ../js/ui/components/telepathyClient.js:1324
msgid "The account already exists on the server"
msgstr "Ҳисоб дар сервер аллакай мавҷуд аст"
#: ../js/ui/components/telepathyClient.js:1315
#: ../js/ui/components/telepathyClient.js:1326
msgid "Server is currently too busy to handle the connection"
msgstr "Барои коркарди ин пайваст сервер дар айни ҳол хеле машғул мебошад"
#: ../js/ui/components/telepathyClient.js:1317
#: ../js/ui/components/telepathyClient.js:1328
msgid "Certificate has been revoked"
msgstr "Гувоҳинома лағв карда шуд"
#: ../js/ui/components/telepathyClient.js:1319
#: ../js/ui/components/telepathyClient.js:1330
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Гувоҳинома алгоритми хатарноки рамзро истифода мебарад, ё ки рамзгузории "
"суст дорад"
#: ../js/ui/components/telepathyClient.js:1321
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -890,22 +885,22 @@ msgstr ""
"Дарозии гувоҳиномаи сервер, ё ки чуқурии занҷири гувоҳиномаи сервер, аз "
"маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад"
#: ../js/ui/components/telepathyClient.js:1323
#: ../js/ui/components/telepathyClient.js:1334
msgid "Internal error"
msgstr "Хатогии дохилӣ"
#. translators: argument is the account name, like
#. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1333
#: ../js/ui/components/telepathyClient.js:1344
#, javascript-format
msgid "Unable to connect to %s"
msgstr "Пайвастшавӣ ба %s имконнопазир аст"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1349
msgid "View account"
msgstr "Намоиш додани ҳисоб"
#: ../js/ui/components/telepathyClient.js:1370
#: ../js/ui/components/telepathyClient.js:1381
msgid "Unknown reason"
msgstr "Сабаби номаълум"
@ -1052,7 +1047,6 @@ msgstr "Насб кардан"
#: ../js/ui/extensionDownloader.js:204
#, javascript-format
#| msgid "Download and install '%s' from extensions.gnome.org?"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?"
@ -1086,7 +1080,7 @@ msgstr "Фаъол"
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:470
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:518
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled"
msgstr "Ғайрифаъол"
@ -1111,43 +1105,43 @@ msgstr "Намоиш додани манбаъ"
msgid "Web Page"
msgstr "Саҳифаи веб"
#: ../js/ui/messageTray.js:1309
#: ../js/ui/messageTray.js:1312
msgid "Open"
msgstr "Кушодани файл"
#: ../js/ui/messageTray.js:1316
#: ../js/ui/messageTray.js:1319
msgid "Remove"
msgstr "Тоза кардан"
#: ../js/ui/messageTray.js:1613
#: ../js/ui/messageTray.js:1616
msgid "Notifications"
msgstr "Огоҳиҳо"
#: ../js/ui/messageTray.js:1620
#: ../js/ui/messageTray.js:1623
msgid "Clear Messages"
msgstr "Пок кардани паёмҳо"
#: ../js/ui/messageTray.js:1639
#: ../js/ui/messageTray.js:1642
msgid "Notification Settings"
msgstr "Танзимоти огоҳиҳо"
#: ../js/ui/messageTray.js:1692
#: ../js/ui/messageTray.js:1695
msgid "Tray Menu"
msgstr "Менюи қуттӣ"
#: ../js/ui/messageTray.js:1909
#: ../js/ui/messageTray.js:1912
msgid "No Messages"
msgstr "Ягон паём нест"
#: ../js/ui/messageTray.js:1947
#: ../js/ui/messageTray.js:1950
msgid "Message Tray"
msgstr "Қуттии паёмҳо"
#: ../js/ui/messageTray.js:2931
#: ../js/ui/messageTray.js:2934
msgid "System Information"
msgstr "Маълумоти система"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:397
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:399
msgctxt "program"
msgid "Unknown"
msgstr "Номаълум"
@ -1185,7 +1179,7 @@ msgstr "Баромад"
msgid "Activities"
msgstr "Фаъолиятҳо"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:905
msgid "Top Bar"
msgstr "Панели боло"
@ -1214,19 +1208,19 @@ msgid_plural "%d new notifications"
msgstr[0] "%d огоҳии нав"
msgstr[1] "%d огоҳии нав"
#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:342
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342
msgid "Lock"
msgstr "Қулф кардан"
#: ../js/ui/screenShield.js:706
#: ../js/ui/screenShield.js:707
msgid "GNOME needs to lock the screen"
msgstr "GNOME бояд экранро қулф кунад"
#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1300
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
msgid "Unable to lock"
msgstr "Қулф карда намешавад"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302
msgid "Lock was blocked by an application"
msgstr "Қулф аз тарави барнома баста шудааст"
@ -1310,8 +1304,8 @@ msgstr "Матни бузург"
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:131
#: ../js/ui/status/network.js:1081 ../js/ui/status/rfkill.js:48
#: ../js/ui/status/bluetooth.js:47 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1108 ../js/ui/status/rfkill.js:48
msgid "Turn Off"
msgstr "Хомӯш кардан"
@ -1334,99 +1328,104 @@ msgstr "Дурахшонӣ"
msgid "Show Keyboard Layout"
msgstr "Намоиш додани тарҳбандии клавиатура"
#: ../js/ui/status/network.js:70
#: ../js/ui/status/network.js:71
msgid "<unknown>"
msgstr "<номаълум>"
#: ../js/ui/status/network.js:220 ../js/ui/status/network.js:377
#: ../js/ui/status/network.js:1102
#: ../js/ui/status/network.js:221 ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:1129
msgid "Off"
msgstr "Хомӯш"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:389
msgid "unmanaged"
msgstr "идоранашуда"
#: ../js/ui/status/network.js:385
#: ../js/ui/status/network.js:391
msgid "disconnecting..."
msgstr "қатъ кардани пайваст..."
#: ../js/ui/status/network.js:391 ../js/ui/status/network.js:1156
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1183
msgid "connecting..."
msgstr "пайвастшавӣ..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1159
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1186
msgid "authentication required"
msgstr "санҷиши ҳаққоният лозим аст"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:402
#: ../js/ui/status/network.js:408
msgid "firmware missing"
msgstr "нармафзори дарунсохт вуҷуд надорад"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:406
#: ../js/ui/status/network.js:412
msgid "unavailable"
msgstr "дастнорас"
#: ../js/ui/status/network.js:408 ../js/ui/status/network.js:1161
#: ../js/ui/status/network.js:414 ../js/ui/status/network.js:1188
msgid "connection failed"
msgstr "пайваст қатъ шудааст"
#: ../js/ui/status/network.js:424 ../js/ui/status/network.js:510
#: ../js/ui/status/network.js:430
#| msgid "Wi-Fi Settings"
msgid "Wired Settings"
msgstr "Танзимоти шабакаи симдор"
#: ../js/ui/status/network.js:472 ../js/ui/status/network.js:558
msgid "Mobile Broadband Settings"
msgstr "Танзимоти паҳннавори мобилӣ"
#: ../js/ui/status/network.js:466 ../js/ui/status/network.js:1100
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:1127
msgid "Hardware Disabled"
msgstr "Сахтафзор ғайрифаъол шудааст"
#: ../js/ui/status/network.js:692
#: ../js/ui/status/network.js:725
msgid "Wi-Fi Networks"
msgstr "Шабакаҳои Wi-Fi"
#: ../js/ui/status/network.js:694
#: ../js/ui/status/network.js:727
msgid "Select a network"
msgstr "Интихоб кардани шабака"
#: ../js/ui/status/network.js:718
#: ../js/ui/status/network.js:751
msgid "No Networks"
msgstr "Ягон шабака нест"
#: ../js/ui/status/network.js:987
#: ../js/ui/status/network.js:1014
msgid "Select Network"
msgstr "Интихоби шабака"
#: ../js/ui/status/network.js:993
#: ../js/ui/status/network.js:1020
msgid "Wi-Fi Settings"
msgstr "Танзимоти Wi-Fi"
#: ../js/ui/status/network.js:1081
#: ../js/ui/status/network.js:1108
msgid "Turn On"
msgstr "Фаъол кардан"
#: ../js/ui/status/network.js:1104
#: ../js/ui/status/network.js:1131
msgid "Not Connected"
msgstr "Пайваст нашудааст"
#: ../js/ui/status/network.js:1224
#: ../js/ui/status/network.js:1251
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1364
#: ../js/ui/status/network.js:1394
msgid "Network Manager"
msgstr "Мудири шабака"
#: ../js/ui/status/network.js:1403
#: ../js/ui/status/network.js:1433
msgid "Connection failed"
msgstr "Пайваст қатъ шудааст"
#: ../js/ui/status/network.js:1404
#: ../js/ui/status/network.js:1434
msgid "Activation of network connection failed"
msgstr "Фаъолсозии пайвасти шабака қатъ шудааст."
@ -1522,7 +1521,6 @@ msgstr "Ҷустуҷӯ"
#: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
#| msgid "'%s' is ready"
msgid "“%s” is ready"
msgstr "“%s” омода аст"
@ -1591,9 +1589,8 @@ msgstr ""
msgid "List possible modes"
msgstr "Рӯйхати ҳолатҳои имконпазир"
#: ../src/shell-app.c:640
#: ../src/shell-app.c:642
#, c-format
#| msgid "Failed to launch '%s'"
msgid "Failed to launch “%s”"
msgstr "Оғози “%s” қатъ шудааст"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff