Compare commits

...

169 Commits

Author SHA1 Message Date
4a9ffb5e2f Bump version to 3.10.4
Update NEWS.
2014-02-19 20:09:53 +01:00
4d72af73c8 window-tracker: Be more cautious when setting focus app
Since we started tracking non-interesting windows, we can no longer
assume that if we manage to find an app associated with the focus window,
it should appear focused - we now can find apps for docks, the DESKTOP
window etc.
To restore the old behavior, make sure that the focus window or one of
its parents is "interesting".

https://bugzilla.gnome.org/show_bug.cgi?id=722928
2014-02-19 02:15:39 +01:00
cd40011e36 shell_global: Use correct agruments for in update_scale_factor
Otherwise we crash ...

https://bugzilla.gnome.org/show_bug.cgi?id=705410
2014-02-18 23:39:33 +01:00
9e05e87b5c hdpi: Revert hacks
Revert the hacks that where added in response to a bug caused by
commit ba459f4d20

https://bugzilla.gnome.org/show_bug.cgi?id=705410
2014-02-18 23:39:33 +01:00
03b46a5510 layout: Don't query the monitor size twice 2014-02-17 13:43:25 +01:00
e5c982351f layout: Protect against broken monitor size reports
VNC / XRDP reports nonsensial (i.e 0) monitor dimensions causing us to
end up with a dpi of "Infinity" and thus scale even though we shouldn't.

https://bugzilla.redhat.com/show_bug.cgi?id=1065788
2014-02-17 13:43:13 +01:00
470889f1c3 layout: Set high dpi scaling factor
Set the scaling factor when the dpi is above the hidpi threshold.

https://bugzilla.gnome.org/show_bug.cgi?id=705410
2014-02-15 13:17:40 +01:00
a6fb49b1e2 st: Add high dpi support
Add a scale_factor property to StThemeContext that can
be used to enable (integer) scaling of pixel values.

https://bugzilla.gnome.org/show_bug.cgi?id=705410
2014-02-15 13:17:23 +01:00
1e40de3779 Don't send all debug messages to Telepathy
The log handler can be invoked at bad times, and in particular
it can be invoked from gsignal with the signal lock taken.
At that time, calling into arbitrary high-level APIs can
cause a dead-lock.
Instead, only send to telepathy the tp-glib debug messages.
Everything else is in the journal anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=724256
2014-02-13 13:06:17 +01:00
a5370ce3bd shell-app: Don't crash when trying to dispose
If we dispose a ShellApp that has windows left, then we'll crash
when we remove the last window, as that frees and NULLs out
app->running_state.

https://bugzilla.gnome.org/show_bug.cgi?id=723197
2014-02-06 17:41:50 +01:00
312a749920 update translation for 3.10 branch 2014-02-01 17:13:27 -06:00
ae62bfa12d update Punjabi Translation for Branch 2014-02-01 16:56:19 -06:00
c5c3dd0997 shell-app: Track changes to MetaWindow:skip-taskbar
So far we have assumed that whether or not a window is interesting
is static. In general this is the case, but as it is legal for the
underlying properties to change at any time, there are of course
offenders that actually do this (flash I'm looking at ya).
While we used the property to determine whether a window should be
tracked or not, the worst case was showing windows that should be
hidden or missing windows that should be shown.
However as we nowadays base an app's running state on the number of
interesting windows, we need to be more careful in order to avoid
ending up with running apps with no windows.

https://bugzilla.gnome.org/show_bug.cgi?id=723308
2014-01-31 14:00:10 +01:00
64b31e9770 window-tracker: Use MetaWindow:skip-taskbar
The code from shell_window_tracker_is_window_interesting() is equivalent
of MetaWindow's skip-taskbar property, so use it to avoid code duplication.

https://bugzilla.gnome.org/show_bug.cgi?id=723308
2014-01-31 10:16:00 +01:00
75a5f1accb Fixed Russian translation 2014-01-28 22:15:47 +04:00
a6d0e89ecb shell-app: Unref running state when window count drops to zero
With the lastest ShellApp changes, an app is considered stopped
when the last "interesting" window is closed. However the app
may still track non-interesting windows, so if we unref the
running state on the state transition, we hit an assertion later-on
when trying to remove the non-interesting window.
Fix this by keeping the running state around until the last window
is closed.

https://bugzilla.gnome.org/show_bug.cgi?id=722840
2014-01-23 12:46:29 -05:00
a9d6cc921e Assamese translation updated 2014-01-23 19:08:39 +05:30
b84822b725 shell-app: Base running state on "interesting" windows
An app should be considered running if it has at least one "interesting"
window, however the code considers an app running if it has at least
one tracked window. This was fine while we were only tracking interesting
windows, but since commit d21aa0d85f this is no longer the case.
So keep track of the number of interesting windows as well and use that
to determine the running state.

https://bugzilla.gnome.org/show_bug.cgi?id=722690
2014-01-22 22:17:44 +01:00
b28ea8ac92 altTab: Always filter out items with no windows
When restricting the switcher popup to the current workspace, we
filter out running apps with an empty window list (namely: no open
windows on the current workspace). However we may end up with an
empty window list even when not restricting items to the current
workspace when all windows of a running app are associated with a
different application via the transient_for hint.
To fix this, just filter out items with an empty window list
unconditionally.

https://bugzilla.gnome.org/show_bug.cgi?id=722434
2014-01-22 13:59:25 -05:00
6b34937ead window-tracker: Always enable transient_for redirection
It is possible to associate an application's window with a different
application using the transient_for hint. However we currently only
consider the hint in get_window_app() and not when making the original
association, which opens the door to some confusing inconsistencies;
for instance, get_window_app() will not necessarily return the same
value for all windows retrieved via shell_app_get_windows().
Fix this by looking at the transient_for hint when making the original
association, not just in get_window_app().

https://bugzilla.gnome.org/show_bug.cgi?id=722434
2014-01-22 13:59:25 -05:00
1118cf1810 switcherPopup: Fix spacing calculation for empty lists
Without special-casing, our current spacing calculation results in
negative size requests for empty lists, which will trigger a Clutter
assert later.
While the list is never supposed to be empty, bugs happen; crashing
users' systems is the least graceful way of handling this, so don't
do it.

https://bugzilla.gnome.org/show_bug.cgi?id=722434
2014-01-22 13:59:25 -05:00
d981515b08 Notification: don't expand the content on a destroyed notification
If the notification is destroyed between an allocate and the redraw,
the meta_later is invoked on a destroyed object, and fails because
the clutter calls are invalid at that point.

https://bugzilla.gnome.org/show_bug.cgi?id=722547
2014-01-19 16:01:00 +01:00
e78c59a4a8 ShellTrayIcon: forward key presses too
StWidget::popup-menu is emitted when Menu/<Shift>F10 is pressed,
not released (for consistency with Gtk+), so we need to forward
that. Note that for key press we don't emit the matching key
release, because the app will take a grab and get the event directly
from X when the key is physicall released.

https://bugzilla.gnome.org/show_bug.cgi?id=721267
2014-01-19 15:52:38 +01:00
378659e53d Bump version to 3.10.3
Update NEWS.
2014-01-15 23:07:49 +01:00
c86688dd7d Updated Serbian translation 2014-01-13 09:53:35 +01:00
f54376e2fb Updated Serbian translation 2014-01-13 09:25:18 +01:00
07ad56b376 ShellWindowTracker: remove gtk-doc marks from private functions
static internal functions should be documented with /*, not /**

https://bugzilla.gnome.org/show_bug.cgi?id=721439
2014-01-04 17:35:37 +01:00
7c199e0b10 ShellWindowTracker: fix reference counting of ShellApp
All get_app_from_*() helpers are transfer full, but
get_app_from_gapplication_id() was directly returning the result
of lookup_app(), which is transfer none.

https://bugzilla.gnome.org/show_bug.cgi?id=721439
2014-01-04 17:35:36 +01:00
f584e31d77 Updated Lithuanian translation 2014-01-03 23:09:30 +02:00
ba6cf6424c Updated German translation 2014-01-02 14:34:30 +01:00
8b291771ab Updated Brazilian Portuguese translation 2014-01-02 04:14:12 -02:00
35a9024ec3 Updated Slovenian translation 2014-01-01 20:06:44 +01:00
db3c2b07b0 Update Chinese simplified translation 2014-01-01 17:09:44 +08:00
4879e6bee1 Updated Indonesian translation 2013-12-30 13:41:27 +07:00
ae050173c4 Updated Czech translation 2013-12-30 00:06:39 +01:00
e506458c42 Updated Czech translation 2013-12-29 23:55:01 +01:00
262247a7fd Updated Indonesian translation 2013-12-27 09:39:29 +07:00
51a153e8cf Updated Brazilian Portuguese translation 2013-12-26 23:33:58 -02:00
3b73f7922d Updated Lithuanian translation 2013-12-22 22:03:17 +02:00
2874d8cca4 Updated Slovenian translation 2013-12-22 19:24:04 +01:00
40d30eb6f5 Updated German translation 2013-12-22 19:06:56 +01:00
340c1ff7f3 Update Chinese simplified translation 2013-12-22 22:57:18 +08:00
f6a06e4520 Updated slovak translation 2013-12-22 13:17:41 +01:00
6d57901a11 Update Arabic translation 2013-12-11 06:54:46 +02:00
fa3284232f remoteSearch: Let remote search providers not provide an icon
The documentation indicates that they are optional, so let us make the
code behave accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=719965
2013-12-10 16:59:44 +01:00
a25fc9b14c Update Punjabi Translation by Alam 2013-12-07 19:04:19 -06:00
e19faff101 shell-app: Track all application windows
Filtering out "non-interesting" windows beforehand as we currently do
means that we may get properties that should be based on all windows,
like the last time the application was used, wrong.
Just track all windows and filter out non-interesting windows manually
in the one place we actually care about the difference.

https://bugzilla.gnome.org/show_bug.cgi?id=719824
2013-12-07 10:12:38 +01:00
1e6fff30a3 [l10n]Updated Turkish translation 2013-12-07 08:26:02 +02:00
449cb7a36e [l10n]Updated Turkish translation 2013-12-07 08:22:24 +02:00
6eb6887a2f messageTray: Only attempt to grab the summary box pointer after showing it
For mysterious reasons I'm not sure of myself, navigate_focus will only focus
mapped actors. So, make sure the widget is showing before navigating to it.

https://bugzilla.gnome.org/show_bug.cgi?id=709853
2013-12-04 13:05:34 -05:00
f4f2c91fdf catch more errors on extensions enable() and disable()
https://bugzilla.gnome.org/show_bug.cgi?id=688331
2013-11-28 11:11:01 +00:00
621e3d0df8 loginDialog: Implement cancel()
The screen shield expects a cancel() method on the unlockDialog
implementation, but LoginDialog does not provide it currently.

https://bugzilla.gnome.org/show_bug.cgi?id=719378
2013-11-27 14:33:03 +01:00
4057a87e05 authPrompt: propagate gdm "reset" signal after user switching
After a user types in their password at the login screen, one
of two things can happen

1) a new session is started
2) an existing session is switched to

In the latter case, GDM sends a reset signal to the login screen,
so it knows to go back to the user list and wait to be summoned
again.

Unfortunately, all reset signals are ignored after verification
success.  The reason is because the reset handler was copied from
the unlock dialog as part of a deduplication effort in commit
7e7295f259 and the unlock dialog
handler at the time also emitted a "failed" signal on reset
(which wouldn't make sense to emit after success).

These days "failed" is handled in a different way.

This commit changes the code to let reset signals through after
successful verification.

https://bugzilla.gnome.org/show_bug.cgi?id=710456
2013-11-26 12:48:46 -05:00
43f67399a3 messageTray: Prevent reentrancy issues in _updateState
The methods we call in _updateState may not be reentrant, so make
sure that we never get into a situation where _updateState, through
some crazy chain of events, calls itself.

https://bugzilla.gnome.org/show_bug.cgi?id=711694
2013-11-19 17:14:00 +01:00
04551850dd Bump version to 3.10.2.1
Update NEWS.
2013-11-15 13:27:09 +00:00
2e0312a8ba build: Lower mutter requirement
We don't have a mutter-wayland release for 3.10.2, so lower the
requirement to not end up without wayland support.
2013-11-15 13:25:56 +00:00
ac68251a00 Bump version to 3.10.2
Update NEWS.
2013-11-14 12:32:23 +00:00
6fd705e009 Updated Tamil Translations 2013-11-11 15:02:33 +05:30
923a908a2a Update Chinese simplified translation 2013-11-10 11:40:37 +08:00
59e868b8f5 popupMenu: Fix removing the active menu from PopupMenuManager
Commit b42af9aa99 changed the parameter list of _closeMenu()
to account for changes in the GrabHelper ungrab mechanism, but
didn't update other callers.

https://bugzilla.gnome.org/show_bug.cgi?id=709806
2013-11-07 00:12:37 +01:00
f83144b79a screencast: Validate parameters of ScreencastArea
... just as we do for screenshots.

https://bugzilla.gnome.org/show_bug.cgi?id=699752
2013-11-04 16:59:46 +01:00
267a42c31c screencast: Fix disabling screencasts via session mode
If screencasts are disabled, we return a DBus error, but still start
the recording happily - add early returns in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=699752
2013-11-04 16:59:46 +01:00
3ac7bf874c screenshot: Extend ScreenshotArea parameter validation
We currently only ensure that width and height are positive, so it
is still possible to pass in values that don't make any sense at all
(which may even result in a crash when exceeding limits imposed by
X11).
There is nothing to screenshot outside the actual screen area, so
restrict the parameters to that.

https://bugzilla.gnome.org/show_bug.cgi?id=699752
2013-11-04 16:59:46 +01:00
cac32dfe2a Updated Russian translation 2013-11-01 23:31:14 +04:00
1a61f288f6 system: Restore support for 'disable-restart-buttons'
The org.gnome.login-screen schema contains a key to disable the
power/restart buttons; our support for this fell victim to the
new combined status menu, add it back.

https://bugzilla.gnome.org/show_bug.cgi?id=711244
2013-11-01 13:09:21 +01:00
aca619ff89 Updated Brazilian Portuguese translation
Fixes "Off" translation
2013-10-27 15:45:09 -02:00
6673f52df2 Updated Norwegian bokmål translation 2013-10-26 15:17:08 +02:00
a70ee216b0 theme: Add some vertical padding on login screen
This was apparently lost during some rewrite this cycle ...

https://bugzilla.gnome.org/show_bug.cgi?id=710555
2013-10-25 14:16:18 +01:00
261514187e Updated Greek translation 2013-10-24 09:37:12 +03:00
1bf6fa039f Updated Norwegian bokmål translation 2013-10-20 13:07:54 +02:00
9360e60ed2 Updated Russian translation 2013-10-18 18:36:10 +04:00
afb6286994 Updated Belarusian translation. 2013-10-15 23:45:34 +03:00
02f2f694e4 Bump version to 3.10.1
Update NEWS.
2013-10-15 20:27:52 +02:00
d175a588f7 network: being able to use keyboard to connect to a Wireless
https://bugzilla.gnome.org/show_bug.cgi?id=710144
2013-10-15 20:27:05 +02:00
4bb41f2f66 Revert "network: being able to use keyboard to connect to a Wireless"
This reverts commit d581d29198.
2013-10-15 20:14:02 +02:00
088c46c7be Revert "Bump version to 3.10.1"
This reverts commit 4228c40b3d.
2013-10-15 20:14:00 +02:00
4228c40b3d Bump version to 3.10.1
Update NEWS.
2013-10-15 20:06:25 +02:00
d581d29198 network: being able to use keyboard to connect to a Wireless
https://bugzilla.gnome.org/show_bug.cgi?id=710144
2013-10-15 19:10:38 +02:00
5a7e854f9e appDisplay: Remember selected view across sessions
The application picker will always open with the view that was last
selected during the session, but the selection is reset on each
restart. This results in some annoyance for users that use the
ALL view exclusively, as they have to toggle views once each
session - the same would apply to exclusive FREQUENT view users
were the defaults to be changed, so the best solution is to simply
make the selected view persistent by storing it in GSettings.

https://bugzilla.gnome.org/show_bug.cgi?id=710042
2013-10-15 19:06:53 +02:00
6e13823ccc shell-js: fix incorrect G_BEGIN_DECLS in header 2013-10-15 09:21:59 +11:00
5c5f2fdf8f a11y: setting ATK_ROLE_ARROW to object unicodeArrow
https://bugzilla.gnome.org/show_bug.cgi?id=710120
2013-10-14 22:29:09 +02:00
96aa33f4ef messageTray: Don't remove and re-add the focus group on button changes
https://bugzilla.gnome.org/show_bug.cgi?id=710115
2013-10-14 15:24:53 -04:00
25fd23e703 messageTray: Split out the notification's destroy handler
This is complex enough to split out.

https://bugzilla.gnome.org/show_bug.cgi?id=710115
2013-10-14 15:24:53 -04:00
99cf4e5787 messageTray: Only connect to a notification's open/destroy once
If we pushNotification the same notification multiple times, we
won't append it to the array again, but we will attach multiple
handlers needlessly.

https://bugzilla.gnome.org/show_bug.cgi?id=710115
2013-10-14 15:24:53 -04:00
66a4cb5875 messageTray: Move the notification policy classes here
The NotificationDaemon really should be for the hookup of remote
notifications, rather than policies.

https://bugzilla.gnome.org/show_bug.cgi?id=710115
2013-10-14 15:24:53 -04:00
da14e2c349 messageTray: Clean up code that determines if something is clearable
https://bugzilla.gnome.org/show_bug.cgi?id=710115
2013-10-14 15:24:53 -04:00
4cda61a16a gdm: support pre-authenticated logins from oVirt
oVirt is software for managing medium-to-large scale deployments of
virtual machine guests across multiple hosts. It supports a feature
where users can authenticate with a central server and get
transparently connected to a guest system and then automatically get logged
into that guest to an associated user session.

Guests using old versions of GDM support this single-sign-on capability
by means of a greeter plugin, using the old greeter's extension
API.

This commit adds similar support to the gnome-shell based login screen.

How it works:

* The OVirtCredentialsManager singleton listens for

  'org.ovirt.vdsm.Credentials.UserAuthenticated'

  D-Bus signal on the system bus from the

  'org.ovirt.vdsm.Credentials'

  bus name. The service that provides that bus name is called
  the oVirt guest agent. It is also responsible for interacting
  with the the central server to get user credentials.

* This UserAuthenticated signal passes, as a parameter, the a token
  which needs to be passed through to the PAM service that is specifically
  set up to integrate with the oVirt authentication architecture.
  The singleton object keeps the token internally so it can be queried
  later on.

* The OVirtCredentialsManager emits a signal 'user-authenticated' on
  it's object once the dbus signal is triggered

* When the 'user-authenticated' signal is emitted, the login screen
  tells GDM to start user verification using the PAM service. The
  authentication stack of the service includes a PAM module
  provided by oVirt that securely retrieves user credentials
  from the oVirt guest agent. The PAM module then forwards those
  credentials on to other modules in the stack so, e.g.,
  the user's gnome keyring can be automatically unlocked.

* In case of the screen shield being visible, it also will react on that
  'user-authenticated' signal and lift the shield.
  In that case the login screen will check on construction time if
  the signal has already been triggered, and a token is available.
  If a token is available it will immediately trigger the functionality
  as described above.

Signed-off-by: Vinzenz Feenstra <evilissimo@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=702162
2013-10-14 13:54:30 -04:00
002afda503 SearchDisplay: handle certain result IDs specially
Allow the prefix 'special:' applied to result IDs to mark results
that should be always shown, even when they would overflow the
maximum results cap. This will be used by epiphany for the special
"Search the Web" result.

https://bugzilla.gnome.org/show_bug.cgi?id=707055
2013-10-14 18:47:20 +02:00
cb7a2e8c6a shell-global: Use G_VARIANT_TYPE macro for checking 2013-10-14 10:52:45 -04:00
d21ae1dad1 shell-global: Fix an invalid memory botch-up
The value we return is a floating ref, which gjs shouldn't
try to free.

https://bugzilla.gnome.org/show_bug.cgi?id=710104
2013-10-14 09:49:51 -04:00
4548859509 shell-global: Fix a few memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=710104
2013-10-14 09:49:51 -04:00
09c6e6427a Updated Serbian translation 2013-10-14 10:29:57 +02:00
8c34398a15 Updated Slovenian translation 2013-10-13 23:43:34 +02:00
a65b705080 [l10n] Updated Catalan (Valencian) translation 2013-10-13 22:43:34 +02:00
7e28c71074 [l10n] Update Catalan translation 2013-10-13 22:43:31 +02:00
726f4a6715 Updated Lithuanian translation 2013-10-13 20:06:00 +03:00
a444b43548 Updated Portuguese translation 2013-10-13 12:22:54 +01:00
473bb139d1 Updated Latvian translation 2013-10-13 13:35:18 +03:00
d084770cea NetworkMenu: fix regression for VPN connections
Fix regression from e898e29910,
the code was moved from a method to a global function, but one
call site was not updated.

https://bugzilla.gnome.org/show_bug.cgi?id=710019
2013-10-13 02:11:14 +02:00
619389ed20 NotificationDaemon: fix icons for notifications without an app
NotificationDaemon doesn't pass a gicon to the Notification constructor,
because it calls .update() immediately after, so messageTray.js
calls into Source.createIcon(), which returns null and crashes.
Instead, shortcut the Notification constructor by skipping
.update() completely.

https://bugzilla.gnome.org/show_bug.cgi?id=709998
2013-10-13 01:23:18 +02:00
ad043e009e workspaceThumbnail: Drop the _background hack
The _background hack was added because the old way the zooming animation
worked, it set the allocation of the workspaces view and thumbnails box
to the final position and used animations to smoothly animate.

During the 3.6 cycle when we added the new search view, Cosimo changed the
way the zoom animation works so that rather than set the final allocation
and animate, we actually do adjust the allocation of the workspaces view
and thumbnails box.

So, as the hack is no longer necessary, we can drop it.

https://bugzilla.gnome.org/show_bug.cgi?id=694881
2013-10-12 14:38:13 -04:00
89b9d079b1 overviewControls: Don't use the child's preferred size to slide from
In order for the workspace thumbnails box to have the correct size,
we need to constrain the width of the thumbnails box to the height we're
given, instead of assuming an unlimited height.

https://bugzilla.gnome.org/show_bug.cgi?id=694881
2013-10-12 14:38:13 -04:00
58a8845047 overviewControls: Don't try to align something sliding to the right
0 is already the correct value.

https://bugzilla.gnome.org/show_bug.cgi?id=694881
2013-10-12 14:38:13 -04:00
3e6c8e68b4 overviewControls: Clarify some code with a comment
translationX is sort of a bad name, since it confuses with the
actor's translation, which is used for sliding without allocation.

https://bugzilla.gnome.org/show_bug.cgi?id=694881
2013-10-12 14:38:13 -04:00
40cd92f701 overviewControls: Correct the use of x2 in SlidingControl
The x2 here needs to be more than just the width; it needs to
be added onto the x1.

https://bugzilla.gnome.org/show_bug.cgi?id=694881
2013-10-12 14:38:13 -04:00
e216addf7c Updated Dutch translation 2013-10-12 19:59:34 +02:00
9291594330 app-system: remove outdated comment
This parameter was removed before 3.2 but the comment stuck around.
2013-10-12 10:09:36 -05:00
f6010864ea layout: Flush region update in showOverview
We cannot wait for the queued update region to fire when
xdnd is being used because a wrong input shape can result
into a xdnd leave event when the user moves the pointer fast.

https://bugzilla.gnome.org/show_bug.cgi?id=708887
2013-10-11 20:16:44 +02:00
13e6a6def5 Revert "overview: Ignore dragEnd while the animation is still in progress"
This reverts commit 80a3bb85aa.

https://bugzilla.gnome.org/show_bug.cgi?id=708887
2013-10-11 20:16:44 +02:00
575b373cd5 power: Use the icon from the primary device for status
https://bugzilla.gnome.org/show_bug.cgi?id=709925
2013-10-11 13:37:10 -04:00
0892065649 notificationDaemon: Raise the app when clicking on a notification, not the MRU window
https://bugzilla.gnome.org/show_bug.cgi?id=709866
2013-10-11 13:37:10 -04:00
766ef367fb notificationDaemon: Fix the fallback for image-data
The indentation here is wrong, the else actually belongs to the outer
if statement, not the inner if statement.
2013-10-11 13:37:10 -04:00
0c7d9958f5 notificationDaemon: Remove dead code 2013-10-11 13:37:09 -04:00
425b8f6073 Updated Czech translation 2013-10-11 18:28:52 +02:00
63593e45a6 Make dropdown arrows consistent size
Since the agregate menu does 120% of font-size, make this
for all dropdown arrows in gnome-shell and rename the css
class to make clear that it is used in overall gnome-shell

https://bugzilla.gnome.org/show_bug.cgi?id=709564
2013-10-11 17:32:55 +02:00
a6ee9806de Uploaded Ukranian 2013-10-11 15:02:28 +03:00
a6579f4ceb Updated Brazilian Portuguese translation 2013-10-11 07:24:18 -03:00
639622a4fe [l10n] Updated Italian translation. 2013-10-11 09:41:24 +02:00
e28ec2f5ab Updated Indonesian translation 2013-10-11 10:15:14 +07:00
873753c735 Updated Hebrew translation 2013-10-11 01:14:45 +03:00
ff14951be4 Updated Hebrew translation 2013-10-11 01:11:25 +03:00
b47b445558 Updated Polish translation 2013-10-10 23:43:39 +02:00
6e9a2fea89 messageTray: Add 'Notifications' switch to tray menu
According to the designs, the notifications switch was supposed
to move from the user menu to the new message tray menu. However
so far the new system status implementation only removed the old
switch, so add it back in its new place now.

https://bugzilla.gnome.org/show_bug.cgi?id=707073
2013-10-10 23:13:47 +02:00
64d2679b3c Updated Czech translation 2013-10-10 21:09:42 +02:00
3c3d4dfccb Updated Hungarian translation 2013-10-10 13:43:23 +02:00
0ccffed517 Updated Spanish translation 2013-10-10 10:49:53 +02:00
20c18c1fc0 Suppress animation for titles in overview
Because of the animation and collision with relayout, the title of windows in overview may not appear, mainly
the first time we enter in overview

With an animation delay of 0.1s, you'll not see the difference

https://bugzilla.gnome.org/show_bug.cgi?id=709392
2013-10-10 08:51:13 +02:00
a21c0097c2 Tajik translation updated 2013-10-10 11:48:03 +05:00
404d9ef2af [l10n] Updated Italian translation. 2013-10-10 08:37:21 +02:00
503fa1cbce Updated Indonesian translation 2013-10-10 12:59:23 +07:00
63f7991d0f Updated Brazilian Portuguese translation 2013-10-09 23:26:40 -03:00
ae301c1f39 Updated Galician translations 2013-10-09 23:09:57 +02:00
8e911fb719 Updated Galician translations 2013-10-09 23:04:21 +02:00
a0d84e44c5 L10N: Updated Persian translations 2013-10-10 00:28:17 +03:30
81fb7ebb31 Fix some broken GTK-Doc comment blocks 2013-10-09 20:14:57 +02:00
3751211590 shell-global: Fix introspection issues
Remove stray bullet points, and don't actually mark for introspection
since it's private anyway (it starts with a _)
2013-10-09 13:31:00 -04:00
6b4cba09be Updated Polish translation 2013-10-09 19:04:21 +02:00
6a7d184b7b NetworkMenu: make the settings launcher point to the right devices
Tell gnome-control-center to focus on the associated device when
launching it from one of the submenus.

https://bugzilla.gnome.org/show_bug.cgi?id=709246
2013-10-09 18:39:44 +02:00
bde5cfc8bb NetworkMenu/NMDeviceModem: use the operator name when we have it
Instead of the connection name, as the operator name is usually
shorter and more useful.

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-09 18:39:44 +02:00
777c7a952b NetworkMenu/NMDeviceModem: fix status texts for airplane mode
Show "Hardware Disabled" when disabled by HW switch, and
generically "Disabled" when airplane mode is active, as
indicated by v4 mockups.
Note that bluetooth is not affected by NM handling of airplane
mode (and generally the firmware makes the USB bluetooth
adapter disappear when rfkilled), so this is in NMDeviceModem
instead of NMConnectionDevice.

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-09 18:39:44 +02:00
c79bdd9029 NetworkMenu/NMConnectionDevice: fix status text
Be consistent with v4 mockups

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-09 18:39:44 +02:00
6a154efe65 Network: show Not Connected instead of Off when wifi radio is on
When wifi is powered but not connected, show Not Connected instead
of off. This avoids a Off status next to a Turn Off menu item.

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-09 18:39:44 +02:00
627f3ef36b keyring: Cancel active prompts on disable()
Since commit 1242a16265, we will use a fake prompt which
cancels alls requests without dialog when the keyring component
is disabled. However this does only apply to new requests, dialogs
that are already active when the session mode changes are kept
open. This is not quite as expected, so cancel the prompt in that
case.

https://bugzilla.gnome.org/show_bug.cgi?id=708910
2013-10-09 17:58:37 +02:00
3d28836f2c keyring: Remove unused global
https://bugzilla.gnome.org/show_bug.cgi?id=708910
2013-10-09 17:58:37 +02:00
c28bd04958 Finnish translation update 2013-10-09 14:23:48 +03:00
a6fb3acb42 NetworkMenu: hide the "Turn On" item when the rfkill is hardware blocked
If wifi is disabled in hardware, there is nothing we can do at
the sw level, so hide the menu item.

https://bugzilla.gnome.org/show_bug.cgi?id=709635
2013-10-08 22:20:27 +02:00
8a8b3bf96e NetworkMenu: fix wireless-enabled property notifications
The property is on the NMClient, not NMDevice. Also, make sure
we disconnect the signal when the item is destroyed.
Also, connect to wireless-hardware-enabled, which we'll use soon.

https://bugzilla.gnome.org/show_bug.cgi?id=709635
2013-10-08 22:20:27 +02:00
f7624e5f05 network: make the icon visible again when going from ethernet to nothing
https://bugzilla.gnome.org/show_bug.cgi?id=709638
2013-10-08 14:26:38 -04:00
55edfd2e4a notificationDaemon: Focus the new window before destroying the notification
Destroying the notification will make the key focus be reset to NULL, which
means that gnome-shell will try to focus the MRU window, thinking the user is
done interacting and wants to go back to whatever they were doing.

Unfortunately, since we focus two windows at the same time, they will have
the same timestamp, meaning that the window that actually gets focused will
be a race as to whoever responds to their WM_TAKE_FOCUS event last.

If we explicitly set the focus beforehand, then gnome-shell will believe it
got key focus taken away from it, and won't try to focus the MRU when the
key focus drops to NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=703265
2013-10-08 13:05:34 -04:00
91878dd52c Updated Indonesian translation 2013-10-08 17:07:23 +07:00
c132358ec9 Updated Latvian translation 2013-10-07 21:54:39 +03:00
e426f8ac47 BoxPointer: account for border width when requesting size
We must reduce the forWidth in the call to get_preferred_height()
with the border width, otherwise we might request a smaller height
that we actually need and overflow.

https://bugzilla.gnome.org/show_bug.cgi?id=696564
2013-10-07 20:18:48 +02:00
740dca8afc build: Bump gjs requirement
https://bugzilla.gnome.org/show_bug.cgi?id=709543
2013-10-07 09:37:59 +02:00
6ae06d319c [l10n] Updated Catalan (Valencian) translation 2013-10-06 21:58:43 +02:00
30bc2b2f9c [l10n] Update Catalan translation 2013-10-06 21:06:39 +02:00
7dc8e9d657 Updated Russian translation 2013-10-06 12:31:47 +04:00
1ab2fa5bf0 [l10n]Updated Turkish translation 2013-10-06 09:19:37 +03:00
779a1077bf Updated Serbian translation 2013-10-05 20:59:51 +02:00
815bf7a53a L10N: Updated Persian translations 2013-10-05 18:06:59 +03:30
91a382dfb5 Fix Lithuanian calendar translation 2013-10-05 16:51:19 +03:00
2d8d4cd57d Updated Serbian translation 2013-10-05 06:49:07 +02:00
0c5fe2b3bf Updated Serbian translation 2013-10-05 06:08:07 +02:00
56c487347f Updated Belarusian translation. 2013-10-03 23:02:05 +03:00
0a572fce1b Updated Norwegian bokmål translation 2013-10-03 20:38:08 +02:00
e898e29910 NetworkMenu/NMConnectionDevice: grab the connection before using it
If the active connection for the device is not the primary or
activating globally, it won't have the _connection and _primaryDevice
expando properties, so grab them from the settings object.

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-03 16:03:41 +02:00
843f076225 NetworkMenu/NMDeviceWireless: use the device state instead of active connection state
Since we connect to signals for that, we need to sync on that, or
we can miss a notification.

https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-03 16:01:27 +02:00
fdb732c8c2 Bluetooth: fix ngettext call
https://bugzilla.gnome.org/show_bug.cgi?id=709043
2013-10-03 16:01:27 +02:00
33896a4e8f network: fix NMConnectionSection destruction
The patch fixes the following warning, and along with it, the proper
destruction of the NMConnectionSection is performed so that items get
correctly removed from the menu.

(gnome-shell:24528): Gjs-WARNING **: JS ERROR: TypeError:
this.statusItem is undefined
NMConnectionSection<.destroy@/home/aleksander/gnome/install/share/gnome-shell/js/ui/status/network.js:173
wrapper@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:213
_parent@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:175
NMConnectionDevice<.destroy@/home/aleksander/gnome/install/share/gnome-shell/js/ui/status/network.js:292
wrapper@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:213
_parent@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:175
NMDeviceModem<.destroy@/home/aleksander/gnome/install/share/gnome-shell/js/ui/status/network.js:448
wrapper@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:213
NMApplet<._removeDeviceWrapper@/home/aleksander/gnome/install/share/gnome-shell/js/ui/status/network.js:1421
wrapper@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:213
NMApplet<._deviceRemoved@/home/aleksander/gnome/install/share/gnome-shell/js/ui/status/network.js:1416
wrapper@/home/aleksander/gnome/install/share/gjs-1.0/lang.js:213

https://bugzilla.gnome.org/show_bug.cgi?id=709248
2013-10-03 00:50:02 +02:00
51e016a0d6 theme: modify the avatar and user name
Change the avatar and user name border radius, padding
and text size to be consistent with mockups.

https://bugzilla.gnome.org/show_bug.cgi?id=702309
2013-10-02 22:26:30 +02:00
83 changed files with 10688 additions and 13330 deletions

102
NEWS
View File

@ -1,3 +1,105 @@
3.10.4
======
* Fix keyboard activation of legacy tray icons [Giovanni; #721267]
* Fix regressions from window-tracking changes in 3.10.3 [Florian; #722434,
#722690, #722840, #723308, #722928]
* Scale UI on high-resolution displays [Adel; #705410]
* Misc. bug fixes [Giovanni, Jasper; #722547, #723197, #724256]
Contributors:
Giovanni Campagna, Adel Gadllah, Florian Müllner, Jasper St. Pierre
Translations:
Nilamdyuti Goswami [as], Stas Solovey [ru], A S Alam [pa]
3.10.3
======
* Fix reentrancy issue in message tray [Jasper; #711694]
* Fix resetting prompt on user switch [Ray; #710456]
* Fix screen shield on login screen [Florian; #719378]
* Catch more extension errors on enable/disable [Sebastien; #688331]
* Fix entry focus of chat notifications [Jasper; #709853]
* Fix app switcher order with dialog windows [Florian; #719824]
* Allow remote search providers without icons [Debarshi; #719965]
* Fix ref-counting issue in ShellApp [Giovanni; #721439]
Contributors:
Giovanni Campagna, Sebastien Lafargue, Florian Müllner, Debarshi Ray,
Jasper St. Pierre, Ray Strode
Translations:
Emin Tufan Çetin [tr], Muhammet Kara [tr], A S Alam [pa], Khaled Hosny [ar],
Dušan Kazik [sk], Wylmer Wang [zh_CN], Benjamin Steinwender [de],
Matej Urbančič [sl], Aurimas Černius [lt], Rafael Ferreira [pt_BR],
Andika Triwidada [id], Marek Černocký [cs], Tong Hui [zh_CN],
Adorilson Bezerra [pt_BR], Christian Kirbach [de],
Мирослав Николић [sr, sr@latin]
3.10.2.1
========
* Lower mutter requirement to not end up without wayland support
3.10.2
======
* gdm: Don't allow user-list to fill up the entire screen [Florian; #710555]
* Restore support for 'disable-restart-buttons' [Florian; #711244]
* alidate parameters of exposed DBus methods [Florian; #699752]
* Misc. bug fixes [Florian; #709806]
Contributors:
Florian Müllner
Translations:
Ihar Hrachyshka [be], Stas Solovey [ru], Kjartan Maraas [nb],
Dimitris Spingos [el], Rafael Ferreira [pt_BR], Yuri Myasoedov [ru],
Sphinx Jiang [zh_CN], Shantha kumar [ta]
3.10.1
======
* Make sure lock screen is drawn once before switching user [Giovanni; #708051]
* Fix signal strength indicators in network selector [Jasper; #708442]
* Scroll search results when focusing provider icons [Jasper; #708868]
* Add separate hover/active states to page indicators [Carlos; #708852]
* Tweak appearance of user name and avatar [Yash; #702309]
* Hide "Turn On" in network menu when disabled by hardware [Giovanni; #709635]
* Cancel open keyring prompts when the screen is locked [Florian; #708910]
* Differentiate "Not Connected" and "Off" in network menu [Giovanni; #709043]
* Make network settings items point to the right device [Giovanni; #709246]
* Remove animation of window preview titles [Sebastien; #709392]
* Add 'Notifications' switch to tray menu [Florian; #707073]
* Make dropdown arrows consistent [Carlos; #709564]
* power: Use icon from primary device for status [Jasper; #709925]
* Fix XDND drags to overview [Adel; #708887]
* Fix workspace switcher disappearing with too many workspaces [Jasper; #694881]
* Handle search results with 'special:' prefix specially [Giovanni; #707055]
* gdm: Support pre-authenticated logins from oVirt [Vinzenz; #702162]
* Use ARROW role for labels representing arrows [Alejandro; #710120]
* Make selected view in app picker persistent [Florian; #710042]
* Make network selector navigable by keyboard [Alejandro; #710144]
* Misc bug fixes [Florian, Adel, Jasper, Aleksander, Giovanni, Dan, Michael,
Tim; #709034, #709263, #698486, #709286, #709248, #709543, #696564, #703265,
#709638, #709866, #709998, #710019, #710104, #710115]
Contributors:
Giovanni Campagna, Michael Catanzaro, Vinzenz Feenstra, Adel Gadllah,
Yash Girdhar, Sebastien Lafargue, Tim Lunn, Aleksander Morgado,
Florian Müllner, Alejandro Piñeiro, Carlos Soriano, Jasper St. Pierre,
Dieter Verfaillie, Dan Winship
Translations:
Inaki Larranaga Murgoitio [eu], Christian Kirbach [de], Muhammet Kara [tr],
Aurimas Černius [lt], Ryan Lortie [eo], Rūdolfs Mazurs [lv],
Dušan Kazik [sk], Fran Diéguez [gl], Enrico Nicoletto [pt_BR],
Kjartan Maraas [nb], Victor Ibragimov [tg], Matej Urbančič [sl],
A S Alam [pa], Nilamdyuti Goswami [as], Daniel Mustieles [es],
Cheng-Chia Tseng [zh_HK, zh_TW], Mattias Põldaru [et], Kenneth Nielsen [da],
Milo Casagrande [it], Marek Černocký [cs], Ihar Hrachyshka [be],
Мирослав Николић [sr, sr@latin], Arash Mousavi [fa], Yuri Myasoedov [ru],
Gil Forcada [ca], Carles Ferrando [ca@valencia], Andika Triwidada [id],
Timo Jyrinki [fi], Piotr Drąg [pl], Rafael Ferreira [pt_BR],
Gabor Kelemen [hu], Yosef Or Boczko [he], Daniel Korostil [uk],
Wouter Bolsterlee [nl], António Lima [pt]
3.10.0.1 3.10.0.1
========= =========
* Fix login screen [Ray; #708691] * Fix login screen [Ray; #708691]

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.10.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.10.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c]) AC_CONFIG_SRCDIR([src/shell-global.c])
@ -59,8 +59,8 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
CLUTTER_MIN_VERSION=1.13.4 CLUTTER_MIN_VERSION=1.13.4
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.35.4 GJS_MIN_VERSION=1.38.1
MUTTER_MIN_VERSION=3.10.0 MUTTER_MIN_VERSION=3.10.4
GTK_MIN_VERSION=3.7.9 GTK_MIN_VERSION=3.7.9
GIO_MIN_VERSION=2.37.0 GIO_MIN_VERSION=2.37.0
LIBECAL_MIN_VERSION=3.5.3 LIBECAL_MIN_VERSION=3.5.3

View File

@ -37,6 +37,13 @@
application view, rather than being displayed inline in the main view. application view, rather than being displayed inline in the main view.
</_description> </_description>
</key> </key>
<key name="app-picker-view" type="u">
<default>0</default>
<summary>App Picker View</summary>
<description>
Index of the currently selected view in the application picker.
</description>
</key>
<key name="command-history" type="as"> <key name="command-history" type="as">
<default>[]</default> <default>[]</default>
<_summary>History for command (Alt-F2) dialog</_summary> <_summary>History for command (Alt-F2) dialog</_summary>

View File

@ -157,7 +157,7 @@ StScrollBar StButton#vhandle:active {
min-width: 200px; min-width: 200px;
} }
.popup-submenu-menu-item-triangle { .unicode-arrow {
font-size: 120%; font-size: 120%;
} }
@ -693,7 +693,9 @@ StScrollBar StButton#vhandle:active {
padding-bottom: 32px; padding-bottom: 32px;
} }
.workspace-thumbnails-background { .workspace-thumbnails {
spacing: 11px;
visible-width: 32px; /* Amount visible before hovering */
border: 1px solid rgba(128, 128, 128, 0.4); border: 1px solid rgba(128, 128, 128, 0.4);
border-right: 0px; border-right: 0px;
border-radius: 9px 0px 0px 9px; border-radius: 9px 0px 0px 9px;
@ -701,18 +703,13 @@ StScrollBar StButton#vhandle:active {
padding: 11px 7px 11px 11px; padding: 11px 7px 11px 11px;
} }
.workspace-thumbnails-background:rtl { .workspace-thumbnails:rtl {
border-right: 1px; border-right: 1px;
border-left: 0px; border-left: 0px;
border-radius: 0px 9px 9px 0px; border-radius: 0px 9px 9px 0px;
padding: 11px 11px 11px 7px; padding: 11px 11px 11px 7px;
} }
.workspace-thumbnails {
spacing: 11px;
visible-width: 32px; /* Amount visible before hovering */
}
.workspace-thumbnail-indicator { .workspace-thumbnail-indicator {
border: 4px solid rgba(255,255,255,0.7); border: 4px solid rgba(255,255,255,0.7);
border-radius: 4px; border-radius: 4px;
@ -2276,7 +2273,7 @@ StScrollBar StButton#vhandle:active {
.framed-user-icon { .framed-user-icon {
border: 2px solid #8b8b8b; border: 2px solid #8b8b8b;
border-radius: 5px; border-radius: 3px;
background-size: contain; background-size: contain;
} }
@ -2320,7 +2317,7 @@ StScrollBar StButton#vhandle:active {
} }
.login-dialog-user-list-item { .login-dialog-user-list-item {
border-radius: 10px; border-radius: 5px;
padding: .2em; padding: .2em;
} }
@ -2333,19 +2330,20 @@ StScrollBar StButton#vhandle:active {
} }
.login-dialog-user-list-item .login-dialog-user-list-item-name { .login-dialog-user-list-item .login-dialog-user-list-item-name {
font-size: 20pt; font-size: 20px;
padding-left: 9px; padding-left: 18px;
font-weight: bold;
} }
.login-dialog-user-list:expanded .login-dialog-user-list-item { .login-dialog-user-list:expanded .login-dialog-user-list-item {
color: #666666; color: #bfbfbf;
} }
.login-dialog-user-list-item, .login-dialog-user-list-item,
.login-dialog-user-list-item:hover .login-dialog-user-list-item-name, .login-dialog-user-list-item:hover .login-dialog-user-list-item-name,
.login-dialog-user-list:expanded .login-dialog-user-list-item:focus .login-dialog-user-list-item-name, .login-dialog-user-list:expanded .login-dialog-user-list-item:focus .login-dialog-user-list-item-name,
.login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in { .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in {
color: white; color: #bfbfbf;
text-shadow: black 0px 2px 2px; text-shadow: black 0px 2px 2px;
} }
@ -2377,7 +2375,7 @@ StScrollBar StButton#vhandle:active {
.login-dialog-user-list-item-icon { .login-dialog-user-list-item-icon {
border: 2px solid #8b8b8b; border: 2px solid #8b8b8b;
border-radius: 8px; border-radius: 3px;
width: 64px; width: 64px;
height: 64px; height: 64px;
} }
@ -2389,6 +2387,10 @@ StScrollBar StButton#vhandle:active {
padding-top: 1em; padding-top: 1em;
} }
.login-dialog-user-selection-box {
padding: 100px 0;
}
.login-dialog-user-selection-box .login-dialog-not-listed-label { .login-dialog-user-selection-box .login-dialog-not-listed-label {
padding-left: 2px; padding-left: 2px;
} }
@ -2494,10 +2496,11 @@ StScrollBar StButton#vhandle:active {
} }
.user-widget-label { .user-widget-label {
font-size: 16pt; font-size: 20px;
font-weight: bold; font-weight: bold;
text-align: left; text-align: left;
padding-left: 15px; padding-left: 18px;
color:white;
text-shadow: black 0px 4px 3px 0px; text-shadow: black 0px 4px 3px 0px;
} }

View File

@ -21,6 +21,7 @@ nobase_dist_js_DATA = \
gdm/batch.js \ gdm/batch.js \
gdm/fingerprint.js \ gdm/fingerprint.js \
gdm/loginDialog.js \ gdm/loginDialog.js \
gdm/oVirt.js \
gdm/realmd.js \ gdm/realmd.js \
gdm/util.js \ gdm/util.js \
extensionPrefs/main.js \ extensionPrefs/main.js \

View File

@ -59,6 +59,7 @@ const AuthPrompt = new Lang.Class({
this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete)); this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete));
this._userVerifier.connect('reset', Lang.bind(this, this._onReset)); this._userVerifier.connect('reset', Lang.bind(this, this._onReset));
this._userVerifier.connect('smartcard-status-changed', Lang.bind(this, this._onSmartcardStatusChanged)); this._userVerifier.connect('smartcard-status-changed', Lang.bind(this, this._onSmartcardStatusChanged));
this._userVerifier.connect('ovirt-user-authenticated', Lang.bind(this, this._onOVirtUserAuthenticated));
this.smartcardDetected = this._userVerifier.smartcardDetected; this.smartcardDetected = this._userVerifier.smartcardDetected;
this.connect('next', Lang.bind(this, function() { this.connect('next', Lang.bind(this, function() {
@ -219,6 +220,11 @@ const AuthPrompt = new Lang.Class({
this.emit('prompted'); this.emit('prompted');
}, },
_onOVirtUserAuthenticated: function() {
if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED)
this.reset();
},
_onSmartcardStatusChanged: function() { _onSmartcardStatusChanged: function() {
this.smartcardDetected = this._userVerifier.smartcardDetected; this.smartcardDetected = this._userVerifier.smartcardDetected;
@ -257,10 +263,8 @@ const AuthPrompt = new Lang.Class({
}, },
_onReset: function() { _onReset: function() {
if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) { this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; this.reset();
this.reset();
}
}, },
addActorToDefaultButtonWell: function(actor) { addActorToDefaultButtonWell: function(actor) {
@ -444,10 +448,11 @@ const AuthPrompt = new Lang.Class({
// The user is constant at the unlock screen, so it will immediately // The user is constant at the unlock screen, so it will immediately
// respond to the request with the username // respond to the request with the username
beginRequestType = BeginRequestType.PROVIDE_USERNAME; beginRequestType = BeginRequestType.PROVIDE_USERNAME;
} else if (this.smartcardDetected && } else if (this._userVerifier.serviceIsForeground(GdmUtil.OVIRT_SERVICE_NAME) ||
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) { (this.smartcardDetected &&
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME))) {
// We don't need to know the username if the user preempted the login screen // We don't need to know the username if the user preempted the login screen
// with a smartcard. // with a smartcard or with preauthenticated oVirt credentials
beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME; beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME;
} else { } else {
// In all other cases, we should get the username up front. // In all other cases, we should get the username up front.

View File

@ -907,6 +907,10 @@ const LoginDialog = new Lang.Class({
Main.ctrlAltTabManager.removeGroup(this.dialogLayout); Main.ctrlAltTabManager.removeGroup(this.dialogLayout);
}, },
cancel: function() {
this._authPrompt.cancel();
},
addCharacter: function(unichar) { addCharacter: function(unichar) {
this._authPrompt.addCharacter(unichar); this._authPrompt.addCharacter(unichar);
}, },

62
js/gdm/oVirt.js Normal file
View File

@ -0,0 +1,62 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Signals = imports.signals;
const OVirtCredentialsIface = <interface name='org.ovirt.vdsm.Credentials'>
<signal name="UserAuthenticated">
<arg type="s" name="token"/>
</signal>
</interface>;
const OVirtCredentialsInfo = Gio.DBusInterfaceInfo.new_for_xml(OVirtCredentialsIface);
let _oVirtCredentialsManager = null;
function OVirtCredentials() {
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
g_interface_name: OVirtCredentialsInfo.name,
g_interface_info: OVirtCredentialsInfo,
g_name: 'org.ovirt.vdsm.Credentials',
g_object_path: '/org/ovirt/vdsm/Credentials',
g_flags: (Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
self.init(null);
return self;
}
const OVirtCredentialsManager = new Lang.Class({
Name: 'OVirtCredentialsManager',
_init: function() {
this._token = null;
this._credentials = new OVirtCredentials();
this._credentials.connectSignal('UserAuthenticated',
Lang.bind(this, this._onUserAuthenticated));
},
_onUserAuthenticated: function(proxy, sender, [token]) {
this._token = token;
this.emit('user-authenticated', token);
},
hasToken: function() {
return this._token != null;
},
getToken: function() {
return this._token;
},
resetToken: function() {
this._token = null;
}
});
Signals.addSignalMethods(OVirtCredentialsManager.prototype);
function getOVirtCredentialsManager() {
if (!_oVirtCredentialsManager)
_oVirtCredentialsManager = new OVirtCredentialsManager();
return _oVirtCredentialsManager;
}

View File

@ -10,6 +10,7 @@ const St = imports.gi.St;
const Batch = imports.gdm.batch; const Batch = imports.gdm.batch;
const Fprint = imports.gdm.fingerprint; const Fprint = imports.gdm.fingerprint;
const OVirt = imports.gdm.oVirt;
const Main = imports.ui.main; const Main = imports.ui.main;
const Params = imports.misc.params; const Params = imports.misc.params;
const ShellEntry = imports.ui.shellEntry; const ShellEntry = imports.ui.shellEntry;
@ -19,6 +20,7 @@ const Tweener = imports.ui.tweener;
const PASSWORD_SERVICE_NAME = 'gdm-password'; const PASSWORD_SERVICE_NAME = 'gdm-password';
const FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint'; const FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
const SMARTCARD_SERVICE_NAME = 'gdm-smartcard'; const SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
const OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
const FADE_ANIMATION_TIME = 0.16; const FADE_ANIMATION_TIME = 0.16;
const CLONE_FADE_ANIMATION_TIME = 0.25; const CLONE_FADE_ANIMATION_TIME = 0.25;
@ -151,6 +153,14 @@ const ShellUserVerifier = new Lang.Class({
this.reauthenticating = false; this.reauthenticating = false;
this._failCounter = 0; this._failCounter = 0;
this._oVirtCredentialsManager = OVirt.getOVirtCredentialsManager();
if (this._oVirtCredentialsManager.hasToken())
this._oVirtUserAuthenticated(this._oVirtCredentialsManager.getToken());
this._oVirtCredentialsManager.connect('user-authenticated',
Lang.bind(this, this._oVirtUserAuthenticated));
}, },
begin: function(userName, hold) { begin: function(userName, hold) {
@ -277,6 +287,11 @@ const ShellUserVerifier = new Lang.Class({
})); }));
}, },
_oVirtUserAuthenticated: function(token) {
this._preemptingService = OVIRT_SERVICE_NAME;
this.emit('ovirt-user-authenticated');
},
_checkForSmartcard: function() { _checkForSmartcard: function() {
let smartcardDetected; let smartcardDetected;
@ -455,6 +470,12 @@ const ShellUserVerifier = new Lang.Class({
if (!this.serviceIsForeground(serviceName)) if (!this.serviceIsForeground(serviceName))
return; return;
if (serviceName == OVIRT_SERVICE_NAME) {
// The only question asked by this service is "Token?"
this.answerQuery(serviceName, this._oVirtCredentialsManager.getToken());
return;
}
this.emit('ask-question', serviceName, secretQuestion, '\u25cf'); this.emit('ask-question', serviceName, secretQuestion, '\u25cf');
}, },
@ -515,6 +536,16 @@ const ShellUserVerifier = new Lang.Class({
}, },
_onConversationStopped: function(client, serviceName) { _onConversationStopped: function(client, serviceName) {
// If the login failed with the preauthenticated oVirt credentials
// then discard the credentials and revert to default authentication
// mechanism.
if (this.serviceIsForeground(OVIRT_SERVICE_NAME)) {
this._oVirtCredentialsManager.resetToken();
this._preemptingService = null;
this._verificationFailed(false);
return;
}
// if the password service fails, then cancel everything. // if the password service fails, then cancel everything.
// But if, e.g., fingerprint fails, still give // But if, e.g., fingerprint fails, still give
// password authentication a chance to succeed // password authentication a chance to succeed

View File

@ -1,6 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib; const GLib = imports.gi.GLib;
const Lang = imports.lang; const Lang = imports.lang;
const St = imports.gi.St; const St = imports.gi.St;
@ -79,6 +80,22 @@ function spawnCommandLine(command_line) {
} }
} }
// spawnApp:
// @argv: an argv array
//
// Runs @argv as if it was an application, handling startup notification
function spawnApp(argv) {
try {
let app = Gio.AppInfo.create_from_commandline(argv.join(' '), null,
Gio.AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION);
let context = global.create_app_launch_context();
app.launch([], context);
} catch(err) {
_handleSpawnError(argv[0], err);
}
}
// trySpawn: // trySpawn:
// @argv: an argv array // @argv: an argv array
// //

View File

@ -454,9 +454,10 @@ const AppSwitcher = new Lang.Class({
appIcon.cachedWindows = allWindows.filter(function(w) { appIcon.cachedWindows = allWindows.filter(function(w) {
return windowTracker.get_window_app (w) == appIcon.app; return windowTracker.get_window_app (w) == appIcon.app;
}); });
if (workspace == null || appIcon.cachedWindows.length > 0) { if (appIcon.cachedWindows.length > 0)
this._addIcon(appIcon); this._addIcon(appIcon);
} else if (workspace == null)
throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name()));
} }
this._curApp = -1; this._curApp = -1;

View File

@ -744,10 +744,15 @@ const AppDisplay = new Lang.Class({
this._views[i].control.connect('clicked', Lang.bind(this, this._views[i].control.connect('clicked', Lang.bind(this,
function(actor) { function(actor) {
this._showView(viewIndex); this._showView(viewIndex);
global.settings.set_uint('app-picker-view', viewIndex);
})); }));
} }
let initialView = Math.min(global.settings.get_uint('app-picker-view'),
this._views.length - 1);
let frequentUseful = this._views[Views.FREQUENT].view.hasUsefulData(); let frequentUseful = this._views[Views.FREQUENT].view.hasUsefulData();
this._showView(frequentUseful ? Views.FREQUENT : Views.ALL); if (initialView == Views.FREQUENT && !frequentUseful)
initialView = Views.ALL;
this._showView(initialView);
this._updateFrequentVisibility(); this._updateFrequentVisibility();
// We need a dummy actor to catch the keyboard focus if the // We need a dummy actor to catch the keyboard focus if the
@ -877,6 +882,10 @@ const AppSearchProvider = new Lang.Class({
callback(metas); callback(metas);
}, },
filterResults: function(results, maxNumber) {
return results.slice(0, maxNumber);
},
getInitialResultSet: function(terms) { getInitialResultSet: function(terms) {
this.searchSystem.setResults(this, this._appSys.initial_search(terms)); this.searchSystem.setResults(this, this._appSys.initial_search(terms));
}, },
@ -1489,7 +1498,9 @@ const AppIconMenu = new Lang.Class({
_redisplay: function() { _redisplay: function() {
this.removeAll(); this.removeAll();
let windows = this._source.app.get_windows(); let windows = this._source.app.get_windows().filter(function(w) {
return Shell.WindowTracker.is_window_interesting(w);
});
// Display the app windows menu items and the separator between windows // Display the app windows menu items and the separator between windows
// of the current desktop and other windows. // of the current desktop and other windows.

View File

@ -185,7 +185,9 @@ const BoxPointer = new Lang.Class({
}, },
_getPreferredHeight: function(actor, forWidth, alloc) { _getPreferredHeight: function(actor, forWidth, alloc) {
let [minSize, naturalSize] = this.bin.get_preferred_height(forWidth); let themeNode = this.actor.get_theme_node();
let borderWidth = themeNode.get_length('-arrow-border-width');
let [minSize, naturalSize] = this.bin.get_preferred_height(forWidth - 2 * borderWidth);
alloc.min_size = minSize; alloc.min_size = minSize;
alloc.natural_size = naturalSize; alloc.natural_size = naturalSize;
this._adjustAllocationForArrow(false, alloc); this._adjustAllocationForArrow(false, alloc);

View File

@ -13,8 +13,6 @@ const ModalDialog = imports.ui.modalDialog;
const ShellEntry = imports.ui.shellEntry; const ShellEntry = imports.ui.shellEntry;
const CheckBox = imports.ui.checkBox; const CheckBox = imports.ui.checkBox;
let prompter = null;
const KeyringDialog = new Lang.Class({ const KeyringDialog = new Lang.Class({
Name: 'KeyringDialog', Name: 'KeyringDialog',
Extends: ModalDialog.ModalDialog, Extends: ModalDialog.ModalDialog,
@ -248,11 +246,13 @@ const KeyringPrompter = new Lang.Class({
function() { function() {
let dialog = this._enabled ? new KeyringDialog() let dialog = this._enabled ? new KeyringDialog()
: new KeyringDummyDialog(); : new KeyringDummyDialog();
return dialog.prompt; this._currentPrompt = dialog.prompt;
return this._currentPrompt;
})); }));
this._dbusId = null; this._dbusId = null;
this._registered = false; this._registered = false;
this._enabled = false; this._enabled = false;
this._currentPrompt = null;
}, },
enable: function() { enable: function() {
@ -267,6 +267,10 @@ const KeyringPrompter = new Lang.Class({
disable: function() { disable: function() {
this._enabled = false; this._enabled = false;
if (this._prompter.prompting)
this._currentPrompt.cancel();
this._currentPrompt = null;
} }
}); });

View File

@ -13,7 +13,6 @@ const Tp = imports.gi.TelepathyGLib;
const History = imports.misc.history; const History = imports.misc.history;
const Main = imports.ui.main; const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray; const MessageTray = imports.ui.messageTray;
const NotificationDaemon = imports.ui.notificationDaemon;
const Params = imports.misc.params; const Params = imports.misc.params;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
@ -416,7 +415,7 @@ const TelepathyClient = new Lang.Class({
_ensureAppSource: function() { _ensureAppSource: function() {
if (this._appSource == null) { if (this._appSource == null) {
this._appSource = new MessageTray.Source(_("Chat"), 'empathy'); this._appSource = new MessageTray.Source(_("Chat"), 'empathy');
this._appSource.policy = new NotificationDaemon.NotificationApplicationPolicy('empathy'); this._appSource.policy = new MessageTray.NotificationApplicationPolicy('empathy');
Main.messageTray.add(this._appSource); Main.messageTray.add(this._appSource);
this._appSource.connect('destroy', Lang.bind(this, function () { this._appSource.connect('destroy', Lang.bind(this, function () {
@ -488,7 +487,7 @@ const ChatSource = new Lang.Class({
}, },
_createPolicy: function() { _createPolicy: function() {
return new NotificationDaemon.NotificationApplicationPolicy('empathy'); return new MessageTray.NotificationApplicationPolicy('empathy');
}, },
_updateAlias: function() { _updateAlias: function() {
@ -1061,7 +1060,7 @@ const ApproverSource = new Lang.Class({
}, },
_createPolicy: function() { _createPolicy: function() {
return new NotificationDaemon.NotificationApplicationPolicy('empathy'); return new MessageTray.NotificationApplicationPolicy('empathy');
}, },
destroy: function() { destroy: function() {

View File

@ -76,7 +76,11 @@ function disableExtension(uuid) {
theme.unload_stylesheet(extension.stylesheet.get_path()); theme.unload_stylesheet(extension.stylesheet.get_path());
} }
extension.stateObj.disable(); try {
extension.stateObj.disable();
} catch(e) {
logExtensionError(uuid, e);
}
for (let i = 0; i < order.length; i++) { for (let i = 0; i < order.length; i++) {
let uuid = order[i]; let uuid = order[i];
@ -89,8 +93,10 @@ function disableExtension(uuid) {
extensionOrder.splice(orderIdx, 1); extensionOrder.splice(orderIdx, 1);
extension.state = ExtensionState.DISABLED; if ( extension.state != ExtensionState.ERROR ) {
_signals.emit('extension-state-changed', extension); extension.state = ExtensionState.DISABLED;
_signals.emit('extension-state-changed', extension);
}
} }
function enableExtension(uuid) { function enableExtension(uuid) {
@ -117,10 +123,15 @@ function enableExtension(uuid) {
} }
} }
extension.stateObj.enable(); try {
extension.stateObj.enable();
extension.state = ExtensionState.ENABLED; extension.state = ExtensionState.ENABLED;
_signals.emit('extension-state-changed', extension); _signals.emit('extension-state-changed', extension);
return;
} catch(e) {
logExtensionError(uuid, e);
return;
}
} }
function logExtensionError(uuid, error) { function logExtensionError(uuid, error) {
@ -150,7 +161,8 @@ function loadExtension(extension) {
} else { } else {
let enabled = enabledExtensions.indexOf(extension.uuid) != -1; let enabled = enabledExtensions.indexOf(extension.uuid) != -1;
if (enabled) { if (enabled) {
initExtension(extension.uuid); if (!initExtension(extension.uuid))
return;
if (extension.state == ExtensionState.DISABLED) if (extension.state == ExtensionState.DISABLED)
enableExtension(extension.uuid); enableExtension(extension.uuid);
} else { } else {
@ -205,7 +217,12 @@ function initExtension(uuid) {
extensionModule = extension.imports.extension; extensionModule = extension.imports.extension;
if (extensionModule.init) { if (extensionModule.init) {
extensionState = extensionModule.init(extension); try {
extensionState = extensionModule.init(extension);
} catch(e) {
logExtensionError(uuid, e);
return false;
}
} }
if (!extensionState) if (!extensionState)
@ -214,6 +231,7 @@ function initExtension(uuid) {
extension.state = ExtensionState.DISABLED; extension.state = ExtensionState.DISABLED;
_signals.emit('extension-loaded', uuid); _signals.emit('extension-loaded', uuid);
return true;
} }
function getEnabledExtensions() { function getEnabledExtensions() {
@ -235,11 +253,7 @@ function onEnabledExtensionsChanged() {
newEnabledExtensions.filter(function(uuid) { newEnabledExtensions.filter(function(uuid) {
return enabledExtensions.indexOf(uuid) == -1; return enabledExtensions.indexOf(uuid) == -1;
}).forEach(function(uuid) { }).forEach(function(uuid) {
try {
enableExtension(uuid); enableExtension(uuid);
} catch(e) {
logExtensionError(uuid, e);
}
}); });
// Find and disable all the newly disabled extensions: UUIDs found in the // Find and disable all the newly disabled extensions: UUIDs found in the
@ -247,11 +261,7 @@ function onEnabledExtensionsChanged() {
enabledExtensions.filter(function(item) { enabledExtensions.filter(function(item) {
return newEnabledExtensions.indexOf(item) == -1; return newEnabledExtensions.indexOf(item) == -1;
}).forEach(function(uuid) { }).forEach(function(uuid) {
try {
disableExtension(uuid); disableExtension(uuid);
} catch(e) {
logExtensionError(uuid, e);
}
}); });
enabledExtensions = newEnabledExtensions; enabledExtensions = newEnabledExtensions;
@ -263,11 +273,7 @@ function _loadExtensions() {
let finder = new ExtensionUtils.ExtensionFinder(); let finder = new ExtensionUtils.ExtensionFinder();
finder.connect('extension-found', function(signals, extension) { finder.connect('extension-found', function(signals, extension) {
try { loadExtension(extension);
loadExtension(extension);
} catch(e) {
logExtensionError(extension.uuid, e);
}
}); });
finder.scanExtensions(); finder.scanExtensions();
} }

View File

@ -251,7 +251,7 @@ const LayoutManager = new Lang.Class({
this._inOverview = true; this._inOverview = true;
this._updateVisibility(); this._updateVisibility();
this._queueUpdateRegions(); this._updateRegions();
}, },
hideOverview: function() { hideOverview: function() {

View File

@ -310,6 +310,126 @@ const NotificationPolicy = new Lang.Class({
}); });
Signals.addSignalMethods(NotificationPolicy.prototype); Signals.addSignalMethods(NotificationPolicy.prototype);
const NotificationGenericPolicy = new Lang.Class({
Name: 'NotificationGenericPolicy',
Extends: NotificationPolicy,
_init: function() {
// Don't chain to parent, it would try setting
// our properties to the defaults
this.id = 'generic';
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
},
store: function() { },
destroy: function() {
this._masterSettings.run_dispose();
},
_changed: function(settings, key) {
this.emit('policy-changed', key);
},
get enable() {
return true;
},
get enableSound() {
return true;
},
get showBanners() {
return this._masterSettings.get_boolean('show-banners');
},
get forceExpanded() {
return false;
},
get showInLockScreen() {
return this._masterSettings.get_boolean('show-in-lock-screen');
},
get detailsInLockScreen() {
return false;
}
});
const NotificationApplicationPolicy = new Lang.Class({
Name: 'NotificationApplicationPolicy',
Extends: NotificationPolicy,
_init: function(id) {
// Don't chain to parent, it would try setting
// our properties to the defaults
this.id = id;
this._canonicalId = this._canonicalizeId(id);
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
this._settings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications.application',
path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
this._settings.connect('changed', Lang.bind(this, this._changed));
},
store: function() {
this._settings.set_string('application-id', this.id + '.desktop');
let apps = this._masterSettings.get_strv('application-children');
if (apps.indexOf(this._canonicalId) < 0) {
apps.push(this._canonicalId);
this._masterSettings.set_strv('application-children', apps);
}
},
destroy: function() {
this._masterSettings.run_dispose();
this._settings.run_dispose();
},
_changed: function(settings, key) {
this.emit('policy-changed', key);
},
_canonicalizeId: function(id) {
// Keys are restricted to lowercase alphanumeric characters and dash,
// and two dashes cannot be in succession
return id.toLowerCase().replace(/[^a-z0-9\-]/g, '-').replace(/--+/g, '-');
},
get enable() {
return this._settings.get_boolean('enable');
},
get enableSound() {
return this._settings.get_boolean('enable-sound-alerts');
},
get showBanners() {
return this._masterSettings.get_boolean('show-banners') &&
this._settings.get_boolean('show-banners');
},
get forceExpanded() {
return this._settings.get_boolean('force-expanded');
},
get showInLockScreen() {
return this._masterSettings.get_boolean('show-in-lock-screen') &&
this._settings.get_boolean('show-in-lock-screen');
},
get detailsInLockScreen() {
return this._settings.get_boolean('details-in-lock-screen');
}
});
// Notification: // Notification:
// @source: the notification's Source // @source: the notification's Source
// @title: the title // @title: the title
@ -438,7 +558,12 @@ const Notification = new Lang.Class({
this._bannerLabel = this._bannerUrlHighlighter.actor; this._bannerLabel = this._bannerUrlHighlighter.actor;
this._bannerBox.add_actor(this._bannerLabel); this._bannerBox.add_actor(this._bannerLabel);
this.update(title, banner, params); // If called with only one argument we assume the caller
// will call .update() later on. This is the case of
// NotificationDaemon, which wants to use the same code
// for new and updated notifications
if (arguments.length != 1)
this.update(title, banner, params);
}, },
// update: // update:
@ -723,7 +848,6 @@ const Notification = new Lang.Class({
// %action-invoked signal with @id as a parameter // %action-invoked signal with @id as a parameter
addButton: function(id, label) { addButton: function(id, label) {
if (!this._buttonBox) { if (!this._buttonBox) {
let box = new St.BoxLayout({ style_class: 'notification-actions' }); let box = new St.BoxLayout({ style_class: 'notification-actions' });
this.setActionArea(box, { x_expand: false, this.setActionArea(box, { x_expand: false,
y_expand: false, y_expand: false,
@ -731,6 +855,7 @@ const Notification = new Lang.Class({
y_fill: false, y_fill: false,
x_align: St.Align.END }); x_align: St.Align.END });
this._buttonBox = box; this._buttonBox = box;
global.focus_manager.add_group(this._buttonBox);
} }
let button = new St.Button({ can_focus: true }); let button = new St.Button({ can_focus: true });
@ -745,11 +870,7 @@ const Notification = new Lang.Class({
button.label = label; button.label = label;
} }
if (this._buttonBox.get_n_children() > 0)
global.focus_manager.remove_group(this._buttonBox);
this._buttonBox.add(button); this._buttonBox.add(button);
global.focus_manager.add_group(this._buttonBox);
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id)); button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
this.updated(); this.updated();
@ -905,6 +1026,9 @@ const Notification = new Lang.Class({
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
Lang.bind(this, Lang.bind(this,
function() { function() {
if (this._destroyed)
return false;
if (this._canExpandContent()) { if (this._canExpandContent()) {
this._addBannerBody(); this._addBannerBody();
this._table.add_style_class_name('multi-line-notification'); this._table.add_style_class_name('multi-line-notification');
@ -1206,6 +1330,10 @@ const Source = new Lang.Class({
return this.count > 1; return this.count > 1;
}, },
get isClearable() {
return !this.trayIcon && !this.isChat && !this.resident;
},
countUpdated: function() { countUpdated: function() {
this.emit('count-updated'); this.emit('count-updated');
}, },
@ -1277,25 +1405,27 @@ const Source = new Lang.Class({
return this._mainIcon.actor; return this._mainIcon.actor;
}, },
_onNotificationDestroy: function(notification) {
let index = this.notifications.indexOf(notification);
if (index < 0)
return;
this.notifications.splice(index, 1);
if (this.notifications.length == 0)
this._lastNotificationRemoved();
this.countUpdated();
},
pushNotification: function(notification) { pushNotification: function(notification) {
if (this.notifications.indexOf(notification) < 0) { if (this.notifications.indexOf(notification) >= 0)
this.notifications.push(notification); return;
this.emit('notification-added', notification);
}
notification.connect('clicked', Lang.bind(this, this.open)); notification.connect('clicked', Lang.bind(this, this.open));
notification.connect('destroy', Lang.bind(this, notification.connect('destroy', Lang.bind(this, this._onNotificationDestroy));
function () {
let index = this.notifications.indexOf(notification);
if (index < 0)
return;
this.notifications.splice(index, 1); this.notifications.push(notification);
if (this.notifications.length == 0) this.emit('notification-added', notification);
this._lastNotificationRemoved();
this.countUpdated();
}));
this.countUpdated(); this.countUpdated();
}, },
@ -1507,26 +1637,42 @@ const MessageTrayMenu = new Lang.Class({
this._tray = tray; this._tray = tray;
this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
if (error) {
logError(error, 'Error while reading gnome-session presence');
return;
}
this._onStatusChanged(proxy.status);
}));
this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
this._onStatusChanged(status);
}));
this._accountManager = Tp.AccountManager.dup();
this._accountManager.connect('most-available-presence-changed',
Lang.bind(this, this._onIMPresenceChanged));
this._accountManager.prepare_async(null, Lang.bind(this, this._onIMPresenceChanged));
this.actor.hide(); this.actor.hide();
Main.layoutManager.addChrome(this.actor); Main.layoutManager.addChrome(this.actor);
this._busyItem = new PopupMenu.PopupSwitchMenuItem(_("Notifications"));
this._busyItem.connect('toggled', Lang.bind(this, this._updatePresence));
this.addMenuItem(this._busyItem);
let separator = new PopupMenu.PopupSeparatorMenuItem();
this.addMenuItem(separator);
this._clearItem = this.addAction(_("Clear Messages"), function() { this._clearItem = this.addAction(_("Clear Messages"), function() {
let toDestroy = []; let toDestroy = tray.getSources().filter(function(source) {
let sources = tray.getSources(); return source.isClearable;
for (let i = 0; i < sources.length; i++) { })
// We exclude trayIcons, chat and resident sources
if (sources[i].trayIcon ||
sources[i].isChat ||
sources[i].resident)
continue;
toDestroy.push(sources[i]);
}
for (let i = 0; i < toDestroy.length; i++) { toDestroy.forEach(function(source) {
toDestroy[i].destroy(); source.destroy();
} });
toDestroy = null;
tray.close(); tray.close();
}); });
@ -1541,9 +1687,43 @@ const MessageTrayMenu = new Lang.Class({
settingsItem.connect('activate', function() { tray.close(); }); settingsItem.connect('activate', function() { tray.close(); });
}, },
_onStatusChanged: function(status) {
this._sessionStatus = status;
this._busyItem.setToggleState(status != GnomeSession.PresenceStatus.BUSY);
},
_onIMPresenceChanged: function(am, type) {
if (type == Tp.ConnectionPresenceType.AVAILABLE &&
this._sessionStatus == GnomeSession.PresenceStatus.BUSY)
this._presence.SetStatusRemote(GnomeSession.PresenceStatus.AVAILABLE);
},
_updateClearSensitivity: function() { _updateClearSensitivity: function() {
this._clearItem.setSensitive(this._tray.clearableCount > 0); this._clearItem.setSensitive(this._tray.clearableCount > 0);
}, },
_updatePresence: function(item, state) {
let status = state ? GnomeSession.PresenceStatus.AVAILABLE
: GnomeSession.PresenceStatus.BUSY;
this._presence.SetStatusRemote(status);
let [type, s ,msg] = this._accountManager.get_most_available_presence();
let newType = 0;
let newStatus;
if (status == GnomeSession.PresenceStatus.BUSY &&
type == Tp.ConnectionPresenceType.AVAILABLE) {
newType = Tp.ConnectionPresenceType.BUSY;
newStatus = 'busy';
} else if (status == GnomeSession.PresenceStatus.AVAILABLE &&
type == Tp.ConnectionPresenceType.BUSY) {
newType = Tp.ConnectionPresenceType.AVAILABLE;
newStatus = 'available';
}
if (newType > 0)
this._accountManager.set_all_requested_presences(newType,
newStatus, msg);
}
}); });
const MessageTrayMenuButton = new Lang.Class({ const MessageTrayMenuButton = new Lang.Class({
@ -1926,7 +2106,7 @@ const MessageTray = new Lang.Class({
this._summary.insert_child_at_index(summaryItem.actor, this._chatSummaryItemsCount); this._summary.insert_child_at_index(summaryItem.actor, this._chatSummaryItemsCount);
} }
if (!source.trayIcon && !source.isChat && !source.resident) if (source.isClearable)
this.clearableCount++; this.clearableCount++;
this._sources.set(source, obj); this._sources.set(source, obj);
@ -1970,7 +2150,7 @@ const MessageTray = new Lang.Class({
if (source.isChat) if (source.isChat)
this._chatSummaryItemsCount--; this._chatSummaryItemsCount--;
if (!source.trayIcon && !source.isChat && !source.resident) if (source.isClearable)
this.clearableCount--; this.clearableCount--;
source.disconnect(obj.notifyId); source.disconnect(obj.notifyId);
@ -2215,6 +2395,13 @@ const MessageTray = new Lang.Class({
// _updateState() figures out what (if anything) needs to be done // _updateState() figures out what (if anything) needs to be done
// at the present time. // at the present time.
_updateState: function() { _updateState: function() {
// If our state changes caused _updateState to be called,
// just exit now to prevent reentrancy issues.
if (this._updatingState)
return;
this._updatingState = true;
// Filter out acknowledged notifications. // Filter out acknowledged notifications.
this._notificationQueue = this._notificationQueue.filter(function(n) { this._notificationQueue = this._notificationQueue.filter(function(n) {
return !n.acknowledged; return !n.acknowledged;
@ -2297,6 +2484,8 @@ const MessageTray = new Lang.Class({
} else if (desktopCloneIsVisible && !desktopCloneShouldBeVisible) { } else if (desktopCloneIsVisible && !desktopCloneShouldBeVisible) {
this._hideDesktopClone(); this._hideDesktopClone();
} }
this._updatingState = false;
}, },
_tween: function(actor, statevar, value, params) { _tween: function(actor, statevar, value, params) {
@ -2661,13 +2850,13 @@ const MessageTray = new Lang.Class({
Lang.bind(this, this._onSourceDoneDisplayingContent)); Lang.bind(this, this._onSourceDoneDisplayingContent));
this._summaryBoxPointer.bin.child = child; this._summaryBoxPointer.bin.child = child;
this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child,
onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) });
this._summaryBoxPointer.actor.opacity = 0; this._summaryBoxPointer.actor.opacity = 0;
this._summaryBoxPointer.actor.show(); this._summaryBoxPointer.actor.show();
this._adjustSummaryBoxPointerPosition(); this._adjustSummaryBoxPointerPosition();
this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child,
onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) });
this._summaryBoxPointerState = State.SHOWING; this._summaryBoxPointerState = State.SHOWING;
this._summaryBoxPointer.show(BoxPointer.PopupAnimation.FULL, Lang.bind(this, function() { this._summaryBoxPointer.show(BoxPointer.PopupAnimation.FULL, Lang.bind(this, function() {
this._summaryBoxPointerState = State.SHOWN; this._summaryBoxPointerState = State.SHOWN;

View File

@ -103,126 +103,6 @@ const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
'ibus-ui-gtk': 'keyboard' 'ibus-ui-gtk': 'keyboard'
}; };
const NotificationGenericPolicy = new Lang.Class({
Name: 'NotificationGenericPolicy',
Extends: MessageTray.NotificationPolicy,
_init: function() {
// Don't chain to parent, it would try setting
// our properties to the defaults
this.id = 'generic';
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
},
store: function() { },
destroy: function() {
this._masterSettings.run_dispose();
},
_changed: function(settings, key) {
this.emit('policy-changed', key);
},
get enable() {
return true;
},
get enableSound() {
return true;
},
get showBanners() {
return this._masterSettings.get_boolean('show-banners');
},
get forceExpanded() {
return false;
},
get showInLockScreen() {
return this._masterSettings.get_boolean('show-in-lock-screen');
},
get detailsInLockScreen() {
return false;
}
});
const NotificationApplicationPolicy = new Lang.Class({
Name: 'NotificationApplicationPolicy',
Extends: MessageTray.NotificationPolicy,
_init: function(id) {
// Don't chain to parent, it would try setting
// our properties to the defaults
this.id = id;
this._canonicalId = this._canonicalizeId(id)
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
this._settings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications.application',
path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
this._settings.connect('changed', Lang.bind(this, this._changed));
},
store: function() {
this._settings.set_string('application-id', this.id + '.desktop');
let apps = this._masterSettings.get_strv('application-children');
if (apps.indexOf(this._canonicalId) < 0) {
apps.push(this._canonicalId);
this._masterSettings.set_strv('application-children', apps);
}
},
destroy: function() {
this._masterSettings.run_dispose();
this._settings.run_dispose();
},
_changed: function(settings, key) {
this.emit('policy-changed', key);
},
_canonicalizeId: function(id) {
// Keys are restricted to lowercase alphanumeric characters and dash,
// and two dashes cannot be in succession
return id.toLowerCase().replace(/[^a-z0-9\-]/g, '-').replace(/--+/g, '-');
},
get enable() {
return this._settings.get_boolean('enable');
},
get enableSound() {
return this._settings.get_boolean('enable-sound-alerts');
},
get showBanners() {
return this._masterSettings.get_boolean('show-banners') &&
this._settings.get_boolean('show-banners');
},
get forceExpanded() {
return this._settings.get_boolean('force-expanded');
},
get showInLockScreen() {
return this._masterSettings.get_boolean('show-in-lock-screen') &&
this._settings.get_boolean('show-in-lock-screen');
},
get detailsInLockScreen() {
return this._settings.get_boolean('details-in-lock-screen');
}
});
const NotificationDaemon = new Lang.Class({ const NotificationDaemon = new Lang.Class({
Name: 'NotificationDaemon', Name: 'NotificationDaemon',
@ -396,12 +276,13 @@ const NotificationDaemon = new Lang.Class({
if (!hints['image-path'] && hints['image_path']) if (!hints['image-path'] && hints['image_path'])
hints['image-path'] = hints['image_path']; // version 1.1 of the spec hints['image-path'] = hints['image_path']; // version 1.1 of the spec
if (!hints['image-data']) if (!hints['image-data']) {
if (hints['image_data']) if (hints['image_data'])
hints['image-data'] = hints['image_data']; // version 1.1 of the spec hints['image-data'] = hints['image_data']; // version 1.1 of the spec
else if (hints['icon_data'] && !hints['image-path']) else if (hints['icon_data'] && !hints['image-path'])
// early versions of the spec; 'icon_data' should only be used if 'image-path' is not available // early versions of the spec; 'icon_data' should only be used if 'image-path' is not available
hints['image-data'] = hints['icon_data']; hints['image-data'] = hints['icon_data'];
}
let ndata = { appName: appName, let ndata = { appName: appName,
icon: icon, icon: icon,
@ -674,9 +555,9 @@ const Source = new Lang.Class({
_createPolicy: function() { _createPolicy: function() {
if (this.app) { if (this.app) {
let id = this.app.get_id().replace(/\.desktop$/,''); let id = this.app.get_id().replace(/\.desktop$/,'');
return new NotificationApplicationPolicy(id); return new MessageTray.NotificationApplicationPolicy(id);
} else { } else {
return new NotificationGenericPolicy(); return new MessageTray.NotificationGenericPolicy();
} }
}, },
@ -752,22 +633,6 @@ const Source = new Lang.Class({
return null; return null;
}, },
_setApp: function(appId) {
if (this.app)
return;
this.app = this._getApp(appId);
if (!this.app)
return;
// Only override the icon if we were previously using
// notification-based icons (ie, not a trayicon) or if it was unset before
if (!this.trayIcon) {
this.useNotificationIcon = false;
this.iconUpdated();
}
},
setTitle: function(title) { setTitle: function(title) {
// Do nothing if .app is set, we don't want to override the // Do nothing if .app is set, we don't want to override the
// app name with whatever is provided through libnotify (usually // app name with whatever is provided through libnotify (usually
@ -779,8 +644,8 @@ const Source = new Lang.Class({
}, },
open: function(notification) { open: function(notification) {
this.destroyNonResidentNotifications();
this.openApp(); this.openApp();
this.destroyNonResidentNotifications();
}, },
_lastNotificationRemoved: function() { _lastNotificationRemoved: function() {
@ -792,11 +657,8 @@ const Source = new Lang.Class({
if (this.app == null) if (this.app == null)
return; return;
let windows = this.app.get_windows(); this.app.activate();
if (windows.length > 0) { Main.overview.hide();
let mostRecentWindow = windows[0];
Main.activateWindow(mostRecentWindow);
}
}, },
destroy: function() { destroy: function() {

View File

@ -313,9 +313,6 @@ const Overview = new Lang.Class({
}, },
_onDragEnd: function(time) { _onDragEnd: function(time) {
if (this.animationInProgress)
return;
this._inXdndDrag = false; this._inXdndDrag = false;
// In case the drag was canceled while in the overview // In case the drag was canceled while in the overview

View File

@ -55,18 +55,21 @@ const SlideLayout = new Lang.Class({
vfunc_allocate: function(container, box, flags) { vfunc_allocate: function(container, box, flags) {
let child = container.get_first_child(); let child = container.get_first_child();
let [, , natWidth, natHeight] = child.get_preferred_size();
let availWidth = Math.round(box.x2 - box.x1); let availWidth = Math.round(box.x2 - box.x1);
let availHeight = Math.round(box.y2 - box.y1); let availHeight = Math.round(box.y2 - box.y1);
let [, natWidth] = child.get_preferred_width(availHeight);
// Align the actor inside the clipped box, as the actor's alignment
// flags only determine what to do if the allocated box is bigger
// than the actor's box.
let realDirection = getRtlSlideDirection(this._direction, child); let realDirection = getRtlSlideDirection(this._direction, child);
let translationX = (realDirection == SlideDirection.LEFT) ? let alignX = (realDirection == SlideDirection.LEFT) ? (availWidth - natWidth) : 0;
(availWidth - natWidth) : (natWidth - availWidth);
let actorBox = new Clutter.ActorBox({ x1: translationX, let actorBox = new Clutter.ActorBox();
y1: 0, actorBox.x1 = alignX;
x2: child.x_expand ? availWidth : natWidth, actorBox.x2 = actorBox.x1 + child.x_expand ? availWidth : natWidth;
y2: child.y_expand ? availHeight : natHeight }); actorBox.y1 = 0;
actorBox.y2 = actorBox.y1 + availHeight;
child.allocate(actorBox, flags); child.allocate(actorBox, flags);
}, },
@ -236,11 +239,6 @@ const ThumbnailsSlider = new Lang.Class({
this._thumbnailsBox = thumbnailsBox; this._thumbnailsBox = thumbnailsBox;
// SlideLayout reads the actor's expand flags to decide
// whether to allocate the natural size to its child, or the whole
// available allocation
this._thumbnailsBox.actor.y_expand = true;
this.actor.request_mode = Clutter.RequestMode.WIDTH_FOR_HEIGHT; this.actor.request_mode = Clutter.RequestMode.WIDTH_FOR_HEIGHT;
this.actor.reactive = true; this.actor.reactive = true;
this.actor.track_hover = true; this.actor.track_hover = true;
@ -324,7 +322,6 @@ const DashSlider = new Lang.Class({
// whether to allocate the natural size to its child, or the whole // whether to allocate the natural size to its child, or the whole
// available allocation // available allocation
this._dash.actor.x_expand = true; this._dash.actor.x_expand = true;
this._dash.actor.y_expand = true;
this.actor.x_align = Clutter.ActorAlign.START; this.actor.x_align = Clutter.ActorAlign.START;
this.actor.y_expand = true; this.actor.y_expand = true;

View File

@ -213,9 +213,7 @@ const AppMenuButton = new Lang.Class({
this._label = new TextShadower(); this._label = new TextShadower();
this._label.actor.y_align = Clutter.ActorAlign.CENTER; this._label.actor.y_align = Clutter.ActorAlign.CENTER;
this._hbox.add_actor(this._label.actor); this._hbox.add_actor(this._label.actor);
this._arrow = new St.Label({ text: '\u25BE', this._arrow = PopupMenu.unicodeArrow(St.Side.BOTTOM);
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
this._hbox.add_actor(this._arrow); this._hbox.add_actor(this._arrow);
this._iconBottomClip = 0; this._iconBottomClip = 0;
@ -833,9 +831,7 @@ const AggregateMenu = new Lang.Class({
this._indicators.add_child(this._rfkill.indicators); this._indicators.add_child(this._rfkill.indicators);
this._indicators.add_child(this._volume.indicators); this._indicators.add_child(this._volume.indicators);
this._indicators.add_child(this._power.indicators); this._indicators.add_child(this._power.indicators);
this._indicators.add_child(new St.Label({ text: '\u25BE', this._indicators.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
y_expand: true,
y_align: Clutter.ActorAlign.CENTER }));
this.menu.addMenuItem(this._volume.menu); this.menu.addMenuItem(this._volume.menu);
this.menu.addMenuItem(this._brightness.menu); this.menu.addMenuItem(this._brightness.menu);

View File

@ -42,6 +42,33 @@ function isPopupMenuItemVisible(child) {
return child.visible; return child.visible;
} }
/**
* @side Side to which the arrow points.
*/
function unicodeArrow(side) {
let arrowChar;
switch (side) {
case St.Side.TOP:
arrowChar = '\u25B4';
break;
case St.Side.RIGHT:
arrowChar = '\u25B8';
break;
case St.Side.BOTTOM:
arrowChar = '\u25BE';
break;
case St.Side.LEFT:
arrowChar = '\u25C2';
break;
}
return new St.Label({ text: arrowChar,
style_class: 'unicode-arrow',
accessible_role: Atk.Role.ARROW,
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
}
const PopupBaseMenuItem = new Lang.Class({ const PopupBaseMenuItem = new Lang.Class({
Name: 'PopupBaseMenuItem', Name: 'PopupBaseMenuItem',
@ -962,8 +989,7 @@ const PopupSubMenuMenuItem = new Lang.Class({
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER });
this.actor.add_child(this.status); this.actor.add_child(this.status);
this._triangle = new St.Label({ text: '\u25B8', this._triangle = unicodeArrow(St.Side.RIGHT);
style_class: 'popup-submenu-menu-item-triangle' });
this._triangle.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 }); this._triangle.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 });
this._triangleBin = new St.Widget({ y_expand: true, this._triangleBin = new St.Widget({ y_expand: true,
@ -1088,7 +1114,7 @@ const PopupMenuManager = new Lang.Class({
removeMenu: function(menu) { removeMenu: function(menu) {
if (menu == this.activeMenu) if (menu == this.activeMenu)
this._closeMenu(menu); this._closeMenu(false, menu);
let position = this._findMenu(menu); let position = this._findMenu(menu);
if (position == -1) // not a menu we manage if (position == -1) // not a menu we manage

View File

@ -191,7 +191,9 @@ const RemoteSearchProvider = new Lang.Class({
}, },
createIcon: function(size, meta) { createIcon: function(size, meta) {
let gicon; let gicon = null;
let icon = null;
if (meta['icon']) { if (meta['icon']) {
gicon = Gio.icon_deserialize(meta['icon']); gicon = Gio.icon_deserialize(meta['icon']);
} else if (meta['gicon']) { } else if (meta['gicon']) {
@ -203,8 +205,20 @@ const RemoteSearchProvider = new Lang.Class({
bitsPerSample, width, height, rowStride); bitsPerSample, width, height, rowStride);
} }
return new St.Icon({ gicon: gicon, if (gicon)
icon_size: size }); icon = new St.Icon({ gicon: gicon,
icon_size: size });
return icon;
},
filterResults: function(results, maxNumber) {
if (results.length <= maxNumber)
return results;
let regularResults = results.filter(function(r) { return !r.startsWith('special:'); });
let specialResults = results.filter(function(r) { return r.startsWith('special:'); });
return regularResults.slice(0, maxNumber).concat(specialResults.slice(0, maxNumber));
}, },
_getResultsFinished: function(results, error) { _getResultsFinished: function(results, error) {

View File

@ -19,6 +19,7 @@ const Background = imports.ui.background;
const GnomeSession = imports.misc.gnomeSession; const GnomeSession = imports.misc.gnomeSession;
const Hash = imports.misc.hash; const Hash = imports.misc.hash;
const Layout = imports.ui.layout; const Layout = imports.ui.layout;
const OVirt = imports.gdm.oVirt;
const LoginManager = imports.misc.loginManager; const LoginManager = imports.misc.loginManager;
const Lightbox = imports.ui.lightbox; const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main; const Main = imports.ui.main;
@ -545,6 +546,13 @@ const ScreenShield = new Lang.Class({
this._liftShield(true, 0); this._liftShield(true, 0);
})); }));
this._oVirtCredentialsManager = OVirt.getOVirtCredentialsManager();
this._oVirtCredentialsManager.connect('user-authenticated',
Lang.bind(this, function() {
if (this._isLocked)
this._liftShield(true, 0);
}));
this._inhibitor = null; this._inhibitor = null;
this._aboutToSuspend = false; this._aboutToSuspend = false;
this._loginManager = LoginManager.getLoginManager(); this._loginManager = LoginManager.getLoginManager();

View File

@ -103,8 +103,10 @@ const ScreencastService = new Lang.Class({
ScreencastAsync: function(params, invocation) { ScreencastAsync: function(params, invocation) {
let returnValue = [false, '']; let returnValue = [false, ''];
if (!Main.sessionMode.allowScreencast) if (!Main.sessionMode.allowScreencast) {
invocation.return_value(GLib.Variant.new('(bs)', returnValue)); invocation.return_value(GLib.Variant.new('(bs)', returnValue));
return;
}
let sender = invocation.get_sender(); let sender = invocation.get_sender();
let recorder = this._ensureRecorderForSender(sender); let recorder = this._ensureRecorderForSender(sender);
@ -122,8 +124,10 @@ const ScreencastService = new Lang.Class({
ScreencastAreaAsync: function(params, invocation) { ScreencastAreaAsync: function(params, invocation) {
let returnValue = [false, '']; let returnValue = [false, ''];
if (!Main.sessionMode.allowScreencast) if (!Main.sessionMode.allowScreencast) {
invocation.return_value(GLib.Variant.new('(bs)', returnValue)); invocation.return_value(GLib.Variant.new('(bs)', returnValue));
return;
}
let sender = invocation.get_sender(); let sender = invocation.get_sender();
let recorder = this._ensureRecorderForSender(sender); let recorder = this._ensureRecorderForSender(sender);
@ -131,6 +135,16 @@ const ScreencastService = new Lang.Class({
if (!recorder.is_recording()) { if (!recorder.is_recording()) {
let [x, y, width, height, fileTemplate, options] = params; let [x, y, width, height, fileTemplate, options] = params;
if (x < 0 || y < 0 ||
width <= 0 || height <= 0 ||
x + width > global.screen_width ||
y + height > global.screen_height) {
invocation.return_error_literal(Gio.IOErrorEnum,
Gio.IOErrorEnum.CANCELLED,
"Invalid params");
return;
}
recorder.set_file_template(fileTemplate); recorder.set_file_template(fileTemplate);
recorder.set_area(x, y, width, height); recorder.set_area(x, y, width, height);
this._applyOptionalParameters(recorder, options); this._applyOptionalParameters(recorder, options);

View File

@ -77,7 +77,9 @@ const ScreenshotService = new Lang.Class({
ScreenshotAreaAsync : function (params, invocation) { ScreenshotAreaAsync : function (params, invocation) {
let [x, y, width, height, flash, filename, callback] = params; let [x, y, width, height, flash, filename, callback] = params;
if (height <= 0 || width <= 0) { if (x < 0 || y < 0 ||
width <= 0 || height <= 0 ||
x + width > global.screen_width || y + height > global.screen_height) {
invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED, invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
"Invalid params"); "Invalid params");
return; return;

View File

@ -230,7 +230,7 @@ const SearchResultsBase = new Lang.Class({
callback(); callback();
} else { } else {
let maxResults = this._getMaxDisplayedResults(); let maxResults = this._getMaxDisplayedResults();
let results = providerResults.slice(0, maxResults); let results = this.provider.filterResults(providerResults, maxResults);
let hasMoreResults = results.length < providerResults.length; let hasMoreResults = results.length < providerResults.length;
this.provider.getResultMetas(results, Lang.bind(this, function(metas) { this.provider.getResultMetas(results, Lang.bind(this, function(metas) {

View File

@ -43,9 +43,7 @@ const ATIndicator = new Lang.Class({
this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' }); this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
this._hbox.add_child(new St.Icon({ style_class: 'system-status-icon', this._hbox.add_child(new St.Icon({ style_class: 'system-status-icon',
icon_name: 'preferences-desktop-accessibility-symbolic' })); icon_name: 'preferences-desktop-accessibility-symbolic' }));
this._hbox.add_child(new St.Label({ text: '\u25BE', this._hbox.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
y_expand: true,
y_align: Clutter.ActorAlign.CENTER }));
this.actor.add_child(this._hbox); this.actor.add_child(this._hbox);

View File

@ -9,7 +9,6 @@ const St = imports.gi.St;
const Main = imports.ui.main; const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray; const MessageTray = imports.ui.messageTray;
const NotificationDaemon = imports.ui.notificationDaemon;
const PanelMenu = imports.ui.panelMenu; const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
@ -55,13 +54,13 @@ const Indicator = new Lang.Class({
this._item.actor.visible = on; this._item.actor.visible = on;
if (on) if (on)
this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices").format(nDevices); this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices", nDevices).format(nDevices);
}, },
_ensureSource: function() { _ensureSource: function() {
if (!this._source) { if (!this._source) {
this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active'); this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active');
this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-bluetooth-panel'); this._source.policy = new MessageTray.NotificationApplicationPolicy('gnome-bluetooth-panel');
Main.messageTray.add(this._source); Main.messageTray.add(this._source);
} }
}, },

View File

@ -339,9 +339,7 @@ const InputSourceIndicator = new Lang.Class({
this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' }); this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
this._hbox.add_child(this._container); this._hbox.add_child(this._container);
this._hbox.add_child(new St.Label({ text: '\u25BE', this._hbox.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
y_expand: true,
y_align: Clutter.ActorAlign.CENTER }));
this.actor.add_child(this._hbox); this.actor.add_child(this._hbox);
this.actor.add_style_class_name('panel-status-button'); this.actor.add_style_class_name('panel-status-button');

View File

@ -16,7 +16,6 @@ const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu; const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
const MessageTray = imports.ui.messageTray; const MessageTray = imports.ui.messageTray;
const NotificationDaemon = imports.ui.notificationDaemon;
const ModalDialog = imports.ui.modalDialog; const ModalDialog = imports.ui.modalDialog;
const ModemManager = imports.misc.modemManager; const ModemManager = imports.misc.modemManager;
const Util = imports.misc.util; const Util = imports.misc.util;
@ -73,6 +72,27 @@ function ssidToLabel(ssid) {
return label; return label;
} }
function ensureActiveConnectionProps(active, settings) {
if (!active._connection) {
active._connection = settings.get_connection_by_path(active.connection);
// This list is guaranteed to have only one device in it.
let device = active.get_devices()[0]._delegate;
active._primaryDevice = device;
}
}
function createSettingsAction(label, device) {
let item = new PopupMenu.PopupMenuItem(label);
item.connect('activate', function() {
Util.spawnApp(['gnome-control-center', 'network', 'show-device',
device.get_path()]);
});
return item;
}
const NMConnectionItem = new Lang.Class({ const NMConnectionItem = new Lang.Class({
Name: 'NMConnectionItem', Name: 'NMConnectionItem',
@ -170,8 +190,7 @@ const NMConnectionSection = new Lang.Class({
}, },
destroy: function() { destroy: function() {
this.statusItem.destroy(); this.item.destroy();
this.section.destroy();
}, },
_sync: function() { _sync: function() {
@ -268,12 +287,12 @@ const NMConnectionDevice = new Lang.Class({
Extends: NMConnectionSection, Extends: NMConnectionSection,
Abstract: true, Abstract: true,
_init: function(client, device) { _init: function(client, device, settings) {
this.parent(client); this.parent(client);
this._device = device; this._device = device;
this._settings = settings;
this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect)); this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect));
this.item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged)); this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
this._activeConnectionChangedId = this._device.connect('notify::active-connection', Lang.bind(this, this._activeConnectionChanged)); this._activeConnectionChangedId = this._device.connect('notify::active-connection', Lang.bind(this, this._activeConnectionChanged));
@ -301,6 +320,7 @@ const NMConnectionDevice = new Lang.Class({
this._activeConnection = this._device.active_connection; this._activeConnection = this._device.active_connection;
if (this._activeConnection) { if (this._activeConnection) {
ensureActiveConnectionProps(this._activeConnection, this._settings);
let item = this._connectionItems.get(this._activeConnection._connection.get_uuid()); let item = this._connectionItems.get(this._activeConnection._connection.get_uuid());
item.setActiveConnection(this._activeConnection); item.setActiveConnection(this._activeConnection);
} }
@ -356,8 +376,9 @@ const NMConnectionDevice = new Lang.Class({
switch(this._device.state) { switch(this._device.state) {
case NetworkManager.DeviceState.DISCONNECTED: case NetworkManager.DeviceState.DISCONNECTED:
return _("Off");
case NetworkManager.DeviceState.ACTIVATED: case NetworkManager.DeviceState.ACTIVATED:
return ''; return this.parent();
case NetworkManager.DeviceState.UNMANAGED: case NetworkManager.DeviceState.UNMANAGED:
/* Translators: this is for network devices that are physically present but are not /* Translators: this is for network devices that are physically present but are not
under NetworkManager's control (and thus cannot be used in the menu) */ under NetworkManager's control (and thus cannot be used in the menu) */
@ -399,8 +420,11 @@ const NMDeviceModem = new Lang.Class({
Extends: NMConnectionDevice, Extends: NMConnectionDevice,
category: NMConnectionCategory.WWAN, category: NMConnectionCategory.WWAN,
_init: function(client, device) { _init: function(client, device, settings) {
this.parent(client, device); this.parent(client, device, settings);
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
this._mobileDevice = null; this._mobileDevice = null;
let capabilities = device.current_capabilities; let capabilities = device.current_capabilities;
@ -414,16 +438,7 @@ const NMDeviceModem = new Lang.Class({
this._mobileDevice = new ModemManager.ModemGsm(device.udi); this._mobileDevice = new ModemManager.ModemGsm(device.udi);
if (this._mobileDevice) { if (this._mobileDevice) {
this._operatorNameId = this._mobileDevice.connect('notify::operator-name', Lang.bind(this, function() { this._operatorNameId = this._mobileDevice.connect('notify::operator-name', Lang.bind(this, this._sync));
if (this._operatorItem) {
let name = this._mobileDevice.operator_name;
if (name) {
this._operatorItem.label.text = name;
this._operatorItem.actor.show();
} else
this._operatorItem.actor.hide();
}
}));
this._signalQualityId = this._mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() { this._signalQualityId = this._mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() {
this.emit('icon-changed'); this.emit('icon-changed');
})); }));
@ -448,6 +463,20 @@ const NMDeviceModem = new Lang.Class({
this.parent(); this.parent();
}, },
_getStatus: function() {
if (!this._client.wwan_hardware_enabled)
return _("Hardware Disabled");
else if (!this._client.wwan_enabled)
/* Translators: this is for a network device that cannot be activated
because it's disabled by rfkill (airplane mode) */
return _("Disabled");
else if (this._device.state == NetworkManager.DeviceState.ACTIVATED &&
this._mobileDevice && this._mobileDevice.operator_name)
return this._mobileDevice.operator_name;
else
return this.parent();
},
_getMenuIcon: function() { _getMenuIcon: function() {
if (this._device.active_connection) if (this._device.active_connection)
return this.getIndicatorIcon(); return this.getIndicatorIcon();
@ -477,6 +506,12 @@ const NMDeviceBluetooth = new Lang.Class({
Extends: NMConnectionDevice, Extends: NMConnectionDevice,
category: NMConnectionCategory.WWAN, category: NMConnectionCategory.WWAN,
_init: function(client, device, settings) {
this.parent(client, device, settings);
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
},
_autoConnect: function() { _autoConnect: function() {
// FIXME: DUN devices are configured like modems, so // FIXME: DUN devices are configured like modems, so
// We need to spawn the mobile wizard // We need to spawn the mobile wizard
@ -524,6 +559,8 @@ const NMWirelessDialogItem = new Lang.Class({
this.actor.grab_key_focus(); this.actor.grab_key_focus();
})); }));
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
this._content = new St.BoxLayout({ style_class: 'nm-dialog-item-box' }); this._content = new St.BoxLayout({ style_class: 'nm-dialog-item-box' });
this.actor.set_child(this._content); this.actor.set_child(this._content);
@ -569,6 +606,16 @@ const NMWirelessDialogItem = new Lang.Class({
return 'network-workgroup-symbolic'; return 'network-workgroup-symbolic';
else else
return 'network-wireless-signal-' + signalToIcon(this._ap.strength) + '-symbolic'; return 'network-wireless-signal-' + signalToIcon(this._ap.strength) + '-symbolic';
},
_onKeyPressEvent: function(actor, event) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return
|| symbol == Clutter.KEY_KP_Enter) {
this.emit('connect');
return true;
}
return false;
} }
}); });
Signals.addSignalMethods(NMWirelessDialogItem.prototype); Signals.addSignalMethods(NMWirelessDialogItem.prototype);
@ -937,6 +984,9 @@ const NMWirelessDialog = new Lang.Class({
Util.ensureActorVisibleInScrollView(this._scrollView, network.item.actor); Util.ensureActorVisibleInScrollView(this._scrollView, network.item.actor);
this._selectNetwork(network); this._selectNetwork(network);
})); }));
network.item.connect('connect', Lang.bind(this, function() {
this._connect();
}));
}, },
}); });
@ -958,9 +1008,10 @@ const NMDeviceWireless = new Lang.Class({
this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi)); this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi));
this.item.menu.addMenuItem(this._toggleItem); this.item.menu.addMenuItem(this._toggleItem);
this.item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop'); this.item.menu.addMenuItem(createSettingsAction(_("Wi-Fi Settings"), device));
this._wirelessEnabledChangedId = this._device.connect('notify::wireless-enabled', Lang.bind(this, this._sync)); this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled', Lang.bind(this, this._sync));
this._wirelessHwEnabledChangedId = this._client.connect('notify::wireless-hardware-enabled', Lang.bind(this, this._sync));
this._activeApChangedId = this._device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged)); this._activeApChangedId = this._device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged));
this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged)); this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
@ -980,6 +1031,14 @@ const NMDeviceWireless = new Lang.Class({
this._activeAccessPoint.disconnect(this._strengthChangedId); this._activeAccessPoint.disconnect(this._strengthChangedId);
this._strengthChangedId = 0; this._strengthChangedId = 0;
} }
if (this._wirelessEnabledChangedId) {
this._client.disconnect(this._wirelessEnabledChangedId);
this._wirelessEnabledChangedId = 0;
}
if (this._wirelessHwEnabledChangedId) {
this._client.disconnect(this._wirelessHwEnabledChangedId);
this._wirelessHwEnabledChangedId = 0;
}
this.item.destroy(); this.item.destroy();
}, },
@ -1038,6 +1097,7 @@ const NMDeviceWireless = new Lang.Class({
_sync: function() { _sync: function() {
this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On"); this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On");
this._toggleItem.actor.visible = this._client.wireless_hardware_enabled;
this.item.status.text = this._getStatus(); this.item.status.text = this._getStatus();
this.item.icon.icon_name = this._getMenuIcon(); this.item.icon.icon_name = this._getMenuIcon();
@ -1051,10 +1111,17 @@ const NMDeviceWireless = new Lang.Class({
_getStatus: function() { _getStatus: function() {
let ap = this._device.active_access_point; let ap = this._device.active_access_point;
if (!ap)
return _("Off"); // XXX -- interpret actual status
return ssidToLabel(ap.get_ssid()); if (ap)
return ssidToLabel(ap.get_ssid());
else if (!this._client.wireless_hardware_enabled)
return _("Hardware Disabled");
else if (!this._client.wireless_enabled)
return _("Off");
else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED)
return _("Not Connected");
else
return '';
}, },
_getMenuIcon: function() { _getMenuIcon: function() {
@ -1065,7 +1132,8 @@ const NMDeviceWireless = new Lang.Class({
}, },
getIndicatorIcon: function() { getIndicatorIcon: function() {
if (this._device.active_connection.state == NetworkManager.ActiveConnectionState.ACTIVATING) if (this._device.state >= NetworkManager.DeviceState.PREPARE &&
this._device.state < NetworkManager.DeviceState.ACTIVATED)
return 'network-wireless-acquiring-symbolic'; return 'network-wireless-acquiring-symbolic';
let ap = this._device.active_access_point; let ap = this._device.active_access_point;
@ -1313,7 +1381,7 @@ const NMApplet = new Lang.Class({
if (!this._source) { if (!this._source) {
this._source = new MessageTray.Source(_("Network Manager"), this._source = new MessageTray.Source(_("Network Manager"),
'network-transmit-receive'); 'network-transmit-receive');
this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-network-panel'); this._source.policy = new MessageTray.NotificationApplicationPolicy('gnome-network-panel');
this._source.connect('destroy', Lang.bind(this, function() { this._source.connect('destroy', Lang.bind(this, function() {
this._source = null; this._source = null;
@ -1425,28 +1493,18 @@ const NMApplet = new Lang.Class({
devices.splice(pos, 1); devices.splice(pos, 1);
}, },
_ensureActiveConnectionProps: function(a) {
if (!a._connection) {
a._connection = this._settings.get_connection_by_path(a.connection);
// This list is guaranteed to have only one device in it.
let device = a.get_devices()[0]._delegate;
a._primaryDevice = device;
}
},
_getMainConnection: function() { _getMainConnection: function() {
let connection; let connection;
connection = this._client.get_primary_connection(); connection = this._client.get_primary_connection();
if (connection) { if (connection) {
this._ensureActiveConnectionProps(connection); ensureActiveConnectionProps(connection, this._settings);
return connection; return connection;
} }
connection = this._client.get_activating_connection(); connection = this._client.get_activating_connection();
if (connection) { if (connection) {
this._ensureActiveConnectionProps(connection); ensureActiveConnectionProps(connection, this._settings);
return connection; return connection;
} }
@ -1482,7 +1540,7 @@ const NMApplet = new Lang.Class({
return (a instanceof NMClient.VPNConnection); return (a instanceof NMClient.VPNConnection);
}); });
vpnConnections.forEach(Lang.bind(this, function(a) { vpnConnections.forEach(Lang.bind(this, function(a) {
this._ensureActiveConnectionProps(a); ensureActiveConnectionProps(a, this._settings);
})); }));
this._vpnSection.setActiveConnections(vpnConnections); this._vpnSection.setActiveConnections(vpnConnections);
@ -1585,6 +1643,7 @@ const NMApplet = new Lang.Class({
_updateIcon: function() { _updateIcon: function() {
if (!this._client.networking_enabled || !this._mainConnection) { if (!this._client.networking_enabled || !this._mainConnection) {
this._primaryIndicator.icon_name = 'network-offline-symbolic'; this._primaryIndicator.icon_name = 'network-offline-symbolic';
this._primaryIndicator.visible = true;
} else { } else {
let dev = this._mainConnection._primaryDevice; let dev = this._mainConnection._primaryDevice;
this._primaryIndicator.visible = (dev != null); this._primaryIndicator.visible = (dev != null);

View File

@ -86,38 +86,30 @@ const Indicator = new Lang.Class({
return _("Estimating…"); return _("Estimating…");
}, },
_syncStatusLabel: function() { _sync: function() {
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) { function isBattery(result) {
if (error) { if (!result)
this._item.actor.hide(); return false;
return;
}
let [device] = result; let [device] = result;
let [device_id, device_type] = device; let [, deviceType] = device;
if (device_type == UPower.DeviceKind.BATTERY) { return (deviceType == UPower.DeviceKind.BATTERY);
}
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
if (isBattery(result)) {
let [device] = result;
let [,, icon] = device;
let gicon = Gio.icon_new_for_string(icon);
this._indicator.gicon = gicon;
this._item.icon.gicon = gicon;
this._item.status.text = this._statusForDevice(device); this._item.status.text = this._statusForDevice(device);
this._item.actor.show(); this._item.actor.show();
} else { } else {
// If there's no battery, then we use the power icon.
this._indicator.icon_name = 'system-shutdown-symbolic';
this._item.actor.hide(); this._item.actor.hide();
} }
})); }));
}, },
_syncIcon: function() {
let icon = this._proxy.Icon;
if (icon) {
let gicon = Gio.icon_new_for_string(icon);
this._indicator.gicon = gicon;
this._item.icon.gicon = gicon;
} else {
// If there's no battery, then we use the power icon.
this._indicator.icon_name = 'system-shutdown-symbolic';
}
},
_sync: function() {
this._syncIcon();
this._syncStatusLabel();
}
}); });

View File

@ -18,10 +18,12 @@ const PopupMenu = imports.ui.popupMenu;
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown'; const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver'; const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
const PRIVACY_SCHEMA = 'org.gnome.desktop.privacy' const PRIVACY_SCHEMA = 'org.gnome.desktop.privacy'
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching'; const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen'; const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
const DISABLE_LOG_OUT_KEY = 'disable-log-out'; const DISABLE_LOG_OUT_KEY = 'disable-log-out';
const DISABLE_RESTART_KEY = 'disable-restart-buttons';
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out'; const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
const AltSwitcher = new Lang.Class({ const AltSwitcher = new Lang.Class({
@ -91,6 +93,7 @@ const Indicator = new Lang.Class({
this.parent(); this.parent();
this._screenSaverSettings = new Gio.Settings({ schema: SCREENSAVER_SCHEMA }); this._screenSaverSettings = new Gio.Settings({ schema: SCREENSAVER_SCHEMA });
this._loginScreenSettings = new Gio.Settings({ schema: LOGIN_SCREEN_SCHEMA });
this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA });
this._privacySettings = new Gio.Settings({ schema: PRIVACY_SCHEMA }); this._privacySettings = new Gio.Settings({ schema: PRIVACY_SCHEMA });
this._orientationSettings = new Gio.Settings({ schema: 'org.gnome.settings-daemon.peripherals.touchscreen' }); this._orientationSettings = new Gio.Settings({ schema: 'org.gnome.settings-daemon.peripherals.touchscreen' });
@ -261,7 +264,10 @@ const Indicator = new Lang.Class({
}, },
_updatePowerOff: function() { _updatePowerOff: function() {
this._powerOffAction.visible = this._haveShutdown && !Main.sessionMode.isLocked; let disabled = Main.sessionMode.isLocked ||
(Main.sessionMode.isGreeter &&
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
this._powerOffAction.visible = this._haveShutdown && !disabled;
this._updateActionsVisibility(); this._updateActionsVisibility();
}, },
@ -273,7 +279,10 @@ const Indicator = new Lang.Class({
}, },
_updateSuspend: function() { _updateSuspend: function() {
this._suspendAction.visible = this._haveSuspend && !Main.sessionMode.isLocked; let disabled = Main.sessionMode.isLocked ||
(Main.sessionMode.isGreeter &&
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
this._suspendAction.visible = this._haveShutdown && !disabled;
this._updateActionsVisibility(); this._updateActionsVisibility();
}, },

View File

@ -509,7 +509,7 @@ const SwitcherList = new Lang.Class({
_getPreferredWidth: function (actor, forHeight, alloc) { _getPreferredWidth: function (actor, forHeight, alloc) {
let [maxChildMin, maxChildNat] = this._maxChildWidth(forHeight); let [maxChildMin, maxChildNat] = this._maxChildWidth(forHeight);
let totalSpacing = this._list.spacing * (this._items.length - 1); let totalSpacing = Math.max(this._list.spacing * (this._items.length - 1), 0);
alloc.min_size = this._items.length * maxChildMin + totalSpacing; alloc.min_size = this._items.length * maxChildMin + totalSpacing;
alloc.natural_size = alloc.min_size; alloc.natural_size = alloc.min_size;
this._minSize = alloc.min_size; this._minSize = alloc.min_size;
@ -539,7 +539,7 @@ const SwitcherList = new Lang.Class({
let childHeight = box.y2 - box.y1; let childHeight = box.y2 - box.y1;
let [maxChildMin, maxChildNat] = this._maxChildWidth(childHeight); let [maxChildMin, maxChildNat] = this._maxChildWidth(childHeight);
let totalSpacing = this._list.spacing * (this._items.length - 1); let totalSpacing = Math.max(this._list.spacing * (this._items.length - 1), 0);
let childWidth = Math.floor(Math.max(0, box.x2 - box.x1 - totalSpacing) / this._items.length); let childWidth = Math.floor(Math.max(0, box.x2 - box.x1 - totalSpacing) / this._items.length);

View File

@ -132,6 +132,10 @@ const WandaSearchProvider = new Lang.Class({
}]); }]);
}, },
filterResults: function(results) {
return results;
},
getInitialResultSet: function(terms) { getInitialResultSet: function(terms) {
if (terms.join(' ') == MAGIC_FISH_KEY) { if (terms.join(' ') == MAGIC_FISH_KEY) {
this.searchSystem.setResults(this, [ FISH_NAME ]); this.searchSystem.setResults(this, [ FISH_NAME ]);

View File

@ -343,19 +343,6 @@ const WindowOverlay = new Lang.Class({
this._animateVisible(); this._animateVisible();
}, },
fadeIn: function() {
if (!this._hidden)
return;
this.show();
this.title.opacity = 0;
this._parentActor.raise_top();
Tweener.addTween(this.title,
{ opacity: 255,
time: CLOSE_BUTTON_FADE_TIME,
transition: 'easeOutQuad' });
},
chromeHeights: function () { chromeHeights: function () {
return [Math.max(this.borderSize, this.closeButton.height - this.closeButton._overlap), return [Math.max(this.borderSize, this.closeButton.height - this.closeButton._overlap),
this.title.height + this.title._spacing]; this.title.height + this.title._spacing];
@ -372,7 +359,6 @@ const WindowOverlay = new Lang.Class({
let border = this.border; let border = this.border;
Tweener.removeTweens(button); Tweener.removeTweens(button);
Tweener.removeTweens(title);
Tweener.removeTweens(border); Tweener.removeTweens(border);
let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot; let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot;
@ -1142,7 +1128,7 @@ const Workspace = new Lang.Class({
clone.actor.set_scale(scale, scale); clone.actor.set_scale(scale, scale);
clone.actor.set_opacity(255); clone.actor.set_opacity(255);
clone.overlay.relayout(false); clone.overlay.relayout(false);
this._showWindowOverlay(clone, overlay, isOnCurrentWorkspace); this._showWindowOverlay(clone, overlay);
} }
} }
}, },
@ -1172,23 +1158,19 @@ const Workspace = new Lang.Class({
time: Overview.ANIMATION_TIME, time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad', transition: 'easeOutQuad',
onComplete: Lang.bind(this, function() { onComplete: Lang.bind(this, function() {
this._showWindowOverlay(clone, overlay, true); this._showWindowOverlay(clone, overlay);
}) })
}); });
clone.overlay.relayout(true); clone.overlay.relayout(true);
}, },
_showWindowOverlay: function(clone, overlay, fade) { _showWindowOverlay: function(clone, overlay) {
if (clone.inDrag) if (clone.inDrag)
return; return;
if (overlay) { if (overlay && overlay._hidden)
if (fade)
overlay.fadeIn();
else
overlay.show(); overlay.show();
}
}, },
_delayedWindowRepositioning: function() { _delayedWindowRepositioning: function() {

View File

@ -536,20 +536,6 @@ const ThumbnailsBox = new Lang.Class({
this.actor.connect('allocate', Lang.bind(this, this._allocate)); this.actor.connect('allocate', Lang.bind(this, this._allocate));
this.actor._delegate = this; this.actor._delegate = this;
// When we animate the scale, we don't animate the requested size of the thumbnails, rather
// we ask for our final size and then animate within that size. This slightly simplifies the
// interaction with the main workspace windows (instead of constantly reallocating them
// to a new size, they get a new size once, then use the standard window animation code
// allocate the windows to their new positions), however it causes problems for drawing
// the background and border wrapped around the thumbnail as we animate - we can't just pack
// the container into a box and set style properties on the box since that box would wrap
// around the final size not the animating size. So instead we fake the background with
// an actor underneath the content and adjust the allocation of our children to leave space
// for the border and padding of the background actor.
this._background = new St.Bin({ style_class: 'workspace-thumbnails-background' });
this.actor.add_actor(this._background);
let indicator = new St.Bin({ style_class: 'workspace-thumbnail-indicator' }); let indicator = new St.Bin({ style_class: 'workspace-thumbnail-indicator' });
// We don't want the indicator to affect drag-and-drop // We don't want the indicator to affect drag-and-drop
@ -1042,9 +1028,6 @@ const ThumbnailsBox = new Lang.Class({
}, },
_getPreferredHeight: function(actor, forWidth, alloc) { _getPreferredHeight: function(actor, forWidth, alloc) {
// See comment about this._background in _init()
let themeNode = this._background.get_theme_node();
// Note that for getPreferredWidth/Height we cheat a bit and skip propagating // Note that for getPreferredWidth/Height we cheat a bit and skip propagating
// the size request to our children because we know how big they are and know // the size request to our children because we know how big they are and know
// that the actors aren't depending on the virtual functions being called. // that the actors aren't depending on the virtual functions being called.
@ -1052,24 +1035,21 @@ const ThumbnailsBox = new Lang.Class({
if (this._thumbnails.length == 0) if (this._thumbnails.length == 0)
return; return;
let spacing = this.actor.get_theme_node().get_length('spacing'); let themeNode = this.actor.get_theme_node();
let spacing = themeNode.get_length('spacing');
let nWorkspaces = global.screen.n_workspaces; let nWorkspaces = global.screen.n_workspaces;
let totalSpacing = (nWorkspaces - 1) * spacing; let totalSpacing = (nWorkspaces - 1) * spacing;
[alloc.min_size, alloc.natural_size] = alloc.min_size = totalSpacing;
themeNode.adjust_preferred_height(totalSpacing, alloc.natural_size = totalSpacing + nWorkspaces * this._porthole.height * MAX_THUMBNAIL_SCALE;
totalSpacing + nWorkspaces * this._porthole.height * MAX_THUMBNAIL_SCALE);
}, },
_getPreferredWidth: function(actor, forHeight, alloc) { _getPreferredWidth: function(actor, forHeight, alloc) {
// See comment about this._background in _init()
let themeNode = this._background.get_theme_node();
if (this._thumbnails.length == 0) if (this._thumbnails.length == 0)
return; return;
// We don't animate our preferred width, which is always reported according let themeNode = this.actor.get_theme_node();
// to the actual number of current workspaces, we just animate within that
let spacing = this.actor.get_theme_node().get_length('spacing'); let spacing = this.actor.get_theme_node().get_length('spacing');
let nWorkspaces = global.screen.n_workspaces; let nWorkspaces = global.screen.n_workspaces;
@ -1081,28 +1061,26 @@ const ThumbnailsBox = new Lang.Class({
scale = Math.min(scale, MAX_THUMBNAIL_SCALE); scale = Math.min(scale, MAX_THUMBNAIL_SCALE);
let width = Math.round(this._porthole.width * scale); let width = Math.round(this._porthole.width * scale);
[alloc.min_size, alloc.natural_size] = alloc.min_size = width;
themeNode.adjust_preferred_width(width, width); alloc.natural_size = width;
}, },
_allocate: function(actor, box, flags) { _allocate: function(actor, box, flags) {
let rtl = (Clutter.get_default_text_direction () == Clutter.TextDirection.RTL); let rtl = (Clutter.get_default_text_direction () == Clutter.TextDirection.RTL);
// See comment about this._background in _init()
let themeNode = this._background.get_theme_node();
let contentBox = themeNode.get_content_box(box);
if (this._thumbnails.length == 0) // not visible if (this._thumbnails.length == 0) // not visible
return; return;
let themeNode = this.actor.get_theme_node();
let portholeWidth = this._porthole.width; let portholeWidth = this._porthole.width;
let portholeHeight = this._porthole.height; let portholeHeight = this._porthole.height;
let spacing = this.actor.get_theme_node().get_length('spacing'); let spacing = themeNode.get_length('spacing');
// Compute the scale we'll need once everything is updated // Compute the scale we'll need once everything is updated
let nWorkspaces = global.screen.n_workspaces; let nWorkspaces = global.screen.n_workspaces;
let totalSpacing = (nWorkspaces - 1) * spacing; let totalSpacing = (nWorkspaces - 1) * spacing;
let avail = (contentBox.y2 - contentBox.y1) - totalSpacing; let avail = (box.y2 - box.y1) - totalSpacing;
let newScale = (avail / nWorkspaces) / portholeHeight; let newScale = (avail / nWorkspaces) / portholeHeight;
newScale = Math.min(newScale, MAX_THUMBNAIL_SCALE); newScale = Math.min(newScale, MAX_THUMBNAIL_SCALE);
@ -1131,21 +1109,6 @@ const ThumbnailsBox = new Lang.Class({
else else
slideOffset = thumbnailWidth + themeNode.get_padding(St.Side.RIGHT); slideOffset = thumbnailWidth + themeNode.get_padding(St.Side.RIGHT);
let childBox = new Clutter.ActorBox();
// The background is horizontally restricted to correspond to the current thumbnail size
// but otherwise covers the entire allocation
if (rtl) {
childBox.x1 = box.x1;
childBox.x2 = box.x2 - ((contentBox.x2 - contentBox.x1) - thumbnailWidth);
} else {
childBox.x1 = box.x1 + ((contentBox.x2 - contentBox.x1) - thumbnailWidth);
childBox.x2 = box.x2;
}
childBox.y1 = box.y1;
childBox.y2 = box.y2;
this._background.allocate(childBox, flags);
let indicatorY1 = this._indicatorY; let indicatorY1 = this._indicatorY;
let indicatorY2; let indicatorY2;
// when not animating, the workspace position overrides this._indicatorY // when not animating, the workspace position overrides this._indicatorY
@ -1157,7 +1120,7 @@ const ThumbnailsBox = new Lang.Class({
let indicatorLeftFullBorder = indicatorThemeNode.get_padding(St.Side.LEFT) + indicatorThemeNode.get_border_width(St.Side.LEFT); let indicatorLeftFullBorder = indicatorThemeNode.get_padding(St.Side.LEFT) + indicatorThemeNode.get_border_width(St.Side.LEFT);
let indicatorRightFullBorder = indicatorThemeNode.get_padding(St.Side.RIGHT) + indicatorThemeNode.get_border_width(St.Side.RIGHT); let indicatorRightFullBorder = indicatorThemeNode.get_padding(St.Side.RIGHT) + indicatorThemeNode.get_border_width(St.Side.RIGHT);
let y = contentBox.y1; let y = box.y1;
if (this._dropPlaceholderPos == -1) { if (this._dropPlaceholderPos == -1) {
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() { Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
@ -1165,6 +1128,8 @@ const ThumbnailsBox = new Lang.Class({
})); }));
} }
let childBox = new Clutter.ActorBox();
for (let i = 0; i < this._thumbnails.length; i++) { for (let i = 0; i < this._thumbnails.length; i++) {
let thumbnail = this._thumbnails[i]; let thumbnail = this._thumbnails[i];
@ -1173,10 +1138,10 @@ const ThumbnailsBox = new Lang.Class({
let x1, x2; let x1, x2;
if (rtl) { if (rtl) {
x1 = contentBox.x1 + slideOffset * thumbnail.slidePosition; x1 = box.x1 + slideOffset * thumbnail.slidePosition;
x2 = x1 + thumbnailWidth; x2 = x1 + thumbnailWidth;
} else { } else {
x1 = contentBox.x2 - thumbnailWidth + slideOffset * thumbnail.slidePosition; x1 = box.x2 - thumbnailWidth + slideOffset * thumbnail.slidePosition;
x2 = x1 + thumbnailWidth; x2 = x1 + thumbnailWidth;
} }
@ -1223,11 +1188,11 @@ const ThumbnailsBox = new Lang.Class({
} }
if (rtl) { if (rtl) {
childBox.x1 = contentBox.x1; childBox.x1 = box.x1;
childBox.x2 = contentBox.x1 + thumbnailWidth; childBox.x2 = box.x1 + thumbnailWidth;
} else { } else {
childBox.x1 = contentBox.x2 - thumbnailWidth; childBox.x1 = box.x2 - thumbnailWidth;
childBox.x2 = contentBox.x2; childBox.x2 = box.x2;
} }
childBox.x1 -= indicatorLeftFullBorder; childBox.x1 -= indicatorLeftFullBorder;
childBox.x2 += indicatorRightFullBorder; childBox.x2 += indicatorRightFullBorder;

653
po/ar.po

File diff suppressed because it is too large Load Diff

350
po/as.po
View File

@ -3,14 +3,14 @@
# This file is distributed under the same license as the gnome-shell package. # This file is distributed under the same license as the gnome-shell package.
# #
# ngoswami <ngoswami@redhat.com>, 2011. # ngoswami <ngoswami@redhat.com>, 2011.
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011, 2012, 2013. # Nilamdyuti Goswami <ngoswami@redhat.com>, 2011, 2012, 2013, 2014.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-28 19:49+0000\n" "POT-Creation-Date: 2014-01-19 14:53+0000\n"
"PO-Revision-Date: 2013-09-30 13:31+0530\n" "PO-Revision-Date: 2014-01-23 19:08+0630\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n" "Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: Assamese <kde-i18n-doc@kde.org>\n" "Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
"Language: as_IN\n" "Language: as_IN\n"
@ -279,23 +279,23 @@ msgstr ""
msgid "Select an extension to configure using the combobox above." msgid "Select an extension to configure using the combobox above."
msgstr "উপৰত দিয়া কম্বোবাকচ ব্যৱহাৰ কৰি সংৰূপণ কৰিবলে এটা সম্প্ৰসাৰন বাছক।" msgstr "উপৰত দিয়া কম্বোবাকচ ব্যৱহাৰ কৰি সংৰূপণ কৰিবলে এটা সম্প্ৰসাৰন বাছক।"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:739
msgid "Cancel" msgid "Cancel"
msgstr "বাতিল কৰক" msgstr "বাতিল কৰক"
#: ../js/gdm/authPrompt.js:167 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
msgid "Next" msgid "Next"
msgstr "পৰৱৰ্তী" msgstr "পৰৱৰ্তী"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "আনলক কৰক" msgstr "আনলক কৰক"
#: ../js/gdm/authPrompt.js:213 #: ../js/gdm/authPrompt.js:214
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "ছাইন ইন কৰক" msgstr "ছাইন ইন কৰক"
@ -322,23 +322,23 @@ msgstr "ব্যৱহাৰকাৰীৰ নাম: "
msgid "Login Window" msgid "Login Window"
msgstr "লগিন উইন্ডো" msgstr "লগিন উইন্ডো"
#: ../js/gdm/util.js:306 #: ../js/gdm/util.js:321
msgid "Authentication error" msgid "Authentication error"
msgstr "প্ৰমাণীকৰণ ত্ৰুটি" msgstr "প্ৰমাণীকৰণ ত্ৰুটি"
#: ../js/gdm/util.js:436 #: ../js/gdm/util.js:451
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(অথবা আঙুলি স্বাইপ কৰক)" msgstr "(অথবা আঙুলি স্বাইপ কৰক)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "কমান্ড পোৱা নগল" msgstr "কমান্ড পোৱা নগল"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "কমান্ড বিশ্লেষন কৰিব নোৱাৰি:" msgstr "কমান্ড বিশ্লেষন কৰিব নোৱাৰি:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "'%s' ৰ প্ৰেৰণ ব্যৰ্থ হল:" msgstr "'%s' ৰ প্ৰেৰণ ব্যৰ্থ হল:"
@ -355,15 +355,15 @@ msgstr "সঘন"
msgid "All" msgid "All"
msgstr "সকলো" msgstr "সকলো"
#: ../js/ui/appDisplay.js:1514 #: ../js/ui/appDisplay.js:1525
msgid "New Window" msgid "New Window"
msgstr "নতুন উইন্ডো" msgstr "নতুন উইন্ডো"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284 #: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "পছন্দৰ পৰা আতৰাওক" msgstr "পছন্দৰ পৰা আতৰাওক"
#: ../js/ui/appDisplay.js:1518 #: ../js/ui/appDisplay.js:1529
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "পছন্দলে যোগ কৰক" msgstr "পছন্দলে যোগ কৰক"
@ -377,8 +377,8 @@ msgstr "%s ক আপোনাৰ পছন্দলে যোগ কৰা হ
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s ক আপোনাৰ পছন্দৰ পৰা আতৰোৱা হৈছে।" msgstr "%s ক আপোনাৰ পছন্দৰ পৰা আতৰোৱা হৈছে।"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "সংহতিসমূহ" msgstr "সংহতিসমূহ"
@ -568,16 +568,16 @@ msgstr "%s ৰ সৈতে খোলক"
msgid "Eject" msgid "Eject"
msgstr "উলিৱাওক" msgstr "উলিৱাওক"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "পাছৱাৰ্ড:" msgstr "পাছৱাৰ্ড:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "আকৌ টাইপ কৰক:" msgstr "আকৌ টাইপ কৰক:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:295 ../js/ui/status/network.js:742
msgid "Connect" msgid "Connect"
msgstr "সংযোগ কৰক" msgstr "সংযোগ কৰক"
@ -671,60 +671,60 @@ msgstr "প্ৰমাণীত কৰক"
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "ক্ষমা কৰিব, সেয়া কাম নকৰিলে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" msgstr "ক্ষমা কৰিব, সেয়া কাম নকৰিলে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।"
#: ../js/ui/components/telepathyClient.js:238 #: ../js/ui/components/telepathyClient.js:237
msgid "Invitation" msgid "Invitation"
msgstr "নিমন্ত্ৰণ" msgstr "নিমন্ত্ৰণ"
#: ../js/ui/components/telepathyClient.js:298 #: ../js/ui/components/telepathyClient.js:297
msgid "Call" msgid "Call"
msgstr "কল" msgstr "কল"
#: ../js/ui/components/telepathyClient.js:314 #: ../js/ui/components/telepathyClient.js:313
msgid "File Transfer" msgid "File Transfer"
msgstr "ফাইল স্থানান্তৰ" msgstr "ফাইল স্থানান্তৰ"
#: ../js/ui/components/telepathyClient.js:418 #: ../js/ui/components/telepathyClient.js:417
msgid "Chat" msgid "Chat"
msgstr "চেট" msgstr "চেট"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Unmute" msgid "Unmute"
msgstr "অমৌন কৰক" msgstr "অমৌন কৰক"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Mute" msgid "Mute"
msgstr "মোন কৰক" msgstr "মোন কৰক"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/ #. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:942 #: ../js/ui/components/telepathyClient.js:941
msgid "<b>Yesterday</b>, <b>%H:%M</b>" msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>যোৱাকালী</b>, <b>%H:%M</b>" msgstr "<b>যোৱাকালী</b>, <b>%H:%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/ #. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:948 #: ../js/ui/components/telepathyClient.js:947
msgid "<b>%A</b>, <b>%H:%M</b>" msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>" msgstr "<b>%A</b>, <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/ #. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:953 #: ../js/ui/components/telepathyClient.js:952
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>" msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%B</b> <b>%d</b>, <b>%H:%M</b>" msgstr "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/ #. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:957 #: ../js/ui/components/telepathyClient.js:956
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " msgstr "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:986 #: ../js/ui/components/telepathyClient.js:985
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s এতিয়া %s হিচাপে জনাজাত" msgstr "%s এতিয়া %s হিচাপে জনাজাত"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1089 #: ../js/ui/components/telepathyClient.js:1088
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "%s লে নিমন্ত্ৰণ" msgstr "%s লে নিমন্ত্ৰণ"
@ -732,38 +732,38 @@ msgstr "%s লে নিমন্ত্ৰণ"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1097 #: ../js/ui/components/telepathyClient.js:1096
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s এ আপোনাক %s ত অংশগ্ৰহণ কৰিবলে আমন্ত্ৰণ জনাইছে" msgstr "%s এ আপোনাক %s ত অংশগ্ৰহণ কৰিবলে আমন্ত্ৰণ জনাইছে"
#: ../js/ui/components/telepathyClient.js:1099 #: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1140 #: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1180 #: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1243 #: ../js/ui/components/telepathyClient.js:1242
msgid "Decline" msgid "Decline"
msgstr "নাকচ কৰক" msgstr "নাকচ কৰক"
#: ../js/ui/components/telepathyClient.js:1100 #: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1181 #: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1244 #: ../js/ui/components/telepathyClient.js:1243
msgid "Accept" msgid "Accept"
msgstr "গ্ৰহন কৰক" msgstr "গ্ৰহন কৰক"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1130 #: ../js/ui/components/telepathyClient.js:1129
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "%s ৰ পৰা ভিডিঅ' কল" msgstr "%s ৰ পৰা ভিডিঅ' কল"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1133 #: ../js/ui/components/telepathyClient.js:1132
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "%s ৰ পৰা কল" msgstr "%s ৰ পৰা কল"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142 #: ../js/ui/components/telepathyClient.js:1141
msgid "Answer" msgid "Answer"
msgstr "উত্তৰ দিয়ক" msgstr "উত্তৰ দিয়ক"
@ -772,110 +772,110 @@ msgstr "উত্তৰ দিয়ক"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1174 #: ../js/ui/components/telepathyClient.js:1173
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s এ আপোনাক %s পঠাই আছে" msgstr "%s এ আপোনাক %s পঠাই আছে"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1209 #: ../js/ui/components/telepathyClient.js:1208
#, javascript-format #, javascript-format
msgid "%s would like permission to see when you are online" msgid "%s would like permission to see when you are online"
msgstr "আপুনি কেতিয়া অনলাইন আছে চাবলে %s এ অনুমতি বিচাৰিব" msgstr "আপুনি কেতিয়া অনলাইন আছে চাবলে %s এ অনুমতি বিচাৰিব"
#: ../js/ui/components/telepathyClient.js:1301 #: ../js/ui/components/telepathyClient.js:1300
msgid "Network error" msgid "Network error"
msgstr "নেটৱাৰ্ক ত্ৰুটি" msgstr "নেটৱাৰ্ক ত্ৰুটি"
#: ../js/ui/components/telepathyClient.js:1303 #: ../js/ui/components/telepathyClient.js:1302
msgid "Authentication failed" msgid "Authentication failed"
msgstr "প্ৰমাণীকৰণ ব্যৰ্থ" msgstr "প্ৰমাণীকৰণ ব্যৰ্থ"
#: ../js/ui/components/telepathyClient.js:1305 #: ../js/ui/components/telepathyClient.js:1304
msgid "Encryption error" msgid "Encryption error"
msgstr "ইনক্ৰিপষণ ত্ৰুটি" msgstr "ইনক্ৰিপষণ ত্ৰুটি"
#: ../js/ui/components/telepathyClient.js:1307 #: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "প্ৰমাণপত্ৰ প্ৰদান কৰা হোৱা নাই" msgstr "প্ৰমাণপত্ৰ প্ৰদান কৰা হোৱা নাই"
#: ../js/ui/components/telepathyClient.js:1309 #: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "প্ৰমাণপত্ৰক ভৰষা কৰিব নোৱাৰি" msgstr "প্ৰমাণপত্ৰক ভৰষা কৰিব নোৱাৰি"
#: ../js/ui/components/telepathyClient.js:1311 #: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate expired" msgid "Certificate expired"
msgstr "প্ৰমাণপত্ৰৰ অৱসান ঘটিছে" msgstr "প্ৰমাণপত্ৰৰ অৱসান ঘটিছে"
#: ../js/ui/components/telepathyClient.js:1313 #: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "প্ৰমাণপত্ৰ সক্ৰিয় কৰা হোৱা নাই" msgstr "প্ৰমাণপত্ৰ সক্ৰিয় কৰা হোৱা নাই"
#: ../js/ui/components/telepathyClient.js:1315 #: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "প্ৰমাণপত্ৰ হস্টনাম অমিল" msgstr "প্ৰমাণপত্ৰ হস্টনাম অমিল"
#: ../js/ui/components/telepathyClient.js:1317 #: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "প্ৰমাণপত্ৰ ফিংগাৰপ্ৰিন্ট অমিল" msgstr "প্ৰমাণপত্ৰ ফিংগাৰপ্ৰিন্ট অমিল"
#: ../js/ui/components/telepathyClient.js:1319 #: ../js/ui/components/telepathyClient.js:1318
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "প্ৰমাণপত্ৰ স্ব-স্বাক্ষৰীত" msgstr "প্ৰমাণপত্ৰ স্ব-স্বাক্ষৰীত"
#: ../js/ui/components/telepathyClient.js:1321 #: ../js/ui/components/telepathyClient.js:1320
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "অৱস্থা অফলাইনলে সংহতি কৰা হৈছে" msgstr "অৱস্থা অফলাইনলে সংহতি কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1323 #: ../js/ui/components/telepathyClient.js:1322
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "ইনক্ৰিপষণ উপলব্ধ নহয়" msgstr "ইনক্ৰিপষণ উপলব্ধ নহয়"
#: ../js/ui/components/telepathyClient.js:1325 #: ../js/ui/components/telepathyClient.js:1324
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "প্ৰমাণপত্ৰ অবৈধ" msgstr "প্ৰমাণপত্ৰ অবৈধ"
#: ../js/ui/components/telepathyClient.js:1327 #: ../js/ui/components/telepathyClient.js:1326
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "সংযোগ নাকচ কৰা হৈছে" msgstr "সংযোগ নাকচ কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1329 #: ../js/ui/components/telepathyClient.js:1328
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "সংযোগ স্থাপন কৰিব নোৱাৰি" msgstr "সংযোগ স্থাপন কৰিব নোৱাৰি"
#: ../js/ui/components/telepathyClient.js:1331 #: ../js/ui/components/telepathyClient.js:1330
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "সংযোগ হেৰাইছে" msgstr "সংযোগ হেৰাইছে"
#: ../js/ui/components/telepathyClient.js:1333 #: ../js/ui/components/telepathyClient.js:1332
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "এই একাওন্ট ইতিমধ্যে চাৰ্ভাৰৰ সৈতে সংযোগিত" msgstr "এই একাওন্ট ইতিমধ্যে চাৰ্ভাৰৰ সৈতে সংযোগিত"
#: ../js/ui/components/telepathyClient.js:1335 #: ../js/ui/components/telepathyClient.js:1334
msgid "" msgid ""
"Connection has been replaced by a new connection using the same resource" "Connection has been replaced by a new connection using the same resource"
msgstr "সংযোগক একে সম্পদ ব্যৱহাৰ কৰি এটা নতুন সংযোগৰে প্ৰতিস্থাপন কৰা হৈছে" msgstr "সংযোগক একে সম্পদ ব্যৱহাৰ কৰি এটা নতুন সংযোগৰে প্ৰতিস্থাপন কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1337 #: ../js/ui/components/telepathyClient.js:1336
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "একাওন্ট ইতিমধ্যে চাৰ্ভাৰত উপস্থিত" msgstr "একাওন্ট ইতিমধ্যে চাৰ্ভাৰত উপস্থিত"
#: ../js/ui/components/telepathyClient.js:1339 #: ../js/ui/components/telepathyClient.js:1338
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "চাৰ্ভাৰ সংযোগ ব্যৱস্থাপনা কৰিবলে বৰ্তমানে অতি ব্যস্ত" msgstr "চাৰ্ভাৰ সংযোগ ব্যৱস্থাপনা কৰিবলে বৰ্তমানে অতি ব্যস্ত"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "প্ৰমাণপত্ৰ প্ৰত্যাহাৰ কৰা হৈছে" msgstr "প্ৰমাণপত্ৰ প্ৰত্যাহাৰ কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1342
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"প্ৰমাণপত্ৰয় এটা অসুৰক্ষিত চিফাৰ এলগৰিথম ব্যৱহাৰ কৰে অথবা ক্ৰিপ্টোগ্ৰাফিয়ভাৱে " "প্ৰমাণপত্ৰয় এটা অসুৰক্ষিত চিফাৰ এলগৰিথম ব্যৱহাৰ কৰে অথবা ক্ৰিপ্টোগ্ৰাফিয়ভাৱে "
"দুৰ্বল" "দুৰ্বল"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1344
msgid "" msgid ""
"The length of the server certificate, or the depth of the server certificate " "The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library" "chain, exceed the limits imposed by the cryptography library"
@ -884,22 +884,22 @@ msgstr ""
"ক্ৰিপ্টোগ্ৰাফী " "ক্ৰিপ্টোগ্ৰাফী "
"লাইব্ৰেৰীয়ে প্ৰণয়ন কৰা সীমাসমূহত অতিক্ৰম কৰে" "লাইব্ৰেৰীয়ে প্ৰণয়ন কৰা সীমাসমূহত অতিক্ৰম কৰে"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1346
msgid "Internal error" msgid "Internal error"
msgstr "অভ্যন্তৰীক ত্ৰুটি" msgstr "অভ্যন্তৰীক ত্ৰুটি"
#. translators: argument is the account name, like #. translators: argument is the account name, like
#. * name@jabber.org for example. */ #. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1356
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "%s ৰ সৈতে সংযোগ কৰিবলে অক্ষম" msgstr "%s ৰ সৈতে সংযোগ কৰিবলে অক্ষম"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1361
msgid "View account" msgid "View account"
msgstr "একাওন্ট দৰ্শন কৰক" msgstr "একাওন্ট দৰ্শন কৰক"
#: ../js/ui/components/telepathyClient.js:1401 #: ../js/ui/components/telepathyClient.js:1400
msgid "Unknown reason" msgid "Unknown reason"
msgstr "অজ্ঞাত কাৰণ" msgstr "অজ্ঞাত কাৰণ"
@ -1075,9 +1075,12 @@ msgstr "ত্ৰুটিসমূহ দেখুৱাওক"
msgid "Enabled" msgid "Enabled"
msgstr "সামৰ্থবান কৰা আছে" msgstr "সামৰ্থবান কৰা আছে"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:472
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "অসামৰ্থবান কৰা আছে" msgstr "অসামৰ্থবান কৰা আছে"
@ -1101,44 +1104,48 @@ msgstr "উৎস দৰ্শন কৰক"
msgid "Web Page" msgid "Web Page"
msgstr "ৱেব পৃষ্ঠা" msgstr "ৱেব পৃষ্ঠা"
#: ../js/ui/messageTray.js:1222 #: ../js/ui/messageTray.js:1347
msgid "Open" msgid "Open"
msgstr "খোলক" msgstr "খোলক"
#: ../js/ui/messageTray.js:1229 #: ../js/ui/messageTray.js:1354
msgid "Remove" msgid "Remove"
msgstr "আতৰাওক" msgstr "আতৰাওক"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1657
msgid "Notifications"
msgstr "অধিসূচনাসমূহ"
#: ../js/ui/messageTray.js:1664
msgid "Clear Messages" msgid "Clear Messages"
msgstr "বাৰ্তাসমূহ পৰিষ্কাৰ কৰক" msgstr "বাৰ্তাসমূহ পৰিষ্কাৰ কৰক"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1683
msgid "Notification Settings" msgid "Notification Settings"
msgstr "অধিসূচনা সংহতিসমূহ" msgstr "অধিসূচনা সংহতিসমূহ"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1736
msgid "Tray Menu" msgid "Tray Menu"
msgstr "ট্ৰে মেনু" msgstr "ট্ৰে মেনু"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1952
msgid "No Messages" msgid "No Messages"
msgstr "কোনো বাৰ্তা নাই" msgstr "কোনো বাৰ্তা নাই"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1990
msgid "Message Tray" msgid "Message Tray"
msgstr "বাৰ্তা ট্ৰে" msgstr "বাৰ্তা ট্ৰে"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2974
msgid "System Information" msgid "System Information"
msgstr "চিস্টেম তথ্য" msgstr "চিস্টেম তথ্য"
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396 #: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "অজ্ঞাত" msgstr "অজ্ঞাত"
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:153
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1161,21 +1168,21 @@ msgstr "অভাৰভিউ"
msgid "Type to search…" msgid "Type to search…"
msgstr "সন্ধান কৰিবলে টাইপ কৰক…" msgstr "সন্ধান কৰিবলে টাইপ কৰক…"
#: ../js/ui/panel.js:518 #: ../js/ui/panel.js:516
msgid "Quit" msgid "Quit"
msgstr "প্ৰস্থান কৰক" msgstr "প্ৰস্থান কৰক"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:570 #: ../js/ui/panel.js:568
msgid "Activities" msgid "Activities"
msgstr "কাৰ্য্যসমূহ" msgstr "কাৰ্য্যসমূহ"
#: ../js/ui/panel.js:904 #: ../js/ui/panel.js:900
msgid "Top Bar" msgid "Top Bar"
msgstr "উপৰৰ বাৰ" msgstr "উপৰৰ বাৰ"
#: ../js/ui/popupMenu.js:233 #: ../js/ui/popupMenu.js:260
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-us" msgstr "toggle-switch-us"
@ -1189,30 +1196,30 @@ msgstr "বন্ধ কৰক"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format */
#: ../js/ui/screenShield.js:88 #: ../js/ui/screenShield.js:89
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %B %d" msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:154 #: ../js/ui/screenShield.js:155
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d নতুন অধিসূচনা" msgstr[0] "%d নতুন অধিসূচনা"
msgstr[1] "%d নতুন অধিসূচনাসমূহ" msgstr[1] "%d নতুন অধিসূচনাসমূহ"
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333 #: ../js/ui/screenShield.js:478 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "লক কৰক" msgstr "লক কৰক"
#: ../js/ui/screenShield.js:704 #: ../js/ui/screenShield.js:712
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME এ পৰ্দা লক কৰিব লাগিব" msgstr "GNOME এ পৰ্দা লক কৰিব লাগিব"
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297 #: ../js/ui/screenShield.js:839 ../js/ui/screenShield.js:1305
msgid "Unable to lock" msgid "Unable to lock"
msgstr "লক কৰিবলে অক্ষম" msgstr "লক কৰিবলে অক্ষম"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298 #: ../js/ui/screenShield.js:840 ../js/ui/screenShield.js:1306
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "লক কাৰ্য্য এটা এপ্লিকেচন দ্বাৰা প্ৰতিৰোধ কৰা হৈছিল" msgstr "লক কাৰ্য্য এটা এপ্লিকেচন দ্বাৰা প্ৰতিৰোধ কৰা হৈছিল"
@ -1252,135 +1259,135 @@ msgstr "পাছৱাৰ্ড মনত ৰাখক"
msgid "Accessibility" msgid "Accessibility"
msgstr "অভিগম্যতা" msgstr "অভিগম্যতা"
#: ../js/ui/status/accessibility.js:58 #: ../js/ui/status/accessibility.js:56
msgid "Zoom" msgid "Zoom"
msgstr "জুম কৰক" msgstr "জুম কৰক"
#: ../js/ui/status/accessibility.js:65 #: ../js/ui/status/accessibility.js:63
msgid "Screen Reader" msgid "Screen Reader"
msgstr "পৰ্দা ৰিডাৰ" msgstr "পৰ্দা ৰিডাৰ"
#: ../js/ui/status/accessibility.js:69 #: ../js/ui/status/accessibility.js:67
msgid "Screen Keyboard" msgid "Screen Keyboard"
msgstr "পৰ্দা কিবৰ্ড" msgstr "পৰ্দা কিবৰ্ড"
#: ../js/ui/status/accessibility.js:73 #: ../js/ui/status/accessibility.js:71
msgid "Visual Alerts" msgid "Visual Alerts"
msgstr "চক্ষ সতৰ্কবাৰ্তাসমূহ" msgstr "চক্ষ সতৰ্কবাৰ্তাসমূহ"
#: ../js/ui/status/accessibility.js:76 #: ../js/ui/status/accessibility.js:74
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "স্টিকি কি'সমূহ" msgstr "স্টিকি কি'সমূহ"
#: ../js/ui/status/accessibility.js:79 #: ../js/ui/status/accessibility.js:77
msgid "Slow Keys" msgid "Slow Keys"
msgstr "মন্থৰ কি'সমূহ" msgstr "মন্থৰ কি'সমূহ"
#: ../js/ui/status/accessibility.js:82 #: ../js/ui/status/accessibility.js:80
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "বাউঞ্চ কি'সমূহ" msgstr "বাউঞ্চ কি'সমূহ"
#: ../js/ui/status/accessibility.js:85 #: ../js/ui/status/accessibility.js:83
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "মাউছ কি'সমূহ" msgstr "মাউছ কি'সমূহ"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:142
msgid "High Contrast" msgid "High Contrast"
msgstr "উচ্চ কন্ট্ৰাস্ট" msgstr "উচ্চ কন্ট্ৰাস্ট"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:191
msgid "Large Text" msgid "Large Text"
msgstr "ডাঙৰ লিখনী" msgstr "ডাঙৰ লিখনী"
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63 #: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128 #: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195 #: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth" msgid "Bluetooth"
msgstr "ব্লুটুথ" msgstr "ব্লুটুথ"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:29 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1099 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "বন্ধ কৰক" msgstr "বন্ধ কৰক"
#: ../js/ui/status/bluetooth.js:33 #: ../js/ui/status/bluetooth.js:32
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "ব্লুটুথ সংহতিসমূহ" msgstr "ব্লুটুথ সংহতিসমূহ"
#: ../js/ui/status/bluetooth.js:58 #: ../js/ui/status/bluetooth.js:57
#, javascript-format #, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
msgstr[0] "%d সংযুক্ত ডিভাইচ" msgstr[0] "%d সংযুক্ত ডিভাইচ"
msgstr[1] "%d সংযুক্ত ডিভাইচসমূহ" msgstr[1] "%d সংযুক্ত ডিভাইচসমূহ"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129 #: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, javascript-format #, javascript-format
msgid "Authorization request from %s" msgid "Authorization request from %s"
msgstr "%s ৰ পৰা প্ৰমাণীকৰণ অনুৰোধ" msgstr "%s ৰ পৰা প্ৰমাণীকৰণ অনুৰোধ"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:203 #: ../js/ui/status/bluetooth.js:202
#, javascript-format #, javascript-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "ডিভাইচ %s এ এই কমপিউটাৰৰ লগত সংযোগ কৰিব বিচাৰে" msgstr "ডিভাইচ %s এ এই কমপিউটাৰৰ লগত সংযোগ কৰিব বিচাৰে"
#: ../js/ui/status/bluetooth.js:109 #: ../js/ui/status/bluetooth.js:108
msgid "Allow" msgid "Allow"
msgstr "অনুমতি দিয়ক" msgstr "অনুমতি দিয়ক"
#: ../js/ui/status/bluetooth.js:110 #: ../js/ui/status/bluetooth.js:109
msgid "Deny" msgid "Deny"
msgstr "নাকচ কৰক" msgstr "নাকচ কৰক"
#: ../js/ui/status/bluetooth.js:135 #: ../js/ui/status/bluetooth.js:134
#, javascript-format #, javascript-format
msgid "Device %s wants access to the service '%s'" msgid "Device %s wants access to the service '%s'"
msgstr "ডিভাইচ %s এ সেৱা '%s' লে অভিগম বিচাৰে" msgstr "ডিভাইচ %s এ সেৱা '%s' লে অভিগম বিচাৰে"
#: ../js/ui/status/bluetooth.js:137 #: ../js/ui/status/bluetooth.js:136
msgid "Always grant access" msgid "Always grant access"
msgstr "সদায় অভিগম প্ৰদান কৰক" msgstr "সদায় অভিগম প্ৰদান কৰক"
#: ../js/ui/status/bluetooth.js:138 #: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only" msgid "Grant this time only"
msgstr "কেৱল এইবাৰৰ কাৰণে প্ৰদান কৰক" msgstr "কেৱল এইবাৰৰ কাৰণে প্ৰদান কৰক"
#: ../js/ui/status/bluetooth.js:139 #: ../js/ui/status/bluetooth.js:138
msgid "Reject" msgid "Reject"
msgstr "নাকচ কৰক" msgstr "নাকচ কৰক"
#. Translators: argument is the device short name */ #. Translators: argument is the device short name */
#: ../js/ui/status/bluetooth.js:166 #: ../js/ui/status/bluetooth.js:165
#, javascript-format #, javascript-format
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "%s ৰ কাৰণে যোৰ প্ৰতিশ্ৰুতি" msgstr "%s ৰ কাৰণে যোৰ প্ৰতিশ্ৰুতি"
#: ../js/ui/status/bluetooth.js:173 #: ../js/ui/status/bluetooth.js:172
#, javascript-format #, javascript-format
msgid "" msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device." "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "অনুগ্ৰহ কৰি সুনিশ্চিত কৰক যে পাছকি '%06d' ডিভাইচত থকাটোৰ সৈতে মিল খায়।" msgstr "অনুগ্ৰহ কৰি সুনিশ্চিত কৰক যে পাছকি '%06d' ডিভাইচত থকাটোৰ সৈতে মিল খায়।"
#. Translators: this is the verb, not the noun */ #. Translators: this is the verb, not the noun */
#: ../js/ui/status/bluetooth.js:176 #: ../js/ui/status/bluetooth.js:175
msgid "Matches" msgid "Matches"
msgstr "মিলসমূহ" msgstr "মিলসমূহ"
#: ../js/ui/status/bluetooth.js:177 #: ../js/ui/status/bluetooth.js:176
msgid "Does not match" msgid "Does not match"
msgstr "মিল নাখায়" msgstr "মিল নাখায়"
#: ../js/ui/status/bluetooth.js:196 #: ../js/ui/status/bluetooth.js:195
#, javascript-format #, javascript-format
msgid "Pairing request for %s" msgid "Pairing request for %s"
msgstr "%s ৰ কাৰণে যোৰ অনুৰোধ" msgstr "%s ৰ কাৰণে যোৰ অনুৰোধ"
#: ../js/ui/status/bluetooth.js:204 #: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device." msgid "Please enter the PIN mentioned on the device."
msgstr "অনুগ্ৰহ কৰি ডিভাইচত উল্লেখ কৰা PIN সুমুৱাওক।" msgstr "অনুগ্ৰহ কৰি ডিভাইচত উল্লেখ কৰা PIN সুমুৱাওক।"
#: ../js/ui/status/bluetooth.js:221 #: ../js/ui/status/bluetooth.js:220
msgid "OK" msgid "OK"
msgstr "ঠিক আছে" msgstr "ঠিক আছে"
@ -1388,87 +1395,103 @@ msgstr "ঠিক আছে"
msgid "Brightness" msgid "Brightness"
msgstr "উজ্জ্বলতা" msgstr "উজ্জ্বলতা"
#: ../js/ui/status/network.js:72 #: ../js/ui/status/network.js:71
msgid "<unknown>" msgid "<unknown>"
msgstr "<unknown>" msgstr "<unknown>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1120
msgid "Off" msgid "Off"
msgstr "অফ" msgstr "অফ"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "নেটৱাৰ্ক সংহতিসমূহ"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:385
msgid "unmanaged" msgid "unmanaged"
msgstr "অব্যৱস্থাপিত" msgstr "অব্যৱস্থাপিত"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:387
msgid "disconnecting..." msgid "disconnecting..."
msgstr "বিচ্ছিনিত কৰা হৈছে..." msgstr "বিচ্ছিনিত কৰা হৈছে..."
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1174
msgid "connecting..." msgid "connecting..."
msgstr "সংযোগ কৰা হৈছে..." msgstr "সংযোগ কৰা হৈছে..."
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1177
msgid "authentication required" msgid "authentication required"
msgstr "প্ৰমাণীকৰণৰ প্ৰয়োজন" msgstr "প্ৰমাণীকৰণৰ প্ৰয়োজন"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:404
msgid "firmware missing" msgid "firmware missing"
msgstr "ফাৰ্মৱেৰ সন্ধানহীন" msgstr "ফাৰ্মৱেৰ সন্ধানহীন"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:408
msgid "unavailable" msgid "unavailable"
msgstr "উপলব্ধ নাই" msgstr "উপলব্ধ নাই"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1179
msgid "connection failed" msgid "connection failed"
msgstr "সংযোগ ব্যৰ্থ" msgstr "সংযোগ ব্যৰ্থ"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
#| msgid "Mobile broadband"
msgid "Mobile Broadband Settings"
msgstr "মবাইল ব্ৰডবেণ্ড সংহতিসমূহ"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
#| msgid "hardware disabled"
msgid "Hardware Disabled"
msgstr "হাৰ্ডৱেৰ অসামৰ্থবান কৰা আছে"
#: ../js/ui/status/network.js:707
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Wi-Fi নেটৱাৰ্কসমূহ" msgstr "Wi-Fi নেটৱাৰ্কসমূহ"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:709
msgid "Select a network" msgid "Select a network"
msgstr "এটা নেটৱাৰ্ক বাছক" msgstr "এটা নেটৱাৰ্ক বাছক"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:733
msgid "No Networks" msgid "No Networks"
msgstr "কোনো নেটৱাৰ্ক নাই" msgstr "কোনো নেটৱাৰ্ক নাই"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:1005
msgid "Select Network" msgid "Select Network"
msgstr "নেটৱাৰ্ক বাছক" msgstr "নেটৱাৰ্ক বাছক"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:1011
#| msgid "Settings"
msgid "Wi-Fi Settings"
msgstr "Wi-Fi সংহতিসমূহ"
#: ../js/ui/status/network.js:1099
msgid "Turn On" msgid "Turn On"
msgstr "অন কৰক" msgstr "অন কৰক"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1122
#| msgid "Connect"
msgid "Not Connected"
msgstr "সংযুক্ত নহয়"
#: ../js/ui/status/network.js:1242
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1382
msgid "Network Manager" msgid "Network Manager"
msgstr "নেটৱাৰ্ক ব্যৱস্থাপক" msgstr "নেটৱাৰ্ক ব্যৱস্থাপক"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1421
msgid "Connection failed" msgid "Connection failed"
msgstr "সংযোগ ব্যৰ্থ" msgstr "সংযোগ ব্যৰ্থ"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1422
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "নেটৱাৰ্ক সংযোগ সক্ৰিয়কৰণ ব্যৰ্থ হল" msgstr "নেটৱাৰ্ক সংযোগ সক্ৰিয়কৰণ ব্যৰ্থ হল"
@ -1490,13 +1513,11 @@ msgstr "অনুমান কৰা হৈছে…"
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d অৱশিষ্ট (%d%%)" msgstr "%d%02d অৱশিষ্ট (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d সম্পূৰ্ণ হোৱালৈ (%d%%)" msgstr "%d%02d সম্পূৰ্ণ হোৱালৈ (%d%%)"
@ -1508,23 +1529,27 @@ msgstr "বিমান অৱস্থা"
msgid "On" msgid "On"
msgstr "অন" msgstr "অন"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "নেটৱাৰ্ক সংহতিসমূহ"
#: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক" msgstr "ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক"
#: ../js/ui/status/system.js:310 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "লগ আউট কৰক" msgstr "লগ আউট কৰক"
#: ../js/ui/status/system.js:329 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "দিশনিৰ্ণয় লক" msgstr "দিশনিৰ্ণয় লক"
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "বাতিল কৰক" msgstr "বাতিল কৰক"
#: ../js/ui/status/system.js:340 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "বন্ধ কৰক" msgstr "বন্ধ কৰক"
@ -1810,9 +1835,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
#~ msgid "Set Up a New Device…" #~ msgid "Set Up a New Device…"
#~ msgstr "এটা নতুন ডিভাইচ সংহতি কৰক…" #~ msgstr "এটা নতুন ডিভাইচ সংহতি কৰক…"
#~ msgid "hardware disabled"
#~ msgstr "হাৰ্ডৱেৰ অসামৰ্থবান কৰা আছে"
#~ msgid "Connection" #~ msgid "Connection"
#~ msgstr "সংযোগ" #~ msgstr "সংযোগ"
@ -1851,9 +1873,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
#~ msgid "Auto Ethernet" #~ msgid "Auto Ethernet"
#~ msgstr "স্বচালিত ইথাৰনেট" #~ msgstr "স্বচালিত ইথাৰনেট"
#~ msgid "Mobile broadband"
#~ msgstr "মবাইল ব্ৰডবেণ্ড"
#~ msgid "Auto broadband" #~ msgid "Auto broadband"
#~ msgstr "স্বচালিত ব্ৰডবেণ্ড" #~ msgstr "স্বচালিত ব্ৰডবেণ্ড"
@ -1955,9 +1974,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
#~ msgid "Idle" #~ msgid "Idle"
#~ msgstr "অলস" #~ msgstr "অলস"
#~ msgid "Notifications"
#~ msgstr "অধিসূচনাসমূহ"
#~ msgid "Your chat status will be set to busy" #~ msgid "Your chat status will be set to busy"
#~ msgstr "আপোনাৰ চেট অৱস্থা ব্যস্থলে সংহতি কৰা হব" #~ msgstr "আপোনাৰ চেট অৱস্থা ব্যস্থলে সংহতি কৰা হব"

587
po/be.po

File diff suppressed because it is too large Load Diff

1866
po/ca.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

366
po/cs.po
View File

@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-10-01 14:26+0000\n" "POT-Creation-Date: 2013-12-29 22:55+0000\n"
"PO-Revision-Date: 2013-10-02 09:51+0200\n" "PO-Revision-Date: 2013-12-30 00:05+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n" "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n" "Language: cs\n"
@ -273,23 +273,23 @@ msgid "Select an extension to configure using the combobox above."
msgstr "" msgstr ""
"Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit." "Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:739
msgid "Cancel" msgid "Cancel"
msgstr "Zrušit" msgstr "Zrušit"
#: ../js/gdm/authPrompt.js:167 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
msgid "Next" msgid "Next"
msgstr "Následující" msgstr "Následující"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Odemknout" msgstr "Odemknout"
#: ../js/gdm/authPrompt.js:213 #: ../js/gdm/authPrompt.js:214
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Přihlásit se" msgstr "Přihlásit se"
@ -315,23 +315,23 @@ msgstr "Uživatelské jméno: "
msgid "Login Window" msgid "Login Window"
msgstr "Přihlašovací okno" msgstr "Přihlašovací okno"
#: ../js/gdm/util.js:306 #: ../js/gdm/util.js:321
msgid "Authentication error" msgid "Authentication error"
msgstr "Chyba ověření" msgstr "Chyba ověření"
#: ../js/gdm/util.js:436 #: ../js/gdm/util.js:451
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(nebo otiskněte prst)" msgstr "(nebo otiskněte prst)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Příkaz nenalezen" msgstr "Příkaz nenalezen"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Nelze analyzovat příkaz:" msgstr "Nelze analyzovat příkaz:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Vykonání „%s“ selhalo:" msgstr "Vykonání „%s“ selhalo:"
@ -347,15 +347,15 @@ msgstr "Časté"
msgid "All" msgid "All"
msgstr "Všechny" msgstr "Všechny"
#: ../js/ui/appDisplay.js:1514 #: ../js/ui/appDisplay.js:1525
msgid "New Window" msgid "New Window"
msgstr "Nové okno" msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284 #: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených" msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:1518 #: ../js/ui/appDisplay.js:1529
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené" msgstr "Přidat mezi oblíbené"
@ -367,8 +367,8 @@ msgstr "%s byl přidán mezi oblíbené."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s byl odstraněn z oblíbených." msgstr "%s byl odstraněn z oblíbených."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Nastavení" msgstr "Nastavení"
@ -389,7 +389,7 @@ msgstr "Celý den"
#: ../js/ui/calendar.js:68 #: ../js/ui/calendar.js:68
msgctxt "event list time" msgctxt "event list time"
msgid "%H%M" msgid "%H%M"
msgstr "%k%M" msgstr "%H%M"
#. Translators: Shown in calendar event list, if 12h format, #. Translators: Shown in calendar event list, if 12h format,
#. \u2236 is a ratio character, similar to : and \u2009 is #. \u2236 is a ratio character, similar to : and \u2009 is
@ -397,7 +397,7 @@ msgstr "%k%M"
#: ../js/ui/calendar.js:77 #: ../js/ui/calendar.js:77
msgctxt "event list time" msgctxt "event list time"
msgid "%l%M%p" msgid "%l%M%p"
msgstr "%l%M%p" msgstr "%l%M%p"
#. Translators: Calendar grid abbreviation for Sunday. #. Translators: Calendar grid abbreviation for Sunday.
#. * #. *
@ -557,16 +557,16 @@ msgstr "Otevřít s %s"
msgid "Eject" msgid "Eject"
msgstr "Vysunout" msgstr "Vysunout"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Heslo:" msgstr "Heslo:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Napište znovu:" msgstr "Napište znovu:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:295 ../js/ui/status/network.js:742
msgid "Connect" msgid "Connect"
msgstr "Připojit" msgstr "Připojit"
@ -658,94 +658,94 @@ msgstr "Ověřit"
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu." msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
#: ../js/ui/components/telepathyClient.js:238 #: ../js/ui/components/telepathyClient.js:237
msgid "Invitation" msgid "Invitation"
msgstr "Pozvání" msgstr "Pozvání"
#: ../js/ui/components/telepathyClient.js:298 #: ../js/ui/components/telepathyClient.js:297
msgid "Call" msgid "Call"
msgstr "Hovor" msgstr "Hovor"
#: ../js/ui/components/telepathyClient.js:314 #: ../js/ui/components/telepathyClient.js:313
msgid "File Transfer" msgid "File Transfer"
msgstr "Přenos souborů" msgstr "Přenos souborů"
#: ../js/ui/components/telepathyClient.js:418 #: ../js/ui/components/telepathyClient.js:417
msgid "Chat" msgid "Chat"
msgstr "Diskuse" msgstr "Diskuse"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Unmute" msgid "Unmute"
msgstr "Zrušit ztlumení" msgstr "Zrušit ztlumení"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Mute" msgid "Mute"
msgstr "Ztlumit" msgstr "Ztlumit"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/ #. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:942 #: ../js/ui/components/telepathyClient.js:941
msgid "<b>Yesterday</b>, <b>%H:%M</b>" msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Včera</b>, <b>%H.%M</b>" msgstr "<b>Včera</b>, <b>%H%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/ #. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:948 #: ../js/ui/components/telepathyClient.js:947
msgid "<b>%A</b>, <b>%H:%M</b>" msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>" msgstr "<b>%A</b>, <b>%H%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/ #. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:953 #: ../js/ui/components/telepathyClient.js:952
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>" msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%d.</b> <b>%B</b>, <b>%H:%M</b>" msgstr "<b>%d.</b> <b>%B</b>, <b>%H%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/ #. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:957 #: ../js/ui/components/telepathyClient.js:956
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%d.</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> " msgstr "<b>%d.</b> <b>%B</b> <b>%Y</b>, <b>%H%M</b> "
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:986 #: ../js/ui/components/telepathyClient.js:985
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s je teď znám jako %s" msgstr "%s je teď znám jako %s"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1089 #: ../js/ui/components/telepathyClient.js:1088
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Pozvánka na připojení k %s" msgstr "Pozvánka na připojení k %s"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1097 #: ../js/ui/components/telepathyClient.js:1096
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s vás zve do %s" msgstr "%s vás zve do %s"
#: ../js/ui/components/telepathyClient.js:1099 #: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1140 #: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1180 #: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1243 #: ../js/ui/components/telepathyClient.js:1242
msgid "Decline" msgid "Decline"
msgstr "Odmítnout" msgstr "Odmítnout"
#: ../js/ui/components/telepathyClient.js:1100 #: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1181 #: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1244 #: ../js/ui/components/telepathyClient.js:1243
msgid "Accept" msgid "Accept"
msgstr "Přijmout" msgstr "Přijmout"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1130 #: ../js/ui/components/telepathyClient.js:1129
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Videohovor od %s" msgstr "Videohovor od %s"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1133 #: ../js/ui/components/telepathyClient.js:1132
msgid "Call from %s" msgid "Call from %s"
msgstr "Hovor od %s" msgstr "Hovor od %s"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142 #: ../js/ui/components/telepathyClient.js:1141
msgid "Answer" msgid "Answer"
msgstr "Zvednout" msgstr "Zvednout"
@ -754,108 +754,108 @@ msgstr "Zvednout"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1174 #: ../js/ui/components/telepathyClient.js:1173
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s vám posílá %s" msgstr "%s vám posílá %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1209 #: ../js/ui/components/telepathyClient.js:1208
msgid "%s would like permission to see when you are online" msgid "%s would like permission to see when you are online"
msgstr "%s vás žádá o oprávnění vidět, že jste dostupní" msgstr "%s vás žádá o oprávnění vidět, že jste dostupní"
#: ../js/ui/components/telepathyClient.js:1301 #: ../js/ui/components/telepathyClient.js:1300
msgid "Network error" msgid "Network error"
msgstr "Chyba sítě" msgstr "Chyba sítě"
#: ../js/ui/components/telepathyClient.js:1303 #: ../js/ui/components/telepathyClient.js:1302
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Ověření selhalo" msgstr "Ověření selhalo"
#: ../js/ui/components/telepathyClient.js:1305 #: ../js/ui/components/telepathyClient.js:1304
msgid "Encryption error" msgid "Encryption error"
msgstr "Chyba šifrování" msgstr "Chyba šifrování"
#: ../js/ui/components/telepathyClient.js:1307 #: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Certifikát neposkytnut" msgstr "Certifikát neposkytnut"
#: ../js/ui/components/telepathyClient.js:1309 #: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Nedůvěryhodný certifikát" msgstr "Nedůvěryhodný certifikát"
#: ../js/ui/components/telepathyClient.js:1311 #: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Platnost certifikátu vypršela" msgstr "Platnost certifikátu vypršela"
#: ../js/ui/components/telepathyClient.js:1313 #: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Certifikát není aktivován" msgstr "Certifikát není aktivován"
#: ../js/ui/components/telepathyClient.js:1315 #: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Název počítače certifikátu nesouhlasí" msgstr "Název počítače certifikátu nesouhlasí"
#: ../js/ui/components/telepathyClient.js:1317 #: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Otisk prstu certifikátu nesouhlasí" msgstr "Otisk prstu certifikátu nesouhlasí"
#: ../js/ui/components/telepathyClient.js:1319 #: ../js/ui/components/telepathyClient.js:1318
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Certifikát je podepsán sám sebou" msgstr "Certifikát je podepsán sám sebou"
#: ../js/ui/components/telepathyClient.js:1321 #: ../js/ui/components/telepathyClient.js:1320
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Stav nastaven na „Odhlášen“" msgstr "Stav nastaven na „Odhlášen“"
#: ../js/ui/components/telepathyClient.js:1323 #: ../js/ui/components/telepathyClient.js:1322
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Šifrování není dostupné" msgstr "Šifrování není dostupné"
#: ../js/ui/components/telepathyClient.js:1325 #: ../js/ui/components/telepathyClient.js:1324
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Certifikát je neplatný" msgstr "Certifikát je neplatný"
#: ../js/ui/components/telepathyClient.js:1327 #: ../js/ui/components/telepathyClient.js:1326
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Spojení bylo odmítnuto" msgstr "Spojení bylo odmítnuto"
#: ../js/ui/components/telepathyClient.js:1329 #: ../js/ui/components/telepathyClient.js:1328
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Spojení nemohlo bát navázáno" msgstr "Spojení nemohlo bát navázáno"
#: ../js/ui/components/telepathyClient.js:1331 #: ../js/ui/components/telepathyClient.js:1330
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Spojení bylo ztraceno" msgstr "Spojení bylo ztraceno"
#: ../js/ui/components/telepathyClient.js:1333 #: ../js/ui/components/telepathyClient.js:1332
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "Tento účet je již připojen k serveru" msgstr "Tento účet je již připojen k serveru"
#: ../js/ui/components/telepathyClient.js:1335 #: ../js/ui/components/telepathyClient.js:1334
msgid "" msgid ""
"Connection has been replaced by a new connection using the same resource" "Connection has been replaced by a new connection using the same resource"
msgstr "Spojení bylo nahrazeno novým spojením, které používá stejný zdroj" msgstr "Spojení bylo nahrazeno novým spojením, které používá stejný zdroj"
#: ../js/ui/components/telepathyClient.js:1337 #: ../js/ui/components/telepathyClient.js:1336
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Takový účet již na serveru existuje" msgstr "Takový účet již na serveru existuje"
#: ../js/ui/components/telepathyClient.js:1339 #: ../js/ui/components/telepathyClient.js:1338
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "Server je právě příliš zaneprázdněn na to, aby obsloužil spojení" msgstr "Server je právě příliš zaneprázdněn na to, aby obsloužil spojení"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Certifikát byl odvolán" msgstr "Certifikát byl odvolán"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1342
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z " "Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z "
"kryptografického hlediska slabý" "kryptografického hlediska slabý"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1344
msgid "" msgid ""
"The length of the server certificate, or the depth of the server certificate " "The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library" "chain, exceed the limits imposed by the cryptography library"
@ -863,21 +863,21 @@ msgstr ""
"Délka certifikátu serveru nebo délka zřetězených certifikátů serveru " "Délka certifikátu serveru nebo délka zřetězených certifikátů serveru "
"přesáhla omezení dané kryptografickou knihovnou" "přesáhla omezení dané kryptografickou knihovnou"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1346
msgid "Internal error" msgid "Internal error"
msgstr "Vnitřní chyba" msgstr "Vnitřní chyba"
#. translators: argument is the account name, like #. translators: argument is the account name, like
#. * name@jabber.org for example. */ #. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1356
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Nelze se připojit k „%s“" msgstr "Nelze se připojit k „%s“"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1361
msgid "View account" msgid "View account"
msgstr "Zobrazit účet" msgstr "Zobrazit účet"
#: ../js/ui/components/telepathyClient.js:1401 #: ../js/ui/components/telepathyClient.js:1400
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Neznámý důvod" msgstr "Neznámý důvod"
@ -1051,9 +1051,12 @@ msgstr "Zobrazovat chyby"
msgid "Enabled" msgid "Enabled"
msgstr "Povoleno" msgstr "Povoleno"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:472
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Zakázáno" msgstr "Zakázáno"
@ -1077,44 +1080,48 @@ msgstr "Zobrazit zdroj"
msgid "Web Page" msgid "Web Page"
msgstr "Webová stránka" msgstr "Webová stránka"
#: ../js/ui/messageTray.js:1222 #: ../js/ui/messageTray.js:1347
msgid "Open" msgid "Open"
msgstr "Otevřít" msgstr "Otevřít"
#: ../js/ui/messageTray.js:1229 #: ../js/ui/messageTray.js:1354
msgid "Remove" msgid "Remove"
msgstr "Odstranit" msgstr "Odstranit"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1657
msgid "Notifications"
msgstr "Upozornění"
#: ../js/ui/messageTray.js:1664
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Vymazat zprávy" msgstr "Vymazat zprávy"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1683
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Nastavení upozornění" msgstr "Nastavení upozornění"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1736
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Nabídka lišty zpráv" msgstr "Nabídka lišty zpráv"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1952
msgid "No Messages" msgid "No Messages"
msgstr "Žádné zprávy" msgstr "Žádné zprávy"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1990
msgid "Message Tray" msgid "Message Tray"
msgstr "Lišta zpráv" msgstr "Lišta zpráv"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2974
msgid "System Information" msgid "System Information"
msgstr "Informace o systému" msgstr "Informace o systému"
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396 #: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Neznámé" msgstr "Neznámé"
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:153
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
msgstr[0] "%d nová zpráva" msgstr[0] "%d nová zpráva"
@ -1137,21 +1144,21 @@ msgstr "Přehled"
msgid "Type to search…" msgid "Type to search…"
msgstr "Vyhledávejte psaním…" msgstr "Vyhledávejte psaním…"
#: ../js/ui/panel.js:518 #: ../js/ui/panel.js:516
msgid "Quit" msgid "Quit"
msgstr "Ukončit" msgstr "Ukončit"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:570 #: ../js/ui/panel.js:568
msgid "Activities" msgid "Activities"
msgstr "Činnosti" msgstr "Činnosti"
#: ../js/ui/panel.js:904 #: ../js/ui/panel.js:900
msgid "Top Bar" msgid "Top Bar"
msgstr "Horní lišta" msgstr "Horní lišta"
#: ../js/ui/popupMenu.js:233 #: ../js/ui/popupMenu.js:260
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1165,30 +1172,30 @@ msgstr "Zavřít"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format */
#: ../js/ui/screenShield.js:88 #: ../js/ui/screenShield.js:89
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e. %B" msgstr "%A, %e. %B"
#: ../js/ui/screenShield.js:154 #: ../js/ui/screenShield.js:155
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d nové upozornění" msgstr[0] "%d nové upozornění"
msgstr[1] "%d nová upozornění" msgstr[1] "%d nová upozornění"
msgstr[2] "%d nových upozornění" msgstr[2] "%d nových upozornění"
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333 #: ../js/ui/screenShield.js:478 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Uzamknout" msgstr "Uzamknout"
#: ../js/ui/screenShield.js:704 #: ../js/ui/screenShield.js:712
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME potřebuje uzamknout obrazovku" msgstr "GNOME potřebuje uzamknout obrazovku"
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297 #: ../js/ui/screenShield.js:839 ../js/ui/screenShield.js:1305
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nelze uzamknout obrazovku" msgstr "Nelze uzamknout obrazovku"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298 #: ../js/ui/screenShield.js:840 ../js/ui/screenShield.js:1306
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Zamknutí bylo zablokováno některou z aplikací" msgstr "Zamknutí bylo zablokováno některou z aplikací"
@ -1228,129 +1235,129 @@ msgstr "Pamatovat si heslo"
msgid "Accessibility" msgid "Accessibility"
msgstr "Zpřístupnění" msgstr "Zpřístupnění"
#: ../js/ui/status/accessibility.js:58 #: ../js/ui/status/accessibility.js:56
msgid "Zoom" msgid "Zoom"
msgstr "Zvětšení" msgstr "Zvětšení"
#: ../js/ui/status/accessibility.js:65 #: ../js/ui/status/accessibility.js:63
msgid "Screen Reader" msgid "Screen Reader"
msgstr "Čtečka obrazovky" msgstr "Čtečka obrazovky"
#: ../js/ui/status/accessibility.js:69 #: ../js/ui/status/accessibility.js:67
msgid "Screen Keyboard" msgid "Screen Keyboard"
msgstr "Klávesnice na obrazovce" msgstr "Klávesnice na obrazovce"
#: ../js/ui/status/accessibility.js:73 #: ../js/ui/status/accessibility.js:71
msgid "Visual Alerts" msgid "Visual Alerts"
msgstr "Vizuální upozornění" msgstr "Vizuální upozornění"
#: ../js/ui/status/accessibility.js:76 #: ../js/ui/status/accessibility.js:74
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "Lepící klávesy" msgstr "Lepící klávesy"
#: ../js/ui/status/accessibility.js:79 #: ../js/ui/status/accessibility.js:77
msgid "Slow Keys" msgid "Slow Keys"
msgstr "Pomalé klávesy" msgstr "Pomalé klávesy"
#: ../js/ui/status/accessibility.js:82 #: ../js/ui/status/accessibility.js:80
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "Vícenásobné stisky kláves" msgstr "Vícenásobné stisky kláves"
#: ../js/ui/status/accessibility.js:85 #: ../js/ui/status/accessibility.js:83
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Myš klávesnicí" msgstr "Myš klávesnicí"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:142
msgid "High Contrast" msgid "High Contrast"
msgstr "Vysoký kontrast" msgstr "Vysoký kontrast"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:191
msgid "Large Text" msgid "Large Text"
msgstr "Styl velkého textu" msgstr "Styl velkého textu"
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63 #: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128 #: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195 #: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:29 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1099 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Vypnout" msgstr "Vypnout"
#: ../js/ui/status/bluetooth.js:33 #: ../js/ui/status/bluetooth.js:32
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Nastavení Bluetooth" msgstr "Nastavení Bluetooth"
#: ../js/ui/status/bluetooth.js:58 #: ../js/ui/status/bluetooth.js:57
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
msgstr[0] "%d připojené zařízení" msgstr[0] "%d připojené zařízení"
msgstr[1] "%d připojená zařízení" msgstr[1] "%d připojená zařízení"
msgstr[2] "%d připojených zařízení" msgstr[2] "%d připojených zařízení"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129 #: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
msgid "Authorization request from %s" msgid "Authorization request from %s"
msgstr "Požadavek na autorizaci od %s" msgstr "Požadavek na autorizaci od %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:203 #: ../js/ui/status/bluetooth.js:202
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "Zařízení %s se chce spárovat s tímto počítačem" msgstr "Zařízení %s se chce spárovat s tímto počítačem"
#: ../js/ui/status/bluetooth.js:109 #: ../js/ui/status/bluetooth.js:108
msgid "Allow" msgid "Allow"
msgstr "Povolit" msgstr "Povolit"
#: ../js/ui/status/bluetooth.js:110 #: ../js/ui/status/bluetooth.js:109
msgid "Deny" msgid "Deny"
msgstr "Zamítnout" msgstr "Zamítnout"
#: ../js/ui/status/bluetooth.js:135 #: ../js/ui/status/bluetooth.js:134
msgid "Device %s wants access to the service '%s'" msgid "Device %s wants access to the service '%s'"
msgstr "Zařízení %s požaduje přístup ke službě „%s“" msgstr "Zařízení %s požaduje přístup ke službě „%s“"
#: ../js/ui/status/bluetooth.js:137 #: ../js/ui/status/bluetooth.js:136
msgid "Always grant access" msgid "Always grant access"
msgstr "Vždy udělovat přístup" msgstr "Vždy udělovat přístup"
#: ../js/ui/status/bluetooth.js:138 #: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only" msgid "Grant this time only"
msgstr "Udělit pouze tentokrát" msgstr "Udělit pouze tentokrát"
#: ../js/ui/status/bluetooth.js:139 #: ../js/ui/status/bluetooth.js:138
msgid "Reject" msgid "Reject"
msgstr "Odmítnout" msgstr "Odmítnout"
#. Translators: argument is the device short name */ #. Translators: argument is the device short name */
#: ../js/ui/status/bluetooth.js:166 #: ../js/ui/status/bluetooth.js:165
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "Potvrzení spárování pro %s" msgstr "Potvrzení spárování pro %s"
#: ../js/ui/status/bluetooth.js:173 #: ../js/ui/status/bluetooth.js:172
msgid "" msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device." "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Ověřte prosím, zda klíč „%06d“ odpovídá tomu na zařízení." msgstr "Ověřte prosím, zda klíč „%06d“ odpovídá tomu na zařízení."
#. Translators: this is the verb, not the noun */ #. Translators: this is the verb, not the noun */
#: ../js/ui/status/bluetooth.js:176 #: ../js/ui/status/bluetooth.js:175
msgid "Matches" msgid "Matches"
msgstr "Souhlasí" msgstr "Souhlasí"
#: ../js/ui/status/bluetooth.js:177 #: ../js/ui/status/bluetooth.js:176
msgid "Does not match" msgid "Does not match"
msgstr "Nesouhlasí" msgstr "Nesouhlasí"
#: ../js/ui/status/bluetooth.js:196 #: ../js/ui/status/bluetooth.js:195
msgid "Pairing request for %s" msgid "Pairing request for %s"
msgstr "Požadavek na spárování pro %s" msgstr "Požadavek na spárování pro %s"
#: ../js/ui/status/bluetooth.js:204 #: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device." msgid "Please enter the PIN mentioned on the device."
msgstr "Zadejte prosím PIN, který je uveden na zařízení." msgstr "Zadejte prosím PIN, který je uveden na zařízení."
#: ../js/ui/status/bluetooth.js:221 #: ../js/ui/status/bluetooth.js:220
msgid "OK" msgid "OK"
msgstr "Budiž" msgstr "Budiž"
@ -1358,87 +1365,99 @@ msgstr "Budiž"
msgid "Brightness" msgid "Brightness"
msgstr "Jas" msgstr "Jas"
#: ../js/ui/status/network.js:72 #: ../js/ui/status/network.js:71
msgid "<unknown>" msgid "<unknown>"
msgstr "<neznámé>" msgstr "<neznámé>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1120
msgid "Off" msgid "Off"
msgstr "Vypnuto" msgstr "Vypnuto"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Nastavení sítě"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:385
msgid "unmanaged" msgid "unmanaged"
msgstr "nespravováno" msgstr "nespravováno"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:387
msgid "disconnecting..." msgid "disconnecting..."
msgstr "odpojování…" msgstr "odpojování…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1174
msgid "connecting..." msgid "connecting..."
msgstr "připojování…" msgstr "připojování…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1177
msgid "authentication required" msgid "authentication required"
msgstr "je vyžadováno ověření" msgstr "je vyžadováno ověření"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:404
msgid "firmware missing" msgid "firmware missing"
msgstr "nedostupný firmware" msgstr "nedostupný firmware"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:408
msgid "unavailable" msgid "unavailable"
msgstr "nedostupné" msgstr "nedostupné"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1179
msgid "connection failed" msgid "connection failed"
msgstr "připojení selhalo" msgstr "připojení selhalo"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
msgid "Mobile Broadband Settings"
msgstr "Nastavení mobilní širokopásmové sítě"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
msgid "Hardware Disabled"
msgstr "Hardware zakázán"
#: ../js/ui/status/network.js:707
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Sítě WiFi" msgstr "Sítě WiFi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:709
msgid "Select a network" msgid "Select a network"
msgstr "Vyberte síť" msgstr "Vyberte síť"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:733
msgid "No Networks" msgid "No Networks"
msgstr "Žádné sítě" msgstr "Žádné sítě"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:1005
msgid "Select Network" msgid "Select Network"
msgstr "Vybrat síť" msgstr "Vybrat síť"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:1011
msgid "Wi-Fi Settings"
msgstr "Nastavení WiFi"
#: ../js/ui/status/network.js:1099
msgid "Turn On" msgid "Turn On"
msgstr "Zapnout" msgstr "Zapnout"
#: ../js/ui/status/network.js:1174 #: ../js/ui/status/network.js:1122
msgid "Not Connected"
msgstr "Nepřipojeno"
#: ../js/ui/status/network.js:1242
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1314 #: ../js/ui/status/network.js:1382
msgid "Network Manager" msgid "Network Manager"
msgstr "Network Manager" msgstr "Network Manager"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1421
msgid "Connection failed" msgid "Connection failed"
msgstr "Připojení selhalo" msgstr "Připojení selhalo"
#: ../js/ui/status/network.js:1354 #: ../js/ui/status/network.js:1422
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivace síťového připojení selhala" msgstr "Aktivace síťového připojení selhala"
@ -1459,12 +1478,10 @@ msgid "Estimating…"
msgstr "Odhaduje se…" msgstr "Odhaduje se…"
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "Zbývá %d%02d (%d%%)" msgstr "Zbývá %d%02d (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d do nabití (%d%%)" msgstr "%d%02d do nabití (%d%%)"
@ -1476,23 +1493,27 @@ msgstr "Režim „letadlo“"
msgid "On" msgid "On"
msgstr "Zapnuto" msgstr "Zapnuto"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Nastavení sítě"
#: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Přepnout uživatele" msgstr "Přepnout uživatele"
#: ../js/ui/status/system.js:310 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Odhlásit se" msgstr "Odhlásit se"
#: ../js/ui/status/system.js:329 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Zámek otočení" msgstr "Zámek otočení"
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Uspat do paměti" msgstr "Uspat do paměti"
#: ../js/ui/status/system.js:340 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Vypnout" msgstr "Vypnout"
@ -1622,22 +1643,3 @@ msgstr "Heslo nemůže být prázdné."
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "Dialogové okno ověření bylo uživatelem zrušeno" msgstr "Dialogové okno ověření bylo uživatelem zrušeno"
#~ msgid "There was an error loading the preferences dialog for %s:"
#~ msgstr ""
#~ "Při načítání dialogového okna s vlastnostmi rozšíření %s se vyskytla "
#~ "chyba:"
#~ msgid "Extension"
#~ msgstr "Rozšíření"
#~ msgctxt "event list time"
#~ msgid "%H\\u2236%M"
#~ msgstr "%H:%M"
#~ msgctxt "event list time"
#~ msgid "%l\\u2236%M\\u2009%p"
#~ msgstr "%l:%M\\u2009%p"
#~ msgid "Show Keyboard Layout"
#~ msgstr "Zobrazit rozložení klávesnice"

679
po/de.po

File diff suppressed because it is too large Load Diff

650
po/el.po

File diff suppressed because it is too large Load Diff

101
po/es.po
View File

@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell.master\n" "Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-28 19:49+0000\n" "POT-Creation-Date: 2013-10-09 16:40+0000\n"
"PO-Revision-Date: 2013-09-30 11:42+0200\n" "PO-Revision-Date: 2013-10-10 10:33+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n" "Language-Team: Español <gnome-es-list@gnome.org>\n"
"Language: es\n" "Language: es\n"
@ -283,7 +283,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@ -330,15 +330,15 @@ msgstr "Error de autenticación"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(o pase el dedo)" msgstr "(o pase el dedo)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Comando no encontrado" msgstr "Comando no encontrado"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "No se pudo analizar el comando:" msgstr "No se pudo analizar el comando:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Falló la ejecución de «%s»:" msgstr "Falló la ejecución de «%s»:"
@ -564,16 +564,16 @@ msgstr "Abrir con %s"
msgid "Eject" msgid "Eject"
msgstr "Expulsar" msgstr "Expulsar"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Contraseña:" msgstr "Contraseña:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Escriba de nuevo:" msgstr "Escriba de nuevo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Conectar" msgstr "Conectar"
@ -1053,9 +1053,12 @@ msgstr "Mostrar errores"
msgid "Enabled" msgid "Enabled"
msgstr "Activado" msgstr "Activado"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Desactivado" msgstr "Desactivado"
@ -1274,8 +1277,8 @@ msgstr "Texto grande"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Apagar" msgstr "Apagar"
@ -1362,83 +1365,99 @@ msgstr "Brillo"
msgid "<unknown>" msgid "<unknown>"
msgstr "<desconocido>" msgstr "<desconocido>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Desconectado" msgstr "Desconectado"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Configuración de la red"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "no gestionada" msgstr "no gestionada"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "deconectando…" msgstr "deconectando…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "conectando…" msgstr "conectando…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "se necesita autenticación" msgstr "se necesita autenticación"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "falta el «firmware»" msgstr "falta el «firmware»"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "no disponible" msgstr "no disponible"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "falló la conexión" msgstr "falló la conexión"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
#| msgid "Mobile broadband"
msgid "Mobile Broadband Settings"
msgstr "Configuración de banda ancha móvil"
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
#| msgid "hardware disabled"
msgid "Hardware Disabled"
msgstr "Hardware desactivado"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Redes Wi-Fi" msgstr "Redes Wi-Fi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Seleccionar una red" msgstr "Seleccionar una red"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "No hay redes" msgstr "No hay redes"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Seleccionar red" msgstr "Seleccionar red"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:997
#| msgid "Settings"
msgid "Wi-Fi Settings"
msgstr "Configuración de Wi-Fi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Enceder" msgstr "Enceder"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1108
#| msgid "Connect"
msgid "Not Connected"
msgstr "No conectado"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Gestor de la red" msgstr "Gestor de la red"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Falló la conexión" msgstr "Falló la conexión"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Falló la activación de la conexión de red" msgstr "Falló la activación de la conexión de red"
@ -1459,12 +1478,10 @@ msgid "Estimating…"
msgstr "Estimando…" msgstr "Estimando…"
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "Quedan %d%02d (%d%%)" msgstr "Quedan %d%02d (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d para la carga completa (%d%%)" msgstr "%d%02d para la carga completa (%d%%)"
@ -1476,6 +1493,10 @@ msgstr "Modo avión"
msgid "On" msgid "On"
msgstr "Encender" msgstr "Encender"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Configuración de la red"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Cambiar de usuario" msgstr "Cambiar de usuario"
@ -1753,9 +1774,6 @@ msgstr "El usuario rechazó el diálogo de autenticación"
#~ msgid "Set Up a New Device…" #~ msgid "Set Up a New Device…"
#~ msgstr "Configurar un dispositivo nuevo…" #~ msgstr "Configurar un dispositivo nuevo…"
#~ msgid "hardware disabled"
#~ msgstr "hardware desactivado"
#~ msgid "Connection" #~ msgid "Connection"
#~ msgstr "Conexión" #~ msgstr "Conexión"
@ -1774,9 +1792,6 @@ msgstr "El usuario rechazó el diálogo de autenticación"
#~ msgid "Wired" #~ msgid "Wired"
#~ msgstr "Cableada" #~ msgstr "Cableada"
#~ msgid "Mobile broadband"
#~ msgstr "Banda ancha móvil"
#~ msgid "Networking is disabled" #~ msgid "Networking is disabled"
#~ msgstr "La red está desactivada" #~ msgstr "La red está desactivada"

1798
po/fa.po

File diff suppressed because it is too large Load Diff

431
po/fi.po

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-27 19:38+0000\n" "POT-Creation-Date: 2013-10-09 21:04+0000\n"
"PO-Revision-Date: 2013-09-28 16:24+0200\n" "PO-Revision-Date: 2013-10-09 23:09+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n" "Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: gnome-l10n-gl@gnome.org\n" "Language-Team: gnome-l10n-gl@gnome.org\n"
"Language: gl\n" "Language: gl\n"
@ -282,7 +282,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@ -330,15 +330,15 @@ msgstr "Erro de autenticación"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ou pase o dedo)" msgstr "(ou pase o dedo)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Orde non atopada" msgstr "Orde non atopada"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Non foi posíbel analizar a orde:" msgstr "Non foi posíbel analizar a orde:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Produciuse un fallo na execución de «%s»:" msgstr "Produciuse un fallo na execución de «%s»:"
@ -568,16 +568,16 @@ msgstr "Abrir con %s"
msgid "Eject" msgid "Eject"
msgstr "Expulsar" msgstr "Expulsar"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Contrasinal:" msgstr "Contrasinal:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Escriba de novo:" msgstr "Escriba de novo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Conectar" msgstr "Conectar"
@ -1077,9 +1077,12 @@ msgstr "Mostrar erros"
msgid "Enabled" msgid "Enabled"
msgstr "Activado" msgstr "Activado"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Desactivado" msgstr "Desactivado"
@ -1300,8 +1303,8 @@ msgstr "Texto grande"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Apagar" msgstr "Apagar"
@ -1395,83 +1398,95 @@ msgstr "Brillo"
msgid "<unknown>" msgid "<unknown>"
msgstr "<descoñecido>" msgstr "<descoñecido>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Desactivar" msgstr "Desactivar"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Preferencias da rede"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "non xestionada" msgstr "non xestionada"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "desconectando…" msgstr "desconectando…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "conectando…" msgstr "conectando…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "requírese autenticación" msgstr "requírese autenticación"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "falta o «firmware»" msgstr "falta o «firmware»"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "non dispoñíbel" msgstr "non dispoñíbel"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "conexión fallada" msgstr "conexión fallada"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
msgid "Mobile Broadband Settings"
msgstr "Preferencias da banda larga móbil"
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
msgid "Hardware Disabled"
msgstr "Hardware desactivado"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Redes WiFi" msgstr "Redes WiFi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Seleccione unha rede" msgstr "Seleccione unha rede"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "Sen redes" msgstr "Sen redes"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Seleccione unha rede" msgstr "Seleccione unha rede"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:997
msgid "Wi-Fi Settings"
msgstr "Preferencias da WiFi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Activar" msgstr "Activar"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1108
msgid "Not Connected"
msgstr "Non conectado"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Xestor da rede" msgstr "Xestor da rede"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Produciuse un fallo na conexión" msgstr "Produciuse un fallo na conexión"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Produciuse un fallo na activación da conexión de rede" msgstr "Produciuse un fallo na activación da conexión de rede"
@ -1495,13 +1510,13 @@ msgstr "Estimando…"
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Remaining (%d%%)" #| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "Faltan %d%02d (%d%%)" msgstr "Faltan %d\\u2236%02d (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Until Full (%d%%)" #| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d ate completo (%d%%)" msgstr "%d\\u2236%02d ate completo (%d%%)"
#: ../js/ui/status/rfkill.js:43 #: ../js/ui/status/rfkill.js:43
msgid "Airplane Mode" msgid "Airplane Mode"
@ -1511,6 +1526,10 @@ msgstr "Modo avión"
msgid "On" msgid "On"
msgstr "Activado" msgstr "Activado"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Preferencias da rede"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Cambiar de usuario" msgstr "Cambiar de usuario"
@ -1812,9 +1831,6 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
#~ msgid "Set Up a New Device…" #~ msgid "Set Up a New Device…"
#~ msgstr "Configurar un dispositivo novo…" #~ msgstr "Configurar un dispositivo novo…"
#~ msgid "hardware disabled"
#~ msgstr "hardware desactivado"
#~ msgid "Connection" #~ msgid "Connection"
#~ msgstr "Conexión" #~ msgstr "Conexión"
@ -1845,9 +1861,6 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
#~ msgid "Wired" #~ msgid "Wired"
#~ msgstr "Con fíos" #~ msgstr "Con fíos"
#~ msgid "Mobile broadband"
#~ msgstr "Banda larga móbil"
#~ msgid "Networking is disabled" #~ msgid "Networking is disabled"
#~ msgstr "A rede está desactivada" #~ msgstr "A rede está desactivada"

432
po/he.po

File diff suppressed because it is too large Load Diff

497
po/hu.po

File diff suppressed because it is too large Load Diff

600
po/id.po

File diff suppressed because it is too large Load Diff

109
po/it.po
View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-10-01 14:26+0000\n" "POT-Creation-Date: 2013-10-10 21:27+0000\n"
"PO-Revision-Date: 2013-10-01 19:20+0200\n" "PO-Revision-Date: 2013-10-11 09:41+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n" "Language: it\n"
@ -290,7 +290,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
@ -337,15 +337,15 @@ msgstr "Errore di autenticazione"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(o passare il dito)" msgstr "(o passare il dito)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Comando non trovato" msgstr "Comando non trovato"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Impossibile analizzare il comando:" msgstr "Impossibile analizzare il comando:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Esecuzione di «%s» non riuscita:" msgstr "Esecuzione di «%s» non riuscita:"
@ -573,16 +573,16 @@ msgstr "Apri con %s"
msgid "Eject" msgid "Eject"
msgstr "Espelli" msgstr "Espelli"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Password:" msgstr "Password:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Inserire di nuovo:" msgstr "Inserire di nuovo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Connetti" msgstr "Connetti"
@ -1069,9 +1069,12 @@ msgid "Enabled"
msgstr "Abilitato" msgstr "Abilitato"
# (ndt) o disabilitata? # (ndt) o disabilitata?
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Disabilitato" msgstr "Disabilitato"
@ -1103,27 +1106,32 @@ msgstr "Apri"
msgid "Remove" msgid "Remove"
msgstr "Rimuovi" msgstr "Rimuovi"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1530
#| msgid "Notification Settings"
msgid "Notifications"
msgstr "Notifiche"
#: ../js/ui/messageTray.js:1537
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Pulisci messaggi" msgstr "Pulisci messaggi"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1564
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Impostazioni notifiche" msgstr "Impostazioni notifiche"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1617
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Menu tray" msgstr "Menu tray"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1833
msgid "No Messages" msgid "No Messages"
msgstr "Nessun messaggio" msgstr "Nessun messaggio"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1871
msgid "Message Tray" msgid "Message Tray"
msgstr "Cassetto messaggi" msgstr "Cassetto messaggi"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2846
msgid "System Information" msgid "System Information"
msgstr "Informazione di sistema" msgstr "Informazione di sistema"
@ -1291,8 +1299,8 @@ msgstr "Caratteri grandi"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Spegni" msgstr "Spegni"
@ -1379,84 +1387,97 @@ msgstr "Luminosità"
msgid "<unknown>" msgid "<unknown>"
msgstr "<sconosciuto>" msgstr "<sconosciuto>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Off" msgstr "Off"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Impostazioni rete"
# FIXME o femminile? boh # FIXME o femminile? boh
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "non gestito" msgstr "non gestito"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "disconnessione..." msgstr "disconnessione..."
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "connessione..." msgstr "connessione..."
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "richiesta autenticazione" msgstr "richiesta autenticazione"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "firmware mancante" msgstr "firmware mancante"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "non disponibile" msgstr "non disponibile"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "connessione non riuscita" msgstr "connessione non riuscita"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
msgid "Mobile Broadband Settings"
msgstr "Impostazioni banda larga mobile"
# (ndt) o disabilitata?
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
msgid "Hardware Disabled"
msgstr "Hardware disabilitato"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Reti Wi-Fi" msgstr "Reti Wi-Fi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Seleziona una rete" msgstr "Seleziona una rete"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "Nessuna rete" msgstr "Nessuna rete"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Seleziona rete" msgstr "Seleziona rete"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:997
msgid "Wi-Fi Settings"
msgstr "Impostazioni Wi-Fi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Accendi" msgstr "Accendi"
#: ../js/ui/status/network.js:1174 #: ../js/ui/status/network.js:1108
msgid "Not Connected"
msgstr "Non collegato"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1314 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Gestore reti" msgstr "Gestore reti"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Connessione non riuscita" msgstr "Connessione non riuscita"
#: ../js/ui/status/network.js:1354 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Attivazione della connessione di rete non riuscita" msgstr "Attivazione della connessione di rete non riuscita"
@ -1477,13 +1498,11 @@ msgid "Estimating…"
msgstr "In stima…" msgstr "In stima…"
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "%d.%02d rimanente (%d%%)" msgstr "%d.%02d rimanente (%d%%)"
# in stile MacOS sarebbe "al pieno" :P # in stile MacOS sarebbe "al pieno" :P
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d.%02d alla carica (%d%%)" msgstr "%d.%02d alla carica (%d%%)"
@ -1495,6 +1514,10 @@ msgstr "Modalità aeroplano"
msgid "On" msgid "On"
msgstr "On" msgstr "On"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Impostazioni rete"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Cambia utente" msgstr "Cambia utente"

379
po/lt.po

File diff suppressed because it is too large Load Diff

402
po/lv.po

File diff suppressed because it is too large Load Diff

587
po/nb.po

File diff suppressed because it is too large Load Diff

270
po/nl.po
View File

@ -14,11 +14,10 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: \n"
"shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2013-10-12 19:57+0200\n"
"POT-Creation-Date: 2013-09-14 18:10+0000\n" "PO-Revision-Date: 2013-10-12 19:59+0200\n"
"PO-Revision-Date: 2013-09-21 22:46+0100\n" "Last-Translator: Wouter Bolsterlee <wbolster@gnome.org>\n"
"Last-Translator: Reinout van Schouwen <reinouts@gnome.org>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -269,6 +268,10 @@ msgstr "Werkbladen dynamisch beheren"
msgid "Workspaces only on primary monitor" msgid "Workspaces only on primary monitor"
msgstr "Alleen werkbladen op hoofdmonitor" msgstr "Alleen werkbladen op hoofdmonitor"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Focus pas wijzigen nadat de muisaanwijzer is gestopt met bewegen"
#: ../js/extensionPrefs/main.js:125 #: ../js/extensionPrefs/main.js:125
#, c-format #, c-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
@ -282,10 +285,10 @@ msgstr "Uitbreiding"
msgid "Select an extension to configure using the combobox above." msgid "Select an extension to configure using the combobox above."
msgstr "Selecteer de te configureren uitbreiding uit de keuzelijst hierboven." msgstr "Selecteer de te configureren uitbreiding uit de keuzelijst hierboven."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
@ -324,8 +327,8 @@ msgstr "(bijv. gebruiker of %s)"
#. TTLS and PEAP are actually much more complicated, but this complication #. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication #. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one) #. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255 #: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:273 #: ../js/ui/components/networkAgent.js:277
msgid "Username: " msgid "Username: "
msgstr "Gebruikersnaam: " msgstr "Gebruikersnaam: "
@ -346,42 +349,42 @@ msgstr "Authenticatie mislukt"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(of vinger aanbieden)" msgstr "(of vinger aanbieden)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Opdracht niet gevonden" msgstr "Opdracht niet gevonden"
#. Replace "Error invoking GLib.shell_parse_argv: " with #. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer #. something nicer
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Kon opdracht niet parsen:" msgstr "Kon opdracht niet parsen:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, c-format #, c-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Uitvoeren van %s mislukt:" msgstr "Uitvoeren van %s mislukt:"
#: ../js/ui/appDisplay.js:598 #: ../js/ui/appDisplay.js:596
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Vaak gebruikte toepassingen verschijnen hier" msgstr "Vaak gebruikte toepassingen verschijnen hier"
#: ../js/ui/appDisplay.js:714 #: ../js/ui/appDisplay.js:712
msgid "Frequent" msgid "Frequent"
msgstr "Vaak gebruikt" msgstr "Vaak gebruikt"
#: ../js/ui/appDisplay.js:721 #: ../js/ui/appDisplay.js:719
msgid "All" msgid "All"
msgstr "Alles" msgstr "Alles"
#: ../js/ui/appDisplay.js:1516 #: ../js/ui/appDisplay.js:1514
msgid "New Window" msgid "New Window"
msgstr "Nieuw venster" msgstr "Nieuw venster"
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284 #: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Uit favorieten verwijderen" msgstr "Uit favorieten verwijderen"
#: ../js/ui/appDisplay.js:1520 #: ../js/ui/appDisplay.js:1518
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Aan favorieten toevoegen" msgstr "Aan favorieten toevoegen"
@ -395,7 +398,7 @@ msgstr "%s is toegevoegd aan uw favorieten."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s is verwijderd uit uw favorieten." msgstr "%s is verwijderd uit uw favorieten."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:325
msgid "Settings" msgid "Settings"
msgstr "Voorkeuren" msgstr "Voorkeuren"
@ -583,50 +586,50 @@ msgstr "Openen met %s"
msgid "Eject" msgid "Eject"
msgstr "Uitwerpen" msgstr "Uitwerpen"
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Wachtwoord:" msgstr "Wachtwoord:"
#: ../js/ui/components/keyring.js:107 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Nogmaals:" msgstr "Nogmaals:"
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Verbinden" msgstr "Verbinden"
#. Cisco LEAP #. Cisco LEAP
#: ../js/ui/components/networkAgent.js:218 #: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:230 #: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:257 #: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:277 #: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:287 #: ../js/ui/components/networkAgent.js:291
msgid "Password: " msgid "Password: "
msgstr "Wachtwoord:" msgstr "Wachtwoord:"
#. static WEP #. static WEP
#: ../js/ui/components/networkAgent.js:223 #: ../js/ui/components/networkAgent.js:227
msgid "Key: " msgid "Key: "
msgstr "Sleutel: " msgstr "Sleutel: "
#: ../js/ui/components/networkAgent.js:261 #: ../js/ui/components/networkAgent.js:265
msgid "Identity: " msgid "Identity: "
msgstr "Identiteit: " msgstr "Identiteit: "
#: ../js/ui/components/networkAgent.js:263 #: ../js/ui/components/networkAgent.js:267
msgid "Private key password: " msgid "Private key password: "
msgstr "Wachtwoord van privésleutel: " msgstr "Wachtwoord van privésleutel: "
#: ../js/ui/components/networkAgent.js:275 #: ../js/ui/components/networkAgent.js:279
msgid "Service: " msgid "Service: "
msgstr "Service: " msgstr "Service: "
#: ../js/ui/components/networkAgent.js:304 #: ../js/ui/components/networkAgent.js:308
msgid "Authentication required by wireless network" msgid "Authentication required by wireless network"
msgstr "Authenticatie nodig voor draadloos netwerk" msgstr "Authenticatie nodig voor draadloos netwerk"
#: ../js/ui/components/networkAgent.js:305 #: ../js/ui/components/networkAgent.js:309
#, c-format #, c-format
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
@ -635,35 +638,35 @@ msgstr ""
"Er is een wachtwoord of een sleutel voor encryptie nodig voor toegang tot " "Er is een wachtwoord of een sleutel voor encryptie nodig voor toegang tot "
"het draadloze netwerk %s." "het draadloze netwerk %s."
#: ../js/ui/components/networkAgent.js:309 #: ../js/ui/components/networkAgent.js:313
msgid "Wired 802.1X authentication" msgid "Wired 802.1X authentication"
msgstr "802.1X-authenticatie (bedraad)" msgstr "802.1X-authenticatie (bedraad)"
#: ../js/ui/components/networkAgent.js:311 #: ../js/ui/components/networkAgent.js:315
msgid "Network name: " msgid "Network name: "
msgstr "Netwerknaam: " msgstr "Netwerknaam: "
#: ../js/ui/components/networkAgent.js:316 #: ../js/ui/components/networkAgent.js:320
msgid "DSL authentication" msgid "DSL authentication"
msgstr "DSL-authenticatie" msgstr "DSL-authenticatie"
#: ../js/ui/components/networkAgent.js:323 #: ../js/ui/components/networkAgent.js:327
msgid "PIN code required" msgid "PIN code required"
msgstr "PIN-code vereist" msgstr "PIN-code vereist"
#: ../js/ui/components/networkAgent.js:324 #: ../js/ui/components/networkAgent.js:328
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "PIN-code vereist voor het apparaat voor mobiel breedband" msgstr "PIN-code vereist voor het apparaat voor mobiel breedband"
#: ../js/ui/components/networkAgent.js:325 #: ../js/ui/components/networkAgent.js:329
msgid "PIN: " msgid "PIN: "
msgstr "PIN: " msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:331 #: ../js/ui/components/networkAgent.js:335
msgid "Mobile broadband network password" msgid "Mobile broadband network password"
msgstr "Netwerkwachtwoord voor mobiel breedband" msgstr "Netwerkwachtwoord voor mobiel breedband"
#: ../js/ui/components/networkAgent.js:332 #: ../js/ui/components/networkAgent.js:336
#, c-format #, c-format
msgid "A password is required to connect to '%s'." msgid "A password is required to connect to '%s'."
msgstr "Er is een wachtwoord nodig om met %s te verbinden." msgstr "Er is een wachtwoord nodig om met %s te verbinden."
@ -1034,11 +1037,14 @@ msgid "Restart & Install Updates"
msgstr "Opnieuw opstarten en updates installeren" msgstr "Opnieuw opstarten en updates installeren"
#: ../js/ui/endSessionDialog.js:114 #: ../js/ui/endSessionDialog.js:114
#, c-format
msgid "The system will automatically restart and install updates in %d second." msgid "The system will automatically restart and install updates in %d second."
msgid_plural "" msgid_plural ""
"The system will automatically restart and install updates in %d seconds." "The system will automatically restart and install updates in %d seconds."
msgstr[0] "De computer zal opnieuw opstarten en updates installeren over %d seconde." msgstr[0] ""
msgstr[1] "De computer zal opnieuw opstarten en updates installeren over %d seconden." "De computer zal opnieuw opstarten en updates installeren over %d seconde."
msgstr[1] ""
"De computer zal opnieuw opstarten en updates installeren over %d seconden."
#: ../js/ui/endSessionDialog.js:119 #: ../js/ui/endSessionDialog.js:119
msgctxt "button" msgctxt "button"
@ -1100,9 +1106,12 @@ msgstr "Fouten tonen"
msgid "Enabled" msgid "Enabled"
msgstr "Ingeschakeld" msgstr "Ingeschakeld"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode)
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Uitgeschakeld" msgstr "Uitgeschakeld"
@ -1134,31 +1143,35 @@ msgstr "Openen"
msgid "Remove" msgid "Remove"
msgstr "Verwijderen" msgstr "Verwijderen"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1530
msgid "Notifications"
msgstr "Notificaties"
#: ../js/ui/messageTray.js:1537
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Berichten wissen" msgstr "Berichten wissen"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1564
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Notificatie-instellingen" msgstr "Notificatie-instellingen"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1617
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Overzichtmenu" msgstr "Overzichtmenu"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1833
msgid "No Messages" msgid "No Messages"
msgstr "Geen berichten" msgstr "Geen berichten"
#: ../js/ui/messageTray.js:1812 #: ../js/ui/messageTray.js:1871
msgid "Message Tray" msgid "Message Tray"
msgstr "Berichtenoverzicht" msgstr "Berichtenoverzicht"
#: ../js/ui/messageTray.js:2787 #: ../js/ui/messageTray.js:2846
msgid "System Information" msgid "System Information"
msgstr "Systeeminformatie" msgstr "Systeeminformatie"
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396 #: ../js/ui/notificationDaemon.js:630 ../src/shell-app.c:396
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Onbekend" msgstr "Onbekend"
@ -1186,17 +1199,17 @@ msgstr "Overzicht"
msgid "Type to search…" msgid "Type to search…"
msgstr "Typ om te zoeken…" msgstr "Typ om te zoeken…"
#: ../js/ui/panel.js:518 #: ../js/ui/panel.js:516
msgid "Quit" msgid "Quit"
msgstr "Afsluiten" msgstr "Afsluiten"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". #. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570 #: ../js/ui/panel.js:568
msgid "Activities" msgid "Activities"
msgstr "Activiteiten" msgstr "Activiteiten"
#: ../js/ui/panel.js:903 #: ../js/ui/panel.js:900
msgid "Top Bar" msgid "Top Bar"
msgstr "Bovenbalk" msgstr "Bovenbalk"
@ -1205,7 +1218,7 @@ msgstr "Bovenbalk"
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle #. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will #. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches. #. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:233 #: ../js/ui/popupMenu.js:259
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1253,11 +1266,11 @@ msgstr "Kon niet vergrendelen"
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Vergrendelen is door een toepassing voorkomen" msgstr "Vergrendelen is door een toepassing voorkomen"
#: ../js/ui/searchDisplay.js:447 #: ../js/ui/searchDisplay.js:448
msgid "Searching…" msgid "Searching…"
msgstr "Zoeken…" msgstr "Zoeken…"
#: ../js/ui/searchDisplay.js:491 #: ../js/ui/searchDisplay.js:492
msgid "No results." msgid "No results."
msgstr "Geen resultaten" msgstr "Geen resultaten"
@ -1289,56 +1302,56 @@ msgstr "Wachtwoord onthouden"
msgid "Accessibility" msgid "Accessibility"
msgstr "Toegankelijkheid" msgstr "Toegankelijkheid"
#: ../js/ui/status/accessibility.js:58 #: ../js/ui/status/accessibility.js:56
msgid "Zoom" msgid "Zoom"
msgstr "Zoomen" msgstr "Zoomen"
#: ../js/ui/status/accessibility.js:65 #: ../js/ui/status/accessibility.js:63
msgid "Screen Reader" msgid "Screen Reader"
msgstr "Schermlezer" msgstr "Schermlezer"
#: ../js/ui/status/accessibility.js:69 #: ../js/ui/status/accessibility.js:67
msgid "Screen Keyboard" msgid "Screen Keyboard"
msgstr "Schermtoetsenbord" msgstr "Schermtoetsenbord"
#: ../js/ui/status/accessibility.js:73 #: ../js/ui/status/accessibility.js:71
msgid "Visual Alerts" msgid "Visual Alerts"
msgstr "Visuele alerteringen" msgstr "Visuele alerteringen"
#: ../js/ui/status/accessibility.js:76 #: ../js/ui/status/accessibility.js:74
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "Plaktoetsen" msgstr "Plaktoetsen"
#: ../js/ui/status/accessibility.js:79 #: ../js/ui/status/accessibility.js:77
msgid "Slow Keys" msgid "Slow Keys"
msgstr "Trage Toetsen" msgstr "Trage Toetsen"
#: ../js/ui/status/accessibility.js:82 #: ../js/ui/status/accessibility.js:80
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "Springende toetsen" msgstr "Springende toetsen"
#: ../js/ui/status/accessibility.js:85 #: ../js/ui/status/accessibility.js:83
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Muistoetsen" msgstr "Muistoetsen"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:142
msgid "High Contrast" msgid "High Contrast"
msgstr "Hoog contrast" msgstr "Hoog contrast"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:191
msgid "Large Text" msgid "Large Text"
msgstr "Grote tekst" msgstr "Grote tekst"
#. The Bluetooth menu only appears when Bluetooth is in use, #. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item. #. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62 #: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127 #: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194 #: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Uitschakelen" msgstr "Uitschakelen"
@ -1346,79 +1359,81 @@ msgstr "Uitschakelen"
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Bluetooth-instellingen" msgstr "Bluetooth-instellingen"
#: ../js/ui/status/bluetooth.js:57 #: ../js/ui/status/bluetooth.js:58
#, c-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
msgstr[0] "%d Verbonden apparaat" msgstr[0] "%d Verbonden apparaat"
msgstr[1] "%d Verbonden apparaten" msgstr[1] "%d Verbonden apparaten"
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128 #: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#, c-format #, c-format
msgid "Authorization request from %s" msgid "Authorization request from %s"
msgstr "Autorisatie-aanvraag van %s" msgstr "Autorisatie-aanvraag van %s"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171 #: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:202 #: ../js/ui/status/bluetooth.js:203
#, c-format #, c-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "Het apparaat %s wil aankoppelen met deze computer" msgstr "Het apparaat %s wil aankoppelen met deze computer"
#: ../js/ui/status/bluetooth.js:108 #: ../js/ui/status/bluetooth.js:109
msgid "Allow" msgid "Allow"
msgstr "Toestaan" msgstr "Toestaan"
#: ../js/ui/status/bluetooth.js:109 #: ../js/ui/status/bluetooth.js:110
msgid "Deny" msgid "Deny"
msgstr "Weigeren" msgstr "Weigeren"
#: ../js/ui/status/bluetooth.js:134 #: ../js/ui/status/bluetooth.js:135
#, c-format #, c-format
msgid "Device %s wants access to the service '%s'" msgid "Device %s wants access to the service '%s'"
msgstr "Het apparaat %s wil toegang tot de dienst %s" msgstr "Het apparaat %s wil toegang tot de dienst %s"
#: ../js/ui/status/bluetooth.js:136 #: ../js/ui/status/bluetooth.js:137
msgid "Always grant access" msgid "Always grant access"
msgstr "Altijd toestaan" msgstr "Altijd toestaan"
#: ../js/ui/status/bluetooth.js:137 #: ../js/ui/status/bluetooth.js:138
msgid "Grant this time only" msgid "Grant this time only"
msgstr "Eenmalig toestaan" msgstr "Eenmalig toestaan"
#: ../js/ui/status/bluetooth.js:138 #: ../js/ui/status/bluetooth.js:139
msgid "Reject" msgid "Reject"
msgstr "Afwijzen" msgstr "Afwijzen"
#. Translators: argument is the device short name #. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:165 #: ../js/ui/status/bluetooth.js:166
#, c-format #, c-format
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "Koppelbevestiging voor %s" msgstr "Koppelbevestiging voor %s"
#: ../js/ui/status/bluetooth.js:172 #: ../js/ui/status/bluetooth.js:173
#, c-format
msgid "" msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device." "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr msgstr ""
"Bevestig dat de toegangscode %06d hetzelfde is als die van het apparaat." "Bevestig dat de toegangscode %06d hetzelfde is als die van het apparaat."
#. Translators: this is the verb, not the noun #. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:175 #: ../js/ui/status/bluetooth.js:176
msgid "Matches" msgid "Matches"
msgstr "Komt overeen" msgstr "Komt overeen"
#: ../js/ui/status/bluetooth.js:176 #: ../js/ui/status/bluetooth.js:177
msgid "Does not match" msgid "Does not match"
msgstr "Komt niet overeen" msgstr "Komt niet overeen"
#: ../js/ui/status/bluetooth.js:195 #: ../js/ui/status/bluetooth.js:196
#, c-format #, c-format
msgid "Pairing request for %s" msgid "Pairing request for %s"
msgstr "Verzoek tot koppelen met %s" msgstr "Verzoek tot koppelen met %s"
#: ../js/ui/status/bluetooth.js:203 #: ../js/ui/status/bluetooth.js:204
msgid "Please enter the PIN mentioned on the device." msgid "Please enter the PIN mentioned on the device."
msgstr "Geef de op het apparaat aangegeven PIN-code." msgstr "Geef de op het apparaat aangegeven PIN-code."
#: ../js/ui/status/bluetooth.js:220 #: ../js/ui/status/bluetooth.js:221
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
@ -1426,7 +1441,7 @@ msgstr "OK"
msgid "Brightness" msgid "Brightness"
msgstr "Helderheid" msgstr "Helderheid"
#: ../js/ui/status/keyboard.js:403 #: ../js/ui/status/keyboard.js:401
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Toetsenbordindeling tonen" msgstr "Toetsenbordindeling tonen"
@ -1434,83 +1449,95 @@ msgstr "Toetsenbordindeling tonen"
msgid "<unknown>" msgid "<unknown>"
msgstr "<onbekend>" msgstr "<onbekend>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Uit" msgstr "Uit"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Netwerkinstellingen"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) #. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "niet gemanaged" msgstr "niet gemanaged"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "verbinding verbreken…" msgstr "verbinding verbreken…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "verbinden…" msgstr "verbinden…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "authenticatie nodig" msgstr "authenticatie nodig"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "firmware ontbreekt" msgstr "firmware ontbreekt"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "niet beschikbaar" msgstr "niet beschikbaar"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "verbinding mislukt" msgstr "verbinding mislukt"
#: ../js/ui/status/network.js:654 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
msgid "Mobile Broadband Settings"
msgstr "Instellingen voor mobiel breedband"
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
msgid "Hardware Disabled"
msgstr "Uitgeschakeld in hardware"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Wi-Fi-netwerken" msgstr "Wi-Fi-netwerken"
#: ../js/ui/status/network.js:656 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Selecteer een netwerk" msgstr "Selecteer een netwerk"
#: ../js/ui/status/network.js:680 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "Geen netwerken" msgstr "Geen netwerken"
#: ../js/ui/status/network.js:949 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Selecteer netwerk" msgstr "Selecteer netwerk"
#: ../js/ui/status/network.js:1034 #: ../js/ui/status/network.js:997
msgid "Wi-Fi Settings"
msgstr "Instellingen voor Wi-Fi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Inschakelen" msgstr "Inschakelen"
#: ../js/ui/status/network.js:1167 #: ../js/ui/status/network.js:1108
msgid "Not Connected"
msgstr "Niet verbonden"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1306 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Netwerk-manager" msgstr "Netwerk-manager"
#: ../js/ui/status/network.js:1345 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Verbinding mislukt" msgstr "Verbinding mislukt"
#: ../js/ui/status/network.js:1346 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Activeren van netwerkverbinding mislukt" msgstr "Activeren van netwerkverbinding mislukt"
@ -1556,6 +1583,10 @@ msgstr "Vliegtuigstand"
msgid "On" msgid "On"
msgstr "Aan" msgstr "Aan"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Netwerkinstellingen"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Gebruiker wisselen" msgstr "Gebruiker wisselen"
@ -1667,7 +1698,7 @@ msgid_plural "%u Inputs"
msgstr[0] "%u invoerkanaal" msgstr[0] "%u invoerkanaal"
msgstr[1] "%u invoerkanalen" msgstr[1] "%u invoerkanalen"
#: ../src/gvc/gvc-mixer-control.c:2373 #: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds" msgid "System Sounds"
msgstr "Systeemgeluiden" msgstr "Systeemgeluiden"
@ -1846,9 +1877,6 @@ msgstr "Authenticatievenster is door de gebruiker afgesloten"
#~ msgid "Set Up a New Device…" #~ msgid "Set Up a New Device…"
#~ msgstr "Nieuw apparaat instellen…" #~ msgstr "Nieuw apparaat instellen…"
#~ msgid "hardware disabled"
#~ msgstr "uitgeschakeld in hardware"
#~ msgid "Connection" #~ msgid "Connection"
#~ msgstr "Verbinding" #~ msgstr "Verbinding"
@ -1886,9 +1914,6 @@ msgstr "Authenticatievenster is door de gebruiker afgesloten"
#~ msgid "Auto Ethernet" #~ msgid "Auto Ethernet"
#~ msgstr "Automatisch ethernetverbinding" #~ msgstr "Automatisch ethernetverbinding"
#~ msgid "Mobile broadband"
#~ msgstr "Mobiel breedband"
#~ msgid "Auto broadband" #~ msgid "Auto broadband"
#~ msgstr "Automatische breedbandverbinding" #~ msgstr "Automatische breedbandverbinding"
@ -1986,9 +2011,6 @@ msgstr "Authenticatievenster is door de gebruiker afgesloten"
#~ msgid "Idle" #~ msgid "Idle"
#~ msgstr "Inactief" #~ msgstr "Inactief"
#~ msgid "Notifications"
#~ msgstr "Notificaties"
#~ msgid "Your chat status will be set to busy" #~ msgid "Your chat status will be set to busy"
#~ msgstr "De chatstatus zal op bezig gezet worden" #~ msgstr "De chatstatus zal op bezig gezet worden"

350
po/pa.po
View File

@ -1,15 +1,15 @@
# Punjabi translation for gnome-shell. # Punjabi translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package. # This file is distributed under the same license as the gnome-shell package.
# A S Alam <aalam@users.sf.net>, 2009, 2010, 2011, 2012, 2013. # A S Alam <aalam@users.sf.net>, 2009, 2010, 2011, 2012, 2013, 2014.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-28 19:49+0000\n" "POT-Creation-Date: 2014-02-01 22:56+0000\n"
"PO-Revision-Date: 2013-09-29 05:26-0500\n" "PO-Revision-Date: 2014-02-01 17:12-0600\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n" "Last-Translator: Aman Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n" "Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n" "Language: pa\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -273,23 +273,23 @@ msgstr "ਪੁਆਇੰਟਰ ਦੇ ਹਿਲਣ ਤੋਂ ਰੁਕਣ ਤੱ
msgid "Select an extension to configure using the combobox above." msgid "Select an extension to configure using the combobox above."
msgstr "ਉੱਤੇ ਦਿੱਤੇ ਕੰਬੋਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਕਸਟੈਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ ਚੋਣ ਕਰੋ।" msgstr "ਉੱਤੇ ਦਿੱਤੇ ਕੰਬੋਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਕਸਟੈਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ ਚੋਣ ਕਰੋ।"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:739
msgid "Cancel" msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ" msgstr "ਰੱਦ ਕਰੋ"
#: ../js/gdm/authPrompt.js:167 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
msgid "Next" msgid "Next"
msgstr "ਅੱਗੇ" msgstr "ਅੱਗੇ"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "ਅਣ-ਲਾਕ" msgstr "ਅਣ-ਲਾਕ"
#: ../js/gdm/authPrompt.js:213 #: ../js/gdm/authPrompt.js:214
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "ਸਾਇਨ ਇਨ" msgstr "ਸਾਇਨ ਇਨ"
@ -316,23 +316,23 @@ msgstr "ਯੂਜ਼ਰ ਨਾਂ: "
msgid "Login Window" msgid "Login Window"
msgstr "ਲਾਗਇਨ ਵਿੰਡੋ" msgstr "ਲਾਗਇਨ ਵਿੰਡੋ"
#: ../js/gdm/util.js:306 #: ../js/gdm/util.js:321
msgid "Authentication error" msgid "Authentication error"
msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ" msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ"
#: ../js/gdm/util.js:436 #: ../js/gdm/util.js:451
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ਜਾਂ ਉਂਗਲ ਰੱਖੋ)" msgstr "(ਜਾਂ ਉਂਗਲ ਰੱਖੋ)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ" msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:" msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:" msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
@ -349,15 +349,15 @@ msgstr "ਅਕਸਰ"
msgid "All" msgid "All"
msgstr "ਸਭ" msgstr "ਸਭ"
#: ../js/ui/appDisplay.js:1514 #: ../js/ui/appDisplay.js:1525
msgid "New Window" msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ" msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284 #: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ" msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#: ../js/ui/appDisplay.js:1518 #: ../js/ui/appDisplay.js:1529
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ" msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
@ -371,8 +371,8 @@ msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮ
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।" msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "ਸੈਟਿੰਗ" msgstr "ਸੈਟਿੰਗ"
@ -562,16 +562,16 @@ msgstr "%s ਨਾਲ ਖੋਲ੍ਹੋ"
msgid "Eject" msgid "Eject"
msgstr "ਬਾਹਰ ਕੱਢੋ" msgstr "ਬਾਹਰ ਕੱਢੋ"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "ਪਾਸਵਰਡ:" msgstr "ਪਾਸਵਰਡ:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼:" msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:295 ../js/ui/status/network.js:742
msgid "Connect" msgid "Connect"
msgstr "ਕੁਨੈਕਟ ਕਰੋ" msgstr "ਕੁਨੈਕਟ ਕਰੋ"
@ -663,60 +663,60 @@ msgstr "ਪਰਮਾਣਿਤ"
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "ਅਫਸੋਸ, ਉਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।" msgstr "ਅਫਸੋਸ, ਉਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।"
#: ../js/ui/components/telepathyClient.js:238 #: ../js/ui/components/telepathyClient.js:237
msgid "Invitation" msgid "Invitation"
msgstr "ਸੱਦਾ" msgstr "ਸੱਦਾ"
#: ../js/ui/components/telepathyClient.js:298 #: ../js/ui/components/telepathyClient.js:297
msgid "Call" msgid "Call"
msgstr "ਕਾਲ ਕਰੋ" msgstr "ਕਾਲ ਕਰੋ"
#: ../js/ui/components/telepathyClient.js:314 #: ../js/ui/components/telepathyClient.js:313
msgid "File Transfer" msgid "File Transfer"
msgstr "ਫਾਇਲ ਟਰਾਂਸਫਰ" msgstr "ਫਾਇਲ ਟਰਾਂਸਫਰ"
#: ../js/ui/components/telepathyClient.js:418 #: ../js/ui/components/telepathyClient.js:417
msgid "Chat" msgid "Chat"
msgstr "ਗੱਲਬਾਤ" msgstr "ਗੱਲਬਾਤ"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Unmute" msgid "Unmute"
msgstr "ਸੁਣਾਓ" msgstr "ਸੁਣਾਓ"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Mute" msgid "Mute"
msgstr "ਚੁੱਪ" msgstr "ਚੁੱਪ"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/ #. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:942 #: ../js/ui/components/telepathyClient.js:941
msgid "<b>Yesterday</b>, <b>%H:%M</b>" msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>ਕੱਲ੍ਹ</b>, <b>%H:%M</b>" msgstr "<b>ਕੱਲ੍ਹ</b>, <b>%H:%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/ #. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:948 #: ../js/ui/components/telepathyClient.js:947
msgid "<b>%A</b>, <b>%H:%M</b>" msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "<b>%A</b>, <b>%H:%M</b>" msgstr "<b>%A</b>, <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/ #. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:953 #: ../js/ui/components/telepathyClient.js:952
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>" msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%d</b> <b>%B</b>,<b>%H:%M</b>" msgstr "<b>%d</b> <b>%B</b>,<b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/ #. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:957 #: ../js/ui/components/telepathyClient.js:956
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> " msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:986 #: ../js/ui/components/telepathyClient.js:985
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s ਨੂੰ ਹੁਣ %s ਵਜੋਂ ਜਾਣਿਆ ਜਾਵੇਗਾ" msgstr "%s ਨੂੰ ਹੁਣ %s ਵਜੋਂ ਜਾਣਿਆ ਜਾਵੇਗਾ"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1089 #: ../js/ui/components/telepathyClient.js:1088
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "%s ਲਈ ਸੱਦਾ" msgstr "%s ਲਈ ਸੱਦਾ"
@ -724,38 +724,38 @@ msgstr "%s ਲਈ ਸੱਦਾ"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1097 #: ../js/ui/components/telepathyClient.js:1096
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s ਤੁਹਾਨੂੰ %s ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਸੱਦ ਰਿਹਾ ਹੈ" msgstr "%s ਤੁਹਾਨੂੰ %s ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਸੱਦ ਰਿਹਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1099 #: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1140 #: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1180 #: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1243 #: ../js/ui/components/telepathyClient.js:1242
msgid "Decline" msgid "Decline"
msgstr "ਇਨਕਾਰ" msgstr "ਇਨਕਾਰ"
#: ../js/ui/components/telepathyClient.js:1100 #: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1181 #: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1244 #: ../js/ui/components/telepathyClient.js:1243
msgid "Accept" msgid "Accept"
msgstr "ਮਨਜ਼ੂਰ" msgstr "ਮਨਜ਼ੂਰ"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1130 #: ../js/ui/components/telepathyClient.js:1129
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "%s ਵਲੋਂ ਵਿਡੀਓ ਕਾਲ" msgstr "%s ਵਲੋਂ ਵਿਡੀਓ ਕਾਲ"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1133 #: ../js/ui/components/telepathyClient.js:1132
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "%s ਵਲੋਂ ਕਾਲ" msgstr "%s ਵਲੋਂ ਕਾਲ"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142 #: ../js/ui/components/telepathyClient.js:1141
msgid "Answer" msgid "Answer"
msgstr "ਜਵਾਬ ਦਿਓ" msgstr "ਜਵਾਬ ਦਿਓ"
@ -764,110 +764,110 @@ msgstr "ਜਵਾਬ ਦਿਓ"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1174 #: ../js/ui/components/telepathyClient.js:1173
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s ਤੁਹਾਨੂੰ %s ਭੇਜ ਰਿਹਾ/ਰਹੀ ਹੈ" msgstr "%s ਤੁਹਾਨੂੰ %s ਭੇਜ ਰਿਹਾ/ਰਹੀ ਹੈ"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1209 #: ../js/ui/components/telepathyClient.js:1208
#, javascript-format #, javascript-format
msgid "%s would like permission to see when you are online" msgid "%s would like permission to see when you are online"
msgstr "" msgstr ""
"%s ਤੁਹਾਨੂੰ ਵੇਖਣ ਦਾ ਅਧਿਕਾਰ ਚਾਹੁੰਦਾ/ਚਾਹੁੰਦੀ ਹੈ, ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਆਨਲਾਈਨ ਹੋਵੋ" "%s ਤੁਹਾਨੂੰ ਵੇਖਣ ਦਾ ਅਧਿਕਾਰ ਚਾਹੁੰਦਾ/ਚਾਹੁੰਦੀ ਹੈ, ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਆਨਲਾਈਨ ਹੋਵੋ"
#: ../js/ui/components/telepathyClient.js:1301 #: ../js/ui/components/telepathyClient.js:1300
msgid "Network error" msgid "Network error"
msgstr "ਨੈੱਟਵਰਕ ਗਲਤੀ" msgstr "ਨੈੱਟਵਰਕ ਗਲਤੀ"
#: ../js/ui/components/telepathyClient.js:1303 #: ../js/ui/components/telepathyClient.js:1302
msgid "Authentication failed" msgid "Authentication failed"
msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ੍ਹ ਹੋਈ" msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ੍ਹ ਹੋਈ"
#: ../js/ui/components/telepathyClient.js:1305 #: ../js/ui/components/telepathyClient.js:1304
msgid "Encryption error" msgid "Encryption error"
msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਗਲਤੀ" msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਗਲਤੀ"
#: ../js/ui/components/telepathyClient.js:1307 #: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "ਸਰਟੀਫਿਕੇਟ ਨਹੀਂ ਦਿੱਤਾ" msgstr "ਸਰਟੀਫਿਕੇਟ ਨਹੀਂ ਦਿੱਤਾ"
#: ../js/ui/components/telepathyClient.js:1309 #: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "ਸਰਟੀਫਿਕੇਟ ਬੇਭਰੋਸੇਯੋਗ" msgstr "ਸਰਟੀਫਿਕੇਟ ਬੇਭਰੋਸੇਯੋਗ"
#: ../js/ui/components/telepathyClient.js:1311 #: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate expired" msgid "Certificate expired"
msgstr "ਸਰਟੀਫਿਕੇਟ ਦੀ ਮਿਆਦ ਪੁੱਗੀ" msgstr "ਸਰਟੀਫਿਕੇਟ ਦੀ ਮਿਆਦ ਪੁੱਗੀ"
#: ../js/ui/components/telepathyClient.js:1313 #: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "ਸਰਟੀਫਿਕੇਟ ਸਰਗਰਮ ਨਹੀਂ ਹੈ" msgstr "ਸਰਟੀਫਿਕੇਟ ਸਰਗਰਮ ਨਹੀਂ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1315 #: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "ਸਰਟੀਫਿਕੇਟ ਹੋਸਟ-ਨਾਂ ਨਹੀਂ ਮਿਲਦਾ" msgstr "ਸਰਟੀਫਿਕੇਟ ਹੋਸਟ-ਨਾਂ ਨਹੀਂ ਮਿਲਦਾ"
#: ../js/ui/components/telepathyClient.js:1317 #: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "ਸਰਟੀਫਿਕੇਟ ਫਿੰਗਰ-ਪਰਿੰਟ ਮਿਲਦਾ ਨਹੀਂ" msgstr "ਸਰਟੀਫਿਕੇਟ ਫਿੰਗਰ-ਪਰਿੰਟ ਮਿਲਦਾ ਨਹੀਂ"
#: ../js/ui/components/telepathyClient.js:1319 #: ../js/ui/components/telepathyClient.js:1318
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "ਸਰਟੀਫਿਕੇਟ ਖੁਦ-ਦਸਤਖਤੀ ਹੈ" msgstr "ਸਰਟੀਫਿਕੇਟ ਖੁਦ-ਦਸਤਖਤੀ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1321 #: ../js/ui/components/telepathyClient.js:1320
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "ਹਾਲਤ ਆਫਲਾਈਨ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ" msgstr "ਹਾਲਤ ਆਫਲਾਈਨ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1323 #: ../js/ui/components/telepathyClient.js:1322
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ" msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1325 #: ../js/ui/components/telepathyClient.js:1324
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "ਸਰਟੀਫਿਕੇਟ ਗਲਤ ਹੈ" msgstr "ਸਰਟੀਫਿਕੇਟ ਗਲਤ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1327 #: ../js/ui/components/telepathyClient.js:1326
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ ਗਿਆ" msgstr "ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ ਗਿਆ"
#: ../js/ui/components/telepathyClient.js:1329 #: ../js/ui/components/telepathyClient.js:1328
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" msgstr "ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
#: ../js/ui/components/telepathyClient.js:1331 #: ../js/ui/components/telepathyClient.js:1330
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋ ਗਿਆ" msgstr "ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋ ਗਿਆ"
#: ../js/ui/components/telepathyClient.js:1333 #: ../js/ui/components/telepathyClient.js:1332
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "ਇਹ ਅਕਾਊਂਟ ਪਹਿਲਾਂ ਹੀ ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਹੈ" msgstr "ਇਹ ਅਕਾਊਂਟ ਪਹਿਲਾਂ ਹੀ ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1335 #: ../js/ui/components/telepathyClient.js:1334
msgid "" msgid ""
"Connection has been replaced by a new connection using the same resource" "Connection has been replaced by a new connection using the same resource"
msgstr "ਉਸੇ ਸਰੋਤ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਨਵੇਂ ਕੁਨੈਕਸ਼ਨ ਨਾਲ ਬਦਲ ਦਿੱਤਾ ਗਿਆ ਹੈ" msgstr "ਉਸੇ ਸਰੋਤ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਨਵੇਂ ਕੁਨੈਕਸ਼ਨ ਨਾਲ ਬਦਲ ਦਿੱਤਾ ਗਿਆ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1337 #: ../js/ui/components/telepathyClient.js:1336
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "ਅਕਾਊਂਟ ਸਰਵਰ ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ" msgstr "ਅਕਾਊਂਟ ਸਰਵਰ ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1339 #: ../js/ui/components/telepathyClient.js:1338
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "ਸਰਵਰ ਇਸ ਵੇਲੇ ਐਨਾ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ ਕਿ ਕੁਨੈਕਸ਼ਨ ਸੰਭਾਲ ਨਹੀਂ ਸਕਦਾ" msgstr "ਸਰਵਰ ਇਸ ਵੇਲੇ ਐਨਾ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ ਕਿ ਕੁਨੈਕਸ਼ਨ ਸੰਭਾਲ ਨਹੀਂ ਸਕਦਾ"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "ਸਰਟੀਫਿਕੇਟ ਮਨਸੂਖ ਕੀਤਾ ਜਾ ਚੁੱਕਾ ਹੈ" msgstr "ਸਰਟੀਫਿਕੇਟ ਮਨਸੂਖ ਕੀਤਾ ਜਾ ਚੁੱਕਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1342
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"ਸਰਟੀਫਿਕੇਟ ਅਸੁਰੱਖਿਅਤ ਸੀਫ਼ਰ ਐਲਗੋਰਿਥਮ ਵਰਤਦਾ ਹੈ ਜਾਂ ਕਮਜ਼ੋਰ ਕ੍ਰਿਪਟੋਗਰਾਫਿਕਲ ਵਰਤਦਾ ਹੈ" "ਸਰਟੀਫਿਕੇਟ ਅਸੁਰੱਖਿਅਤ ਸੀਫ਼ਰ ਐਲਗੋਰਿਥਮ ਵਰਤਦਾ ਹੈ ਜਾਂ ਕਮਜ਼ੋਰ ਕ੍ਰਿਪਟੋਗਰਾਫਿਕਲ ਵਰਤਦਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1344
msgid "" msgid ""
"The length of the server certificate, or the depth of the server certificate " "The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library" "chain, exceed the limits imposed by the cryptography library"
@ -876,22 +876,22 @@ msgstr ""
"ਲਾਇਬਰੇਰੀ ਵਲੋਂ ਰੱਖੀ " "ਲਾਇਬਰੇਰੀ ਵਲੋਂ ਰੱਖੀ "
"ਗਈ ਲਿਮਟ ਤੋਂ ਵੱਧ ਗਈ ਹੈ।" "ਗਈ ਲਿਮਟ ਤੋਂ ਵੱਧ ਗਈ ਹੈ।"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1346
msgid "Internal error" msgid "Internal error"
msgstr "ਅੰਦਰੂਨੀ ਗਲਤੀ" msgstr "ਅੰਦਰੂਨੀ ਗਲਤੀ"
#. translators: argument is the account name, like #. translators: argument is the account name, like
#. * name@jabber.org for example. */ #. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1356
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "%s ਨਾਲ ਕੁਨੈਕਟ ਹੋਣ ਲਈ ਅਸਮਰੱਥ" msgstr "%s ਨਾਲ ਕੁਨੈਕਟ ਹੋਣ ਲਈ ਅਸਮਰੱਥ"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1361
msgid "View account" msgid "View account"
msgstr "ਅਕਾਊਂਟ ਵੇਖੋ" msgstr "ਅਕਾਊਂਟ ਵੇਖੋ"
#: ../js/ui/components/telepathyClient.js:1401 #: ../js/ui/components/telepathyClient.js:1400
msgid "Unknown reason" msgid "Unknown reason"
msgstr "ਅਣਜਾਣ ਕਾਰਨ" msgstr "ਅਣਜਾਣ ਕਾਰਨ"
@ -1065,9 +1065,12 @@ msgstr "ਗਲਤੀਆਂ ਵੇਖਾਓ"
msgid "Enabled" msgid "Enabled"
msgstr "ਚਾਲੂ ਹੈ" msgstr "ਚਾਲੂ ਹੈ"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:472
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "ਬੰਦ ਹੈ" msgstr "ਬੰਦ ਹੈ"
@ -1091,44 +1094,48 @@ msgstr "ਸਰੋਤ ਵੇਖੋ"
msgid "Web Page" msgid "Web Page"
msgstr "ਵੈੱਬ ਪੇਜ਼" msgstr "ਵੈੱਬ ਪੇਜ਼"
#: ../js/ui/messageTray.js:1222 #: ../js/ui/messageTray.js:1350
msgid "Open" msgid "Open"
msgstr "ਖੋਲ੍ਹੋ" msgstr "ਖੋਲ੍ਹੋ"
#: ../js/ui/messageTray.js:1229 #: ../js/ui/messageTray.js:1357
msgid "Remove" msgid "Remove"
msgstr "ਹਟਾਓ" msgstr "ਹਟਾਓ"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1660
msgid "Notifications"
msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
#: ../js/ui/messageTray.js:1667
msgid "Clear Messages" msgid "Clear Messages"
msgstr "ਸੁਨੇਹੇ ਸਾਫ਼ ਕਰੋ" msgstr "ਸੁਨੇਹੇ ਸਾਫ਼ ਕਰੋ"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1686
msgid "Notification Settings" msgid "Notification Settings"
msgstr "ਸੂਚਨਾ ਸੈਟਿੰਗ" msgstr "ਸੂਚਨਾ ਸੈਟਿੰਗ"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1739
msgid "Tray Menu" msgid "Tray Menu"
msgstr "ਟਰੇ ਮੇਨੂ" msgstr "ਟਰੇ ਮੇਨੂ"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1955
msgid "No Messages" msgid "No Messages"
msgstr "ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ" msgstr "ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1993
msgid "Message Tray" msgid "Message Tray"
msgstr "ਸੁਨੇਹਾ ਟਰੇ" msgstr "ਸੁਨੇਹਾ ਟਰੇ"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2977
msgid "System Information" msgid "System Information"
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ" msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396 #: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:398
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "ਅਣਜਾਣ" msgstr "ਅਣਜਾਣ"
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:153
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1151,21 +1158,21 @@ msgstr "ਸੰਖੇਪ"
msgid "Type to search…" msgid "Type to search…"
msgstr "…ਲੱਭਣ ਲਈ ਲਿਖੋ" msgstr "…ਲੱਭਣ ਲਈ ਲਿਖੋ"
#: ../js/ui/panel.js:518 #: ../js/ui/panel.js:516
msgid "Quit" msgid "Quit"
msgstr "ਬਾਹਰ" msgstr "ਬਾਹਰ"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:570 #: ../js/ui/panel.js:568
msgid "Activities" msgid "Activities"
msgstr "ਸਰਗਰਮੀਆਂ" msgstr "ਸਰਗਰਮੀਆਂ"
#: ../js/ui/panel.js:904 #: ../js/ui/panel.js:900
msgid "Top Bar" msgid "Top Bar"
msgstr "ਉੱਤਲੀ ਪੱਟੀ" msgstr "ਉੱਤਲੀ ਪੱਟੀ"
#: ../js/ui/popupMenu.js:233 #: ../js/ui/popupMenu.js:260
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-us" msgstr "toggle-switch-us"
@ -1179,30 +1186,30 @@ msgstr "ਬੰਦ ਕਰੋ"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format */
#: ../js/ui/screenShield.js:88 #: ../js/ui/screenShield.js:89
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d %B" msgstr "%A, %d %B"
#: ../js/ui/screenShield.js:154 #: ../js/ui/screenShield.js:155
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d ਨਵਾਂ ਸੂਚਨਾ" msgstr[0] "%d ਨਵਾਂ ਸੂਚਨਾ"
msgstr[1] "%d ਨਵੀਆਂ ਸੂਚਨਾਵਾਂ" msgstr[1] "%d ਨਵੀਆਂ ਸੂਚਨਾਵਾਂ"
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333 #: ../js/ui/screenShield.js:478 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "ਲਾਕ" msgstr "ਲਾਕ"
#: ../js/ui/screenShield.js:704 #: ../js/ui/screenShield.js:712
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "ਗਨੋਮ ਨੂੰ ਸਕਰੀਨ ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ" msgstr "ਗਨੋਮ ਨੂੰ ਸਕਰੀਨ ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297 #: ../js/ui/screenShield.js:839 ../js/ui/screenShield.js:1305
msgid "Unable to lock" msgid "Unable to lock"
msgstr "ਅਣਲਾਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ" msgstr "ਅਣਲਾਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298 #: ../js/ui/screenShield.js:840 ../js/ui/screenShield.js:1306
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "ਲਾਕ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਵਲੋਂ ਪਾਬੰਦੀ ਲਗਾਈ" msgstr "ਲਾਕ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਵਲੋਂ ਪਾਬੰਦੀ ਲਗਾਈ"
@ -1242,135 +1249,135 @@ msgstr "ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ"
msgid "Accessibility" msgid "Accessibility"
msgstr "ਅਸੈੱਸਬਿਲਟੀ" msgstr "ਅਸੈੱਸਬਿਲਟੀ"
#: ../js/ui/status/accessibility.js:58 #: ../js/ui/status/accessibility.js:56
msgid "Zoom" msgid "Zoom"
msgstr "ਜ਼ੂਮ" msgstr "ਜ਼ੂਮ"
#: ../js/ui/status/accessibility.js:65 #: ../js/ui/status/accessibility.js:63
msgid "Screen Reader" msgid "Screen Reader"
msgstr "ਸਕਰੀਨ ਰੀਡਰ" msgstr "ਸਕਰੀਨ ਰੀਡਰ"
#: ../js/ui/status/accessibility.js:69 #: ../js/ui/status/accessibility.js:67
msgid "Screen Keyboard" msgid "Screen Keyboard"
msgstr "ਸਕਰੀਨ ਕੀਬੋਰਡ" msgstr "ਸਕਰੀਨ ਕੀਬੋਰਡ"
#: ../js/ui/status/accessibility.js:73 #: ../js/ui/status/accessibility.js:71
msgid "Visual Alerts" msgid "Visual Alerts"
msgstr "ਦਿੱਖ ਚੇਤਾਵਨੀ" msgstr "ਦਿੱਖ ਚੇਤਾਵਨੀ"
#: ../js/ui/status/accessibility.js:76 #: ../js/ui/status/accessibility.js:74
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "ਸਟਿੱਕੀ ਸਵਿੱਚਾਂ" msgstr "ਸਟਿੱਕੀ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:79 #: ../js/ui/status/accessibility.js:77
msgid "Slow Keys" msgid "Slow Keys"
msgstr "ਹੌਲੀ ਸਵਿੱਚਾਂ" msgstr "ਹੌਲੀ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:82 #: ../js/ui/status/accessibility.js:80
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "ਬਾਊਂਸ ਸਵਿੱਚਾਂ" msgstr "ਬਾਊਂਸ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:85 #: ../js/ui/status/accessibility.js:83
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "ਮਾਊਸ ਸਵਿੱਚਾਂ" msgstr "ਮਾਊਸ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:142
msgid "High Contrast" msgid "High Contrast"
msgstr "ਵੱਧ ਕਨਟਰਾਸਟ" msgstr "ਵੱਧ ਕਨਟਰਾਸਟ"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:191
msgid "Large Text" msgid "Large Text"
msgstr "ਵੱਡੇ ਅੱਖਰ" msgstr "ਵੱਡੇ ਅੱਖਰ"
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63 #: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128 #: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195 #: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth" msgid "Bluetooth"
msgstr "ਬਲਿਊਟੁੱਥ" msgstr "ਬਲਿਊਟੁੱਥ"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:29 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1099 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "ਬੰਦ ਕਰੋ" msgstr "ਬੰਦ ਕਰੋ"
#: ../js/ui/status/bluetooth.js:33 #: ../js/ui/status/bluetooth.js:32
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ" msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ"
#: ../js/ui/status/bluetooth.js:58 #: ../js/ui/status/bluetooth.js:57
#, javascript-format #, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
msgstr[0] "%d ਕੁਨੈਕਟ ਹੋਇਆ ਜੰਤਰ" msgstr[0] "%d ਕੁਨੈਕਟ ਹੋਇਆ ਜੰਤਰ"
msgstr[1] "%d ਕੁਨੈਕਟ ਹੋਏ ਜੰਤਰ" msgstr[1] "%d ਕੁਨੈਕਟ ਹੋਏ ਜੰਤਰ"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129 #: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, javascript-format #, javascript-format
msgid "Authorization request from %s" msgid "Authorization request from %s"
msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ" msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:203 #: ../js/ui/status/bluetooth.js:202
#, javascript-format #, javascript-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ" msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ"
#: ../js/ui/status/bluetooth.js:109 #: ../js/ui/status/bluetooth.js:108
msgid "Allow" msgid "Allow"
msgstr "ਮਨਜ਼ੂਰ" msgstr "ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:110 #: ../js/ui/status/bluetooth.js:109
msgid "Deny" msgid "Deny"
msgstr "ਇਨਕਾਰ" msgstr "ਇਨਕਾਰ"
#: ../js/ui/status/bluetooth.js:135 #: ../js/ui/status/bluetooth.js:134
#, javascript-format #, javascript-format
msgid "Device %s wants access to the service '%s'" msgid "Device %s wants access to the service '%s'"
msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।" msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।"
#: ../js/ui/status/bluetooth.js:137 #: ../js/ui/status/bluetooth.js:136
msgid "Always grant access" msgid "Always grant access"
msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ" msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:138 #: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only" msgid "Grant this time only"
msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ" msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:139 #: ../js/ui/status/bluetooth.js:138
msgid "Reject" msgid "Reject"
msgstr "ਨਾ-ਮਨਜ਼ੂਰ" msgstr "ਨਾ-ਮਨਜ਼ੂਰ"
#. Translators: argument is the device short name */ #. Translators: argument is the device short name */
#: ../js/ui/status/bluetooth.js:166 #: ../js/ui/status/bluetooth.js:165
#, javascript-format #, javascript-format
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ" msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ"
#: ../js/ui/status/bluetooth.js:173 #: ../js/ui/status/bluetooth.js:172
#, javascript-format #, javascript-format
msgid "" msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device." "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਾਸ-ਕੀ '%06d' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।" msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਾਸ-ਕੀ '%06d' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।"
#. Translators: this is the verb, not the noun */ #. Translators: this is the verb, not the noun */
#: ../js/ui/status/bluetooth.js:176 #: ../js/ui/status/bluetooth.js:175
msgid "Matches" msgid "Matches"
msgstr "ਮਿਲਦਾ ਹੈ" msgstr "ਮਿਲਦਾ ਹੈ"
#: ../js/ui/status/bluetooth.js:177 #: ../js/ui/status/bluetooth.js:176
msgid "Does not match" msgid "Does not match"
msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ" msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ"
#: ../js/ui/status/bluetooth.js:196 #: ../js/ui/status/bluetooth.js:195
#, javascript-format #, javascript-format
msgid "Pairing request for %s" msgid "Pairing request for %s"
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ" msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ"
#: ../js/ui/status/bluetooth.js:204 #: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device." msgid "Please enter the PIN mentioned on the device."
msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।" msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।"
#: ../js/ui/status/bluetooth.js:221 #: ../js/ui/status/bluetooth.js:220
msgid "OK" msgid "OK"
msgstr "ਠੀਕ ਹੈ" msgstr "ਠੀਕ ਹੈ"
@ -1378,87 +1385,99 @@ msgstr "ਠੀਕ ਹੈ"
msgid "Brightness" msgid "Brightness"
msgstr "ਚਮਕ" msgstr "ਚਮਕ"
#: ../js/ui/status/network.js:72 #: ../js/ui/status/network.js:71
msgid "<unknown>" msgid "<unknown>"
msgstr "<ਅਣਜਾਣ>" msgstr "<ਅਣਜਾਣ>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1120
msgid "Off" msgid "Off"
msgstr "ਬੰਦ" msgstr "ਬੰਦ"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:385
msgid "unmanaged" msgid "unmanaged"
msgstr "ਬਿਨ-ਪਰਬੰਧ" msgstr "ਬਿਨ-ਪਰਬੰਧ"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:387
msgid "disconnecting..." msgid "disconnecting..."
msgstr "ਡਿਸ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." msgstr "ਡਿਸ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1174
msgid "connecting..." msgid "connecting..."
msgstr "ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." msgstr "ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1177
msgid "authentication required" msgid "authentication required"
msgstr "ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ" msgstr "ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:404
msgid "firmware missing" msgid "firmware missing"
msgstr "ਫਿਰਮਵੇਅਰ ਮੌਜੂਦ ਨਹੀਂ ਹੈ" msgstr "ਫਿਰਮਵੇਅਰ ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:408
msgid "unavailable" msgid "unavailable"
msgstr "ਨਾ-ਉਪਲੱਬਧ" msgstr "ਨਾ-ਉਪਲੱਬਧ"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1179
msgid "connection failed" msgid "connection failed"
msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ" msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
msgid "Mobile Broadband Settings"
msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ ਸੈਟਿੰਗ"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
msgid "Hardware Disabled"
msgstr "ਹਾਰਡਵੇਅਰ ਬੰਦ ਹੈ"
#: ../js/ui/status/network.js:707
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ" msgstr "ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:709
msgid "Select a network" msgid "Select a network"
msgstr "ਨੈੱਟਵਰਕ ਚੁਣੋ" msgstr "ਨੈੱਟਵਰਕ ਚੁਣੋ"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:733
msgid "No Networks" msgid "No Networks"
msgstr "ਕੋਈ ਨੈੱਟਵਰਕ ਨਹੀਂ" msgstr "ਕੋਈ ਨੈੱਟਵਰਕ ਨਹੀਂ"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:1005
msgid "Select Network" msgid "Select Network"
msgstr "ਨੈੱਟਵਰਕ ਚੁਣੋ" msgstr "ਨੈੱਟਵਰਕ ਚੁਣੋ"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:1011
msgid "Wi-Fi Settings"
msgstr "ਵਾਈ-ਫਾਈ ਸੈਟਿੰਗ"
#: ../js/ui/status/network.js:1099
msgid "Turn On" msgid "Turn On"
msgstr "ਚਾਲੂ ਕਰੋ" msgstr "ਚਾਲੂ ਕਰੋ"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1122
msgid "Not Connected"
msgstr "ਕੁਨੈਕਟਡ ਨਹੀਂ"
#: ../js/ui/status/network.js:1242
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1382
msgid "Network Manager" msgid "Network Manager"
msgstr "ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ" msgstr "ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1421
msgid "Connection failed" msgid "Connection failed"
msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ" msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1422
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ ਦੀ ਐਕਟੀਵੇਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ" msgstr "ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ ਦੀ ਐਕਟੀਵੇਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ"
@ -1480,13 +1499,11 @@ msgstr "…ਅੰਦਾਜ਼ਾ ਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d ਬਾਕੀ (%d%%)" msgstr "%d%02d ਬਾਕੀ (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#, javascript-format #, javascript-format
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d ਪੂਰੀ ਹੋਣ ਲਈ (%d%%)" msgstr "%d%02d ਪੂਰੀ ਹੋਣ ਲਈ (%d%%)"
@ -1498,23 +1515,27 @@ msgstr "ਏਅਰਪਲੇਨ ਮੋਡ"
msgid "On" msgid "On"
msgstr "ਚਾਲੂ" msgstr "ਚਾਲੂ"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ"
#: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "ਯੂਜ਼ਰ ਬਦਲੋ" msgstr "ਯੂਜ਼ਰ ਬਦਲੋ"
#: ../js/ui/status/system.js:310 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "ਲਾਗ ਆਉਟ" msgstr "ਲਾਗ ਆਉਟ"
#: ../js/ui/status/system.js:329 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "ਸਥਿਤੀ ਲਾਕ" msgstr "ਸਥਿਤੀ ਲਾਕ"
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "ਸਸਪੈਂਡ" msgstr "ਸਸਪੈਂਡ"
#: ../js/ui/status/system.js:340 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "ਬੰਦ ਕਰੋ" msgstr "ਬੰਦ ਕਰੋ"
@ -1629,7 +1650,7 @@ msgstr "ਲਾਗਇਨ ਸਕਰੀਨ ਉੱਤੇ ਖਾਸ ਮੋਡ ਜਿ
msgid "List possible modes" msgid "List possible modes"
msgstr "ਸੰਭਵ ਮੋਡ ਵੇਖਾਓ" msgstr "ਸੰਭਵ ਮੋਡ ਵੇਖਾਓ"
#: ../src/shell-app.c:644 #: ../src/shell-app.c:646
#, c-format #, c-format
msgid "Failed to launch '%s'" msgid "Failed to launch '%s'"
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ" msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ"
@ -1803,9 +1824,6 @@ msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋ
#~ msgid "Set Up a New Device…" #~ msgid "Set Up a New Device…"
#~ msgstr "…ਨਵਾਂ ਜੰਤਰ ਸੈਟਅੱਪ ਕਰੋ" #~ msgstr "…ਨਵਾਂ ਜੰਤਰ ਸੈਟਅੱਪ ਕਰੋ"
#~ msgid "hardware disabled"
#~ msgstr "ਹਾਰਡਵੇਅਰ ਬੰਦ ਹੈ"
#~ msgid "Connection" #~ msgid "Connection"
#~ msgstr "ਕੁਨੈਕਸ਼ਨ" #~ msgstr "ਕੁਨੈਕਸ਼ਨ"
@ -1843,9 +1861,6 @@ msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋ
#~ msgid "Auto Ethernet" #~ msgid "Auto Ethernet"
#~ msgstr "ਆਟੋ ਈਥਰਨੈੱਟ" #~ msgstr "ਆਟੋ ਈਥਰਨੈੱਟ"
#~ msgid "Mobile broadband"
#~ msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ"
#~ msgid "Auto broadband" #~ msgid "Auto broadband"
#~ msgstr "ਆਟੋ ਬਰਾਡਬੈਂਡ" #~ msgstr "ਆਟੋ ਬਰਾਡਬੈਂਡ"
@ -1943,9 +1958,6 @@ msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋ
#~ msgid "Idle" #~ msgid "Idle"
#~ msgstr "ਵੇਹਲਾ" #~ msgstr "ਵੇਹਲਾ"
#~ msgid "Notifications"
#~ msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
#~ msgid "Your chat status will be set to busy" #~ msgid "Your chat status will be set to busy"
#~ msgstr "ਤੁਹਾਡੀ ਚੈਟ ਹਾਲਤ ਰੁੱਝੇ ਵਜੋਂ ਸੈੱਟ ਕੀਤੀ ਜਾਵੇਗੀ" #~ msgstr "ਤੁਹਾਡੀ ਚੈਟ ਹਾਲਤ ਰੁੱਝੇ ਵਜੋਂ ਸੈੱਟ ਕੀਤੀ ਜਾਵੇਗੀ"

113
po/pl.po
View File

@ -12,8 +12,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-23 20:34+0200\n" "POT-Creation-Date: 2013-10-10 23:41+0200\n"
"PO-Revision-Date: 2013-09-23 20:37+0200\n" "PO-Revision-Date: 2013-10-10 23:42+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n" "Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n" "Language: pl\n"
@ -289,7 +289,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
@ -337,15 +337,15 @@ msgstr "Błąd uwierzytelniania"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(lub przeciągnięcie palca)" msgstr "(lub przeciągnięcie palca)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Nie odnaleziono polecenia" msgstr "Nie odnaleziono polecenia"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Nie można przetworzyć polecenia:" msgstr "Nie można przetworzyć polecenia:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Wykonanie polecenia \"%s\" się nie powiodło:" msgstr "Wykonanie polecenia \"%s\" się nie powiodło:"
@ -384,7 +384,7 @@ msgstr "Program %s został dodany do ulubionych."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "Program %s został usunięty z ulubionych." msgstr "Program %s został usunięty z ulubionych."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:325
msgid "Settings" msgid "Settings"
msgstr "Ustawienia" msgstr "Ustawienia"
@ -575,16 +575,16 @@ msgstr "Otwórz za pomocą %s"
msgid "Eject" msgid "Eject"
msgstr "Wysuń" msgstr "Wysuń"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Hasło:" msgstr "Hasło:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Proszę wpisać ponownie:" msgstr "Proszę wpisać ponownie:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Połącz" msgstr "Połącz"
@ -1087,9 +1087,12 @@ msgstr "Wyświetl błędy"
msgid "Enabled" msgid "Enabled"
msgstr "Włączone" msgstr "Włączone"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Wyłączone" msgstr "Wyłączone"
@ -1121,27 +1124,31 @@ msgstr "Otwórz"
msgid "Remove" msgid "Remove"
msgstr "Usuń" msgstr "Usuń"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1530
msgid "Notifications"
msgstr "Powiadomienia"
#: ../js/ui/messageTray.js:1537
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Wyczyść wiadomości" msgstr "Wyczyść wiadomości"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1564
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Ustawienia powiadomień" msgstr "Ustawienia powiadomień"
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1617
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Menu obszaru powiadamiania" msgstr "Menu obszaru powiadamiania"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1833
msgid "No Messages" msgid "No Messages"
msgstr "Brak wiadomości" msgstr "Brak wiadomości"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1871
msgid "Message Tray" msgid "Message Tray"
msgstr "Obszar powiadamiania" msgstr "Obszar powiadamiania"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2846
msgid "System Information" msgid "System Information"
msgstr "Informacje systemowe" msgstr "Informacje systemowe"
@ -1184,7 +1191,7 @@ msgstr "Zakończ"
msgid "Activities" msgid "Activities"
msgstr "Podgląd" msgstr "Podgląd"
#: ../js/ui/panel.js:903 #: ../js/ui/panel.js:904
msgid "Top Bar" msgid "Top Bar"
msgstr "Górny pasek" msgstr "Górny pasek"
@ -1230,11 +1237,11 @@ msgstr "Nie można zablokować"
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Blokowanie zostało zablokowane przez program" msgstr "Blokowanie zostało zablokowane przez program"
#: ../js/ui/searchDisplay.js:447 #: ../js/ui/searchDisplay.js:448
msgid "Searching…" msgid "Searching…"
msgstr "Wyszukiwanie…" msgstr "Wyszukiwanie…"
#: ../js/ui/searchDisplay.js:491 #: ../js/ui/searchDisplay.js:492
msgid "No results." msgid "No results."
msgstr "Brak wyników." msgstr "Brak wyników."
@ -1312,8 +1319,8 @@ msgstr "Duży tekst"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Wyłącz" msgstr "Wyłącz"
@ -1407,83 +1414,95 @@ msgstr "Jasność"
msgid "<unknown>" msgid "<unknown>"
msgstr "<nieznane>" msgstr "<nieznane>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Wyłączone" msgstr "Wyłączone"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Ustawienia sieci"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "niezarządzane" msgstr "niezarządzane"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "rozłączanie…" msgstr "rozłączanie…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "łączenie…" msgstr "łączenie…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "wymagane jest uwierzytelnienie" msgstr "wymagane jest uwierzytelnienie"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "brak oprogramowania sprzętowego" msgstr "brak oprogramowania sprzętowego"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "niedostępne" msgstr "niedostępne"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "połączenie się nie powiodło" msgstr "połączenie się nie powiodło"
#: ../js/ui/status/network.js:654 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
msgid "Mobile Broadband Settings"
msgstr "Ustawienia sieci komórkowej"
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
msgid "Hardware Disabled"
msgstr "Sprzęt jest wyłączony"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Sieci Wi-Fi" msgstr "Sieci Wi-Fi"
#: ../js/ui/status/network.js:656 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Wybór sieci" msgstr "Wybór sieci"
#: ../js/ui/status/network.js:680 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "Brak sieci" msgstr "Brak sieci"
#: ../js/ui/status/network.js:949 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Wybierz sieć" msgstr "Wybierz sieć"
#: ../js/ui/status/network.js:1034 #: ../js/ui/status/network.js:997
msgid "Wi-Fi Settings"
msgstr "Ustawienia sieci Wi-Fi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Włącz" msgstr "Włącz"
#: ../js/ui/status/network.js:1167 #: ../js/ui/status/network.js:1108
msgid "Not Connected"
msgstr "Nie połączono"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1307 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Menedżer sieci" msgstr "Menedżer sieci"
#: ../js/ui/status/network.js:1346 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Połączenie się nie powiodło" msgstr "Połączenie się nie powiodło"
#: ../js/ui/status/network.js:1347 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktywacja połączenia sieciowego się nie powiodła" msgstr "Aktywacja połączenia sieciowego się nie powiodła"
@ -1521,6 +1540,10 @@ msgstr "Tryb samolotowy"
msgid "On" msgid "On"
msgstr "Włączone" msgstr "Włączone"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Ustawienia sieci"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Przełącz użytkownika" msgstr "Przełącz użytkownika"

519
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1162
po/ru.po

File diff suppressed because it is too large Load Diff

337
po/sk.po
View File

@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-29 10:26+0000\n" "POT-Creation-Date: 2013-12-07 09:13+0000\n"
"PO-Revision-Date: 2013-09-29 17:38+0100\n" "PO-Revision-Date: 2013-10-21 10:59+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n" "Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n" "Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n" "Language: sk\n"
@ -291,23 +291,23 @@ msgstr ""
msgid "Select an extension to configure using the combobox above." msgid "Select an extension to configure using the combobox above."
msgstr "Použitím ponuky vyberte rozšírenie na nastavenie" msgstr "Použitím ponuky vyberte rozšírenie na nastavenie"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:739
msgid "Cancel" msgid "Cancel"
msgstr "Zrušiť" msgstr "Zrušiť"
#: ../js/gdm/authPrompt.js:167 ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
msgid "Next" msgid "Next"
msgstr "Ďalej" msgstr "Ďalej"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Odomknúť" msgstr "Odomknúť"
#: ../js/gdm/authPrompt.js:213 #: ../js/gdm/authPrompt.js:214
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Prihlásiť sa" msgstr "Prihlásiť sa"
@ -336,23 +336,23 @@ msgstr "Používateľské meno: "
msgid "Login Window" msgid "Login Window"
msgstr "Prihlasovacie okno" msgstr "Prihlasovacie okno"
#: ../js/gdm/util.js:306 #: ../js/gdm/util.js:321
msgid "Authentication error" msgid "Authentication error"
msgstr "Chyba pri overovaní totožnosti" msgstr "Chyba pri overovaní totožnosti"
#: ../js/gdm/util.js:436 #: ../js/gdm/util.js:451
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(alebo prejdite prstom)" msgstr "(alebo prejdite prstom)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Príkaz nebol nájdený" msgstr "Príkaz nebol nájdený"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Nepodarilo sa analyzovať príkaz:" msgstr "Nepodarilo sa analyzovať príkaz:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Spustenie „%s“ zlyhalo:" msgstr "Spustenie „%s“ zlyhalo:"
@ -369,15 +369,15 @@ msgstr "Často používané"
msgid "All" msgid "All"
msgstr "Všetky" msgstr "Všetky"
#: ../js/ui/appDisplay.js:1514 #: ../js/ui/appDisplay.js:1525
msgid "New Window" msgid "New Window"
msgstr "Nové okno" msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284 #: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Odstrániť z obľúbených" msgstr "Odstrániť z obľúbených"
#: ../js/ui/appDisplay.js:1518 #: ../js/ui/appDisplay.js:1529
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Pridať do obľúbených" msgstr "Pridať do obľúbených"
@ -391,8 +391,8 @@ msgstr "Program %s bol pridaný medzi obľúbené."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "Program %s bol odstránený z obľúbených." msgstr "Program %s bol odstránený z obľúbených."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
#: ../js/ui/status/system.js:325 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Nastavenia" msgstr "Nastavenia"
@ -589,16 +589,16 @@ msgstr "Otvoriť pomocou programu %s"
msgid "Eject" msgid "Eject"
msgstr "Vysunúť" msgstr "Vysunúť"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Heslo:" msgstr "Heslo:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Zadajte znovu:" msgstr "Zadajte znovu:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:295 ../js/ui/status/network.js:742
msgid "Connect" msgid "Connect"
msgstr "Pripojiť" msgstr "Pripojiť"
@ -657,7 +657,7 @@ msgstr "Požaduje sa kód PIN"
#: ../js/ui/components/networkAgent.js:328 #: ../js/ui/components/networkAgent.js:328
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "Pre zariadenie mobilnej siete je potrebný kód PIN" msgstr "Pre zariadenie mobilnej širokopásmovej siete je potrebný kód PIN"
#: ../js/ui/components/networkAgent.js:329 #: ../js/ui/components/networkAgent.js:329
msgid "PIN: " msgid "PIN: "
@ -665,7 +665,7 @@ msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335 #: ../js/ui/components/networkAgent.js:335
msgid "Mobile broadband network password" msgid "Mobile broadband network password"
msgstr "Heslo k mobilnej sieti" msgstr "Heslo k mobilnej širokopásmovej sieti"
#: ../js/ui/components/networkAgent.js:336 #: ../js/ui/components/networkAgent.js:336
#, javascript-format #, javascript-format
@ -693,60 +693,60 @@ msgstr "Overiť totožnosť"
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova." msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
#: ../js/ui/components/telepathyClient.js:238 #: ../js/ui/components/telepathyClient.js:237
msgid "Invitation" msgid "Invitation"
msgstr "Pozvánka" msgstr "Pozvánka"
#: ../js/ui/components/telepathyClient.js:298 #: ../js/ui/components/telepathyClient.js:297
msgid "Call" msgid "Call"
msgstr "Hovor" msgstr "Hovor"
#: ../js/ui/components/telepathyClient.js:314 #: ../js/ui/components/telepathyClient.js:313
msgid "File Transfer" msgid "File Transfer"
msgstr "Prenos súborov" msgstr "Prenos súborov"
#: ../js/ui/components/telepathyClient.js:418 #: ../js/ui/components/telepathyClient.js:417
msgid "Chat" msgid "Chat"
msgstr "Rozhovor" msgstr "Rozhovor"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Unmute" msgid "Unmute"
msgstr "Obnoviť zvuk" msgstr "Obnoviť zvuk"
#: ../js/ui/components/telepathyClient.js:480 #: ../js/ui/components/telepathyClient.js:479
msgid "Mute" msgid "Mute"
msgstr "Stlmiť" msgstr "Stlmiť"
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/ #. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
#: ../js/ui/components/telepathyClient.js:942 #: ../js/ui/components/telepathyClient.js:941
msgid "<b>Yesterday</b>, <b>%H:%M</b>" msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgstr "<b>Včera</b> o <b>%H:%M</b>" msgstr "<b>Včera</b> o <b>%H:%M</b>"
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/ #. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
#: ../js/ui/components/telepathyClient.js:948 #: ../js/ui/components/telepathyClient.js:947
msgid "<b>%A</b>, <b>%H:%M</b>" msgid "<b>%A</b>, <b>%H:%M</b>"
msgstr "v <b>%A</b> o <b>%H:%M</b>" msgstr "v <b>%A</b> o <b>%H:%M</b>"
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/ #. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
#: ../js/ui/components/telepathyClient.js:953 #: ../js/ui/components/telepathyClient.js:952
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>" msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
msgstr "<b>%e.</b> <b>%B</b> o <b>%H:%M</b>" msgstr "<b>%e.</b> <b>%B</b> o <b>%H:%M</b>"
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/ #. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
#: ../js/ui/components/telepathyClient.js:957 #: ../js/ui/components/telepathyClient.js:956
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> " msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
msgstr "<b>%e.</b> <b>%B</b> <b>%Y</b> o <b>%H:%M</b>" msgstr "<b>%e.</b> <b>%B</b> <b>%Y</b> o <b>%H:%M</b>"
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:986 #: ../js/ui/components/telepathyClient.js:985
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "Kontakt %s odteraz vystupuje ako %s" msgstr "Kontakt %s odteraz vystupuje ako %s"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1089 #: ../js/ui/components/telepathyClient.js:1088
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Pozvánka do %s" msgstr "Pozvánka do %s"
@ -754,38 +754,38 @@ msgstr "Pozvánka do %s"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1097 #: ../js/ui/components/telepathyClient.js:1096
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "Kontakt %s vás pozýva aby ste sa pridali do %s" msgstr "Kontakt %s vás pozýva aby ste sa pridali do %s"
#: ../js/ui/components/telepathyClient.js:1099 #: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1140 #: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1180 #: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1243 #: ../js/ui/components/telepathyClient.js:1242
msgid "Decline" msgid "Decline"
msgstr "Odmietnuť" msgstr "Odmietnuť"
#: ../js/ui/components/telepathyClient.js:1100 #: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1181 #: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1244 #: ../js/ui/components/telepathyClient.js:1243
msgid "Accept" msgid "Accept"
msgstr "Prijať" msgstr "Prijať"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1130 #: ../js/ui/components/telepathyClient.js:1129
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Videohovor od kontaktu %s" msgstr "Videohovor od kontaktu %s"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1133 #: ../js/ui/components/telepathyClient.js:1132
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Hovor od kontaktu %s" msgstr "Hovor od kontaktu %s"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1142 #: ../js/ui/components/telepathyClient.js:1141
msgid "Answer" msgid "Answer"
msgstr "Prijať hovor" msgstr "Prijať hovor"
@ -794,110 +794,110 @@ msgstr "Prijať hovor"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1174 #: ../js/ui/components/telepathyClient.js:1173
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "Kontakt %s vám posiela %s" msgstr "Kontakt %s vám posiela %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1209 #: ../js/ui/components/telepathyClient.js:1208
#, javascript-format #, javascript-format
msgid "%s would like permission to see when you are online" msgid "%s would like permission to see when you are online"
msgstr "Kontakt %s by chcel získať oprávnenie vidieť, kedy ste pripojený" msgstr "Kontakt %s by chcel získať oprávnenie vidieť, kedy ste pripojený"
#: ../js/ui/components/telepathyClient.js:1301 #: ../js/ui/components/telepathyClient.js:1300
msgid "Network error" msgid "Network error"
msgstr "Chyba siete" msgstr "Chyba siete"
#: ../js/ui/components/telepathyClient.js:1303 #: ../js/ui/components/telepathyClient.js:1302
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Overenie totožnosti zlyhalo" msgstr "Overenie totožnosti zlyhalo"
#: ../js/ui/components/telepathyClient.js:1305 #: ../js/ui/components/telepathyClient.js:1304
msgid "Encryption error" msgid "Encryption error"
msgstr "Chyba šifrovania" msgstr "Chyba šifrovania"
#: ../js/ui/components/telepathyClient.js:1307 #: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Neposkytnutý certifikát" msgstr "Neposkytnutý certifikát"
#: ../js/ui/components/telepathyClient.js:1309 #: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Nedôveryhodný certifikát" msgstr "Nedôveryhodný certifikát"
#: ../js/ui/components/telepathyClient.js:1311 #: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Certifikát s ukončenou platnosťou" msgstr "Certifikát s ukončenou platnosťou"
#: ../js/ui/components/telepathyClient.js:1313 #: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Neaktivovaný certifikát" msgstr "Neaktivovaný certifikát"
#: ../js/ui/components/telepathyClient.js:1315 #: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Certifikát s nesúhlasným názvom hostiteľa" msgstr "Certifikát s nesúhlasným názvom hostiteľa"
#: ../js/ui/components/telepathyClient.js:1317 #: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Certifikát s nesúhlasným odtlačkom" msgstr "Certifikát s nesúhlasným odtlačkom"
#: ../js/ui/components/telepathyClient.js:1319 #: ../js/ui/components/telepathyClient.js:1318
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Sebou podpísaný certifikát" msgstr "Sebou podpísaný certifikát"
#: ../js/ui/components/telepathyClient.js:1321 #: ../js/ui/components/telepathyClient.js:1320
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Stav je nastavený na odhlásený" msgstr "Stav je nastavený na odhlásený"
#: ../js/ui/components/telepathyClient.js:1323 #: ../js/ui/components/telepathyClient.js:1322
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Šifrovanie nie je dostupné" msgstr "Šifrovanie nie je dostupné"
#: ../js/ui/components/telepathyClient.js:1325 #: ../js/ui/components/telepathyClient.js:1324
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Certifikát je neplatný" msgstr "Certifikát je neplatný"
#: ../js/ui/components/telepathyClient.js:1327 #: ../js/ui/components/telepathyClient.js:1326
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Pripojenie bolo odmietnuté" msgstr "Pripojenie bolo odmietnuté"
#: ../js/ui/components/telepathyClient.js:1329 #: ../js/ui/components/telepathyClient.js:1328
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Nedá sa nadviazať spojenie" msgstr "Nedá sa nadviazať spojenie"
#: ../js/ui/components/telepathyClient.js:1331 #: ../js/ui/components/telepathyClient.js:1330
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Spojenie sa stratilo" msgstr "Spojenie sa stratilo"
#: ../js/ui/components/telepathyClient.js:1333 #: ../js/ui/components/telepathyClient.js:1332
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "Tento účet je už pripojený k serveru" msgstr "Tento účet je už pripojený k serveru"
#: ../js/ui/components/telepathyClient.js:1335 #: ../js/ui/components/telepathyClient.js:1334
msgid "" msgid ""
"Connection has been replaced by a new connection using the same resource" "Connection has been replaced by a new connection using the same resource"
msgstr "Pripojenie bolo nahradené novým, ktoré používa rovnaký zdroj" msgstr "Pripojenie bolo nahradené novým, ktoré používa rovnaký zdroj"
#: ../js/ui/components/telepathyClient.js:1337 #: ../js/ui/components/telepathyClient.js:1336
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Účet na serveri už existuje" msgstr "Účet na serveri už existuje"
#: ../js/ui/components/telepathyClient.js:1339 #: ../js/ui/components/telepathyClient.js:1338
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "Server je momentálne príliš zaneprázdnený na zvládnutie pripojenia" msgstr "Server je momentálne príliš zaneprázdnený na zvládnutie pripojenia"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Certifikát bol zrušený" msgstr "Certifikát bol zrušený"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1342
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je " "Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je "
"kryptograficky slabý" "kryptograficky slabý"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1344
msgid "" msgid ""
"The length of the server certificate, or the depth of the server certificate " "The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library" "chain, exceed the limits imposed by the cryptography library"
@ -905,22 +905,22 @@ msgstr ""
"Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera presahuje " "Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera presahuje "
"limit stanovený kryptografickou knižnicou." "limit stanovený kryptografickou knižnicou."
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1346
msgid "Internal error" msgid "Internal error"
msgstr "Vnútorná chyba" msgstr "Vnútorná chyba"
#. translators: argument is the account name, like #. translators: argument is the account name, like
#. * name@jabber.org for example. */ #. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1356
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Nepodarilo sa pripojiť účet %s" msgstr "Nepodarilo sa pripojiť účet %s"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1361
msgid "View account" msgid "View account"
msgstr "Zobraziť účet" msgstr "Zobraziť účet"
#: ../js/ui/components/telepathyClient.js:1401 #: ../js/ui/components/telepathyClient.js:1400
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Neznámy dôvod" msgstr "Neznámy dôvod"
@ -1101,9 +1101,12 @@ msgstr "Zobraziť chyby"
msgid "Enabled" msgid "Enabled"
msgstr "Povolené" msgstr "Povolené"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:472
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Zakázané" msgstr "Zakázané"
@ -1128,47 +1131,51 @@ msgstr "Zobraziť zdroj"
msgid "Web Page" msgid "Web Page"
msgstr "Webová stránka" msgstr "Webová stránka"
#: ../js/ui/messageTray.js:1222 #: ../js/ui/messageTray.js:1347
msgid "Open" msgid "Open"
msgstr "Otvoriť" msgstr "Otvoriť"
#: ../js/ui/messageTray.js:1229 #: ../js/ui/messageTray.js:1354
msgid "Remove" msgid "Remove"
msgstr "Odstrániť" msgstr "Odstrániť"
#: ../js/ui/messageTray.js:1513 #: ../js/ui/messageTray.js:1657
msgid "Notifications"
msgstr "Oznámenia"
#: ../js/ui/messageTray.js:1664
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Vymazať správy" msgstr "Vymazať správy"
#: ../js/ui/messageTray.js:1540 #: ../js/ui/messageTray.js:1683
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Nastavenia oznámení" msgstr "Nastavenia oznámení"
# MČ" zd sa mi to čudné. tuším som videl preklady „oznamovacia oblasť“, čo mi viac sedí. Toto je trošku akoby zavádzajúce, ale možno to s okolím ozrejmuje výsledok. Možno by som tam ponechal len „ponuka“ ak akolie jednoznačne naznačuje, že ide o „lištu správ“ # MČ" zd sa mi to čudné. tuším som videl preklady „oznamovacia oblasť“, čo mi viac sedí. Toto je trošku akoby zavádzajúce, ale možno to s okolím ozrejmuje výsledok. Možno by som tam ponechal len „ponuka“ ak akolie jednoznačne naznačuje, že ide o „lištu správ“
#: ../js/ui/messageTray.js:1559 #: ../js/ui/messageTray.js:1736
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Ponuka v lište" msgstr "Ponuka v lište"
#: ../js/ui/messageTray.js:1775 #: ../js/ui/messageTray.js:1952
msgid "No Messages" msgid "No Messages"
msgstr "Žiadne správy" msgstr "Žiadne správy"
# DK: zvazoval som pouzit "Panel správ" # DK: zvazoval som pouzit "Panel správ"
# neviem co bude vhodnejsie ako preklad "tray" # neviem co bude vhodnejsie ako preklad "tray"
#: ../js/ui/messageTray.js:1813 #: ../js/ui/messageTray.js:1990
msgid "Message Tray" msgid "Message Tray"
msgstr "Lišta správ" msgstr "Lišta správ"
#: ../js/ui/messageTray.js:2788 #: ../js/ui/messageTray.js:2974
msgid "System Information" msgid "System Information"
msgstr "Informácie o systéme" msgstr "Informácie o systéme"
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396 #: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Neznámy" msgstr "Neznámy"
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:153
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1193,21 +1200,21 @@ msgstr "Prehľad"
msgid "Type to search…" msgid "Type to search…"
msgstr "Zadajte text na vyhľadanie…" msgstr "Zadajte text na vyhľadanie…"
#: ../js/ui/panel.js:518 #: ../js/ui/panel.js:516
msgid "Quit" msgid "Quit"
msgstr "Ukončiť" msgstr "Ukončiť"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:570 #: ../js/ui/panel.js:568
msgid "Activities" msgid "Activities"
msgstr "Aktivity" msgstr "Aktivity"
#: ../js/ui/panel.js:904 #: ../js/ui/panel.js:900
msgid "Top Bar" msgid "Top Bar"
msgstr "Horná lišta" msgstr "Horná lišta"
#: ../js/ui/popupMenu.js:233 #: ../js/ui/popupMenu.js:260
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1224,11 +1231,11 @@ msgstr "Zavrieť"
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK # v ostatnych retazcoch je pouzite %e, tak to bude asi OK
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format */
#: ../js/ui/screenShield.js:88 #: ../js/ui/screenShield.js:89
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e. %B" msgstr "%A, %e. %B"
#: ../js/ui/screenShield.js:154 #: ../js/ui/screenShield.js:155
#, javascript-format #, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
@ -1236,19 +1243,19 @@ msgstr[0] "%d nových oznámení"
msgstr[1] "%d nové oznámenie" msgstr[1] "%d nové oznámenie"
msgstr[2] "%d nové oznámenia" msgstr[2] "%d nové oznámenia"
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333 #: ../js/ui/screenShield.js:478 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Uzamknúť" msgstr "Uzamknúť"
#: ../js/ui/screenShield.js:704 #: ../js/ui/screenShield.js:712
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky" msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297 #: ../js/ui/screenShield.js:839 ../js/ui/screenShield.js:1305
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nepodarilo sa uzamknúť obrazovku" msgstr "Nepodarilo sa uzamknúť obrazovku"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298 #: ../js/ui/screenShield.js:840 ../js/ui/screenShield.js:1306
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Uzamknutie bolo zablokované aplikáciou" msgstr "Uzamknutie bolo zablokované aplikáciou"
@ -1288,65 +1295,65 @@ msgstr "Zapamätať heslo"
msgid "Accessibility" msgid "Accessibility"
msgstr "Zjednodušenie ovládania" msgstr "Zjednodušenie ovládania"
#: ../js/ui/status/accessibility.js:58 #: ../js/ui/status/accessibility.js:56
msgid "Zoom" msgid "Zoom"
msgstr "Lupa" msgstr "Lupa"
#: ../js/ui/status/accessibility.js:65 #: ../js/ui/status/accessibility.js:63
msgid "Screen Reader" msgid "Screen Reader"
msgstr "Čítačka obrazovky" msgstr "Čítačka obrazovky"
#: ../js/ui/status/accessibility.js:69 #: ../js/ui/status/accessibility.js:67
msgid "Screen Keyboard" msgid "Screen Keyboard"
msgstr "Klávesnica na obrazovke" msgstr "Klávesnica na obrazovke"
#: ../js/ui/status/accessibility.js:73 #: ../js/ui/status/accessibility.js:71
msgid "Visual Alerts" msgid "Visual Alerts"
msgstr "Vizuálne varovania" msgstr "Vizuálne varovania"
# z gnome control center # z gnome control center
#: ../js/ui/status/accessibility.js:76 #: ../js/ui/status/accessibility.js:74
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "Lepkavé klávesy" msgstr "Lepkavé klávesy"
# z gnome control center # z gnome control center
#: ../js/ui/status/accessibility.js:79 #: ../js/ui/status/accessibility.js:77
msgid "Slow Keys" msgid "Slow Keys"
msgstr "Pomalé klávesy" msgstr "Pomalé klávesy"
# z gnome control center # z gnome control center
#: ../js/ui/status/accessibility.js:82 #: ../js/ui/status/accessibility.js:80
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "Poskakujúce klávesy" msgstr "Poskakujúce klávesy"
#: ../js/ui/status/accessibility.js:85 #: ../js/ui/status/accessibility.js:83
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Myš klávesmi" msgstr "Myš klávesmi"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:142
msgid "High Contrast" msgid "High Contrast"
msgstr "Vysoký kontrast" msgstr "Vysoký kontrast"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:191
msgid "Large Text" msgid "Large Text"
msgstr "Veľký text" msgstr "Veľký text"
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63 #: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128 #: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195 #: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:29 ../js/ui/status/network.js:132
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1099 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Vypnúť" msgstr "Vypnúť"
#: ../js/ui/status/bluetooth.js:33 #: ../js/ui/status/bluetooth.js:32
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Nastavenia Bluetooth" msgstr "Nastavenia Bluetooth"
#: ../js/ui/status/bluetooth.js:58 #: ../js/ui/status/bluetooth.js:57
#, javascript-format #, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
@ -1354,75 +1361,75 @@ msgstr[0] "%d pripojených zariadení"
msgstr[1] "%d pripojené zariadenie" msgstr[1] "%d pripojené zariadenie"
msgstr[2] "%d pripojené zariadenia" msgstr[2] "%d pripojené zariadenia"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129 #: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, javascript-format #, javascript-format
msgid "Authorization request from %s" msgid "Authorization request from %s"
msgstr "Žiadosť o potvrdenie prístupu od %s" msgstr "Žiadosť o potvrdenie prístupu od %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:203 #: ../js/ui/status/bluetooth.js:202
#, javascript-format #, javascript-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "Zariadenie %s sa chce spárovať s týmto počítačom" msgstr "Zariadenie %s sa chce spárovať s týmto počítačom"
# button # button
#: ../js/ui/status/bluetooth.js:109 #: ../js/ui/status/bluetooth.js:108
msgid "Allow" msgid "Allow"
msgstr "Povoliť" msgstr "Povoliť"
# button # button
#: ../js/ui/status/bluetooth.js:110 #: ../js/ui/status/bluetooth.js:109
msgid "Deny" msgid "Deny"
msgstr "Zakázať" msgstr "Zakázať"
#: ../js/ui/status/bluetooth.js:135 #: ../js/ui/status/bluetooth.js:134
#, javascript-format #, javascript-format
msgid "Device %s wants access to the service '%s'" msgid "Device %s wants access to the service '%s'"
msgstr "Zariadenie %s chce pristupovať k službe „%s“" msgstr "Zariadenie %s chce pristupovať k službe „%s“"
#: ../js/ui/status/bluetooth.js:137 #: ../js/ui/status/bluetooth.js:136
msgid "Always grant access" msgid "Always grant access"
msgstr "Vždy povoliť prístup" msgstr "Vždy povoliť prístup"
#: ../js/ui/status/bluetooth.js:138 #: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only" msgid "Grant this time only"
msgstr "Povoliť iba teraz" msgstr "Povoliť iba teraz"
#: ../js/ui/status/bluetooth.js:139 #: ../js/ui/status/bluetooth.js:138
msgid "Reject" msgid "Reject"
msgstr "Odmietnuť" msgstr "Odmietnuť"
#. Translators: argument is the device short name */ #. Translators: argument is the device short name */
#: ../js/ui/status/bluetooth.js:166 #: ../js/ui/status/bluetooth.js:165
#, javascript-format #, javascript-format
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "Potvrdenie spárovania pre %s" msgstr "Potvrdenie spárovania pre %s"
#: ../js/ui/status/bluetooth.js:173 #: ../js/ui/status/bluetooth.js:172
#, javascript-format #, javascript-format
msgid "" msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device." "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Prosím, potvrďte, či sa heslo „%06d“ zhoduje s tým na zariadení." msgstr "Prosím, potvrďte, či sa heslo „%06d“ zhoduje s tým na zariadení."
#. Translators: this is the verb, not the noun */ #. Translators: this is the verb, not the noun */
#: ../js/ui/status/bluetooth.js:176 #: ../js/ui/status/bluetooth.js:175
msgid "Matches" msgid "Matches"
msgstr "Zhoduje sa" msgstr "Zhoduje sa"
#: ../js/ui/status/bluetooth.js:177 #: ../js/ui/status/bluetooth.js:176
msgid "Does not match" msgid "Does not match"
msgstr "Nezhoduje sa" msgstr "Nezhoduje sa"
#: ../js/ui/status/bluetooth.js:196 #: ../js/ui/status/bluetooth.js:195
#, javascript-format #, javascript-format
msgid "Pairing request for %s" msgid "Pairing request for %s"
msgstr "Požiadavka na spárovanie pre %s" msgstr "Požiadavka na spárovanie pre %s"
#: ../js/ui/status/bluetooth.js:204 #: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device." msgid "Please enter the PIN mentioned on the device."
msgstr "Zadajte PIN, ktoré je uvedené na zariadení." msgstr "Zadajte PIN, ktoré je uvedené na zariadení."
#: ../js/ui/status/bluetooth.js:221 #: ../js/ui/status/bluetooth.js:220
msgid "OK" msgid "OK"
msgstr "Ok" msgstr "Ok"
@ -1431,89 +1438,101 @@ msgid "Brightness"
msgstr "Jas" msgstr "Jas"
# zariadenie # zariadenie
#: ../js/ui/status/network.js:72 #: ../js/ui/status/network.js:71
msgid "<unknown>" msgid "<unknown>"
msgstr "<neznáme>" msgstr "<neznáme>"
# DK: pripojenie, zariadenie # DK: pripojenie, zariadenie
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
#: ../js/ui/status/network.js:1120
msgid "Off" msgid "Off"
msgstr "Vypnuté" msgstr "Vypnuté"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Nastavenia siete"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:385
msgid "unmanaged" msgid "unmanaged"
msgstr "nespravované" msgstr "nespravované"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:387
msgid "disconnecting..." msgid "disconnecting..."
msgstr "odpája sa…" msgstr "odpája sa…"
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1174
msgid "connecting..." msgid "connecting..."
msgstr "pripája sa…" msgstr "pripája sa…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1177
msgid "authentication required" msgid "authentication required"
msgstr "požaduje sa overenie totožnosti" msgstr "požaduje sa overenie totožnosti"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:404
msgid "firmware missing" msgid "firmware missing"
msgstr "chýba firmvér" msgstr "chýba firmvér"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:408
msgid "unavailable" msgid "unavailable"
msgstr "nedostupné" msgstr "nedostupné"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1179
msgid "connection failed" msgid "connection failed"
msgstr "pripojenie zlyhalo" msgstr "pripojenie zlyhalo"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
msgid "Mobile Broadband Settings"
msgstr "Nastavenia mobilnej širokopásmovej siete"
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
msgid "Hardware Disabled"
msgstr "Hardvér zakázaný"
#: ../js/ui/status/network.js:707
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Siete Wi-Fi" msgstr "Siete Wi-Fi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:709
msgid "Select a network" msgid "Select a network"
msgstr "Vyberte sieť" msgstr "Vyberte sieť"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:733
msgid "No Networks" msgid "No Networks"
msgstr "Žiadne siete" msgstr "Žiadne siete"
# item menu # item menu
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:1005
msgid "Select Network" msgid "Select Network"
msgstr "Vybrať sieť" msgstr "Vybrať sieť"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:1011
msgid "Wi-Fi Settings"
msgstr "Nastavenia Wi-Fi"
#: ../js/ui/status/network.js:1099
msgid "Turn On" msgid "Turn On"
msgstr "Zapnúť" msgstr "Zapnúť"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1122
msgid "Not Connected"
msgstr "Nepripojené"
#: ../js/ui/status/network.js:1242
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1382
msgid "Network Manager" msgid "Network Manager"
msgstr "Správca siete" msgstr "Správca siete"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1421
msgid "Connection failed" msgid "Connection failed"
msgstr "Pripojenie zlyhalo" msgstr "Pripojenie zlyhalo"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1422
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivácia pripojenia k sieti zlyhala" msgstr "Aktivácia pripojenia k sieti zlyhala"
@ -1552,24 +1571,28 @@ msgstr "Režim v lietadle"
msgid "On" msgid "On"
msgstr "Zapnutý" msgstr "Zapnutý"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Nastavenia siete"
#: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Prepnúť používateľa" msgstr "Prepnúť používateľa"
#: ../js/ui/status/system.js:310 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Odhlásiť sa" msgstr "Odhlásiť sa"
# action button # action button
#: ../js/ui/status/system.js:329 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Uzamknutie orientácie" msgstr "Uzamknutie orientácie"
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Uspať" msgstr "Uspať"
#: ../js/ui/status/system.js:340 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Vypnúť" msgstr "Vypnúť"

386
po/sl.po

File diff suppressed because it is too large Load Diff

685
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1956
po/ta.po

File diff suppressed because it is too large Load Diff

120
po/tg.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Tajik Gnome\n" "Project-Id-Version: Tajik Gnome\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-27 14:10+0000\n" "POT-Creation-Date: 2013-10-09 16:40+0000\n"
"PO-Revision-Date: 2013-09-28 19:21+0500\n" "PO-Revision-Date: 2013-10-10 11:47+0500\n"
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n" "Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: Tajik\n" "Language: Tajik\n"
@ -164,25 +164,26 @@ msgstr "Намоиш додани ҳафта дар тақвим"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16 #: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "If true, display the ISO week date in the calendar." msgid "If true, display the ISO week date in the calendar."
msgstr "Агар дуруст бошад, санаи ҳафтаи ISO дар тақвим намоиш дода мешавад." msgstr "Агар фаъол бошад, санаи ҳафтаи ISO дар тақвим намоиш дода мешавад."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the application menu" msgid "Keybinding to open the application menu"
msgstr "Тугма барои кушодани менюи барнома" msgstr "Тугмабандӣ барои кушодани менюи барнома"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to open the application menu." msgid "Keybinding to open the application menu."
msgstr "Тугма барои кушодани менюи барнома." msgstr "Тугмабандӣ барои кушодани менюи барнома."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to open the \"Show Applications\" view" msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Тугма барои кушодани намуди \"Намоиш додани барномаҳо\"" msgstr "Тугмабандӣ барои кушодани намуди \"Намоиш додани барномаҳо\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "" msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview." "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "" msgstr ""
"Тугма барои кушодани намуди \"Намоиш додани барномаҳо\"-и Хулосаи фаъолият." "Тугмабандӣ барои кушодани намуди \"Намоиш додани барномаҳо\"-и Хулосаи "
"фаъолият."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to open the overview" msgid "Keybinding to open the overview"
@ -194,19 +195,19 @@ msgstr "Тугмабандӣ барои кушодани хулосаи фаъо
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23 #: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to toggle the visibility of the message tray" msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Тугма барои иваз кардани намоёнии қуттии паёмҳо" msgstr "Тугмабандӣ барои иваз кардани намоёнии қуттии паёмҳо"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24 #: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to toggle the visibility of the message tray." msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Тугма барои иваз кардани намоёнии қуттии паёмҳо." msgstr "Тугмабандӣ барои иваз кардани намоёнии қуттии паёмҳо."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25 #: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Keybinding to focus the active notification" msgid "Keybinding to focus the active notification"
msgstr "Тугма барои гузоштани фокус ба огоҳии фаъол" msgstr "Тугмабандӣ барои гузоштани фокус ба огоҳии фаъол"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 #: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to focus the active notification." msgid "Keybinding to focus the active notification."
msgstr "Тугма барои гузоштани фокус ба огоҳии фаъол." msgstr "Тугмабандӣ барои гузоштани фокус ба огоҳии фаъол."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27 #: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Which keyboard to use" msgid "Which keyboard to use"
@ -283,7 +284,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351 #: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692 #: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
msgid "Cancel" msgid "Cancel"
msgstr "Бекор кардан" msgstr "Бекор кардан"
@ -330,15 +331,15 @@ msgstr "Хатои санҷиши ҳаққоният"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ё бо ангут ламс кунед)" msgstr "(ё бо ангут ламс кунед)"
#: ../js/misc/util.js:98 #: ../js/misc/util.js:115
msgid "Command not found" msgid "Command not found"
msgstr "Фармон ёфт нашудааст" msgstr "Фармон ёфт нашудааст"
#: ../js/misc/util.js:131 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Фармон иҷро нашудааст:" msgstr "Фармон иҷро нашудааст:"
#: ../js/misc/util.js:139 #: ../js/misc/util.js:156
msgid "Execution of '%s' failed:" msgid "Execution of '%s' failed:"
msgstr "Иҷрокунии '%s' қатъ шудааст:" msgstr "Иҷрокунии '%s' қатъ шудааст:"
@ -564,16 +565,16 @@ msgstr "Кушодан бо %s"
msgid "Eject" msgid "Eject"
msgstr "Баровардан" msgstr "Баровардан"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280 #: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
msgid "Password:" msgid "Password:"
msgstr "Парол:" msgstr "Парол:"
#: ../js/ui/components/keyring.js:110 #: ../js/ui/components/keyring.js:108
msgid "Type again:" msgid "Type again:"
msgstr "Аз нав ворид кунед:" msgstr "Аз нав ворид кунед:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695 #: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
msgid "Connect" msgid "Connect"
msgstr "Пайваст шудан" msgstr "Пайваст шудан"
@ -1050,9 +1051,12 @@ msgstr "Намоиш додани хатоҳо"
msgid "Enabled" msgid "Enabled"
msgstr "Фаъол" msgstr "Фаъол"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
#: ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Ғайрифаъол" msgstr "Ғайрифаъол"
@ -1271,8 +1275,8 @@ msgstr "Матни бузург"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112 #: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46 #: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
msgid "Turn Off" msgid "Turn Off"
msgstr "Хомӯш кардан" msgstr "Хомӯш кардан"
@ -1360,83 +1364,99 @@ msgstr "Дурахшонӣ"
msgid "<unknown>" msgid "<unknown>"
msgstr "<номаълум>" msgstr "<номаълум>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055 #: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
#: ../js/ui/status/network.js:1106
msgid "Off" msgid "Off"
msgstr "Хомӯш" msgstr "Хомӯш"
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Танзимоти шабака"
#. Translators: this is for network devices that are physically present but are not #. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */ #. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:364 #: ../js/ui/status/network.js:386
msgid "unmanaged" msgid "unmanaged"
msgstr "идоранашуда" msgstr "идоранашуда"
#: ../js/ui/status/network.js:366 #: ../js/ui/status/network.js:388
msgid "disconnecting..." msgid "disconnecting..."
msgstr "қатъ кардани пайваст..." msgstr "қатъ кардани пайваст..."
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106 #: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
msgid "connecting..." msgid "connecting..."
msgstr "пайвастшавӣ..." msgstr "пайвастшавӣ..."
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109 #: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
msgid "authentication required" msgid "authentication required"
msgstr "санҷиши ҳаққоният лозим аст" msgstr "санҷиши ҳаққоният лозим аст"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing */
#: ../js/ui/status/network.js:383 #: ../js/ui/status/network.js:405
msgid "firmware missing" msgid "firmware missing"
msgstr "нармафзори дарунсохт вуҷуд надорад" msgstr "нармафзори дарунсохт вуҷуд надорад"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:387 #: ../js/ui/status/network.js:409
msgid "unavailable" msgid "unavailable"
msgstr "дастнорас" msgstr "дастнорас"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111 #: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
msgid "connection failed" msgid "connection failed"
msgstr "пайваст қатъ шудааст" msgstr "пайваст қатъ шудааст"
#: ../js/ui/status/network.js:660 #: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
#| msgid "Mobile broadband"
msgid "Mobile Broadband Settings"
msgstr "Танзимоти паҳннавори мобилӣ"
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
#| msgid "hardware disabled"
msgid "Hardware Disabled"
msgstr "Сахтафзор ғайрифаъол шудааст"
#: ../js/ui/status/network.js:696
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Шабакаҳои Wi-Fi" msgstr "Шабакаҳои Wi-Fi"
#: ../js/ui/status/network.js:662 #: ../js/ui/status/network.js:698
msgid "Select a network" msgid "Select a network"
msgstr "Интихоб кардани шабака" msgstr "Интихоб кардани шабака"
#: ../js/ui/status/network.js:686 #: ../js/ui/status/network.js:722
msgid "No Networks" msgid "No Networks"
msgstr "Ягон шабака нест" msgstr "Ягон шабака нест"
#: ../js/ui/status/network.js:955 #: ../js/ui/status/network.js:991
msgid "Select Network" msgid "Select Network"
msgstr "Интихоби шабака" msgstr "Интихоби шабака"
#: ../js/ui/status/network.js:1040 #: ../js/ui/status/network.js:997
#| msgid "Settings"
msgid "Wi-Fi Settings"
msgstr "Танзимоти Wi-Fi"
#: ../js/ui/status/network.js:1085
msgid "Turn On" msgid "Turn On"
msgstr "Фаъол кардан" msgstr "Фаъол кардан"
#: ../js/ui/status/network.js:1173 #: ../js/ui/status/network.js:1108
#| msgid "Connect"
msgid "Not Connected"
msgstr "Пайваст нашудааст"
#: ../js/ui/status/network.js:1228
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1313 #: ../js/ui/status/network.js:1368
msgid "Network Manager" msgid "Network Manager"
msgstr "Мудири шабака" msgstr "Мудири шабака"
#: ../js/ui/status/network.js:1352 #: ../js/ui/status/network.js:1407
msgid "Connection failed" msgid "Connection failed"
msgstr "Пайваст қатъ шудааст" msgstr "Пайваст қатъ шудааст"
#: ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:1408
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Фаъолсозии пайвасти шабака қатъ шудааст." msgstr "Фаъолсозии пайвасти шабака қатъ шудааст."
@ -1457,12 +1477,10 @@ msgid "Estimating…"
msgstr "Ҳисоб шуда истодааст..." msgstr "Ҳисоб шуда истодааст..."
#: ../js/ui/status/power.js:77 #: ../js/ui/status/power.js:77
#| msgid "%d\\u2236%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d Боқӣ мондааст (%d%%)" msgstr "%d%02d Боқӣ мондааст (%d%%)"
#: ../js/ui/status/power.js:82 #: ../js/ui/status/power.js:82
#| msgid "%d\\u2236%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d То пур шудан (%d%%)" msgstr "%d%02d То пур шудан (%d%%)"
@ -1474,6 +1492,10 @@ msgstr "Ҳолати ҳавопаймо"
msgid "On" msgid "On"
msgstr "Фаъол" msgstr "Фаъол"
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Танзимоти шабака"
#: ../js/ui/status/system.js:305 #: ../js/ui/status/system.js:305
msgid "Switch User" msgid "Switch User"
msgstr "Таъвизи корбар" msgstr "Таъвизи корбар"
@ -1772,9 +1794,6 @@ msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо
#~ msgid "Wi-Fi" #~ msgid "Wi-Fi"
#~ msgstr "Wi-Fi" #~ msgstr "Wi-Fi"
#~ msgid "hardware disabled"
#~ msgstr "сахтафзор ғайрифаъол шудааст"
#~ msgid "disabled" #~ msgid "disabled"
#~ msgstr "ғайрифаъол" #~ msgstr "ғайрифаъол"
@ -1787,9 +1806,6 @@ msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо
#~ msgid "Wired" #~ msgid "Wired"
#~ msgstr "Симдор" #~ msgstr "Симдор"
#~ msgid "Mobile broadband"
#~ msgstr "Паҳннавори мобилӣ"
#~ msgid "Networking is disabled" #~ msgid "Networking is disabled"
#~ msgstr "Шабака ғайрифаъол аст" #~ msgstr "Шабака ғайрифаъол аст"

1012
po/tr.po

File diff suppressed because it is too large Load Diff

450
po/uk.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -277,7 +277,9 @@ default_log_handler (const char *log_domain,
g_get_current_time (&now); g_get_current_time (&now);
tp_debug_sender_add_message (sender, &now, log_domain, log_level, message); /* Send telepathy debug through DBus */
if (log_domain != NULL && g_str_has_prefix (log_domain, "tp-glib"))
tp_debug_sender_add_message (sender, &now, log_domain, log_level, message);
/* Filter out telepathy-glib logs, we don't want to flood Shell's output /* Filter out telepathy-glib logs, we don't want to flood Shell's output
* with those. */ * with those. */

View File

@ -760,9 +760,8 @@ shell_app_system_initial_search (ShellAppSystem *self,
* @terms: (element-type utf8): List of terms, logical AND * @terms: (element-type utf8): List of terms, logical AND
* *
* Search through a previous result set; for more information, see * Search through a previous result set; for more information, see
* js/ui/search.js. Note the value of @prefs must be * js/ui/search.js. Note that returned strings are only valid until
* the same as passed to shell_app_system_initial_search(). Note that returned * a return to the main loop.
* strings are only valid until a return to the main loop.
* *
* Returns: (transfer container) (element-type ShellApp): List of application identifiers * Returns: (transfer container) (element-type ShellApp): List of application identifiers
*/ */

View File

@ -36,6 +36,8 @@ typedef struct {
GSList *windows; GSList *windows;
guint interesting_windows;
/* Whether or not we need to resort the windows; this is done on demand */ /* Whether or not we need to resort the windows; this is done on demand */
gboolean window_sort_stale : 1; gboolean window_sort_stale : 1;
@ -739,10 +741,10 @@ shell_app_compare_windows (gconstpointer a,
* shell_app_get_windows: * shell_app_get_windows:
* @app: * @app:
* *
* Get the toplevel, interesting windows which are associated with this * Get the windows which are associated with this application. The
* application. The returned list will be sorted first by whether * returned list will be sorted first by whether they're on the
* they're on the active workspace, then by whether they're visible, * active workspace, then by whether they're visible, and finally
* and finally by the time the user last interacted with them. * by the time the user last interacted with them.
* *
* Returns: (transfer none) (element-type MetaWindow): List of windows * Returns: (transfer none) (element-type MetaWindow): List of windows
*/ */
@ -899,12 +901,6 @@ shell_app_state_transition (ShellApp *app,
state == SHELL_APP_STATE_STARTING)); state == SHELL_APP_STATE_STARTING));
app->state = state; app->state = state;
if (app->state == SHELL_APP_STATE_STOPPED && app->running_state)
{
unref_running_state (app->running_state);
app->running_state = NULL;
}
_shell_app_system_notify_app_state_changed (shell_app_system_get_default (), app); _shell_app_system_notify_app_state_changed (shell_app_system_get_default (), app);
g_object_notify (G_OBJECT (app), "state"); g_object_notify (G_OBJECT (app), "state");
@ -934,6 +930,37 @@ shell_app_on_user_time_changed (MetaWindow *window,
} }
} }
static void
shell_app_sync_running_state (ShellApp *app)
{
g_return_if_fail (app->running_state != NULL);
if (app->running_state->interesting_windows == 0)
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
else if (app->state != SHELL_APP_STATE_STARTING)
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
}
static void
shell_app_on_skip_taskbar_changed (MetaWindow *window,
GParamSpec *pspec,
ShellApp *app)
{
g_assert (app->running_state != NULL);
/* we rely on MetaWindow:skip-taskbar only being notified
* when it actually changes; when that assumption breaks,
* we'll have to track the "interesting" windows themselves
*/
if (meta_window_is_skip_taskbar (window))
app->running_state->interesting_windows--;
else
app->running_state->interesting_windows++;
shell_app_sync_running_state (app);
}
static void static void
shell_app_on_ws_switch (MetaScreen *screen, shell_app_on_ws_switch (MetaScreen *screen,
int from, int from,
@ -1030,12 +1057,14 @@ _shell_app_add_window (ShellApp *app,
app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window)); app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window));
g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app); g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app);
g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app); g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app);
g_signal_connect (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
shell_app_update_app_menu (app, window); shell_app_update_app_menu (app, window);
shell_app_ensure_busy_watch (app); shell_app_ensure_busy_watch (app);
if (app->state != SHELL_APP_STATE_STARTING) if (shell_window_tracker_is_window_interesting (window))
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); app->running_state->interesting_windows++;
shell_app_sync_running_state (app);
g_object_thaw_notify (G_OBJECT (app)); g_object_thaw_notify (G_OBJECT (app));
@ -1053,11 +1082,16 @@ _shell_app_remove_window (ShellApp *app,
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_unmanaged), app); g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_unmanaged), app);
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_user_time_changed), app); g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_user_time_changed), app);
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
g_object_unref (window); g_object_unref (window);
app->running_state->windows = g_slist_remove (app->running_state->windows, window); app->running_state->windows = g_slist_remove (app->running_state->windows, window);
if (app->running_state->windows == NULL) if (shell_window_tracker_is_window_interesting (window))
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED); app->running_state->interesting_windows--;
shell_app_sync_running_state (app);
if (app->running_state && app->running_state->windows == NULL)
g_clear_pointer (&app->running_state, unref_running_state);
g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0); g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);
} }
@ -1556,11 +1590,9 @@ shell_app_dispose (GObject *object)
app->entry = NULL; app->entry = NULL;
} }
if (app->running_state) while (app->running_state)
{ _shell_app_remove_window (app, app->running_state->windows->data);
while (app->running_state->windows)
_shell_app_remove_window (app, app->running_state->windows->data);
}
/* We should have been transitioned when we removed all of our windows */ /* We should have been transitioned when we removed all of our windows */
g_assert (app->state == SHELL_APP_STATE_STOPPED); g_assert (app->state == SHELL_APP_STATE_STOPPED);
g_assert (app->running_state == NULL); g_assert (app->running_state == NULL);

View File

@ -470,12 +470,12 @@ shell_global_class_init (ShellGlobalClass *klass)
G_PARAM_READABLE)); G_PARAM_READABLE));
} }
/**• /*
* _shell_global_init: (skip) * _shell_global_init: (skip)
* @first_property_name: the name of the first property * @first_property_name: the name of the first property
* @...: the value of the first property, followed optionally by more * @...: the value of the first property, followed optionally by more
* name/value pairs, followed by %NULL * name/value pairs, followed by %NULL
* *
* Initializes the shell global singleton with the construction-time * Initializes the shell global singleton with the construction-time
* properties. * properties.
* *
@ -739,6 +739,20 @@ global_stage_after_paint (gpointer data)
return TRUE; return TRUE;
} }
static void
update_scale_factor (GdkScreen *screen, gpointer data)
{
ShellGlobal *global = SHELL_GLOBAL (data);
ClutterStage *stage = CLUTTER_STAGE (global->stage);
StThemeContext *context = st_theme_context_get_for_stage (stage);
GValue value = G_VALUE_INIT;
g_value_init (&value, G_TYPE_INT);
gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value);
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL);
}
/* This is an IBus workaround. The flow of events with IBus is that every time /* This is an IBus workaround. The flow of events with IBus is that every time
* it gets gets a key event, it: * it gets gets a key event, it:
* *
@ -917,9 +931,19 @@ _shell_global_set_plugin (ShellGlobal *global,
g_signal_connect (global->meta_display, "notify::focus-window", g_signal_connect (global->meta_display, "notify::focus-window",
G_CALLBACK (focus_window_changed), global); G_CALLBACK (focus_window_changed), global);
/*
* We connect to GdkScreen's monitors-changed here to avoid
* a race condition. GdkScreen's monitors-changed signal is
* emitted *after* the xsetting has been updated.
*/
g_signal_connect (global->gdk_screen, "monitors-changed",
G_CALLBACK (update_scale_factor), global);
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL); gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
global->focus_manager = st_focus_manager_get_for_stage (global->stage); global->focus_manager = st_focus_manager_get_for_stage (global->stage);
update_scale_factor (global->gdk_screen, global);
} }
GjsContext * GjsContext *
@ -1779,6 +1803,8 @@ shell_global_set_runtime_state (ShellGlobal *global,
NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION,
NULL, NULL, NULL); NULL, NULL, NULL);
} }
g_object_unref (path);
} }
/** /**
@ -1790,7 +1816,7 @@ shell_global_set_runtime_state (ShellGlobal *global,
* The shell maintains "runtime" state which does not persist across * The shell maintains "runtime" state which does not persist across
* logout or reboot. * logout or reboot.
* *
* Returns: The value of a serialized property, or %NULL if none stored * Returns: (transfer floating): The value of a serialized property, or %NULL if none stored
*/ */
GVariant * GVariant *
shell_global_get_runtime_state (ShellGlobal *global, shell_global_get_runtime_state (ShellGlobal *global,
@ -1817,10 +1843,13 @@ shell_global_get_runtime_state (ShellGlobal *global,
else else
{ {
GBytes *bytes = g_mapped_file_get_bytes (mfile); GBytes *bytes = g_mapped_file_get_bytes (mfile);
res = g_variant_new_from_bytes ((GVariantType*)property_type, bytes, TRUE); res = g_variant_new_from_bytes (G_VARIANT_TYPE (property_type), bytes, TRUE);
g_bytes_unref (bytes); g_bytes_unref (bytes);
g_mapped_file_unref (mfile); g_mapped_file_unref (mfile);
} }
g_object_unref (path);
g_free (pathstr);
return res; return res;
} }

View File

@ -11,6 +11,6 @@ gboolean shell_js_add_extension_importer (const char *target_object_script,
const char *directory, const char *directory,
GError **error); GError **error);
G_BEGIN_DECLS G_END_DECLS
#endif /* __SHELL_JS_H__ */ #endif /* __SHELL_JS_H__ */

View File

@ -172,8 +172,9 @@ shell_tray_icon_new (ShellEmbeddedWindow *window)
* @event: the #ClutterEvent triggering the fake click * @event: the #ClutterEvent triggering the fake click
* *
* Fakes a press and release on @icon. @event must be a * Fakes a press and release on @icon. @event must be a
* %CLUTTER_BUTTON_RELEASE event. Its relevant details will be passed * %CLUTTER_BUTTON_RELEASE, %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE event.
* on to the icon, but its coordinates will be ignored; the click is * Its relevant details will be passed on to the icon, but its
* coordinates will be ignored; the click is
* always made on the center of @icon. * always made on the center of @icon.
*/ */
void void
@ -191,6 +192,7 @@ shell_tray_icon_click (ShellTrayIcon *icon,
ClutterEventType event_type = clutter_event_type (event); ClutterEventType event_type = clutter_event_type (event);
g_return_if_fail (event_type == CLUTTER_BUTTON_RELEASE || g_return_if_fail (event_type == CLUTTER_BUTTON_RELEASE ||
event_type == CLUTTER_KEY_PRESS ||
event_type == CLUTTER_KEY_RELEASE); event_type == CLUTTER_KEY_RELEASE);
gdk_error_trap_push (); gdk_error_trap_push ();
@ -249,12 +251,24 @@ shell_tray_icon_click (ShellTrayIcon *icon,
xkevent.y_root = xcevent.y_root; xkevent.y_root = xcevent.y_root;
xkevent.state = clutter_event_get_state (event); xkevent.state = clutter_event_get_state (event);
xkevent.same_screen = True; xkevent.same_screen = True;
xkevent.type = KeyPress;
xkevent.keycode = clutter_event_get_key_code (event); xkevent.keycode = clutter_event_get_key_code (event);
xkevent.type = KeyPress;
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent); XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent);
xkevent.type = KeyRelease; if (event_type == CLUTTER_KEY_RELEASE)
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent); {
/* If the application takes a grab on KeyPress, we don't
* want to send it a KeyRelease. There's no good way of
* knowing whether a tray icon will take a grab, so just
* assume it does, and don't send the KeyRelease. That might
* make the tracking for key events messed up if it doesn't take
* a grab, but the tray icon won't get key focus in normal cases,
* so let's hope this isn't too damaging...
*/
xkevent.type = KeyRelease;
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent);
}
} }
/* And move the pointer back out */ /* And move the pointer back out */

View File

@ -144,40 +144,10 @@ shell_window_tracker_class_init (ShellWindowTrackerClass *klass)
gboolean gboolean
shell_window_tracker_is_window_interesting (MetaWindow *window) shell_window_tracker_is_window_interesting (MetaWindow *window)
{ {
if (meta_window_is_override_redirect (window) return !meta_window_is_skip_taskbar (window);
|| meta_window_is_skip_taskbar (window))
return FALSE;
switch (meta_window_get_window_type (window))
{
/* Definitely ignore these. */
case META_WINDOW_DESKTOP:
case META_WINDOW_DOCK:
case META_WINDOW_SPLASHSCREEN:
/* Should have already been handled by override_redirect above,
* but explicitly list here so we get the "unhandled enum"
* warning if in the future anything is added.*/
case META_WINDOW_DROPDOWN_MENU:
case META_WINDOW_POPUP_MENU:
case META_WINDOW_TOOLTIP:
case META_WINDOW_NOTIFICATION:
case META_WINDOW_COMBO:
case META_WINDOW_DND:
case META_WINDOW_OVERRIDE_OTHER:
return FALSE;
case META_WINDOW_NORMAL:
case META_WINDOW_DIALOG:
case META_WINDOW_MODAL_DIALOG:
case META_WINDOW_MENU:
case META_WINDOW_TOOLBAR:
case META_WINDOW_UTILITY:
break;
}
return TRUE;
} }
/** /*
* get_app_from_window_wmclass: * get_app_from_window_wmclass:
* *
* Looks only at the given window, and attempts to determine * Looks only at the given window, and attempts to determine
@ -256,6 +226,17 @@ get_app_from_window_wmclass (MetaWindow *window)
return NULL; return NULL;
} }
/*
* get_app_from_gapplication_id:
* @monitor: a #ShellWindowTracker
* @window: a #MetaWindow
*
* Looks only at the given window, and attempts to determine
* an application based on _GTK_APPLICATION_ID. If one can't be determined,
* return %NULL.
*
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
*/
static ShellApp * static ShellApp *
get_app_from_gapplication_id (MetaWindow *window) get_app_from_gapplication_id (MetaWindow *window)
{ {
@ -268,16 +249,18 @@ get_app_from_gapplication_id (MetaWindow *window)
id = meta_window_get_gtk_application_id (window); id = meta_window_get_gtk_application_id (window);
if (!id) if (!id)
return FALSE; return NULL;
desktop_file = g_strconcat (id, ".desktop", NULL); desktop_file = g_strconcat (id, ".desktop", NULL);
app = shell_app_system_lookup_app (appsys, desktop_file); app = shell_app_system_lookup_app (appsys, desktop_file);
if (app)
g_object_ref (app);
g_free (desktop_file); g_free (desktop_file);
return app; return app;
} }
/** /*
* get_app_from_window_group: * get_app_from_window_group:
* @monitor: a #ShellWindowTracker * @monitor: a #ShellWindowTracker
* @window: a #MetaWindow * @window: a #MetaWindow
@ -325,7 +308,7 @@ get_app_from_window_group (ShellWindowTracker *tracker,
return result; return result;
} }
/** /*
* get_app_from_window_pid: * get_app_from_window_pid:
* @tracker: a #ShellWindowTracker * @tracker: a #ShellWindowTracker
* @window: a #MetaWindow * @window: a #MetaWindow
@ -371,8 +354,13 @@ get_app_for_window (ShellWindowTracker *tracker,
MetaWindow *window) MetaWindow *window)
{ {
ShellApp *result = NULL; ShellApp *result = NULL;
MetaWindow *transient_for;
const char *startup_id; const char *startup_id;
transient_for = meta_window_get_transient_for (window);
if (transient_for != NULL)
return get_app_for_window (tracker, transient_for);
/* First, we check whether we already know about this window, /* First, we check whether we already know about this window,
* if so, just return that. * if so, just return that.
*/ */
@ -457,6 +445,16 @@ update_focus_app (ShellWindowTracker *self)
ShellApp *new_focus_app; ShellApp *new_focus_app;
new_focus_win = meta_display_get_focus_window (shell_global_get_display (shell_global_get ())); new_focus_win = meta_display_get_focus_window (shell_global_get_display (shell_global_get ()));
/* we only consider an app focused if the focus window can be clearly
* associated with a running app; this is the case if the focus window
* or one of its parents is visible in the taskbar, e.g.
* - 'nautilus' should appear focused when its about dialog has focus
* - 'nautilus' should not appear focused when the DESKTOP has focus
*/
while (new_focus_win && meta_window_is_skip_taskbar (new_focus_win))
new_focus_win = meta_window_get_transient_for (new_focus_win);
new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (self, new_focus_win) : NULL; new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (self, new_focus_win) : NULL;
if (new_focus_app) if (new_focus_app)
@ -489,9 +487,6 @@ track_window (ShellWindowTracker *self,
{ {
ShellApp *app; ShellApp *app;
if (!shell_window_tracker_is_window_interesting (window))
return;
app = get_app_for_window (self, window); app = get_app_for_window (self, window);
if (!app) if (!app)
return; return;
@ -530,11 +525,8 @@ disassociate_window (ShellWindowTracker *self,
g_hash_table_remove (self->window_to_app, window); g_hash_table_remove (self->window_to_app, window);
if (shell_window_tracker_is_window_interesting (window)) _shell_app_remove_window (app, window);
{ g_signal_handlers_disconnect_by_func (window, G_CALLBACK(on_wm_class_changed), self);
_shell_app_remove_window (app, window);
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(on_wm_class_changed), self);
}
g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0); g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0);
@ -674,13 +666,8 @@ ShellApp *
shell_window_tracker_get_window_app (ShellWindowTracker *tracker, shell_window_tracker_get_window_app (ShellWindowTracker *tracker,
MetaWindow *metawin) MetaWindow *metawin)
{ {
MetaWindow *transient_for;
ShellApp *app; ShellApp *app;
transient_for = meta_window_get_transient_for (metawin);
if (transient_for != NULL)
metawin = transient_for;
app = g_hash_table_lookup (tracker->window_to_app, metawin); app = g_hash_table_lookup (tracker->window_to_app, metawin);
if (app) if (app)
g_object_ref (app); g_object_ref (app);

View File

@ -259,6 +259,7 @@ st_adjustment_class_init (StAdjustmentClass *klass)
G_PARAM_CONSTRUCT)); G_PARAM_CONSTRUCT));
/** /**
* StAdjustment::changed: * StAdjustment::changed:
* @self: the #StAdjustment
* *
* Emitted when any of the adjustment values have changed * Emitted when any of the adjustment values have changed
*/ */

View File

@ -795,6 +795,8 @@ st_entry_class_init (StEntryClass *klass)
/* signals */ /* signals */
/** /**
* StEntry::primary-icon-clicked: * StEntry::primary-icon-clicked:
* @self: the #StEntry
*
* *
* Emitted when the primary icon is clicked * Emitted when the primary icon is clicked
*/ */
@ -807,6 +809,7 @@ st_entry_class_init (StEntryClass *klass)
G_TYPE_NONE, 0); G_TYPE_NONE, 0);
/** /**
* StEntry::secondary-icon-clicked: * StEntry::secondary-icon-clicked:
* @self: the #StEntry
* *
* Emitted when the secondary icon is clicked * Emitted when the secondary icon is clicked
*/ */

View File

@ -34,6 +34,8 @@ struct _StThemeContext {
/* set of StThemeNode */ /* set of StThemeNode */
GHashTable *nodes; GHashTable *nodes;
int scale_factor;
}; };
struct _StThemeContextClass { struct _StThemeContextClass {
@ -42,6 +44,12 @@ struct _StThemeContextClass {
#define DEFAULT_FONT "sans-serif 10" #define DEFAULT_FONT "sans-serif 10"
enum
{
PROP_0,
PROP_SCALE_FACTOR
};
enum enum
{ {
CHANGED, CHANGED,
@ -57,6 +65,15 @@ static void on_icon_theme_changed (StTextureCache *cache,
StThemeContext *context); StThemeContext *context);
static void st_theme_context_changed (StThemeContext *context); static void st_theme_context_changed (StThemeContext *context);
static void st_theme_context_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec);
static void st_theme_context_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec);
static void static void
st_theme_context_finalize (GObject *object) st_theme_context_finalize (GObject *object)
{ {
@ -86,8 +103,23 @@ st_theme_context_class_init (StThemeContextClass *klass)
{ {
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->set_property = st_theme_context_set_property;
object_class->get_property = st_theme_context_get_property;
object_class->finalize = st_theme_context_finalize; object_class->finalize = st_theme_context_finalize;
/**
* StThemeContext:scale-factor:
*
* The scaling factor used or high dpi scaling.
*/
g_object_class_install_property (object_class,
PROP_SCALE_FACTOR,
g_param_spec_int ("scale-factor",
"Scale factor",
"Integer scale factor used for high dpi scaling",
0, G_MAXINT, 1,
G_PARAM_READABLE | G_PARAM_WRITABLE));
signals[CHANGED] = signals[CHANGED] =
g_signal_new ("changed", g_signal_new ("changed",
G_TYPE_FROM_CLASS (klass), G_TYPE_FROM_CLASS (klass),
@ -114,6 +146,53 @@ st_theme_context_init (StThemeContext *context)
context->nodes = g_hash_table_new_full ((GHashFunc) st_theme_node_hash, context->nodes = g_hash_table_new_full ((GHashFunc) st_theme_node_hash,
(GEqualFunc) st_theme_node_equal, (GEqualFunc) st_theme_node_equal,
g_object_unref, NULL); g_object_unref, NULL);
context->scale_factor = 1;
}
static void
st_theme_context_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
StThemeContext *context = ST_THEME_CONTEXT (object);
switch (prop_id)
{
case PROP_SCALE_FACTOR:
{
int scale_factor = g_value_get_int (value);
if (scale_factor != context->scale_factor)
{
context->scale_factor = scale_factor;
st_theme_context_changed (context);
}
break;
}
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
st_theme_context_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
StThemeContext *context = ST_THEME_CONTEXT (object);
switch (prop_id)
{
case PROP_SCALE_FACTOR:
g_value_set_int (value, context->scale_factor);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
} }
/** /**

View File

@ -1015,6 +1015,9 @@ get_length_from_term (StThemeNode *node,
} type = ABSOLUTE; } type = ABSOLUTE;
double multiplier = 1.0; double multiplier = 1.0;
int scale_factor;
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
if (term->type != TERM_NUMBER) if (term->type != TERM_NUMBER)
{ {
@ -1028,7 +1031,7 @@ get_length_from_term (StThemeNode *node,
{ {
case NUM_LENGTH_PX: case NUM_LENGTH_PX:
type = ABSOLUTE; type = ABSOLUTE;
multiplier = 1; multiplier = 1 * scale_factor;
break; break;
case NUM_LENGTH_PT: case NUM_LENGTH_PT:
type = POINTS; type = POINTS;