Compare commits

...

40 Commits

Author SHA1 Message Date
f393bb41aa Bump version to 3.15.4
Update NEWS.
2015-01-21 15:45:13 +01:00
4bf53cd507 windowManager: Kill a comment
The code described by the comment was moved away in commit eda27d51,
so it is not misleading at best. It wasn't too useful to begin with,
so kill it off rather than moving it to the correct place ...
2015-01-21 15:44:05 +01:00
fd45d3589b workspacesView: Remove obsolete constant 2015-01-21 15:44:05 +01:00
6efa9e46ca Updated Friulian translation 2015-01-20 21:15:02 +00:00
9f5a2d8aca Remove the dependency on XTest
We haven't been using XTest since edd66c4.
2015-01-18 16:49:36 -08:00
ce35d523a2 windowManager: Allow moving a window above the top workspace
When using dynamic workspaces, a new workspace will be appended
when moving a window down to the last (empty) workspace. It makes
sense to extend the behavior in the opposite direction, and prepend
a new workspace when moving a window up from the first workspace.

https://bugzilla.gnome.org/show_bug.cgi?id=665764
2015-01-16 19:28:57 +01:00
0bfaa5c6a3 windowManager: Update active workspace after inserting a new one
New workspaces are inserted by shifting all windows on workspaces
below the insertion position down. As a result, when the new
workspace is inserted before the active one, we end up with
the illusion of a workspace switch. Instead, activate the workspace
on which the windows from the active one ended up.

https://bugzilla.gnome.org/show_bug.cgi?id=665764
2015-01-16 19:28:56 +01:00
67ec1e5519 windowManager: Don't shift OR windows when inserting a workspace
We are not supposed to mess around with OR windows, so don't try
to shift them to a different workspace. This fixes a warning with
newer versions of mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=665764
2015-01-16 19:28:56 +01:00
cc05d303d8 windowManager: Split out workspace insertion from thumbnails
We will soon allow to insert a new workspace by other means than
DND in between workspace thumbnails, so move the relevant code
to a new windowManager method.

https://bugzilla.gnome.org/show_bug.cgi?id=665764
2015-01-16 19:28:56 +01:00
554de3fb24 Lower slider scrolling step to 2%
https://bugzilla.gnome.org/show_bug.cgi?id=742648
2015-01-16 18:24:36 +01:00
76315fca9f shell-screenshot: Disable unredirection while taking screenshots
Otherwise we grab wrong contents.

https://bugzilla.gnome.org/show_bug.cgi?id=741114
2015-01-13 19:44:03 +01:00
af889168f0 StTextureCache: adapt to MetaWindow changing icon prop type
Mutter change is
https://git.gnome.org/browse/mutter/commit/?id=af7f51b992b20da543312fa9fdf1dcef39704b37

https://bugzilla.gnome.org/show_bug.cgi?id=742824
2015-01-13 15:58:45 +01:00
d8ca374a06 ibusManager: Disable IBus input sources on password entries
Input method preedit text needs to be disabled on password entries
for security and usability reasons.
IBus 1.5.7 provides the signal set-content-type so that panel UIs can
handle these special purpose input entries:
https://github.com/ibus/ibus/commit/6ca5ddb302c9

Unfortunately IBus versions older than 1.5.10 have a bug which causes
spurious set-content-type emissions when switching input focus that
temporarily lose purpose and hints defeating its intended semantics
and confusing users. We thus don't use it in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=730628
2015-01-12 16:13:45 +01:00
19c7da7b08 Updated Spanish translation 2015-01-12 12:19:02 +01:00
42ccfe0ccd Require gsettings-desktop-schemas >= 3.13.1
https://bugzilla.gnome.org/show_bug.cgi?id=742748
2015-01-11 15:50:13 +01:00
538272bb23 recorder: Cleanups 2015-01-11 15:48:05 +01:00
985e909876 recorder: Don't compute the buffer size twice 2015-01-11 15:42:38 +01:00
d183f13456 recorder: Switch to vp9
Currently we have been using the vp8 codec because it was the best unencumbered codec at that time. With vp9 we now have a successor that leads to smaller
files at at the same video quality and has been supported by current browsers
for a while.

With the raise of hidpi and 4K displays we need a better codec that handles
those resolutions better, so switch to vp9.

https://bugzilla.gnome.org/show_bug.cgi?id=742744
2015-01-11 15:35:31 +01:00
e150a9cff2 recorder: Stop using deprecated cogl_read_pixels 2015-01-11 12:53:13 +01:00
60b3d43ea7 calendar: update current day highlight on day change
https://bugzilla.gnome.org/show_bug.cgi?id=742492
2015-01-10 17:44:38 +01:00
e3a8a284a4 slider: Don't hardcode scroll interval for smooth scrolling
Use the SLIDER_SCROLL_STEP constant instead for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=742648
2015-01-10 14:56:34 +01:00
3136ca086b Updated German translation 2015-01-08 22:40:32 +00:00
3f913b2895 Updated Brazilian Portuguese translation 2015-01-08 18:44:49 +00:00
8345fe006e search: remove redundant check
We check for (metasNeeded.length == 0) at the beginning of the function,
which is only ever called when when a non-zero number of results is
received back from the provider. Effectively, this means that
(metas.length != metasNeeded.length) will also catch (metas.length == 0)
and print a nicer message to the log.
2015-01-07 15:26:21 -08:00
67a807e849 search: improve log message when metas length mismatch
Log also the name of the provider and the expected/received metas.
2015-01-07 15:26:21 -08:00
cea946e745 search: don't forget to notify caller when failing to ensure actors
The updateSearch() function is called in SearchResults every time new
search hits are available from a search provider; SearchResults will
wait for updateSearch() to complete in a callaback, to update the
overall progress of the search operation.

updateSearch() will call _ensureResultActors(), which will in turn call
getResultMetas() on the search provider, which is an operation that can
fail arbitrarily or return inconsistent data, as it's entirely in the
hands of the search provider.

In case _ensureResultActors() returns a failure, updateSearch() is
currently failing to notify the passed-in callback, which might leave
SearchResults in an inconsistent state: make sure the asynchronous flow
always ends up with a notification to the updateSearch() callback.
2015-01-07 15:26:21 -08:00
966ae2c370 Updated Czech translation 2015-01-07 08:53:43 +01:00
897144baba windowManager: Make sure to reset the resizePopup after using it
So that we'll recreate it the next time we want to show it. Otherwise,
we'll try to call things on a half-destroyed ResizePopup and end up
causing errors instead of showing the user their resize popup.
2015-01-02 09:33:20 -08:00
f585fee4cf Updated Hungarian translation 2014-12-31 10:21:00 +00:00
85ec77eb26 Updated Norwegian bokmål translation. 2014-12-31 00:46:24 +01:00
2d372e6201 Updated Russian translation 2014-12-30 23:42:17 +00:00
cb84c3a921 Updated Basque language 2014-12-30 15:14:01 +01:00
fce3cd534a Updated Bengali (India) translation 2014-12-30 11:20:57 +00:00
3291281957 windowManager: Implement the resize popup here
mutter recently removed its implementation, so add a simple one here.
2014-12-29 17:46:37 -08:00
01c6392c13 window-tracker: remove now unused launched_pid_to_app
https://bugzilla.gnome.org/show_bug.cgi?id=736527
2014-12-28 16:40:20 -08:00
186f9b2e2c window-tracker: Fix pid based window/app association
The lookup table used by get_app_from_window_pid contained only pids of
apps launched by gnome-shell itself, but not pids of apps running before
gnome-shell was (re-)started. Also the pids in that table might not even
be the pid of the process that is actually showing the window if wrapper
scripts are used.

Instead use shell_window_tracker_get_app_from_pid which uses the pids
from the windows themselves.

This removes the only use of launched_pid_to_app which will be removed
in the following commit.

This fixes: https://bugzilla.gnome.org/show_bug.cgi?id=736527
2014-12-28 16:40:20 -08:00
2c8e405e27 Updated Slovenian translation 2014-12-25 19:18:45 +01:00
94446eb8c4 Updated Indonesian translation 2014-12-24 04:51:40 +00:00
6803528810 shellDBus: Add mode parameter to AcceleratorActivated signal
This will allow g-s-d to handle actions differently based on the
current mode - namely, allow the power button when locked, but
make sure to never show any dialogs in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=711682
2014-12-19 14:11:55 +01:00
2aa4fb02dd shellDBus: Change AcceleratorActivated signature
Adding new parameters to the signal currently will break keybindings
until gnome-settings-daemon is updated to the new API as well.
Put additional parameters into a dictionary instead to make future
extensions easier.

https://bugzilla.gnome.org/show_bug.cgi?id=711682
2014-12-19 14:11:55 +01:00
32 changed files with 2672 additions and 2647 deletions

21
NEWS
View File

@ -1,3 +1,24 @@
3.15.4
======
* Add mode parameter to AcceleratorActivated signal [Florian; #711682]
* Fix PID based window/app association [Sebastian; #736527]
* Fix current day highlight on day change [Sebastian; #742492]
* Switch to vp9 for screencast recordings [Adel; #742744]
* Disable IBus input sources on password entries [Takao; #730628]
* Make slider scrolling smoother [Adel; #742648]
* Allow move-up shortcut to move window above top workspace [Florian; #665764]
* Misc. bug fixes [Adel, Rui; #742748, #742824, #741114]
Contributors:
Cosimo Cecchi, Takao Fujiwara, Adel Gadllah, Sebastian Keller, Rui Matos,
Florian Müllner, Jasper St. Pierre
Translations:
Andika Triwidada [id], Matej Urbančič [sl], Saibal Ray [bn_IN],
Inaki Larranaga Murgoitio [eu], Stas Solovey [ru], Kjartan Maraas [nb],
Balázs Úr [hu], Marek Černocký [cs], Rafael Ferreira [pt_BR],
Bernd Homuth [de], Daniel Mustieles [es], Fabio Tomat [fur]
3.15.3
======
* Add support for high-contrast themes [Florian; #740447]

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.15.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.15.4],[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.15.3
MUTTER_MIN_VERSION=3.15.4
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.37.0
LIBECAL_MIN_VERSION=3.5.3
@ -97,7 +97,6 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
gjs-internals-1.0 >= $GJS_MIN_VERSION
$recorder_modules
gdk-x11-3.0 libsoup-2.4
xtst
clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
clutter-glx-1.0 >= $CLUTTER_MIN_VERSION
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
@ -119,7 +118,7 @@ PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.4)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.13.1)
PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8)
AC_ARG_ENABLE(browser-plugin,

View File

@ -2107,6 +2107,15 @@ StScrollBar StButton#vhandle:active {
font-size: 14pt;
}
/* Resize popup */
.resize-popup {
border-radius: 10px;
background-color: rgba(0.0, 0.0, 0.0, 0.9);
border: 2px solid #868686;
padding: 16px;
font-size: 14pt;
}
/* ShellMountOperation Dialogs */
.shell-mount-operation-icon {
icon-size: 48px;

View File

@ -8,7 +8,7 @@ const Signals = imports.signals;
try {
var IBus = imports.gi.IBus;
_checkIBusVersion();
_checkIBusVersion(1, 5, 2);
const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
} catch (e) {
var IBus = null;
@ -17,11 +17,7 @@ try {
let _ibusManager = null;
function _checkIBusVersion() {
var requiredMajor = 1;
var requiredMinor = 5;
var requiredMicro = 2;
function _checkIBusVersion(requiredMajor, requiredMinor, requiredMicro) {
if ((IBus.MAJOR_VERSION > requiredMajor) ||
(IBus.MAJOR_VERSION == requiredMajor && IBus.MINOR_VERSION > requiredMinor) ||
(IBus.MAJOR_VERSION == requiredMajor && IBus.MINOR_VERSION == requiredMinor &&
@ -125,6 +121,16 @@ const IBusManager = new Lang.Class({
object_path: IBus.PATH_PANEL });
this._candidatePopup.setPanelService(this._panelService);
this._panelService.connect('update-property', Lang.bind(this, this._updateProperty));
try {
// IBus versions older than 1.5.10 have a bug which
// causes spurious set-content-type emissions when
// switching input focus that temporarily lose purpose
// and hints defeating its intended semantics and
// confusing users. We thus don't use it in that case.
_checkIBusVersion(1, 5, 10);
this._panelService.connect('set-content-type', Lang.bind(this, this._setContentType));
} catch (e) {
}
// If an engine is already active we need to get its properties
this._ibus.get_global_engine_async(-1, null, Lang.bind(this, function(i, result) {
let engine;
@ -174,6 +180,10 @@ const IBusManager = new Lang.Class({
this.emit('property-updated', this._currentEngineName, prop);
},
_setContentType: function(panel, purpose, hints) {
this.emit('set-content-type', purpose, hints);
},
activateProperty: function(key, state) {
this._panelService.property_activate(key, state);
},
@ -186,7 +196,10 @@ const IBusManager = new Lang.Class({
},
setEngine: function(id, callback) {
if (!IBus || !this._ready || id == this._currentEngineName) {
// Send id even if id == this._currentEngineName
// because 'properties-registered' signal can be emitted
// while this._ibusSources == null on a lock screen.
if (!IBus || !this._ready) {
if (callback)
callback();
return;

View File

@ -601,6 +601,7 @@ const Calendar = new Lang.Class({
beginDate.setHours(12);
this._calendarBegin = new Date(beginDate);
this._markedAsToday = now;
let year = beginDate.getYear();
@ -692,7 +693,7 @@ const Calendar = new Lang.Class({
else
this._monthLabel.text = this._selectedDate.toLocaleFormat(this._headerFormat);
if (!this._calendarBegin || !_sameMonth(this._selectedDate, this._calendarBegin))
if (!this._calendarBegin || !_sameMonth(this._selectedDate, this._calendarBegin) || !_sameDay(now, this._markedAsToday))
this._rebuildCalendar();
this._buttons.forEach(Lang.bind(this, function(button) {

View File

@ -100,7 +100,7 @@ const CtrlAltTabManager = new Lang.Class({
if (app)
icon = app.create_icon_texture(POPUP_APPICON_SIZE);
else
icon = textureCache.bind_pixbuf_property(windows[i], 'icon');
icon = textureCache.bind_cairo_surface_property(windows[i], 'icon');
}
items.push({ name: windows[i].title,

View File

@ -199,12 +199,9 @@ const SearchResultsBase = new Lang.Class({
this._cancellable.reset();
this.provider.getResultMetas(metasNeeded, Lang.bind(this, function(metas) {
if (metas.length == 0) {
callback(false);
return;
}
if (metas.length != metasNeeded.length) {
log('Wrong number of result metas returned by search provider');
log('Wrong number of result metas returned by search provider ' + this.provider.id +
': expected ' + metasNeeded.length + ' but got ' + metas.length);
callback(false);
return;
}
@ -236,6 +233,7 @@ const SearchResultsBase = new Lang.Class({
this._ensureResultActors(results, Lang.bind(this, function(successful) {
if (!successful) {
this._clearResultDisplay();
callback();
return;
}

View File

@ -44,8 +44,7 @@ const GnomeShellIface = '<node> \
</method> \
<signal name="AcceleratorActivated"> \
<arg name="action" type="u" /> \
<arg name="deviceid" type="u" /> \
<arg name="timestamp" type="u" /> \
<arg name="parameters" type="a{sv}" /> \
</signal> \
<property name="Mode" type="s" access="read" /> \
<property name="OverviewActive" type="b" access="readwrite" /> \
@ -196,11 +195,14 @@ const GnomeShell = new Lang.Class({
let connection = this._dbusImpl.get_connection();
let info = this._dbusImpl.get_info();
let params = { 'device-id': GLib.Variant.new('u', deviceid),
'timestamp': GLib.Variant.new('u', timestamp),
'action-mode': GLib.Variant.new('u', Main.actionMode) };
connection.emit_signal(destination,
this._dbusImpl.get_object_path(),
info ? info.name : null,
'AcceleratorActivated',
GLib.Variant.new('(uuu)', [action, deviceid, timestamp]));
GLib.Variant.new('(ua{sv})', [action, params]));
},
_grabAcceleratorForSender: function(accelerator, flags, sender) {

View File

@ -7,7 +7,7 @@ const Lang = imports.lang;
const St = imports.gi.St;
const Signals = imports.signals;
const SLIDER_SCROLL_STEP = 0.05; /* Slider scrolling step in % */
const SLIDER_SCROLL_STEP = 0.02; /* Slider scrolling step in % */
const Slider = new Lang.Class({
Name: "Slider",
@ -197,7 +197,7 @@ const Slider = new Lang.Class({
let [dx, dy] = event.get_scroll_delta();
// Even though the slider is horizontal, use dy to match
// the UP/DOWN above.
delta = -dy / 10;
delta = -dy * SLIDER_SCROLL_STEP;
}
this._value = Math.min(Math.max(0, this._value + delta), 1);

View File

@ -155,6 +155,7 @@ const InputSourceManager = new Lang.Class({
this._ibusSources = {};
this._currentSource = null;
this._backupSource = null;
// All valid input sources currently in the gsettings
// KEY_INPUT_SOURCES list ordered by most recently used
@ -183,6 +184,7 @@ const InputSourceManager = new Lang.Class({
this._ibusManager.connect('ready', Lang.bind(this, this._ibusReadyCallback));
this._ibusManager.connect('properties-registered', Lang.bind(this, this._ibusPropertiesRegistered));
this._ibusManager.connect('property-updated', Lang.bind(this, this._ibusPropertyUpdated));
this._ibusManager.connect('set-content-type', Lang.bind(this, this._ibusSetContentType));
global.display.connect('modifiers-accelerator-activated', Lang.bind(this, this._modifiersSwitcher));
@ -192,6 +194,7 @@ const InputSourceManager = new Lang.Class({
this._overviewHiddenId = 0;
this._settings.connect('changed::per-window', Lang.bind(this, this._sourcesPerWindowChanged));
this._sourcesPerWindowChanged();
this._disableIBus = false;
},
reload: function() {
@ -309,6 +312,8 @@ const InputSourceManager = new Lang.Class({
[exists, displayName, shortName, , ] =
this._xkbInfo.get_layout_info(id);
} else if (type == INPUT_SOURCE_TYPE_IBUS) {
if (this._disableIBus)
continue;
let engineDesc = this._ibusManager.getEngineDesc(id);
if (engineDesc) {
let language = IBus.get_language_name(engineDesc.get_language());
@ -379,8 +384,20 @@ const InputSourceManager = new Lang.Class({
}
this._mruSources = mruSources.concat(sourcesList);
if (this._mruSources.length > 0)
if (this._mruSources.length > 0) {
if (!this._disableIBus && this._backupSource) {
for (let i = 0; i < this._mruSources.length; i++) {
if (this._mruSources[i].type == this._backupSource.type &&
this._mruSources[i].id == this._backupSource.id) {
let currentSource = this._mruSources.splice(i, 1);
this._mruSources = currentSource.concat(this._mruSources);
break;
}
}
this._backupSource = null;
}
this._mruSources[0].activate();
}
// All ibus engines are preloaded here to reduce the launching time
// when users switch the input sources.
@ -437,6 +454,27 @@ const InputSourceManager = new Lang.Class({
return false;
},
_ibusSetContentType: function(im, purpose, hints) {
if (purpose == IBus.InputPurpose.PASSWORD) {
if (Object.keys(this._inputSources).length == Object.keys(this._ibusSources).length)
return;
if (this._disableIBus)
return;
this._disableIBus = true;
this._backupSource = this._currentSource;
} else {
if (!this._disableIBus)
return;
this._disableIBus = false;
}
// If this._mruSources is not cleared before this.reload() is called,
// the order is different from the original one as IM sources will
// be appended to XKB sources.
this._mruSources = [];
this.reload();
},
_getNewInputSource: function(current) {
for (let i in this._inputSources) {
let is = this._inputSources[i];

View File

@ -580,6 +580,35 @@ const AppSwitchAction = new Lang.Class({
});
Signals.addSignalMethods(AppSwitchAction.prototype);
const ResizePopup = new Lang.Class({
Name: 'ResizePopup',
_init: function() {
this._widget = new St.Widget({ layout_manager: new Clutter.BinLayout() });
this._label = new St.Label({ style_class: 'resize-popup',
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
x_expand: true, y_expand: true });
this._widget.add_child(this._label);
Main.uiGroup.add_actor(this._widget);
},
set: function(rect, displayW, displayH) {
/* Translators: This represents the size of a window. The first number is
* the width of the window and the second is the height. */
let text = _("%d x %d").format(displayW, displayH);
this._label.set_text(text);
this._widget.set_position(rect.x, rect.y);
this._widget.set_size(rect.width, rect.height);
},
destroy: function() {
this._widget.destroy();
this._widget = null;
},
});
const WindowManager = new Lang.Class({
Name: 'WindowManager',
@ -792,6 +821,8 @@ const WindowManager = new Lang.Class({
Shell.ActionMode.TOPBAR_POPUP,
Lang.bind(this, this._toggleAppMenu));
global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup));
Main.overview.connect('showing', Lang.bind(this, function() {
for (let i = 0; i < this._dimmedWindows.length; i++)
this._undimWindow(this._dimmedWindows[i]);
@ -857,6 +888,44 @@ const WindowManager = new Lang.Class({
Main.activateWindow(nextWindow);
},
insertWorkspace: function(pos) {
if (!Meta.prefs_get_dynamic_workspaces())
return;
let windows = global.get_window_actors().map(function(winActor) {
return winActor.meta_window;
});
// To create a new workspace, we slide all the windows on workspaces
// below us to the next workspace, leaving a blank workspace for us
// to recycle.
windows.forEach(function(window) {
// If the window is attached to an ancestor, we don't need/want
// to move it
if (window.get_transient_for() != null)
return;
// Same for OR windows
if (window.is_override_redirect())
return;
// Windows on workspaces below pos don't need moving
let index = window.get_workspace().index();
if (index < pos)
return;
window.change_workspace_by_index(index + 1, true);
});
// If the new workspace was inserted before the active workspace,
// activate the workspace to which its windows went
let activeIndex = global.screen.get_active_workspace_index();
if (activeIndex >= pos) {
let newWs = global.screen.get_workspace_by_index(activeIndex + 1);
this._blockAnimations = true;
newWs.activate(global.get_current_time());
this._blockAnimations = false;
}
},
keepWorkspaceAlive: function(workspace, duration) {
if (!this._workspaceTracker)
return;
@ -886,7 +955,7 @@ const WindowManager = new Lang.Class({
},
_shouldAnimate: function() {
return !Main.overview.visible;
return !(Main.overview.visible || this._blockAnimations);
},
_shouldAnimateActor: function(actor, types) {
@ -1077,10 +1146,8 @@ const WindowManager = new Lang.Class({
return;
}
if (actor.meta_window.is_attached_dialog()) {
/* Scale the window from the center of the parent */
if (actor.meta_window.is_attached_dialog())
this._checkDimming(actor.get_meta_window().get_transient_for());
}
switch (actor._windowType) {
case Meta.WindowType.NORMAL:
@ -1458,6 +1525,11 @@ const WindowManager = new Lang.Class({
direction = Meta.MotionDirection.DOWN;
newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);
} else if (isNaN(target)) {
// Prepend a new workspace dynamically
if (screen.get_active_workspace_index() == 0 &&
action == 'move' && target == 'up')
this.insertWorkspace(0);
direction = Meta.MotionDirection[target.toUpperCase()];
newWs = screen.get_active_workspace().get_neighbor(direction);
} else if (target > 0) {
@ -1522,4 +1594,18 @@ const WindowManager = new Lang.Class({
let dialog = new DisplayChangeDialog(this._shellwm);
dialog.open();
},
_showResizePopup: function(display, show, rect, displayW, displayH) {
if (show) {
if (!this._resizePopup)
this._resizePopup = new ResizePopup();
this._resizePopup.set(rect, displayW, displayH);
} else {
if (this._resizePopup) {
this._resizePopup.destroy();
this._resizePopup = null;
}
}
},
});

View File

@ -795,35 +795,13 @@ const ThumbnailsBox = new Lang.Class({
let isWindow = !!source.realWindow;
// To create a new workspace, we first slide all the windows on workspaces
// below us to the next workspace, leaving a blank workspace for us to recycle.
let newWorkspaceIndex;
[newWorkspaceIndex, this._dropPlaceholderPos] = [this._dropPlaceholderPos, -1];
// Nab all the windows below us.
let windows = global.get_window_actors().filter(function(winActor) {
// If the window is attached to an ancestor, we don't need/want to move it
let window = winActor.meta_window;
if (window.get_transient_for() != null)
return false;
if (isWindow)
return window.get_workspace().index() >= newWorkspaceIndex && winActor != source;
else
return window.get_workspace().index() >= newWorkspaceIndex;
});
this._spliceIndex = newWorkspaceIndex;
// ... move them down one.
windows.forEach(function(winActor) {
let window = winActor.meta_window;
window.change_workspace_by_index(window.get_workspace().index() + 1, true);
});
Main.wm.insertWorkspace(newWorkspaceIndex);
if (isWindow) {
// ... and bam, a workspace, good as new.
// Move the window to our monitor first if necessary.
let thumbMonitor = this._thumbnails[newWorkspaceIndex].monitorIndex;
if (source.metaWindow.get_monitor() != thumbMonitor)

View File

@ -18,8 +18,6 @@ const Workspace = imports.ui.workspace;
const WorkspaceThumbnail = imports.ui.workspaceThumbnail;
const WORKSPACE_SWITCH_TIME = 0.25;
// Note that mutter has a compile-time limit of 36
const MAX_WORKSPACES = 16;
const AnimationType = {
ZOOM: 0,

File diff suppressed because it is too large Load Diff

View File

@ -4,15 +4,15 @@
# Andre Klapper <ak-47@gmx.net>, 2009.
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011, 2012, 2014.
# Adam Matoušek <adamatousek@gmail.com>, 2012, 2013.
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014.
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015.
#
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-11-26 08:34+0000\n"
"PO-Revision-Date: 2014-11-26 12:05+0100\n"
"POT-Creation-Date: 2015-01-06 20:31+0000\n"
"PO-Revision-Date: 2015-01-07 08:53+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@ -327,25 +327,25 @@ msgctxt "button"
msgid "Sign In"
msgstr "Přihlásit se"
#: ../js/gdm/loginDialog.js:275
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Vybrat sezení"
#: ../js/gdm/loginDialog.js:434
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "Nejste na seznamu?"
#: ../js/gdm/loginDialog.js:619
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(např. uživatel nebo %s)"
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Uživatelské jméno: "
#: ../js/gdm/loginDialog.js:955
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Přihlašovací okno"
@ -412,7 +412,7 @@ msgstr "%s byl přidán mezi oblíbené."
msgid "%s has been removed from your favorites."
msgstr "%s byl odstraněn z oblíbených."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
#: ../js/ui/status/system.js:337
msgid "Settings"
msgstr "Nastavení"
@ -455,43 +455,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#: ../js/ui/calendar.js:115
#: ../js/ui/calendar.js:98
msgctxt "grid sunday"
msgid "S"
msgstr "Ne"
#. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:117
#: ../js/ui/calendar.js:100
msgctxt "grid monday"
msgid "M"
msgstr "Po"
#. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:119
#: ../js/ui/calendar.js:102
msgctxt "grid tuesday"
msgid "T"
msgstr "Út"
#. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:121
#: ../js/ui/calendar.js:104
msgctxt "grid wednesday"
msgid "W"
msgstr "St"
#. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:123
#: ../js/ui/calendar.js:106
msgctxt "grid thursday"
msgid "T"
msgstr "Čt"
#. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:125
#: ../js/ui/calendar.js:108
msgctxt "grid friday"
msgid "F"
msgstr "Pá"
#. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:127
#: ../js/ui/calendar.js:110
msgctxt "grid saturday"
msgid "S"
msgstr "So"
@ -502,83 +502,83 @@ msgstr "So"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#. */
#: ../js/ui/calendar.js:140
#: ../js/ui/calendar.js:123
msgctxt "list sunday"
msgid "Su"
msgstr "Ne"
#. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:142
#: ../js/ui/calendar.js:125
msgctxt "list monday"
msgid "M"
msgstr "Po"
#. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:144
#: ../js/ui/calendar.js:127
msgctxt "list tuesday"
msgid "T"
msgstr "Út"
#. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:146
#: ../js/ui/calendar.js:129
msgctxt "list wednesday"
msgid "W"
msgstr "St"
#. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:148
#: ../js/ui/calendar.js:131
msgctxt "list thursday"
msgid "Th"
msgstr "Čt"
#. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:150
#: ../js/ui/calendar.js:133
msgctxt "list friday"
msgid "F"
msgstr "Pá"
#. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:152
#: ../js/ui/calendar.js:135
msgctxt "list saturday"
msgid "S"
msgstr "So"
#: ../js/ui/calendar.js:461
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Předchozí měsíc"
#: ../js/ui/calendar.js:471
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Následující měsíc"
#. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:806
#: ../js/ui/calendar.js:805
msgid "Nothing Scheduled"
msgstr "nic nenaplánováno"
#: ../js/ui/calendar.js:825
#: ../js/ui/calendar.js:824
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: ../js/ui/calendar.js:829
#: ../js/ui/calendar.js:828
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:841
#: ../js/ui/calendar.js:840
msgid "Today"
msgstr "Dnes"
#: ../js/ui/calendar.js:845
#: ../js/ui/calendar.js:844
msgid "Tomorrow"
msgstr "Zítra"
#: ../js/ui/calendar.js:856
#: ../js/ui/calendar.js:855
msgid "This week"
msgstr "Tento týden"
#: ../js/ui/calendar.js:864
#: ../js/ui/calendar.js:863
msgid "Next week"
msgstr "Následující týden"
@ -979,7 +979,7 @@ msgstr "Zobrazit účet"
msgid "Unknown reason"
msgstr "Neznámý důvod"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Okna"
@ -1242,11 +1242,11 @@ msgstr "Nabídka lišty zpráv"
msgid "No Messages"
msgstr "Žádné zprávy"
#: ../js/ui/messageTray.js:1984
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Lišta zpráv"
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
@ -1255,11 +1255,11 @@ msgstr[0] "%d nová zpráva"
msgstr[1] "%d nové zprávy"
msgstr[2] "%d nových zpráv"
#: ../js/ui/messageTray.js:3011
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Informace o systému"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
msgctxt "program"
msgid "Unknown"
msgstr "Neznámé"
@ -1280,17 +1280,17 @@ msgstr "Přehled"
msgid "Type to search…"
msgstr "Vyhledávejte psaním…"
#: ../js/ui/panel.js:515
#: ../js/ui/panel.js:521
msgid "Quit"
msgstr "Ukončit"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:573
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/panel.js:918
#: ../js/ui/panel.js:924
msgid "Top Bar"
msgstr "Horní lišta"
@ -1702,11 +1702,11 @@ msgstr "Přihlásit se jako jiný uživatel"
msgid "Unlock Window"
msgstr "Odemykací okno"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Aplikace"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Hledat"
@ -1738,6 +1738,13 @@ msgstr[0] "Nastavení se obnoví na původní za %d sekundu"
msgstr[1] "Nastavení se obnoví na původní za %d sekundy"
msgstr[2] "Nastavení se obnoví na původní za %d sekund"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d×%d"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimalizovat"
@ -1822,7 +1829,7 @@ msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“.
msgid "List possible modes"
msgstr "Vypsat možné režimy"
#: ../src/shell-app.c:666
#: ../src/shell-app.c:680
#, c-format
msgid "Failed to launch “%s”"
msgstr "Nelze spustit „%s“"

444
po/de.po

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the gnome-shell package.
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011, 2012, 2013, 2014.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-11-12 08:29+0000\n"
"PO-Revision-Date: 2014-11-12 12:29+0100\n"
"POT-Creation-Date: 2015-01-12 08:33+0000\n"
"PO-Revision-Date: 2015-01-12 12:05+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
"Language: es\n"
@ -304,7 +304,6 @@ msgstr ""
"Retardo al cambiar el foco del ratón hasta que el puntero deja de moverse"
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
#| msgid "Network error"
msgid "Network Login"
msgstr "Inicio de sesión de la red"
@ -338,25 +337,25 @@ msgctxt "button"
msgid "Sign In"
msgstr "Iniciar sesión"
#: ../js/gdm/loginDialog.js:275
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Elegir sesión"
#: ../js/gdm/loginDialog.js:434
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "¿No está en la lista?"
#: ../js/gdm/loginDialog.js:619
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(ej., usuario o %s)"
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Nombre de usuario:"
#: ../js/gdm/loginDialog.js:953
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Ventana de inicio de sesión"
@ -423,7 +422,7 @@ msgstr "Se ha añadido %s a sus favoritos."
msgid "%s has been removed from your favorites."
msgstr "Se ha quitado %s de sus favoritos."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
#: ../js/ui/status/system.js:337
msgid "Settings"
msgstr "Configuración"
@ -466,43 +465,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#: ../js/ui/calendar.js:115
#: ../js/ui/calendar.js:98
msgctxt "grid sunday"
msgid "S"
msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:117
#: ../js/ui/calendar.js:100
msgctxt "grid monday"
msgid "M"
msgstr "L"
#. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:119
#: ../js/ui/calendar.js:102
msgctxt "grid tuesday"
msgid "T"
msgstr "M"
#. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:121
#: ../js/ui/calendar.js:104
msgctxt "grid wednesday"
msgid "W"
msgstr "X"
#. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:123
#: ../js/ui/calendar.js:106
msgctxt "grid thursday"
msgid "T"
msgstr "J"
#. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:125
#: ../js/ui/calendar.js:108
msgctxt "grid friday"
msgid "F"
msgstr "V"
#. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:127
#: ../js/ui/calendar.js:110
msgctxt "grid saturday"
msgid "S"
msgstr "S"
@ -513,52 +512,52 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#. */
#: ../js/ui/calendar.js:140
#: ../js/ui/calendar.js:123
msgctxt "list sunday"
msgid "Su"
msgstr "Dom"
#. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:142
#: ../js/ui/calendar.js:125
msgctxt "list monday"
msgid "M"
msgstr "L"
#. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:144
#: ../js/ui/calendar.js:127
msgctxt "list tuesday"
msgid "T"
msgstr "M"
#. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:146
#: ../js/ui/calendar.js:129
msgctxt "list wednesday"
msgid "W"
msgstr "X"
#. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:148
#: ../js/ui/calendar.js:131
msgctxt "list thursday"
msgid "Th"
msgstr "J"
#. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:150
#: ../js/ui/calendar.js:133
msgctxt "list friday"
msgid "F"
msgstr "V"
#. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:152
#: ../js/ui/calendar.js:135
msgctxt "list saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:461
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Mes anterior"
#: ../js/ui/calendar.js:471
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Siguiente mes"
@ -993,7 +992,7 @@ msgstr "Ver cuenta"
msgid "Unknown reason"
msgstr "Razón desconocida"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Ventanas"
@ -1005,22 +1004,22 @@ msgstr "Mostrar aplicaciones"
msgid "Dash"
msgstr "Tablero"
#: ../js/ui/dateMenu.js:99
#: ../js/ui/dateMenu.js:97
msgid "Open Calendar"
msgstr "Abrir calendario"
#: ../js/ui/dateMenu.js:103
#: ../js/ui/dateMenu.js:101
msgid "Open Clocks"
msgstr "Abrir Relojes"
#: ../js/ui/dateMenu.js:110
#: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings"
msgstr "Configuración de hora y fecha"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#: ../js/ui/dateMenu.js:134
#: ../js/ui/dateMenu.js:132
msgid "%A %B %e, %Y"
msgstr "%A, %e de %B de %Y"
@ -1164,7 +1163,7 @@ msgstr "Instalar"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:535
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:539
msgid "Keyboard"
msgstr "Teclado"
@ -1248,11 +1247,11 @@ msgstr "Bandeja de menú"
msgid "No Messages"
msgstr "No hay mensajes"
#: ../js/ui/messageTray.js:1984
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Bandeja de mensajes"
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
@ -1260,11 +1259,11 @@ msgid_plural "%d new messages"
msgstr[0] "%d mensaje nuevo"
msgstr[1] "%d mensajes nuevos"
#: ../js/ui/messageTray.js:3011
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Información del sistema"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
msgctxt "program"
msgid "Unknown"
msgstr "Desconocido"
@ -1285,17 +1284,17 @@ msgstr "Vista general"
msgid "Type to search…"
msgstr "Escribir para buscar…"
#: ../js/ui/panel.js:515
#: ../js/ui/panel.js:521
msgid "Quit"
msgstr "Salir"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:573
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/panel.js:918
#: ../js/ui/panel.js:924
msgid "Top Bar"
msgstr "Barra superior"
@ -1344,11 +1343,11 @@ msgstr "No se pudo bloquear"
msgid "Lock was blocked by an application"
msgstr "Una aplicación impidió el bloqueo"
#: ../js/ui/search.js:611
#: ../js/ui/search.js:609
msgid "Searching…"
msgstr "Buscando…"
#: ../js/ui/search.js:613
#: ../js/ui/search.js:611
msgid "No results."
msgstr "No se encontraron resultados."
@ -1450,7 +1449,7 @@ msgstr "No conectado"
msgid "Brightness"
msgstr "Brillo"
#: ../js/ui/status/keyboard.js:559
#: ../js/ui/status/keyboard.js:563
msgid "Show Keyboard Layout"
msgstr "Mostrar la distribución del teclado"
@ -1705,11 +1704,11 @@ msgstr "Iniciar sesión como otro usuario"
msgid "Unlock Window"
msgstr "Desbloquear ventana"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Aplicaciones"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Buscar"
@ -1740,6 +1739,13 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "La configuración se revertirá en %d segundo"
msgstr[1] "La configuración se revertirá en %d segundos"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimizar"
@ -1824,7 +1830,7 @@ msgstr ""
msgid "List possible modes"
msgstr "Listar los modos posibles"
#: ../src/shell-app.c:666
#: ../src/shell-app.c:680
#, c-format
msgid "Failed to launch “%s”"
msgstr "Falló al lanzar «%s»"

View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: eu\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-12-05 08:37+0000\n"
"PO-Revision-Date: 2014-12-05 23:45+0100\n"
"POT-Creation-Date: 2014-12-30 08:36+0000\n"
"PO-Revision-Date: 2014-12-30 15:13+0100\n"
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
"Language-Team: Basque <librezale@librezale.org>\n"
"Language: eu\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.4\n"
"X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
@ -299,7 +299,6 @@ msgstr ""
"arte"
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
#| msgid "Network error"
msgid "Network Login"
msgstr "Sareko saio-hasiera"
@ -334,25 +333,25 @@ msgctxt "button"
msgid "Sign In"
msgstr "Hasi saioa"
#: ../js/gdm/loginDialog.js:275
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Aukeratu saioa"
#: ../js/gdm/loginDialog.js:434
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "Ez zaude zerrendan?"
#: ../js/gdm/loginDialog.js:619
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(adib., erabiltzailea edo %s)"
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Erabiltzaile-izena: "
#: ../js/gdm/loginDialog.js:955
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Saio-hasierako leihoa"
@ -550,42 +549,42 @@ msgctxt "list saturday"
msgid "S"
msgstr "Lr"
#: ../js/ui/calendar.js:444
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Aurreko hila"
#: ../js/ui/calendar.js:454
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Hurrengo hila"
#. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:789
#: ../js/ui/calendar.js:805
msgid "Nothing Scheduled"
msgstr "Ezer ez antolatuta"
#: ../js/ui/calendar.js:808
#: ../js/ui/calendar.js:824
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/calendar.js:812
#: ../js/ui/calendar.js:828
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %Y(e)ko %Bren %da"
#: ../js/ui/calendar.js:824
#: ../js/ui/calendar.js:840
msgid "Today"
msgstr "Gaur"
#: ../js/ui/calendar.js:828
#: ../js/ui/calendar.js:844
msgid "Tomorrow"
msgstr "Bihar"
#: ../js/ui/calendar.js:839
#: ../js/ui/calendar.js:855
msgid "This week"
msgstr "Aste honetan"
#: ../js/ui/calendar.js:847
#: ../js/ui/calendar.js:863
msgid "Next week"
msgstr "Hurrengo astea"
@ -987,7 +986,7 @@ msgstr "Ikusi kontua"
msgid "Unknown reason"
msgstr "Arrazoi ezezaguna"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Leihoak"
@ -1242,11 +1241,11 @@ msgstr "Erretiluaren menua"
msgid "No Messages"
msgstr "Mezurik ez"
#: ../js/ui/messageTray.js:1984
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Mezuen erretilua"
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
@ -1254,7 +1253,7 @@ msgid_plural "%d new messages"
msgstr[0] "Mezu berri %d"
msgstr[1] "%d mezu berri"
#: ../js/ui/messageTray.js:3011
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Sistemaren informazioa"
@ -1457,7 +1456,6 @@ msgid "Disable"
msgstr "Desgaitu"
#: ../js/ui/status/location.js:73
#| msgid "Power Settings"
msgid "Privacy Settings"
msgstr "Pribatutasunaren ezarpenak"
@ -1700,11 +1698,11 @@ msgstr "Hasi saioa beste erabiltzaile baten gisan"
msgid "Unlock Window"
msgstr "Desblokeatu leihoa"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Aplikazioak"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Bilatu"
@ -1735,6 +1733,13 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Ezarpenen aldaketak segundo %dean alderantzikatuko dira"
msgstr[1] "Ezarpenen aldaketak %d segundotan alderantzikatuko dira"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimizatu"

542
po/fur.po

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-11-30 08:32+0000\n"
"PO-Revision-Date: 2014-11-30 16:24+0100\n"
"POT-Creation-Date: 2014-12-31 08:36+0000\n"
"PO-Revision-Date: 2014-12-31 11:20+0100\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
"Language: hu\n"
@ -300,7 +300,6 @@ msgstr ""
"Fókuszváltozások késleltetése a mutató mozgásának megállásáig egér módban"
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
#| msgid "Network error"
msgid "Network Login"
msgstr "Hálózati bejelentkezés"
@ -334,25 +333,25 @@ msgctxt "button"
msgid "Sign In"
msgstr "Bejelentkezés"
#: ../js/gdm/loginDialog.js:275
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Válasszon munkamenetet"
#: ../js/gdm/loginDialog.js:434
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "Nincs a listán?"
#: ../js/gdm/loginDialog.js:619
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(például: felhasználó vagy %s)"
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Felhasználónév: "
#: ../js/gdm/loginDialog.js:955
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Bejelentkezési ablak"
@ -550,42 +549,42 @@ msgctxt "list saturday"
msgid "S"
msgstr "Szo"
#: ../js/ui/calendar.js:444
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Előző hónap"
#: ../js/ui/calendar.js:454
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Következő hónap"
#. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:789
#: ../js/ui/calendar.js:805
msgid "Nothing Scheduled"
msgstr "Semmi sincs ütemezve"
#: ../js/ui/calendar.js:808
#: ../js/ui/calendar.js:824
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d."
#: ../js/ui/calendar.js:812
#: ../js/ui/calendar.js:828
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %Y. %B %d."
#: ../js/ui/calendar.js:824
#: ../js/ui/calendar.js:840
msgid "Today"
msgstr "Ma"
#: ../js/ui/calendar.js:828
#: ../js/ui/calendar.js:844
msgid "Tomorrow"
msgstr "Holnap"
#: ../js/ui/calendar.js:839
#: ../js/ui/calendar.js:855
msgid "This week"
msgstr "Ezen a héten"
#: ../js/ui/calendar.js:847
#: ../js/ui/calendar.js:863
msgid "Next week"
msgstr "Jövő héten"
@ -987,7 +986,7 @@ msgstr "Fiók megtekintése"
msgid "Unknown reason"
msgstr "Ismeretlen ok"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Ablakok"
@ -1245,11 +1244,11 @@ msgstr "Tálcamenü"
msgid "No Messages"
msgstr "Nincs üzenet"
#: ../js/ui/messageTray.js:1984
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Üzenettálca"
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
@ -1257,7 +1256,7 @@ msgid_plural "%d new messages"
msgstr[0] "%d új üzenet"
msgstr[1] "%d új üzenet"
#: ../js/ui/messageTray.js:3011
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Rendszerinformációk"
@ -1702,11 +1701,11 @@ msgstr "Bejelentkezés másik felhasználóként"
msgid "Unlock Window"
msgstr "Ablak feloldása"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Alkalmazások"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Oldalsáv"
@ -1737,6 +1736,13 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "A beállítások módosításai %d másodperc múlva visszavonásra kerülnek"
msgstr[1] "A beállítások módosításai %d másodperc múlva visszavonásra kerülnek"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimalizálás"

343
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-09-13 07:37+0000\n"
"PO-Revision-Date: 2014-09-13 19:20+0700\n"
"POT-Creation-Date: 2014-12-23 20:37+0000\n"
"PO-Revision-Date: 2014-12-24 11:51+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\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.6.9\n"
"X-Generator: Poedit 1.7.1\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -301,8 +301,8 @@ msgstr ""
"Tunda perubahan fokus dalam mode tetikus sampai penunjuk berhenti bergerak"
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
msgid "Captive Portal"
msgstr "Portal Captive"
msgid "Network Login"
msgstr "Log Masuk Jaringan"
#: ../js/extensionPrefs/main.js:123
#, javascript-format
@ -316,7 +316,7 @@ msgstr "Ekstensi GNOME Shell"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:915
#: ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Batal"
@ -334,33 +334,33 @@ msgctxt "button"
msgid "Sign In"
msgstr "Masuk"
#: ../js/gdm/loginDialog.js:269
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Pilih Sesi"
#: ../js/gdm/loginDialog.js:429
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "Tak masuk daftar?"
#: ../js/gdm/loginDialog.js:614
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(cth., pengguna dari %s)"
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Nama pengguna: "
#: ../js/gdm/loginDialog.js:922
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Jendela Log Masuk"
#: ../js/gdm/util.js:323
#: ../js/gdm/util.js:341
msgid "Authentication error"
msgstr "Galat otentikasi"
#: ../js/gdm/util.js:453
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(atau gesekkan jari)"
@ -381,15 +381,15 @@ msgstr "Eksekusi \"%s\" gagal:"
msgid "Web Authentication Redirect"
msgstr "Pengalihan Otentikasi Web"
#: ../js/ui/appDisplay.js:772
#: ../js/ui/appDisplay.js:770
msgid "Frequently used applications will appear here"
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
#: ../js/ui/appDisplay.js:883
#: ../js/ui/appDisplay.js:881
msgid "Frequent"
msgstr "Sering"
#: ../js/ui/appDisplay.js:890
#: ../js/ui/appDisplay.js:888
msgid "All"
msgstr "Semua"
@ -409,17 +409,17 @@ msgstr "Tambah ke Favorit"
msgid "Show Details"
msgstr "Tampilkan Rincian"
#: ../js/ui/appFavorites.js:124
#: ../js/ui/appFavorites.js:132
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s telah ditambahkan ke favorit Anda."
#: ../js/ui/appFavorites.js:158
#: ../js/ui/appFavorites.js:166
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s telah dihapus dari favorit Anda."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
#: ../js/ui/status/system.js:337
msgid "Settings"
msgstr "Pengaturan"
@ -428,17 +428,23 @@ msgstr "Pengaturan"
msgid "Change Background…"
msgstr "Ubah Latar…"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:39
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#: ../js/ui/calendar.js:67
#: ../js/ui/calendar.js:68
msgctxt "event list time"
msgid "All Day"
msgstr "Sepanjang Hari"
#. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:73
#: ../js/ui/calendar.js:75
msgctxt "event list time"
msgid "%H%M"
msgstr "%H%M"
@ -446,7 +452,7 @@ msgstr "%H%M"
#. Translators: Shown in calendar event list, if 12h format,
#. \u2236 is a ratio character, similar to : and \u2009 is
#. a thin space */
#: ../js/ui/calendar.js:82
#: ../js/ui/calendar.js:84
msgctxt "event list time"
msgid "%l%M%p"
msgstr "%l%M%p"
@ -456,43 +462,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#: ../js/ui/calendar.js:113
#: ../js/ui/calendar.js:98
msgctxt "grid sunday"
msgid "S"
msgstr "M"
#. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:115
#: ../js/ui/calendar.js:100
msgctxt "grid monday"
msgid "M"
msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:117
#: ../js/ui/calendar.js:102
msgctxt "grid tuesday"
msgid "T"
msgstr "S"
#. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:119
#: ../js/ui/calendar.js:104
msgctxt "grid wednesday"
msgid "W"
msgstr "R"
#. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:121
#: ../js/ui/calendar.js:106
msgctxt "grid thursday"
msgid "T"
msgstr "K"
#. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:123
#: ../js/ui/calendar.js:108
msgctxt "grid friday"
msgid "F"
msgstr "J"
#. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:125
#: ../js/ui/calendar.js:110
msgctxt "grid saturday"
msgid "S"
msgstr "S"
@ -503,85 +509,83 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#. */
#: ../js/ui/calendar.js:138
#: ../js/ui/calendar.js:123
msgctxt "list sunday"
msgid "Su"
msgstr "Min"
#. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:140
#: ../js/ui/calendar.js:125
msgctxt "list monday"
msgid "M"
msgstr "Sen"
#. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:142
#: ../js/ui/calendar.js:127
msgctxt "list tuesday"
msgid "T"
msgstr "Sel"
#. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:144
#: ../js/ui/calendar.js:129
msgctxt "list wednesday"
msgid "W"
msgstr "Rab"
#. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:146
#: ../js/ui/calendar.js:131
msgctxt "list thursday"
msgid "Th"
msgstr "Kam"
#. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:148
#: ../js/ui/calendar.js:133
msgctxt "list friday"
msgid "F"
msgstr "Jum"
#. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:150
#: ../js/ui/calendar.js:135
msgctxt "list saturday"
msgid "S"
msgstr "Sab"
#: ../js/ui/calendar.js:453
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Bulan sebelumnya"
#: ../js/ui/calendar.js:463
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Bulan selanjutnya"
#. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:805
msgid "Nothing Scheduled"
msgstr "Tak Ada Jadwal"
#. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:799
#: ../js/ui/calendar.js:824
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:802
#: ../js/ui/calendar.js:828
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y"
#: ../js/ui/calendar.js:813
#: ../js/ui/calendar.js:840
msgid "Today"
msgstr "Hari ini"
#: ../js/ui/calendar.js:817
#: ../js/ui/calendar.js:844
msgid "Tomorrow"
msgstr "Besok"
#: ../js/ui/calendar.js:828
#: ../js/ui/calendar.js:855
msgid "This week"
msgstr "Minggu ini"
#: ../js/ui/calendar.js:836
#: ../js/ui/calendar.js:863
msgid "Next week"
msgstr "Minggu depan"
@ -615,7 +619,7 @@ msgid "Type again:"
msgstr "Ketik lagi:"
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:918
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
msgid "Connect"
msgstr "Sambung"
@ -709,102 +713,102 @@ msgstr "Otentikasi"
msgid "Sorry, that didn't work. Please try again."
msgstr "Maaf, tidak berhasil. Silakan coba lagi."
#: ../js/ui/components/telepathyClient.js:240
#: ../js/ui/components/telepathyClient.js:242
msgid "Invitation"
msgstr "Undangan"
#: ../js/ui/components/telepathyClient.js:300
#: ../js/ui/components/telepathyClient.js:302
msgid "Call"
msgstr "Panggil"
#: ../js/ui/components/telepathyClient.js:316
#: ../js/ui/components/telepathyClient.js:318
msgid "File Transfer"
msgstr "Transfer Berkas"
#: ../js/ui/components/telepathyClient.js:420
#: ../js/ui/components/telepathyClient.js:422
msgid "Chat"
msgstr "Obrolan"
#: ../js/ui/components/telepathyClient.js:483
#: ../js/ui/components/telepathyClient.js:485
msgid "Unmute"
msgstr "Bersuara"
#: ../js/ui/components/telepathyClient.js:483
#: ../js/ui/components/telepathyClient.js:485
msgid "Mute"
msgstr "Bisu"
#. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:953
#: ../js/ui/components/telepathyClient.js:955
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:960
#: ../js/ui/components/telepathyClient.js:962
msgid "Yesterday, %H%M"
msgstr "Kemarin, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:967
#: ../js/ui/components/telepathyClient.js:969
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:974
#: ../js/ui/components/telepathyClient.js:976
msgid "%B %d, %H%M"
msgstr "%d %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:980
#: ../js/ui/components/telepathyClient.js:982
msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H%M"
#. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:986
#: ../js/ui/components/telepathyClient.js:988
msgid "%l%M %p"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:993
#: ../js/ui/components/telepathyClient.js:995
msgid "Yesterday, %l%M %p"
msgstr "Kemarin, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1000
#: ../js/ui/components/telepathyClient.js:1002
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1007
#: ../js/ui/components/telepathyClient.js:1009
msgid "%B %d, %l%M %p"
msgstr "%d %B, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1013
#: ../js/ui/components/telepathyClient.js:1015
msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %l%M %p"
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#: ../js/ui/components/telepathyClient.js:1045
#: ../js/ui/components/telepathyClient.js:1047
#, 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:1149
#: ../js/ui/components/telepathyClient.js:1151
#, javascript-format
msgid "Invitation to %s"
msgstr "Undangan ke %s"
@ -812,38 +816,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:1157
#: ../js/ui/components/telepathyClient.js:1159
#, javascript-format
msgid "%s is inviting you to join %s"
msgstr "%s mengundang Anda untuk bergabung dengan %s"
#: ../js/ui/components/telepathyClient.js:1159
#: ../js/ui/components/telepathyClient.js:1194
#: ../js/ui/components/telepathyClient.js:1228
#: ../js/ui/components/telepathyClient.js:1286
#: ../js/ui/components/telepathyClient.js:1161
#: ../js/ui/components/telepathyClient.js:1196
#: ../js/ui/components/telepathyClient.js:1230
#: ../js/ui/components/telepathyClient.js:1287
msgid "Decline"
msgstr "Tolak"
#: ../js/ui/components/telepathyClient.js:1165
#: ../js/ui/components/telepathyClient.js:1234
#: ../js/ui/components/telepathyClient.js:1291
#: ../js/ui/components/telepathyClient.js:1167
#: ../js/ui/components/telepathyClient.js:1236
#: ../js/ui/components/telepathyClient.js:1292
msgid "Accept"
msgstr "Terima"
#. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1184
#: ../js/ui/components/telepathyClient.js:1186
#, 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:1187
#: ../js/ui/components/telepathyClient.js:1189
#, 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:1201
#: ../js/ui/components/telepathyClient.js:1203
msgid "Answer"
msgstr "Jawab"
@ -852,111 +856,111 @@ msgstr "Jawab"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#. */
#: ../js/ui/components/telepathyClient.js:1222
#: ../js/ui/components/telepathyClient.js:1224
#, 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:1251
#: ../js/ui/components/telepathyClient.js:1253
#, javascript-format
msgid "%s would like permission to see when you are online"
msgstr "%s ingin minta izin melihat Anda ketika Anda daring"
#: ../js/ui/components/telepathyClient.js:1337
#: ../js/ui/components/telepathyClient.js:1338
msgid "Network error"
msgstr "Galat jaringan"
#: ../js/ui/components/telepathyClient.js:1339
#: ../js/ui/components/telepathyClient.js:1340
msgid "Authentication failed"
msgstr "Otentikasi gagal"
#: ../js/ui/components/telepathyClient.js:1341
#: ../js/ui/components/telepathyClient.js:1342
msgid "Encryption error"
msgstr "Galat enkripsi"
#: ../js/ui/components/telepathyClient.js:1343
#: ../js/ui/components/telepathyClient.js:1344
msgid "Certificate not provided"
msgstr "Sertifikat tidak disediakan"
#: ../js/ui/components/telepathyClient.js:1345
#: ../js/ui/components/telepathyClient.js:1346
msgid "Certificate untrusted"
msgstr "Sertifikat tidak dipercaya"
#: ../js/ui/components/telepathyClient.js:1347
#: ../js/ui/components/telepathyClient.js:1348
msgid "Certificate expired"
msgstr "Sertifikat kadaluarsa"
#: ../js/ui/components/telepathyClient.js:1349
#: ../js/ui/components/telepathyClient.js:1350
msgid "Certificate not activated"
msgstr "Sertifikat tidak diaktifkan"
#: ../js/ui/components/telepathyClient.js:1351
#: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate hostname mismatch"
msgstr "Nama host sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1353
#: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate fingerprint mismatch"
msgstr "Sidik jari sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1355
#: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate self-signed"
msgstr "Sertifikat ditandatangani sendiri"
#: ../js/ui/components/telepathyClient.js:1357
#: ../js/ui/components/telepathyClient.js:1358
msgid "Status is set to offline"
msgstr "Status diatur ke luring"
#: ../js/ui/components/telepathyClient.js:1359
#: ../js/ui/components/telepathyClient.js:1360
msgid "Encryption is not available"
msgstr "Enkripsi tidak tersedia"
#: ../js/ui/components/telepathyClient.js:1361
#: ../js/ui/components/telepathyClient.js:1362
msgid "Certificate is invalid"
msgstr "Sertifikat tidak valid"
#: ../js/ui/components/telepathyClient.js:1363
#: ../js/ui/components/telepathyClient.js:1364
msgid "Connection has been refused"
msgstr "Koneksi telah ditolak"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1366
msgid "Connection can't be established"
msgstr "Koneksi tak dapat dijalin"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1368
msgid "Connection has been lost"
msgstr "Koneksi telah terputus"
#: ../js/ui/components/telepathyClient.js:1369
#: ../js/ui/components/telepathyClient.js:1370
msgid "This account is already connected to the server"
msgstr "Akun ini telah tersambung pada server"
#: ../js/ui/components/telepathyClient.js:1371
#: ../js/ui/components/telepathyClient.js:1372
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:1373
#: ../js/ui/components/telepathyClient.js:1374
msgid "The account already exists on the server"
msgstr "Akun ini sudah ada di server"
#: ../js/ui/components/telepathyClient.js:1375
#: ../js/ui/components/telepathyClient.js:1376
msgid "Server is currently too busy to handle the connection"
msgstr "Server kini terlalu sibuk untuk menangani koneksi"
#: ../js/ui/components/telepathyClient.js:1377
#: ../js/ui/components/telepathyClient.js:1378
msgid "Certificate has been revoked"
msgstr "Sertifikat telah dicabut"
#: ../js/ui/components/telepathyClient.js:1379
#: ../js/ui/components/telepathyClient.js:1380
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:1381
#: ../js/ui/components/telepathyClient.js:1382
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -964,26 +968,26 @@ msgstr ""
"Panjang sertifikat server, atau kedalaman rantai sertifikat server, "
"melampaui batas yang diberlakukan oleh pustaka kriptografi"
#: ../js/ui/components/telepathyClient.js:1383
#: ../js/ui/components/telepathyClient.js:1384
msgid "Internal error"
msgstr "Galat internal"
#. translators: argument is the account name, like
#. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1393
#: ../js/ui/components/telepathyClient.js:1394
#, javascript-format
msgid "Unable to connect to %s"
msgstr "Tak bisa menyambung ke %s"
#: ../js/ui/components/telepathyClient.js:1398
#: ../js/ui/components/telepathyClient.js:1399
msgid "View account"
msgstr "Tilik akun"
#: ../js/ui/components/telepathyClient.js:1435
#: ../js/ui/components/telepathyClient.js:1436
msgid "Unknown reason"
msgstr "Alasan yang tidak diketahui"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Jendela"
@ -995,22 +999,22 @@ msgstr "Tampilkan Aplikasi"
msgid "Dash"
msgstr "Dash"
#: ../js/ui/dateMenu.js:96
#: ../js/ui/dateMenu.js:97
msgid "Open Calendar"
msgstr "Buka Kalender"
#: ../js/ui/dateMenu.js:100
#: ../js/ui/dateMenu.js:101
msgid "Open Clocks"
msgstr "Buka Jam"
#: ../js/ui/dateMenu.js:107
#: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings"
msgstr "Pengaturan Waktu & Tanggal"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#: ../js/ui/dateMenu.js:204
#: ../js/ui/dateMenu.js:132
msgid "%A %B %e, %Y"
msgstr "%A, %e %B %Y"
@ -1147,7 +1151,7 @@ msgstr "Pasang"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:539
msgid "Keyboard"
msgstr "Papan Ketik"
@ -1203,53 +1207,54 @@ msgstr "Tilik Sumber"
msgid "Web Page"
msgstr "Halaman Web"
#: ../js/ui/messageTray.js:1326
#: ../js/ui/messageTray.js:1332
msgid "Open"
msgstr "Buka"
#: ../js/ui/messageTray.js:1333
#: ../js/ui/messageTray.js:1339
msgid "Remove"
msgstr "Hapus"
#: ../js/ui/messageTray.js:1630
#: ../js/ui/messageTray.js:1636
msgid "Notifications"
msgstr "Pemberitahuan"
#: ../js/ui/messageTray.js:1637
#: ../js/ui/messageTray.js:1643
msgid "Clear Messages"
msgstr "Bersihkan Pesan"
#: ../js/ui/messageTray.js:1656
#: ../js/ui/messageTray.js:1662
msgid "Notification Settings"
msgstr "Pengaturan Pemberitahuan"
#: ../js/ui/messageTray.js:1709
#: ../js/ui/messageTray.js:1715
msgid "Tray Menu"
msgstr "Menu Baki"
#: ../js/ui/messageTray.js:1926
#: ../js/ui/messageTray.js:1939
msgid "No Messages"
msgstr "Tiada Pesan"
#: ../js/ui/messageTray.js:1968
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Baki Pesan"
#: ../js/ui/messageTray.js:2971
msgid "System Information"
msgstr "Informasi Sistem"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
msgctxt "program"
msgid "Unknown"
msgstr "Tak dikenal"
#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d pesan baru"
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Informasi Sistem"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
msgctxt "program"
msgid "Unknown"
msgstr "Tak dikenal"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Batal"
@ -1266,17 +1271,17 @@ msgstr "Gambaran"
msgid "Type to search…"
msgstr "Ketik untuk mencari…"
#: ../js/ui/panel.js:515
#: ../js/ui/panel.js:521
msgid "Quit"
msgstr "Keluar"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:573
msgid "Activities"
msgstr "Aktivitas"
#: ../js/ui/panel.js:918
#: ../js/ui/panel.js:924
msgid "Top Bar"
msgstr "Bar Atas"
@ -1303,33 +1308,33 @@ msgstr "Memulai ulang..."
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/screenShield.js:153
#: ../js/ui/screenShield.js:154
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru"
#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345
msgid "Lock"
msgstr "Kunci"
#: ../js/ui/screenShield.js:706
#: ../js/ui/screenShield.js:709
msgid "GNOME needs to lock the screen"
msgstr "GNOME perlu mengunci layar"
#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312
msgid "Unable to lock"
msgstr "Tak bisa mengunci"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305
#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi"
#: ../js/ui/search.js:594
#: ../js/ui/search.js:611
msgid "Searching…"
msgstr "Mencari…"
#: ../js/ui/search.js:596
#: ../js/ui/search.js:613
msgid "No results."
msgstr "Tak ada yang cocok."
@ -1406,9 +1411,9 @@ msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:360 ../js/ui/status/network.js:1281
#: ../js/ui/status/network.js:1392 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/rfkill.js:114
#: ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282
#: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91
#: ../js/ui/status/rfkill.js:118
msgid "Turn Off"
msgstr "Matikan"
@ -1422,7 +1427,7 @@ msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d Perangkat Tersambung"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1309
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310
msgid "Not Connected"
msgstr "Tak Tersambung"
@ -1430,7 +1435,7 @@ msgstr "Tak Tersambung"
msgid "Brightness"
msgstr "Kecerahan"
#: ../js/ui/status/keyboard.js:547
#: ../js/ui/status/keyboard.js:563
msgid "Show Keyboard Layout"
msgstr "Tampilkan Tata Letak Papan Tik"
@ -1458,8 +1463,8 @@ msgstr "Fungsikan"
msgid "<unknown>"
msgstr "<tak dikenal>"
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1511
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
#: ../js/ui/status/network.js:1512
msgid "Off"
msgstr "Mati"
@ -1477,7 +1482,7 @@ msgstr "Tak Dikelola"
msgid "Disconnecting"
msgstr "Memutus"
#: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1301
#: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1302
msgid "Connecting"
msgstr "Menyambung"
@ -1498,7 +1503,7 @@ msgstr "Firmware hilang"
msgid "Unavailable"
msgstr "Tak tersedia"
#: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1695
#: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1696
msgid "Connection failed"
msgstr "Koneksi gagal"
@ -1510,7 +1515,7 @@ msgstr "Pengaturan Kabel"
msgid "Mobile Broadband Settings"
msgstr "Pengaturan Data Seluler"
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1306
msgid "Hardware Disabled"
msgstr "Perangkat Keras Dinonaktifkan"
@ -1550,60 +1555,60 @@ msgstr "Jaringan Wi-Fi"
msgid "Select a network"
msgstr "Pilih jaringan"
#: ../js/ui/status/network.js:882
#: ../js/ui/status/network.js:883
msgid "No Networks"
msgstr "Tiada Jaringan"
#: ../js/ui/status/network.js:903 ../js/ui/status/rfkill.js:112
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116
msgid "Use hardware switch to turn off"
msgstr "Pakai saklar perangkat keras untuk mematikan"
#: ../js/ui/status/network.js:1173
#: ../js/ui/status/network.js:1174
msgid "Select Network"
msgstr "Pilih Jaringan"
#: ../js/ui/status/network.js:1179
#: ../js/ui/status/network.js:1180
msgid "Wi-Fi Settings"
msgstr "Pengaturan Wi-Fi"
#: ../js/ui/status/network.js:1281
#: ../js/ui/status/network.js:1282
msgid "Turn On"
msgstr "Nyalakan"
#: ../js/ui/status/network.js:1298
#: ../js/ui/status/network.js:1299
msgid "Hotspot Active"
msgstr "Hotspot Aktif"
#: ../js/ui/status/network.js:1409
#: ../js/ui/status/network.js:1410
msgid "connecting..."
msgstr "menghubungi..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1412
#: ../js/ui/status/network.js:1413
msgid "authentication required"
msgstr "diperlukan otentikasi"
#: ../js/ui/status/network.js:1414
#: ../js/ui/status/network.js:1415
msgid "connection failed"
msgstr "koneksi gagal"
#: ../js/ui/status/network.js:1480 ../js/ui/status/rfkill.js:89
#: ../js/ui/status/network.js:1481 ../js/ui/status/rfkill.js:94
msgid "Network Settings"
msgstr "Pengaturan Jaringan"
#: ../js/ui/status/network.js:1482
#: ../js/ui/status/network.js:1483
msgid "VPN Settings"
msgstr "Pengaturan VPN"
#: ../js/ui/status/network.js:1501
#: ../js/ui/status/network.js:1502
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1656
#: ../js/ui/status/network.js:1657
msgid "Network Manager"
msgstr "Manajer Jaringan"
#: ../js/ui/status/network.js:1696
#: ../js/ui/status/network.js:1697
msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal"
@ -1637,11 +1642,11 @@ msgstr "UPS"
msgid "Battery"
msgstr "Baterai"
#: ../js/ui/status/rfkill.js:83
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode"
msgstr "Mode Pesawat Terbang"
#: ../js/ui/status/rfkill.js:85
#: ../js/ui/status/rfkill.js:90
msgid "On"
msgstr "Nyala"
@ -1685,11 +1690,11 @@ msgstr "Masuk sebagai pengguna lain"
msgid "Unlock Window"
msgstr "Buka Kunci Jendela"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Aplikasi"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Cari"
@ -1799,7 +1804,7 @@ msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
msgid "List possible modes"
msgstr "Menampilkan mode yang mungkin"
#: ../src/shell-app.c:666
#: ../src/shell-app.c:680
#, c-format
msgid "Failed to launch “%s”"
msgstr "Gagal meluncurkan \"%s\""

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.15.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-11-16 12:28+0100\n"
"PO-Revision-Date: 2014-11-16 12:29+0100\n"
"POT-Creation-Date: 2014-12-31 00:46+0100\n"
"PO-Revision-Date: 2014-12-31 00:46+0100\n"
"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: Norwegian bokmål\n"
@ -327,20 +327,20 @@ msgctxt "button"
msgid "Sign In"
msgstr "Logg inn"
#: ../js/gdm/loginDialog.js:275
#: ../js/gdm/loginDialog.js:276
msgid "Choose Session"
msgstr "Velg økt"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:434
#: ../js/gdm/loginDialog.js:428
msgid "Not listed?"
msgstr "Ikke listet?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:619
#: ../js/gdm/loginDialog.js:814
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(f.eks. bruker eller %s)"
@ -348,12 +348,12 @@ msgstr "(f.eks. bruker eller %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Brukernavn: "
#: ../js/gdm/loginDialog.js:953
#: ../js/gdm/loginDialog.js:1151
msgid "Login Window"
msgstr "Innloggingsvindu"
@ -429,7 +429,7 @@ msgstr "%s ble lagt til i dine favoritter."
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra dine favoritter."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
#: ../js/ui/status/system.js:337
msgid "Settings"
msgstr "Innstillinger"
@ -472,43 +472,43 @@ msgstr "%H.%M"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:115
#: ../js/ui/calendar.js:98
msgctxt "grid sunday"
msgid "S"
msgstr "S"
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:117
#: ../js/ui/calendar.js:100
msgctxt "grid monday"
msgid "M"
msgstr "M"
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:119
#: ../js/ui/calendar.js:102
msgctxt "grid tuesday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:121
#: ../js/ui/calendar.js:104
msgctxt "grid wednesday"
msgid "W"
msgstr "O"
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:123
#: ../js/ui/calendar.js:106
msgctxt "grid thursday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:125
#: ../js/ui/calendar.js:108
msgctxt "grid friday"
msgid "F"
msgstr "F"
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:127
#: ../js/ui/calendar.js:110
msgctxt "grid saturday"
msgid "S"
msgstr "L"
@ -519,83 +519,83 @@ msgstr "L"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#.
#: ../js/ui/calendar.js:140
#: ../js/ui/calendar.js:123
msgctxt "list sunday"
msgid "Su"
msgstr "Sø"
#. Translators: Event list abbreviation for Monday
#: ../js/ui/calendar.js:142
#: ../js/ui/calendar.js:125
msgctxt "list monday"
msgid "M"
msgstr "Ma"
#. Translators: Event list abbreviation for Tuesday
#: ../js/ui/calendar.js:144
#: ../js/ui/calendar.js:127
msgctxt "list tuesday"
msgid "T"
msgstr "Ti"
#. Translators: Event list abbreviation for Wednesday
#: ../js/ui/calendar.js:146
#: ../js/ui/calendar.js:129
msgctxt "list wednesday"
msgid "W"
msgstr "On"
#. Translators: Event list abbreviation for Thursday
#: ../js/ui/calendar.js:148
#: ../js/ui/calendar.js:131
msgctxt "list thursday"
msgid "Th"
msgstr "To"
#. Translators: Event list abbreviation for Friday
#: ../js/ui/calendar.js:150
#: ../js/ui/calendar.js:133
msgctxt "list friday"
msgid "F"
msgstr "Fr"
#. Translators: Event list abbreviation for Saturday
#: ../js/ui/calendar.js:152
#: ../js/ui/calendar.js:135
msgctxt "list saturday"
msgid "S"
msgstr "Lø"
#: ../js/ui/calendar.js:461
#: ../js/ui/calendar.js:460
msgid "Previous month"
msgstr "Forrige måned"
#: ../js/ui/calendar.js:471
#: ../js/ui/calendar.js:470
msgid "Next month"
msgstr "Neste måned"
#. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:806
#: ../js/ui/calendar.js:805
msgid "Nothing Scheduled"
msgstr "Ingenting planlagt"
#: ../js/ui/calendar.js:825
#: ../js/ui/calendar.js:824
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %B %d"
#: ../js/ui/calendar.js:829
#: ../js/ui/calendar.js:828
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:841
#: ../js/ui/calendar.js:840
msgid "Today"
msgstr "I dag"
#: ../js/ui/calendar.js:845
#: ../js/ui/calendar.js:844
msgid "Tomorrow"
msgstr "I morgen"
#: ../js/ui/calendar.js:856
#: ../js/ui/calendar.js:855
msgid "This week"
msgstr "Denne uka"
#: ../js/ui/calendar.js:864
#: ../js/ui/calendar.js:863
msgid "Next week"
msgstr "Neste uke"
@ -1010,7 +1010,7 @@ msgstr "Vis konto"
msgid "Unknown reason"
msgstr "Ukjent årsak"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Vinduer"
@ -1268,11 +1268,11 @@ msgstr "Meny for varslingsområde"
msgid "No Messages"
msgstr "Ingen meldinger"
#: ../js/ui/messageTray.js:1984
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Meldingstrau"
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:152
#, javascript-format
msgid "%d new message"
@ -1280,11 +1280,11 @@ msgid_plural "%d new messages"
msgstr[0] "%d ny melding"
msgstr[1] "%d nye meldinger"
#: ../js/ui/messageTray.js:3011
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Systeminformasjon"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
msgctxt "program"
msgid "Unknown"
msgstr "Ukjent"
@ -1305,17 +1305,17 @@ msgstr "Oversikt"
msgid "Type to search…"
msgstr "Skriv for å søke …"
#: ../js/ui/panel.js:515
#: ../js/ui/panel.js:521
msgid "Quit"
msgstr "Avslutt"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:573
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/panel.js:918
#: ../js/ui/panel.js:924
msgid "Top Bar"
msgstr "Topp-panel"
@ -1746,11 +1746,11 @@ msgstr "Logg inn som en annen bruker"
msgid "Unlock Window"
msgstr "Lås opp vindu"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Programmer"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Søk"
@ -1781,6 +1781,13 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Endringer i innstillingene vil forkastes om %d sekund"
msgstr[1] "Endringer i innstillingene vil forkastes om %d sekunder"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:599
#, javascript-format
msgid "%d x %d"
msgstr "%d x %d"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimer"
@ -1863,7 +1870,7 @@ msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
msgid "List possible modes"
msgstr "Vis mulige modi"
#: ../src/shell-app.c:666
#: ../src/shell-app.c:680
#, c-format
msgid "Failed to launch “%s”"
msgstr "Klarte ikke å starte «%s»"

File diff suppressed because it is too large Load Diff

361
po/ru.po

File diff suppressed because it is too large Load Diff

166
po/sl.po
View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-09-13 16:14+0000\n"
"PO-Revision-Date: 2014-09-13 21:02+0100\n"
"POT-Creation-Date: 2014-12-19 16:26+0000\n"
"PO-Revision-Date: 2014-12-25 19:18+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: Slovenian\n"
@ -125,11 +125,11 @@ msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "App Picker View"
msgstr ""
msgstr "Pogled izbirnika programov"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
msgid "Index of the currently selected view in the application picker."
msgstr ""
msgstr "Kazalo trenutno izbranega pogleda v izbirniku programa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
msgid "History for command (Alt-F2) dialog"
@ -224,6 +224,8 @@ msgstr "Tipkovna bližnjica za prikaz dejavnega obvestila."
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Tipkovna bližnjica, ki omogoča ustavljanje in ponovni zagon vseh zagnanih "
"programov za razhroščevanje."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Which keyboard to use"
@ -242,6 +244,9 @@ msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
msgstr ""
"Izbrana možnost določa, da bodo v trenutnem pogledu prikazana le okna, ki so "
"v izbrani delovni površini v preklopniku. V nasprotnem primeru so prikazana "
"vsa okna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The application icon mode."
@ -262,6 +267,8 @@ msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
msgstr ""
"Izbrana možnost določa, da bodo v trenutnem pogledu prikazana le okna v "
"preklopniku. V nasprotnem primeru so prikazana vsa okna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Attach modal dialog to the parent window"
@ -293,7 +300,7 @@ msgstr ""
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
msgid "Captive Portal"
msgstr ""
msgstr "Združen pogled"
#: ../js/extensionPrefs/main.js:123
#, javascript-format
@ -304,54 +311,54 @@ msgstr "Prišlo je do napake med nalaganjem pogovornega okna z možnosti za %s:"
msgid "GNOME Shell Extensions"
msgstr "Razširitve lupine Gnome"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143
#: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:143
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:915
msgid "Cancel"
msgstr "Prekliči"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
#: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
msgid "Next"
msgstr "Naslednji"
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Odkleni"
#: ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:214
msgctxt "button"
msgid "Sign In"
msgstr "Prijava"
#: ../js/gdm/loginDialog.js:269
#: ../js/gdm/loginDialog.js:275
msgid "Choose Session"
msgstr "Izbor seje"
#: ../js/gdm/loginDialog.js:429
#: ../js/gdm/loginDialog.js:434
msgid "Not listed?"
msgstr "Ali je ni na seznamu?"
#: ../js/gdm/loginDialog.js:614
#: ../js/gdm/loginDialog.js:619
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(na primer, uporabnika ali %s)"
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
#: ../js/ui/components/networkAgent.js:287
msgid "Username: "
msgstr "Uporabniško ime: "
#: ../js/gdm/loginDialog.js:922
#: ../js/gdm/loginDialog.js:955
msgid "Login Window"
msgstr "Prijavno okno"
#: ../js/gdm/util.js:323
#: ../js/gdm/util.js:341
msgid "Authentication error"
msgstr "Napaka overitve"
#: ../js/gdm/util.js:453
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(ali pa povlecite prst)"
@ -384,28 +391,28 @@ msgstr "Pogosto"
msgid "All"
msgstr "Vse"
#: ../js/ui/appDisplay.js:1789
#: ../js/ui/appDisplay.js:1791
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285
#: ../js/ui/appDisplay.js:1817 ../js/ui/dash.js:285
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:1821
#: ../js/ui/appDisplay.js:1823
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../js/ui/appDisplay.js:1830
#: ../js/ui/appDisplay.js:1832
msgid "Show Details"
msgstr "Pokaži besedilo"
#: ../js/ui/appFavorites.js:124
#: ../js/ui/appFavorites.js:132
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "Program \"%s\" je dodan med priljubljeno."
#: ../js/ui/appFavorites.js:158
#: ../js/ui/appFavorites.js:166
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "Program \"%s\" je odstranjen iz priljubljenih."
@ -422,14 +429,14 @@ msgstr "Spremeni ozadje ..."
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#: ../js/ui/calendar.js:67
#: ../js/ui/calendar.js:70
msgctxt "event list time"
msgid "All Day"
msgstr "Celodnevno"
#. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:73
#: ../js/ui/calendar.js:77
msgctxt "event list time"
msgid "%H%M"
msgstr "%H%M"
@ -437,7 +444,7 @@ msgstr "%H%M"
#. Translators: Shown in calendar event list, if 12h format,
#. \u2236 is a ratio character, similar to : and \u2009 is
#. a thin space */
#: ../js/ui/calendar.js:82
#: ../js/ui/calendar.js:86
msgctxt "event list time"
msgid "%l%M%p"
msgstr "%l%M%p"
@ -447,43 +454,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#: ../js/ui/calendar.js:113
#: ../js/ui/calendar.js:100
msgctxt "grid sunday"
msgid "S"
msgstr "N"
#. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:115
#: ../js/ui/calendar.js:102
msgctxt "grid monday"
msgid "M"
msgstr "P"
#. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:117
#: ../js/ui/calendar.js:104
msgctxt "grid tuesday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:119
#: ../js/ui/calendar.js:106
msgctxt "grid wednesday"
msgid "W"
msgstr "S"
#. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:121
#: ../js/ui/calendar.js:108
msgctxt "grid thursday"
msgid "T"
msgstr "Č"
#. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:123
#: ../js/ui/calendar.js:110
msgctxt "grid friday"
msgid "F"
msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:125
#: ../js/ui/calendar.js:112
msgctxt "grid saturday"
msgid "S"
msgstr "S"
@ -494,85 +501,85 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#. */
#: ../js/ui/calendar.js:138
#: ../js/ui/calendar.js:125
msgctxt "list sunday"
msgid "Su"
msgstr "Ne"
#. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:140
#: ../js/ui/calendar.js:127
msgctxt "list monday"
msgid "M"
msgstr "P"
#. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:142
#: ../js/ui/calendar.js:129
msgctxt "list tuesday"
msgid "T"
msgstr "T"
#. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:144
#: ../js/ui/calendar.js:131
msgctxt "list wednesday"
msgid "W"
msgstr "S"
#. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:146
#: ../js/ui/calendar.js:133
msgctxt "list thursday"
msgid "Th"
msgstr "Če"
#. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:148
#: ../js/ui/calendar.js:135
msgctxt "list friday"
msgid "F"
msgstr "Pe"
#. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:150
#: ../js/ui/calendar.js:137
msgctxt "list saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:453
#: ../js/ui/calendar.js:462
msgid "Previous month"
msgstr "Predhodni mesec"
#: ../js/ui/calendar.js:463
#: ../js/ui/calendar.js:472
msgid "Next month"
msgstr "Naslednji mesec"
#. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:781
#: ../js/ui/calendar.js:810
msgid "Nothing Scheduled"
msgstr "Nič ni razporejeno"
#. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:799
#: ../js/ui/calendar.js:826
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d. %m."
#. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:802
#: ../js/ui/calendar.js:829
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y"
#: ../js/ui/calendar.js:813
#: ../js/ui/calendar.js:839
msgid "Today"
msgstr "Danes"
#: ../js/ui/calendar.js:817
#: ../js/ui/calendar.js:843
msgid "Tomorrow"
msgstr "Jutri"
#: ../js/ui/calendar.js:828
#: ../js/ui/calendar.js:854
msgid "This week"
msgstr "Ta teden"
#: ../js/ui/calendar.js:836
#: ../js/ui/calendar.js:862
msgid "Next week"
msgstr "Naslednji teden"
@ -972,7 +979,7 @@ msgstr "Poglej račun"
msgid "Unknown reason"
msgstr "Neznan vzrok"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
msgid "Windows"
msgstr "Okna"
@ -984,22 +991,22 @@ msgstr "Pokaži programe"
msgid "Dash"
msgstr "Pregledna plošča"
#: ../js/ui/dateMenu.js:96
#: ../js/ui/dateMenu.js:97
msgid "Open Calendar"
msgstr "Odpri koledar"
#: ../js/ui/dateMenu.js:100
#: ../js/ui/dateMenu.js:101
msgid "Open Clocks"
msgstr "Odpri ure"
#: ../js/ui/dateMenu.js:107
#: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings"
msgstr "Nastavitve časa in datuma"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#: ../js/ui/dateMenu.js:204
#: ../js/ui/dateMenu.js:132
msgid "%A %B %e, %Y"
msgstr "%a, %e. %b., %R"
@ -1155,7 +1162,7 @@ msgstr "Namesti"
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Prejmi in namesti “%s” preko povezave na extensions.gnome.org?"
#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523
#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535
msgid "Keyboard"
msgstr "Tipkovnica"
@ -1211,48 +1218,40 @@ msgstr "Poglej vir"
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/messageTray.js:1326
#: ../js/ui/messageTray.js:1332
msgid "Open"
msgstr "Odpri"
#: ../js/ui/messageTray.js:1333
#: ../js/ui/messageTray.js:1339
msgid "Remove"
msgstr "Odstrani"
#: ../js/ui/messageTray.js:1630
#: ../js/ui/messageTray.js:1636
msgid "Notifications"
msgstr "Obvestila"
#: ../js/ui/messageTray.js:1637
#: ../js/ui/messageTray.js:1643
msgid "Clear Messages"
msgstr "Počisti sporočila"
#: ../js/ui/messageTray.js:1656
#: ../js/ui/messageTray.js:1662
msgid "Notification Settings"
msgstr "Nastavitve obvestil"
#: ../js/ui/messageTray.js:1709
#: ../js/ui/messageTray.js:1715
msgid "Tray Menu"
msgstr "Meni sistemske vrstice"
#: ../js/ui/messageTray.js:1926
#: ../js/ui/messageTray.js:1939
msgid "No Messages"
msgstr "Ni sporočil"
#: ../js/ui/messageTray.js:1968
#: ../js/ui/messageTray.js:1986
msgid "Message Tray"
msgstr "Sporočilna vrstica"
#: ../js/ui/messageTray.js:2971
msgid "System Information"
msgstr "Podrobnosti sistema"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
msgctxt "program"
msgid "Unknown"
msgstr "Neznano"
#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
#: ../js/ui/screenShield.js:151
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1261,6 +1260,15 @@ msgstr[1] "%d novo sporočilo"
msgstr[2] "%d novi sporočili"
msgstr[3] "%d nova sporočila"
#: ../js/ui/messageTray.js:3013
msgid "System Information"
msgstr "Podrobnosti sistema"
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
msgctxt "program"
msgid "Unknown"
msgstr "Neznano"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Razveljavi"
@ -1330,19 +1338,19 @@ msgstr "Zakleni"
msgid "GNOME needs to lock the screen"
msgstr "Zakleniti je treba zaslon"
#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304
#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1309
msgid "Unable to lock"
msgstr "Zaklep ni mogoč"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1310
msgid "Lock was blocked by an application"
msgstr "Zaklep je preprečil program"
#: ../js/ui/search.js:594
#: ../js/ui/search.js:611
msgid "Searching…"
msgstr "Iskanje ..."
#: ../js/ui/search.js:596
#: ../js/ui/search.js:613
msgid "No results."
msgstr "Ni najdenih zadetkov."
@ -1446,7 +1454,7 @@ msgstr "Ni vzpostavljene povezave"
msgid "Brightness"
msgstr "Svetlost"
#: ../js/ui/status/keyboard.js:547
#: ../js/ui/status/keyboard.js:559
msgid "Show Keyboard Layout"
msgstr "Pokaži razporeditev tipkovnice"
@ -1701,11 +1709,11 @@ msgstr "Prijava kot drug uporabnik"
msgid "Unlock Window"
msgstr "Odkleni okno"
#: ../js/ui/viewSelector.js:158
#: ../js/ui/viewSelector.js:159
msgid "Applications"
msgstr "Programi"
#: ../js/ui/viewSelector.js:162
#: ../js/ui/viewSelector.js:163
msgid "Search"
msgstr "Poišči"

View File

@ -189,9 +189,9 @@ window_backed_app_get_icon (ShellApp *app,
}
window = window_backed_app_get_window (app);
actor = st_texture_cache_bind_pixbuf_property (st_texture_cache_get_default (),
G_OBJECT (window),
"icon");
actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
G_OBJECT (window),
"icon");
g_object_set (actor, "width", (float) size, "height", (float) size, NULL);
return actor;
}
@ -1300,24 +1300,6 @@ shell_app_request_quit (ShellApp *app)
return TRUE;
}
static void
_gather_pid_callback (GDesktopAppInfo *gapp,
GPid pid,
gpointer data)
{
ShellApp *app;
ShellWindowTracker *tracker;
g_return_if_fail (data != NULL);
app = SHELL_APP (data);
tracker = shell_window_tracker_get_default ();
_shell_window_tracker_add_child_process_app (tracker,
pid,
app);
}
#ifdef HAVE_SYSTEMD
/* This sets up the launched application to log to the journal
* using its own identifier, instead of just "gnome-session".
@ -1369,13 +1351,13 @@ shell_app_launch (ShellApp *app,
ret = g_desktop_app_info_launch_uris_as_manager (app->info, NULL,
context,
G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
G_SPAWN_SEARCH_PATH,
#ifdef HAVE_SYSTEMD
app_child_setup, (gpointer)shell_app_get_id (app),
#else
NULL, NULL,
#endif
_gather_pid_callback, app,
NULL, NULL,
error);
g_object_unref (context);

View File

@ -156,7 +156,7 @@ G_DEFINE_TYPE(ShellRecorder, shell_recorder, G_TYPE_OBJECT);
* (Theora does have some support for frames at non-uniform times, but
* things seem to break down if there are large gaps.)
*/
#define DEFAULT_PIPELINE "vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
#define DEFAULT_PIPELINE "vp9enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
/* If we can find the amount of memory on the machine, we use half
* of that for memory_target, otherwise, we use this value, in kB.
@ -437,14 +437,14 @@ recorder_record_frame (ShellRecorder *recorder)
size = recorder->area.width * recorder->area.height * 4;
data = g_malloc (recorder->area.width * 4 * recorder->area.height);
cogl_read_pixels (recorder->area.x,
recorder->area.y,
recorder->area.width,
recorder->area.height,
COGL_READ_PIXELS_COLOR_BUFFER,
CLUTTER_CAIRO_FORMAT_ARGB32,
data);
data = g_malloc (size);
cogl_framebuffer_read_pixels (cogl_get_draw_framebuffer (),
recorder->area.x,
recorder->area.y,
recorder->area.width,
recorder->area.height,
CLUTTER_CAIRO_FORMAT_ARGB32,
data);
buffer = gst_buffer_new();
gst_buffer_insert_memory (buffer, -1,
@ -1261,7 +1261,7 @@ recorder_pipeline_closed (RecorderPipeline *pipeline)
/*
* Replaces '%T' in the passed pipeline with the thread count,
* the maximum possible value is 64 (limit of what vp8enc supports)
* the maximum possible value is 64 (limit of what vp9enc supports)
*
* It is assumes that %T occurs only once.
*/
@ -1291,7 +1291,7 @@ substitute_thread_count (const char *pipeline)
g_string_append_printf (result, "%d", n_threads);
g_string_append (result, tmp + 2);
return g_string_free (result, FALSE);;
return g_string_free (result, FALSE);
}
static gboolean
@ -1303,7 +1303,7 @@ recorder_open_pipeline (ShellRecorder *recorder)
GError *error = NULL;
GstBus *bus;
pipeline = g_new0(RecorderPipeline, 1);
pipeline = g_new0 (RecorderPipeline, 1);
pipeline->recorder = g_object_ref (recorder);
pipeline->outfile = - 1;
@ -1459,7 +1459,7 @@ shell_recorder_set_draw_cursor (ShellRecorder *recorder,
* might be used to send the output to an icecast server
* via shout2send or similar.
*
* The default value is 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'
* The default value is 'vp9enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'
*/
void
shell_recorder_set_pipeline (ShellRecorder *recorder,

View File

@ -37,6 +37,7 @@ struct _ShellScreenshotPrivate
cairo_rectangle_int_t screenshot_area;
gboolean include_cursor;
gboolean include_frame;
ShellScreenshotCallback callback;
};
@ -73,6 +74,8 @@ on_screenshot_written (GObject *source,
g_clear_pointer (&priv->image, cairo_surface_destroy);
g_clear_pointer (&priv->filename, g_free);
g_clear_pointer (&priv->filename_used, g_free);
meta_enable_unredirect_for_screen (shell_global_get_screen (priv->global));
}
/* called in an I/O thread */
@ -407,6 +410,56 @@ grab_area_screenshot (ClutterActor *stage,
g_object_unref (result);
}
static void
grab_window_screenshot (ClutterActor *stage,
ShellScreenshot *screenshot)
{
ShellScreenshotPrivate *priv = screenshot->priv;
GSimpleAsyncResult *result;
GSettings *settings;
MetaScreen *screen = shell_global_get_screen (priv->global);
MetaCursorTracker *tracker;
MetaDisplay *display = meta_screen_get_display (screen);
MetaWindow *window = meta_display_get_focus_window (display);
ClutterActor *window_actor;
gfloat actor_x, actor_y;
MetaShapedTexture *stex;
MetaRectangle rect;
cairo_rectangle_int_t clip;
window_actor = CLUTTER_ACTOR (meta_window_get_compositor_private (window));
clutter_actor_get_position (window_actor, &actor_x, &actor_y);
meta_window_get_frame_rect (window, &rect);
if (!priv->include_frame)
meta_window_frame_rect_to_client_rect (window, &rect, &rect);
priv->screenshot_area.x = rect.x;
priv->screenshot_area.y = rect.y;
clip.x = rect.x - (gint) actor_x;
clip.y = rect.y - (gint) actor_y;
clip.width = priv->screenshot_area.width = rect.width;
clip.height = priv->screenshot_area.height = rect.height;
stex = META_SHAPED_TEXTURE (meta_window_actor_get_texture (META_WINDOW_ACTOR (window_actor)));
priv->image = meta_shaped_texture_get_image (stex, &clip);
settings = g_settings_new (A11Y_APPS_SCHEMA);
if (priv->include_cursor && !g_settings_get_boolean (settings, MAGNIFIER_ACTIVE_KEY))
{
tracker = meta_cursor_tracker_get_for_screen (screen);
_draw_cursor_image (tracker, priv->image, priv->screenshot_area);
}
g_object_unref (settings);
g_signal_handlers_disconnect_by_func (stage, (void *)grab_window_screenshot, (gpointer)screenshot);
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, grab_window_screenshot);
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
g_object_unref (result);
}
/**
* shell_screenshot_screenshot:
* @screenshot: the #ShellScreenshot
@ -440,6 +493,8 @@ shell_screenshot_screenshot (ShellScreenshot *screenshot,
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
meta_disable_unredirect_for_screen (shell_global_get_screen (priv->global));
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_screenshot), (gpointer)screenshot);
clutter_actor_queue_redraw (stage);
@ -487,6 +542,8 @@ shell_screenshot_screenshot_area (ShellScreenshot *screenshot,
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
meta_disable_unredirect_for_screen (shell_global_get_screen (shell_global_get ()));
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_area_screenshot), (gpointer)screenshot);
clutter_actor_queue_redraw (stage);
@ -512,19 +569,11 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
const char *filename,
ShellScreenshotCallback callback)
{
GSimpleAsyncResult *result;
GSettings *settings;
ShellScreenshotPrivate *priv = screenshot->priv;
MetaScreen *screen = shell_global_get_screen (priv->global);
MetaCursorTracker *tracker;
ClutterActor *stage;
MetaDisplay *display = meta_screen_get_display (screen);
MetaWindow *window = meta_display_get_focus_window (display);
ClutterActor *window_actor;
gfloat actor_x, actor_y;
MetaShapedTexture *stex;
MetaRectangle rect;
cairo_rectangle_int_t clip;
if (priv->filename != NULL || !window) {
if (callback)
@ -534,37 +583,16 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
priv->filename = g_strdup (filename);
priv->callback = callback;
priv->include_frame = include_frame;
priv->include_cursor = include_cursor;
window_actor = CLUTTER_ACTOR (meta_window_get_compositor_private (window));
clutter_actor_get_position (window_actor, &actor_x, &actor_y);
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
meta_window_get_frame_rect (window, &rect);
meta_disable_unredirect_for_screen (shell_global_get_screen (shell_global_get ()));
if (!include_frame)
meta_window_frame_rect_to_client_rect (window, &rect, &rect);
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_window_screenshot), (gpointer)screenshot);
priv->screenshot_area.x = rect.x;
priv->screenshot_area.y = rect.y;
clip.x = rect.x - (gint) actor_x;
clip.y = rect.y - (gint) actor_y;
clip.width = priv->screenshot_area.width = rect.width;
clip.height = priv->screenshot_area.height = rect.height;
stex = META_SHAPED_TEXTURE (meta_window_actor_get_texture (META_WINDOW_ACTOR (window_actor)));
priv->image = meta_shaped_texture_get_image (stex, &clip);
settings = g_settings_new (A11Y_APPS_SCHEMA);
if (include_cursor && !g_settings_get_boolean (settings, MAGNIFIER_ACTIVE_KEY))
{
tracker = meta_cursor_tracker_get_for_screen (screen);
_draw_cursor_image (tracker, priv->image, priv->screenshot_area);
}
g_object_unref (settings);
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, shell_screenshot_screenshot_window);
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
g_object_unref (result);
clutter_actor_queue_redraw (stage);
}
ShellScreenshot *

View File

@ -10,7 +10,6 @@
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk/gdkx.h>
#include <X11/extensions/XTest.h>
#include <locale.h>
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY

View File

@ -47,9 +47,6 @@ struct _ShellWindowTracker
/* <MetaWindow * window, ShellApp *app> */
GHashTable *window_to_app;
/* <int, ShellApp *app> */
GHashTable *launched_pid_to_app;
};
G_DEFINE_TYPE (ShellWindowTracker, shell_window_tracker, G_TYPE_OBJECT);
@ -293,7 +290,7 @@ get_app_from_window_group (ShellWindowTracker *tracker,
* @window: a #MetaWindow
*
* Check if the pid associated with @window corresponds to an
* application we launched.
* application.
*
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
*/
@ -312,7 +309,7 @@ get_app_from_window_pid (ShellWindowTracker *tracker,
if (pid == -1)
return NULL;
result = g_hash_table_lookup (tracker->launched_pid_to_app, GINT_TO_POINTER (pid));
result = shell_window_tracker_get_app_from_pid (tracker, pid);
if (result != NULL)
g_object_ref (result);
@ -631,8 +628,6 @@ shell_window_tracker_init (ShellWindowTracker *self)
self->window_to_app = g_hash_table_new_full (g_direct_hash, g_direct_equal,
NULL, (GDestroyNotify) g_object_unref);
self->launched_pid_to_app = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_object_unref);
screen = shell_global_get_screen (shell_global_get ());
g_signal_connect (G_OBJECT (screen), "startup-sequence-changed",
@ -648,7 +643,6 @@ shell_window_tracker_finalize (GObject *object)
ShellWindowTracker *self = SHELL_WINDOW_TRACKER (object);
g_hash_table_destroy (self->window_to_app);
g_hash_table_destroy (self->launched_pid_to_app);
G_OBJECT_CLASS (shell_window_tracker_parent_class)->finalize(object);
}
@ -717,40 +711,6 @@ shell_window_tracker_get_app_from_pid (ShellWindowTracker *tracker,
return result;
}
static void
on_child_exited (GPid pid,
gint status,
gpointer unused_data)
{
ShellWindowTracker *tracker;
tracker = shell_window_tracker_get_default ();
g_hash_table_remove (tracker->launched_pid_to_app, GINT_TO_POINTER((gint)pid));
}
void
_shell_window_tracker_add_child_process_app (ShellWindowTracker *tracker,
GPid pid,
ShellApp *app)
{
gpointer pid_ptr = GINT_TO_POINTER((int)pid);
if (g_hash_table_lookup (tracker->launched_pid_to_app,
&pid_ptr))
return;
g_hash_table_insert (tracker->launched_pid_to_app,
pid_ptr,
g_object_ref (app));
g_child_watch_add (pid, on_child_exited, NULL);
/* TODO: rescan unassociated windows
* Unlikely in practice that the launched app gets ahead of us
* enough to map an X window before we get scheduled after the fork(),
* but adding this note for future reference.
*/
}
static void
set_focus_app (ShellWindowTracker *tracker,
ShellApp *new_focus_app)

View File

@ -628,18 +628,26 @@ static void
st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
const char *propname)
{
GdkPixbuf *pixbuf;
cairo_surface_t *surface;
CoglTexture *texdata;
ClutterBackend *backend = clutter_get_default_backend ();
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
g_object_get (bind->source, propname, &pixbuf, NULL);
g_object_get (bind->source, propname, &surface, NULL);
g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
if (pixbuf != NULL)
if (surface != NULL &&
cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE &&
(cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32 ||
cairo_image_surface_get_format (surface) == CAIRO_FORMAT_RGB24))
{
texdata = pixbuf_to_cogl_texture (pixbuf);
g_object_unref (pixbuf);
texdata = COGL_TEXTURE (cogl_texture_2d_new_from_data (ctx,
cairo_image_surface_get_width (surface),
cairo_image_surface_get_height (surface),
cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32 ?
COGL_PIXEL_FORMAT_BGRA_8888 : COGL_PIXEL_FORMAT_BGR_888,
cairo_image_surface_get_stride (surface),
cairo_image_surface_get_data (surface),
NULL));
clutter_texture_set_cogl_texture (bind->texture, texdata);
cogl_object_unref (texdata);
@ -677,12 +685,12 @@ st_texture_cache_free_bind (gpointer data)
}
/**
* st_texture_cache_bind_pixbuf_property:
* st_texture_cache_bind_cairo_surface_property:
* @cache:
* @object: A #GObject with a property @property_name of type #GdkPixbuf
* @property_name: Name of a property
*
* Create a #ClutterTexture which tracks the #GdkPixbuf value of a GObject property
* Create a #ClutterTexture which tracks the #cairo_surface_t value of a GObject property
* named by @property_name. Unlike other methods in StTextureCache, the underlying
* #CoglTexture is not shared by default with other invocations to this method.
*
@ -692,9 +700,9 @@ st_texture_cache_free_bind (gpointer data)
* Return value: (transfer none): A new #ClutterActor
*/
ClutterActor *
st_texture_cache_bind_pixbuf_property (StTextureCache *cache,
GObject *object,
const char *property_name)
st_texture_cache_bind_cairo_surface_property (StTextureCache *cache,
GObject *object,
const char *property_name)
{
ClutterTexture *texture;
gchar *notify_key;

View File

@ -28,7 +28,6 @@
#include <gio/gio.h>
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <clutter/clutter.h>
#include <st/st-types.h>
@ -77,9 +76,9 @@ st_texture_cache_load_sliced_image (StTextureCache *cache,
GFunc load_callback,
gpointer user_data);
ClutterActor *st_texture_cache_bind_pixbuf_property (StTextureCache *cache,
GObject *object,
const char *property_name);
ClutterActor *st_texture_cache_bind_cairo_surface_property (StTextureCache *cache,
GObject *object,
const char *property_name);
ClutterActor *st_texture_cache_load_gicon (StTextureCache *cache,
StThemeNode *theme_node,