Compare commits

...

166 Commits

Author SHA1 Message Date
2fb8781f30 Bump version to 3.13.3
Update NEWS.
2014-06-24 23:54:06 +02:00
2bda6db30f appDisplay: Fix folder icons for RTL locales
Unlike StTable, ClutterTableLayout does not take the actor's text
direction into account, so mirror columns ourselves now.

https://bugzilla.gnome.org/show_bug.cgi?id=731923
2014-06-24 23:37:35 +02:00
8abd18363c networkAgent: Fix layout for RTL locales
Unlike StTable, ClutterTableLayout does not take the actor's text
direction into account, so mirror columns ourselves now.

https://bugzilla.gnome.org/show_bug.cgi?id=731923
2014-06-24 23:37:35 +02:00
256bb532a2 calendar: Fix events for RTL locales
Unlike StTable, ClutterTableLayout does not take the actor's text
direction into account, so mirror columns ourselves now.

https://bugzilla.gnome.org/show_bug.cgi?id=731923
2014-06-24 23:37:34 +02:00
6077e28f95 calendar: Fix for RTL locales
Unlike StTable, ClutterTableLayout does not take the actor's text
direction into account, so mirror columns ourselves now.

https://bugzilla.gnome.org/show_bug.cgi?id=731923
2014-06-24 23:37:34 +02:00
83cb26d70e js: Adapt to GSettings API change
The 'schema' property has been deprecated for a long time. Even though
this will likely be reverted in glib, let's stop using it.
2014-06-24 15:17:09 -04:00
6d66afc14e popupMenu: Fix last commit
A missing git commit --amend meant we weren't showing the right icon.
2014-06-24 14:37:08 -04:00
88faee4c79 popupMenu: Use the standard arrow icons popup menu arrows
Rather than our own theme asset.
2014-06-24 14:25:14 -04:00
66f5e4b44d Revert "plugin: Don't query for swap_events support directly"
This reverts commit e23c2ffecc.

The patch was intended as a cleanup but accidently removed the setting of the
event base, breaking the swap event handling.

With the event base setting removing the other code isn't much of a cleanup so
just revert it.
2014-06-24 17:37:23 +02:00
772d8692e7 DBus: Remove flash argument
There is no flash argument implemented.
2014-06-23 17:17:12 +02:00
17f481f6fe shell-recorder: send EOS to the pipeline
Send EOS to the complete pipeline instead of only to our own source.

When there are multiple sources in the pipeline (for example when we also
record audio), the pipeline will send the EOS to all sources in order to
shut down the complete pipeline.
2014-06-23 17:16:55 +02:00
b057e786a4 shell-recorder: depth and bpp are no more in 1.0
Remove 0.10 style bpp and depth, they are not needed anymore, the
format specifies the layout completely.
2014-06-23 17:15:44 +02:00
8b9904b6d0 shell-recorder-src: allow sending EOS to our source
When we send EOS to our source, make it queue the special item to cause
EOS after all buffers are pushed.
2014-06-23 17:15:44 +02:00
43ae3b8140 shell-recorder-src: use timestamping from basesrc
Use the do-timestamp feature of basesrc to place the correct timestamp
on each outgoing buffer.
2014-06-23 17:15:44 +02:00
f76dd4d6b2 shell-recorder-src: only negotiate once
Set the format of the basesrc to the configured caps only once
during negotiation instead of before pushing each buffer.
2014-06-23 17:15:44 +02:00
079cc39166 Updated Lithuanian translation 2014-06-22 15:56:38 +03:00
bf0c7f731d a11y: initialize atspi on demand
Only call atspi.init if needed. This is also more
coherent with the listener registration, that is
only done when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=730118
2014-06-20 14:32:55 +02:00
5a8a293614 location: Update available accuracy on max accuracy changing
We translate 'On' to available accuracy level but if available accuracy
level later changes, we don't update available accuracy level accordingly
and hence limit the accuracy of apps.

E.g if available accuracy level is 'city' and geolocation is enabled,
the max accuracy level would be 'city' and apps can't get higher than
that. Now if user plugs in GPS, the available accuracy level will change
to 'exact' but without this patch max accuracy level will remain to be
'city' and apps will not be able to use the GPS.

https://bugzilla.gnome.org/show_bug.cgi?id=731882
2014-06-20 12:26:27 +01:00
c768ee6175 Updated Swedish translation 2014-06-19 18:03:57 +00:00
75c2a723d9 IconGrid: calculate icon size only once 2014-06-18 00:04:34 +02:00
32240df141 IconGrid: Don't check twice for min icon size 2014-06-17 22:33:51 +02:00
c532e3f1a5 Updated Turkish translation 2014-06-17 19:37:41 +00:00
b04c79643d screenshot: Scale and unscale the area for HiDpi displays
https://bugzilla.gnome.org/show_bug.cgi?id=731738
2014-06-17 21:22:35 +02:00
4eca992db8 Updated Spanish translation 2014-06-17 19:21:30 +02:00
c36ca625e6 workspace: Adapt to mutter API change 2014-06-17 11:12:15 -04:00
238466b3d6 Updated Slovenian translation 2014-06-16 22:11:02 +02:00
4f28840a59 dateMenu: Fix style 2014-06-16 15:10:36 -04:00
d98c1ba522 Fix Meta.KeyBindingFlags.IS_REVERSED typo
The code currently tries to use Meta.KeyBindingFlags.REVERSED. Since
this constant is |'ed with Meta.KeyBindingFlags.REVERSES, gjs silently
ignores the unknown flag.

https://bugzilla.gnome.org/show_bug.cgi?id=731619
2014-06-16 12:57:10 +02:00
9bbb3e9c85 appDisplay: Fix app folder "modal-ness"
Commit 5d00c1a5ee moved app folder popups to GrabHelper - for some
reason, the line that ensures the current behavior of only considering
events inside the app picker to dismiss popups got lost ...
2014-06-16 10:28:59 +02:00
2710c56827 Updated Hebrew translation 2014-06-14 22:11:29 +03:00
e22ff0e42d Mark all gsettings schema entries as translatable
Some entries have untranslatable descriptions/summaries. This means that
when running dconf-editor, some entries will get a translated descriptions,
and a few will not.

https://bugzilla.gnome.org/show_bug.cgi?id=728170
2014-06-13 13:14:50 +02:00
8c74a4fee0 messageTray: Remove an unused variable 2014-06-12 13:58:13 -04:00
234b90ac86 messageTray: Don't use a member variable when we can use a local
Tiny cleanup.
2014-06-12 13:31:39 -04:00
ce46b06f36 Updated Spanish translation 2014-06-12 17:52:25 +02:00
585930123d layout: Do not expand struts to screen edges
set_builtin_struts() in mutter now handles this for us, so we can kill
off the extra code here.

https://bugzilla.gnome.org/show_bug.cgi?id=730527
2014-06-12 15:36:40 +02:00
5d00c1a5ee appDisplay: Use GrabHelper for folder popups
As clicks outside the app picker should still be handled normally
while clicks inside should dismiss the popup, we cannot make full
use of GrabHelper. However using it at least for focus handling
fixes some minor details we are getting wrong, for instance not
restoring the previous focus after dismissing a folder popup.
2014-06-11 23:24:30 +02:00
f288c43e6e viewSelector: Use clutter constant instead of true 2014-06-10 21:22:51 +02:00
b981a591c7 main: Actually use the correct schema for overrides
Fix commit ae2751a68b to not only pick up the keys from the
correct schema, but also use the correct schema-id for the overrides.
2014-06-10 13:00:57 +02:00
3b7756b610 data: Do not convert 'button-layout' setting
It has been removed from our overrides schema ...
2014-06-10 12:32:28 +02:00
292f87caf7 sessionMode: Don't set overridesSchema
Unused since commit ae2751a68b.
2014-06-09 22:39:15 +02:00
ae2751a68b main: Move pref overrides back into C
Commit 6c2f3d1d17 moved pref overrides into JS to implement
session mode specific overrides in a clean and generic way.
However that approach comes with a cost - doing the overrides only
after having handled over control to JS means that the core will
be initialized with the non-overridden settings before changing
to the correct values. In the best case this is unnecessary work,
but it can in fact have a worse effect: when initializing workspaces,
we will restore the previous number of workspaces when using
dynamic-workspaces and reset to the configured number otherwise.
As the non-overridden default for dynamic-workspaces is FALSE, we
can easily end up moving the user's windows to the "wrong" workspace.

Now GSettings is expected to grow support for session specific defaults,
which will render our entire override system obsolete (yay!). Given
that, it seems acceptable to use a less generic (and uglier) approach
in the meanwhile, in order to fix aforementioned problems. So move
overrides back before core initialization and just hardcode the
session-mode => override-schema relation.

https://bugzilla.gnome.org/show_bug.cgi?id=695487
2014-06-09 21:52:03 +02:00
589becbc79 panelMenu: Clean up code a bit 2014-06-08 22:25:27 +02:00
4c7fcf272c Updated Turkish translation 2014-06-05 23:34:50 +00:00
e51aecee03 Updated Hungarian translation 2014-06-05 11:23:27 +00:00
d98e7dbd4a screenshot: Also validate parameters to FlashArea()
Apply the same parameter validation to FlashArea() we already use
for ScreenshotArea().

https://bugzilla.gnome.org/show_bug.cgi?id=731220
2014-06-04 18:12:31 +02:00
1b97778925 Updated Norwegian bokmål translation from Åka Sikrom. 2014-06-03 19:55:46 +02:00
829e7623df css: Clean up slightly
Remove the networking stuff from the message tray section.
2014-06-03 12:32:56 -04:00
89675c9061 Updated Brazilian Portuguese translation 2014-06-03 13:29:01 +00:00
f9df83802d ui: Adapt to display.get_tab_list API change 2014-06-03 14:52:18 +02:00
e51eb723fc windowMenu: Do a better job with faking the source actor
The 0x0 dummyCursor works well when the menu pops up directly underneath
the pointer (e.g. when triggered by right-clicking the titlebar) or by
keyboard, but not when triggered by the menu button - the menu does not
point to the center of the button's bottom edge, and unless the user
keeps holding the mouse button while moving into the menu, the menu will
be dismissed immediately on button release.
Address these issues by using the button geometry to overlay the window
button with an appropriately sized actor that acts as a proper sourceActor,
to make the window menu behavior consistent with other shell menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731058
2014-06-02 23:48:53 +02:00
5b61f2d642 windowMenu: Implement new show_menu_for_rect() hook
Having the full geometry of the menu's source button (if any) will
allow us to address several misbehaviors of window menus, so use
that instead of show_menu().

https://bugzilla.gnome.org/show_bug.cgi?id=731058
2014-06-02 23:48:53 +02:00
094669baee messageTray: Clear the pointer left timeout when showing a notification
When the pointer leaves the notification area, we queue a timeout to
hide the notification after a little while. If the user is hovering over
a notification and clicks the X button to close the notification, we will
destroy the notification, which causes a "pointer left" event on the
notification area. This queues a timeout which erroneously fires after
the next notification in the queue shows up.

The code and state machine are too complex to properly make sure this
timeout doesn't fire when there is no notification up next, so instead
just clear it when showing a notification to make sure that any
previously queued timeout doesn't apply to us.

https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:52 -04:00
f6b5385495 messageTray: Squash together some duplicated code
https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:51 -04:00
524e2df708 messageTray: Don't exit out early if we have a left timeout
Otherwise, we won't mark the pointer as hovering on the notification.

https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:51 -04:00
9f887d9a28 Updated Lithuanian translation 2014-06-02 23:35:53 +03:00
214a41793f build: Remove GMenu include
The actual GMenu dependency was removed a while ago, so stop adding
it to the GIR includes.
2014-06-02 17:56:38 +02:00
2e40ffc558 Updated Italian translation 2014-05-31 12:55:41 +00:00
3584887938 openbsd: fix shell_global_reexec_self()
Rework the way we re-exec the shell on OpenBSD so that it does not only
work the first time it is re-exec'd.
Plug a small leak in the __linux__ case while here.

https://bugzilla.gnome.org/show_bug.cgi?id=727763
2014-05-30 11:26:39 +02:00
0d6c002b8e calendar: Port EventsList to ClutterTableLayout
We don't make use of any functionality StTable provides over
ClutterTableLayout, so port all users to the Clutter layout
in order to remove our own copy of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=703833
2014-05-28 22:11:38 +02:00
ec714864f2 calendar: Port calendar to ClutterTableLayout
We don't make use of any functionality StTable provides over
ClutterTableLayout, so port all users to the Clutter layout
in order to remove our own copy of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=703833
2014-05-28 22:11:38 +02:00
1b77149ec9 build: Remove ShellNetworkAgent documentation
It is only an internal implementation detail, and it also causes build problem
when NetworkManager is disabled.

https://bugzilla.gnome.org/show_bug.cgi?id=726460
2014-05-28 22:07:19 +02:00
93c9e031e3 Update (allow-none) annotations
The annotation has been deprecated in favor of (nullable) and/or
(optional).
2014-05-28 22:01:55 +02:00
3ff4277f86 workspace: Don't allow closing windows with attached modals
Modal dialogs prevent the parent from being closed in "normal mode",
so it makes sense to not allow it in the overview either.

https://bugzilla.gnome.org/show_bug.cgi?id=729886
2014-05-28 22:01:54 +02:00
2a63267be0 loginDialog: Remove unused variable 2014-05-28 22:01:54 +02:00
2b365627ed windowManager: Remove (un)blockAnimations()
They are no longer used, kill them.
2014-05-28 22:01:53 +02:00
b8f0d0f0dc telepathyClient: Only use 12-hour format when supported by the locale
It is a bit odd to request AM/PM format when the locale selected
by LC_TIME lacks the concept. We ignore the format setting in that
case elsewhere and assume 24-hour format, let's do the same for
chat timestamps for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=728271
2014-05-28 22:01:53 +02:00
df1bed941d telepathyClient: Remove unused variable 2014-05-28 13:09:43 -04:00
604085fdb9 Update British English translation 2014-05-27 21:44:13 +01:00
2d3c81390b Bump version to 3.13.2
Update NEWS.
2014-05-27 21:35:37 +02:00
516b8f6bf8 screenshot: Don't use meta_window_get_rect
It's going to be removed soon.
2014-05-27 15:14:33 -04:00
75fdca0b47 data: Drop button-layout from overrides schema
The default in gsettings-desktop-schemas now matches what we want,
so no need to keep overriding it.
2014-05-27 19:54:31 +02:00
9f366118f0 windowMenu: Only add workspace actions when enabled by session mode
When workspaces are disabled by the session mode, all workspace
related actions don't make sense. Worse, the "Move to Workspace ..."
actions allow sending windows into a nirvana with no means to
get them back.

https://bugzilla.gnome.org/show_bug.cgi?id=730653
2014-05-27 19:49:06 +02:00
c228a9a89a viewSelector: Don't re-navigate into the active page
Starting keynav into the active page is handled from a key-press
handler on the stage, however we should not "start" keynav when
we are already navigating elsewhere - the latter can happen when
keynav fails (for instance because the focus is trapped inside an
open app folder or at the end of the dash), and the event bubbles
up to the stage. So make sure to only handle the event to actually
start keynav, to not interfere with the normal navigation handling.

Thanks to Carlos Soriano <carlos.soriano89@gmail.com> for the
debugging footwork.

https://bugzilla.gnome.org/show_bug.cgi?id=726760
2014-05-27 19:49:06 +02:00
e747fcb16f windowMenu: Ping window when activating any menu action
We do this for actions in the regular app menu, it makes sense to
do the same for window menu and fallback app menu.
2014-05-27 19:49:05 +02:00
a72a24ebff theme: Bring fallback app-menu style closer to GTK+
The fallback app-menu in GTK+'s client side decorations obviously
uses the GTK+ theme rather than the shell one; update the style
of our own fallback app-menu to resemble that style.

https://bugzilla.gnome.org/show_bug.cgi?id=730752
2014-05-27 19:49:05 +02:00
8811ba2ec0 Support (fallback) app menu in SSD
We now allow "appmenu" in the button layout to make synchronizing it
with GTK+'s client-side decorations easier, but as some people tweak
their settings to get in-window app menus even when using the shell,
actually pop up the app menu when the button is activated.

https://bugzilla.gnome.org/show_bug.cgi?id=730752
2014-05-27 19:49:05 +02:00
38d8e465b3 popupMenu: Hide separator label when not in use
The optional label support introduced in commit af063dc2f2 broke
the centering of separators, as the label still adds additional
spacing even when empty.
Properly hide the label actor in that case to fix the alignment.

https://bugzilla.gnome.org/show_bug.cgi?id=730753
2014-05-27 19:49:04 +02:00
5b3fb024be extensionPrefs: Skip main window when launched with a UUID
The extension-prefs tool is used by gnome-tweak-tool and the
extensions web site to display preferences. However as those
already implement their own extension lists, the main window
is not useful in that context (to not say it is rather silly).

Just skip the main window and only show the specified extension's
preference dialog in those cases.

https://bugzilla.gnome.org/show_bug.cgi?id=730829
2014-05-27 18:02:25 +02:00
521f5f2b6b extensionPrefs: Add switches to enable/disable extensions
Bring the extension-prefs tool in line with the mockup by adding
switches to enable/disable extensions, similar to the extension
page in gnome-tweak-tool.

https://bugzilla.gnome.org/show_bug.cgi?id=730829
2014-05-27 18:02:25 +02:00
e1b30b2924 extension-prefs: Give the UI a bit of GNOME 3 treatment
The extension-prefs UI has never been great, but as the GNOME 3
design patterns are evolving, it is starting to look seriously
outdated. Modernize the UI a bit to have it fit in a bit better.

https://bugzilla.gnome.org/show_bug.cgi?id=730829
2014-05-27 18:02:25 +02:00
dd85670f8b switcherPopup: Add a return value to _keyPressHandler
This allows us to handle keybindings that use Escape instead of just
dismissing the popup unconditionally when we see an Escape press.

https://bugzilla.gnome.org/show_bug.cgi?id=730739
2014-05-26 15:55:37 +02:00
625f3a5113 tools/build: Update to 3.14 2014-05-25 23:22:18 +02:00
58c4a6c847 Updated Hebrew translation 2014-05-22 23:46:51 +03:00
752aca811c windowManager: Support coords 2014-05-22 10:51:49 -04:00
a4cf0501ee Updated Indonesian translation 2014-05-22 09:22:25 +00:00
4c7b992c36 windowMenu: Fix typo
Closing windows is done with delete(), not close() ...
2014-05-21 19:57:17 +02:00
264a51de3f gnome-shell-wayland.desktop: Drop mutter-launch from Exec line
mutter-launch has been replaced with logind's Session and Seat APIs.
2014-05-21 11:11:27 +02:00
625280bcd6 Updated Brazilian Portuguese translation 2014-05-20 19:36:14 +00:00
4f8265f82e Updated Spanish translation 2014-05-20 20:05:06 +02:00
ff07d3a46a Renable compiler warnings and fix a few that show up
The switch to GNOME_COMPILE_WARNINGS() caused -Wall and other
warnings to not actually be used since GNOME_COMPILE_WARNINGS()
just sets WARN_CFLAGS. Add WARN_CFLAGS to AM_CFLAGS so that
it takes effect.

Add  -Wno-error=deprecated-declarations so that when -Werror is
enabled, we don't fail on all the deprecated cogl and clutter
symbols.

https://bugzilla.gnome.org/show_bug.cgi?id=730408
2014-05-19 20:51:12 -04:00
5d11941638 Support resource:/// URL's in GNOME_SHELL_JS envvar
It can be useful to augment the shell's search path by doing

 GNOME_SHELL_JS=resource:///org/gnome/shell:<mypath>

But this doesn't work because resource: is split off. Special
case path elements that are just 'resource' and recombine
them with the next element.

https://bugzilla.gnome.org/show_bug.cgi?id=730409
2014-05-19 20:47:05 -04:00
f1f659571b Updated Turkish translation 2014-05-19 11:46:28 +00:00
c60d13b33e Updated Lithuanian translation 2014-05-18 22:25:40 +03:00
33060d382b Updated Czech translation 2014-05-18 15:40:01 +02:00
4b1e412ac3 Updated Hebrew translation 2014-05-18 02:48:02 +03:00
659730ab09 Mark string as translatable 2014-05-18 01:08:49 +02:00
7c3a99b7ed Updated POTFILES.in 2014-05-18 01:02:36 +02:00
e7af257814 Implement window menus in gnome-shell
https://bugzilla.gnome.org/show_bug.cgi?id=726352
2014-05-17 15:17:29 -04:00
c9190294bc gnome-shell-build-setup.sh: work around removal of gpk-install-package-name
gpk-install-package-name was removed in 3.12. Call the D-Bus interface
using gdbus instead.
2014-05-17 15:10:04 -04:00
e070e3c44a Updated Czech translation 2014-05-16 14:37:15 +02:00
fe87de7cec Updated Hebrew translation 2014-05-16 04:20:15 +03:00
2519e4f08d Updated Brazilian Portuguese translation 2014-05-15 18:28:01 +00:00
fe304d3c94 Updated Lithuanian translation 2014-05-11 23:43:13 +03:00
1f4e6872ab Updated Spanish translation 2014-05-10 19:48:56 +02:00
5ade2e7418 main: emit systemd message for any session except gdm and initial-setup 2014-05-09 23:35:57 +02:00
3e7d325e77 [l10n] Updated Catalan (Valencian) translation 2014-05-09 00:02:51 +02:00
ef04a9d1ed osdWindow: Check monitor validity before updating
When a monitor is removed, the OsdWindow for that monitor may process
the monitors-changed signal before OsdWindowManager does (which will
remove the OSD). If that happens, we will currently try to access
an invalid monitor; check for this to avoid a couple of warning.
2014-05-08 11:14:23 +02:00
011fef4b2b system: Keep key focus when switching between alternatives
When switching between alternatives in AltSwitcher, the currently
visible child is replaced with the alternative. If the original
child has the key focus when it is removed from the stage, the
focus is lost. Detect this case and manually move the focus to
the new child.

https://bugzilla.gnome.org/show_bug.cgi?id=727259
2014-05-06 14:25:39 +02:00
caf6389f79 Fix Italian translation
- "Aereo" is the thing that flies, "Aero" is the Windows 7 theme.
- "Abilita", not "Abilitato", for the Enable action.
2014-05-04 15:22:55 +02:00
c7306449ae workspaceThumbnails: Move to primary monitor first when creating workspace
When dragging a window preview from a non-primary monitor onto a
workspace thumbnail, the window is moved to the primery monitor
first before changing its workspace. However when dragging the window
between thumbnails to create a new workspace, it is kept on its current
monitor instead. This is not only inconsistent, but outright confusing
with the default 'workspaces-only-on-primary' setting, as the newly
created workspace is immediately removed again.

https://bugzilla.gnome.org/show_bug.cgi?id=683819
2014-05-03 23:50:25 +02:00
8c45e6fa43 main: Don't depend on GSystem unconditionally
We only need GSystem when running under systemd. As libgsystem itself
has a hard dependency on systemd, only import it when actually needed
to keep working on systems where systemd is not available.

https://bugzilla.gnome.org/show_bug.cgi?id=728449
2014-05-03 23:50:25 +02:00
9504d21297 Updated Belarusian translation.
(cherry picked from commit 6d679148b6)
2014-05-03 14:46:57 +02:00
0832ca544a Update the default favourite apps list for renamed desktop files
Nautilus and gnome-documents have changed their desktop file names to
support DBus activation.

https://bugzilla.gnome.org/show_bug.cgi?id=729429
2014-05-03 00:01:56 +02:00
a000a1f76e rfkill: make the Airplane mode menu insensitive in the lock screen
Like we do for the bluetooth and wifi menus

https://bugzilla.gnome.org/show_bug.cgi?id=729224
2014-04-30 21:52:56 +02:00
ea8b02ff7f Bump version to 3.13.1
Update NEWS.
2014-04-30 19:15:12 +02:00
3cc7112283 Add a 'Show Details' menuitem in the app picker
Add a menu item that shows the details of the application
in gnome-software.

https://bugzilla.gnome.org/show_bug.cgi?id=643043
2014-04-30 19:15:06 +02:00
50f0fc4e23 overviewControls: Adjust heuristic for hiding workspace switcher
The workspace switcher should be expanded when workspaces are in use.
Our current implementation assumes that workspaces are used when there
are windows on at least two workspaces. However workspaces are already
used when moving from a non-empty workspace to an empty one (presumably
with the intention to launch something on that workspace), so tweak the
heuristic accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=662457
2014-04-30 18:06:52 +02:00
0a4ad01d8a Updated Galician translations 2014-04-30 15:34:42 +02:00
19afabe2a1 dateMenu: Don't make dateMenuButton reactive on current day
Having the ability to go to the current date if the user is already
on the current date can be confusing. So don't make the button reactive
until the selected date changes.

https://bugzilla.gnome.org/show_bug.cgi?id=726724
2014-04-29 01:02:27 +02:00
103027a446 St: remove hover state if reactive disabled
The hover state of a widget can become persistent if
the widget becomes reactive while a pointer grab.
To avoid that, remove hover state if the reactive property
is disabled.

https://bugzilla.gnome.org/show_bug.cgi?id=728343
2014-04-29 01:02:27 +02:00
28c1f81f4a appDisplay: Make page panning smoother on touch
Currently, our logic for page panning isn't great. If the user starts a
pan upwards and hesitates over a new page, we'll go to the *next* page
on release, since the difference is greater, but the velocity wound down
to 0.

Instead of trying to treat it like page down or scrolls, simply do the
math to find the page where the user scrolled to.

This is unfortunately broken for fast swipes, since the user doesn't get
far enough into the new page to make a difference. I'm getting the
impression we'll need a gesture recognizer for this, though, however
crude. Simple hacks I tried, like a velocity multiplier, didn't work
properly.

https://bugzilla.gnome.org/show_bug.cgi?id=729064
2014-04-28 13:30:09 -04:00
82ec6c08b8 appDisplay: Fix pages getting "stuck" under touch
We often call goToPage like:

  this.goToPage(this._currentPage - 1);

(or + 1). During panning, these are based on the velocity values
of the gesture action. If we're already on the first or last page
and the panning ends, it's possible to get goToPage that's either
-1 or greater than the last page.

During normal usage, this isn't a problem, since the Y values will
be correct, always. But when panning, the Y values stick to the
finger, and thus if we return early, we won't snap to the exact page,
making it seem like things get "stuck".

Fix this the simple way by clamping to the correctly-ranged values
of pageNumber

https://bugzilla.gnome.org/show_bug.cgi?id=729064
2014-04-28 13:30:09 -04:00
551e57406d appDisplay: Remove redundant checks for pageNumber
We already do these at the beginning of the function.

https://bugzilla.gnome.org/show_bug.cgi?id=729064
2014-04-28 13:30:08 -04:00
1c8036b863 If systemd is enabled send a message with MESSAGE_ID after gnome-shell has started in user mode
Also adds a new dependency - libgsystem
https://bugzilla.gnome.org/show_bug.cgi?id=728449
2014-04-28 18:49:44 +02:00
f8bac5c197 util: Don't pass too many arguments to child_watch_add 2014-04-28 10:22:51 -04:00
6ece67b654 calendar: Don't mark translations from GTK+ for translation
The order in which month and year are displayed is controlled by
a "special" translated string in GTK+. We pick up the translation
from there, so make sure that it doesn't get translated again
in gnome-shell.

https://bugzilla.gnome.org/show_bug.cgi?id=715042
2014-04-27 02:06:27 +02:00
96411dfed5 Updated Brazilian Portuguese translation 2014-04-26 22:14:01 +00:00
24897169a9 st-entry: Handle <shift>insert
GTK+ supports this as alternative to <ctrl>v, so let's do the same
for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=648318
2014-04-26 21:19:59 +02:00
05ddece9a0 workspaceThumbnails: Fix removal of multiple workspaces
When workspaces have been removed, we need to remove the corresponding
thumbnails as well; the number of thumbnails that need removing is
the difference between the old number of workspaces and the new one.
Currently we assume that the old number of workspaces corresponds to
the number of existing thumbnails, but that may actually be wrong:
A thumbnail will still be animated out after its workspace has been
removed. As a result, we end up removing too many thumbnails when a
workspace is removed while a thumbnail of a previously removed workspace
is still animating out. Fix this by basing the old number of workspaces
only on thumbnails that have not been removed previously.

https://bugzilla.gnome.org/show_bug.cgi?id=728820
2014-04-26 17:50:38 +02:00
df08ae7996 screenshot: Port to GrabHelper
Taking an area screenshot doesn't work currently when in "grab mode",
for instance when the message tray or top bar menus are open. Fix
this by using GrabHelper for selecting the area, so grabs are properly
stacked for us.

https://bugzilla.gnome.org/show_bug.cgi?id=709126
2014-04-26 16:19:21 +02:00
a244c1e987 loginManager: Kill ConsoleKit support
The code path is completely unmaintained and untested (and probably
unused as well, considering that nobody has complained about accessing
the session object's Active property which does not exist in the
ConsoleKit case).
Most of our ConsoleKit code is already a dummy anyway, just do the
same for the remaining functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=686626
2014-04-25 15:53:45 +02:00
bc182f78b1 style: Clean out unused selectors 2014-04-25 15:51:43 +02:00
2d18b06b3f osdWindow: Fix setting a zero-level in osdWindow
Commit 7101cc3170 caused a small
regression insomuch that it checks for a valid "level" but simply using
"if (level)" which will be false if level is undefined and if
level == 0.

Check for not undefined instead.

https://bugzilla.gnome.org/show_bug.cgi?id=727384
2014-04-25 15:20:18 +02:00
61852df9a1 Tajik translation updated 2014-04-25 17:16:49 +05:00
3969be38bd environment: Be more careful when hooking up style properties
Sometimes it is more appropriate to set layout properties that are
hooked up to CSS properties in code. However this is currently not
possible, as we end up setting properties to 0 when not found in CSS;
be a bit more careful when hooking up CSS properties to support this.

https://bugzilla.gnome.org/show_bug.cgi?id=728897
2014-04-24 19:31:55 +02:00
92f9aff784 tests/gapplication: Don't pass too many args to gtk_init 2014-04-23 16:49:44 -04:00
815cfe6c20 Updated Romanian Translation 2014-04-23 21:46:14 +02:00
052b5176d2 Updated Czech translation 2014-04-23 17:05:29 +02:00
bccbcd8e4a networkAgent: Handle empty vpn 'keyfiles'
Passing back no data is valid in case both secrets (group and user passwords)
are stored.

Just confirm the request in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=728681
2014-04-23 13:09:34 +02:00
90589fabee texture-cache: Fix compile warning 2014-04-22 18:35:56 -04:00
5947111f14 Updated Ukrainian translation 2014-04-22 23:07:18 +03:00
c8c56a5443 Updated Khmer translation 2014-04-22 08:46:49 +00:00
a83b9ed6d7 search: Make sure to destroy old provider displays when we unregister
When we unregistered providers, like when we refreshed the list of
active remote providers, we would forget to destroy the old provider
display after the fact. This left an empty "skeleton" provider display
still in the search results that would never be filled in. Make sure
to destroy it properly.

https://bugzilla.gnome.org/show_bug.cgi?id=728597
2014-04-21 23:36:52 -04:00
f9c83bccb6 status: use consistent messages for network connections
https://bugzilla.gnome.org/show_bug.cgi?id=727163
2014-04-21 22:03:22 +02:00
2f720e22fc rfkill: fix turning off airplane mode from the menu
The menu does not have a proxy anymore, it needs to go through
the manager.

https://bugzilla.gnome.org/show_bug.cgi?id=728512
2014-04-21 19:10:54 +02:00
329028d3b9 Updated Dutch translation 2014-04-18 20:16:51 +02:00
5c3f9f6999 osdWindow: Show on all monitors
We had one osdWindow that we displayed either on the primary monitor or on
whatever monitor index got passed over dbus.

Change that to show the osd on all monitors when no explicit monitor is
requested. A monitor should be requested in cases like display brightness where it makes sense to only show the osd on the affected monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=722684
2014-04-17 15:15:14 +02:00
4a6b89d44c windowManager: add switch-to-workspace-last keybinding
When using dynamic workspace, the number of the last workspace may vary,
and it would be nice to have a keybinding to jump directly to it.

https://bugzilla.gnome.org/show_bug.cgi?id=659288
2014-04-16 21:45:14 +02:00
7fa1834ab6 extension-prefs: Remove extra whitespace 2014-04-15 17:54:51 -04:00
c7bc9f8925 extension-prefs: Kill warning
We need to include shell-js.h
2014-04-15 17:54:51 -04:00
70d75ca311 loginManager: Don't pass too many args to steal_fds 2014-04-15 17:53:37 -04:00
9830b3b8f7 appDisplay: Don't pass too many args to add_actor 2014-04-15 17:53:34 -04:00
525c8780fd Fix typo 2014-04-15 23:35:06 +02:00
76c4ec8ee4 layout: Don't always extend struts to the screen edge
NetWM struts are defined in terms of screen edges (rather than monitor
edges), which works poorly with vertical monitor layouts (as it renders
entire monitors unusable). Don't extend struts in those cases.

https://bugzilla.gnome.org/show_bug.cgi?id=663690
2014-04-15 23:35:06 +02:00
b4a48a7644 extension-prefs: Force linking with libgnome-shell-js
Use the same hack we use for the main executable to fool the linker
when using --as-needed.

https://bugzilla.gnome.org/show_bug.cgi?id=727948
2014-04-15 23:35:05 +02:00
5087f0930c l10n: Update Japanese translation 2014-04-15 00:36:54 +09:00
398cc5af85 Updated Danish translation 2014-04-13 21:53:58 +02:00
f073945d31 Updated Hungarian translation 2014-04-13 15:42:18 +02:00
c36abcb905 Updated Latvian translation 2014-04-12 12:35:33 +03:00
e2ccbe5528 layout: Change setDummyCursorPosition to also set the size
If we are being used to follow a text entry cursor we also need to set
the size so that the popup menu avoids covering it.

https://bugzilla.gnome.org/show_bug.cgi?id=727579
2014-04-11 16:54:01 +02:00
68b2d5fcf0 LookingGlass: Correct timeout usage
Calling Mainloop.source_remove() on the timeout ID will not reset it,
and we're already removing the timeout by returning GLib.SOURCE_REMOVE
in the callback.
2014-04-10 21:08:49 +02:00
cd2bd7685a js: Name all the timeouts and idles
With very uninventive names. Names now, good names later.

https://bugzilla.gnome.org/show_bug.cgi?id=727983
2014-04-10 21:08:16 +02:00
85f811f147 src: Name all the timeouts and idles
https://bugzilla.gnome.org/show_bug.cgi?id=727983
2014-04-10 19:38:04 +02:00
e8fd8b58d0 Added Khmer translation 2014-04-10 07:30:29 +00:00
2aa12e8f4b Updated Indonesian translation 2014-04-10 05:48:25 +00:00
ee0c76c2b9 Link to libmutter always
Wayland support was merged into mutter master.
2014-04-09 15:24:09 -07:00
139 changed files with 10766 additions and 6728 deletions

3
.gitignore vendored
View File

@ -78,11 +78,8 @@ src/gnome-shell-calendar-server
src/gnome-shell-extension-prefs src/gnome-shell-extension-prefs
src/gnome-shell-extension-tool src/gnome-shell-extension-tool
src/gnome-shell-hotplug-sniffer src/gnome-shell-hotplug-sniffer
src/gnome-shell-jhbuild
src/gnome-shell-perf-helper src/gnome-shell-perf-helper
src/gnome-shell-perf-tool src/gnome-shell-perf-tool
src/gnome-shell-real
src/gnome-shell-wayland
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
src/run-js-test src/run-js-test
src/test-recorder src/test-recorder

89
NEWS
View File

@ -1,3 +1,92 @@
3.13.3
======
* Don't allow closing windows with attached modals [Florian; #729886]
* Fix self-restarting on OpenBSD [Antoine; #727763]
* Improve behavior of window buttons with compositor menus [Florian; #731058]
* Work around atspi-related performance regression [Alejandro; #730118]
* Misc bug fixes and cleanups [Florian, Lan, Jasper, Christophe, Debarshi,
Zeeshan; #728271, #726460, #703833, #731118, #731220, #695487, #730527,
#728170, #731619, #731738, #731882, #731923]
Contributors:
Zeeshan Ali (Khattak), Christophe Fergeau, Adel Gadllah, Antoine Jacoutot,
Ting-Wei Lan, Florian Müllner, Alejandro Piñeiro, Debarshi Ray,
Carlos Soriano, Jasper St. Pierre, Wim Taymans, Rico Tzschichholz
Translations:
Philip Withnall [en_GB], Milo Casagrande [it], Aurimas Černius [lt],
Enrico Nicoletto [pt_BR], Kjartan Maraas [nb], Balázs Meskó [hu],
Muhammet Kara [tr], Daniel Mustieles [es], Yosef Or Boczko [he],
Matej Urbančič [sl], Mattias Eriksson [sv]
3.13.2
======
* Make airplane mode menu insensitive in lock screen [Giovanni; #729224]
* Don't always extend struts to the screen edge [Florian; #683819]
* Fix keynav for alternatives in AltSwitcher [Florian; #727259]
* Implement window menus in the shell [Jasper; #726352]
* Support resource:/// URLs in GNOME_SHELL_JS envvar [Owen; #730409]
* Fix switcher popups with keybindings containing Escape [Rui; #730739]
* Update extension-prefs UI to follow GNOME 3 patterns [Florian; #730829]
* Add support for fallback app menu in window decorations [Florian; #730752]
* Fix keynav escaping open app folders [Florian; #726760]
* Misc. bug fixes [Kalev, Florian, Owen; #729429, #728449, #730408, #730753,
#730653]
Contributors:
Giovanni Campagna, Piotr Drąg, Kalev Lember, Rui Matos, Florian Müllner,
Vadim Rutkovsky, Carlos Soriano, Jasper St. Pierre, Owen W. Taylor
Translations:
Ihar Hrachyshka [be], Giovanni Campagna [it], Carles Ferrando [ca@valencia],
Daniel Mustieles [es], Aurimas Černius [lt], Enrico Nicoletto [pt_BR],
Yosef Or Boczko [he], Marek Černocký [cs], Muhammet Kara [tr],
Georges Neto [pt_BR], Andika Triwidada [id]
3.13.1
======
* Ensure the currently focused app icon is viewable [Rui; #726759]
* Improve language in location menu [Zeeshan; #726498]
* Improve HiDpi support [Cosimo; #726907]
* Set accessible role for window previews [Alejandro; #726670]
* Fix bad antialiasing on panel menu buttons [Carlos; #727336]
* Don't hide location menu [Zeeshan; #727398]
* Fix IM candidate window obscuring current text [Rui; #727579]
* Don't always extend struts to the screen edge [Florian; #663690]
* Add shortcuts for switching to the last workspace [Elad; #659288]
* Show OSD window on all monitors [Adel; #722684]
* Improve consistency of labels in network menu [Paul; #727163]
* Fix zombie search providers showing up [Jasper; #728597]
* Remove ConsoleKit support [Florian; #686626]
* Fix region screenshots with open shell menus [Florian; #709126]
* Support <shift>insert in text entries [Florian; #648318]
* Improve app picker scrolling on touch [Jasper; #729064]
* Don't make date button clickable when on current date [Carlos; #726724]
* Tweak heuristic for hiding workspace switcher [Florian; #662457]
* Add option to show in Software to app context menu [Matthias; #643043]
* Misc. bug fixes and cleanups [Bastien, Florian, Giovanni, Adel, Vadim,
Carlos; #727983, #727948, #728512, #728681, #728897, #727384, #728820,
#715042, #728449, #728343]
Contributors:
Elad Alfassa, Zeeshan Ali (Khattak), Giovanni Campagna, Cosimo Cecchi,
Matthias Clasen, Piotr Drąg, Adel Gadllah, Paul Lange, Rui Matos,
Simon McVittie, Florian Müllner, Bastien Nocera, Alejandro Piñeiro,
Vadim Rutkovsky, Carlos Soriano, Jasper St. Pierre
Translations:
Khaled Hosny [ar], Piotr Drąg [pl], Yosef Or Boczko [he],
Antonio Fernandes C. Neto [pt_BR], Marek Černocký [cs], maria thukididu [el],
Andika Triwidada [id], Daniel Mustieles [es], Changwoo Ryu [ko],
Benjamin Steinwender [de], Sphinx Jiang [zh_CN],
Inaki Larranaga Murgoitio [eu], Marcus Lundblad [sv], Aurimas Černius [lt],
Stas Solovey [ru], Alexandre Franke [fr], Matej Urbančič [sl],
Fran Diéguez [gl], Pau Iranzo [ca], Luca Ferretti [it], Milo Casagrande [it],
Tiago S [pt], Victor Ibragimov [tg], Dirgita [id], Khoem Sokhem [km],
Rūdolfs Mazurs [lv], Balázs Úr [hu], Ask H. Larsen [da], Ikuya Awashiro [ja],
Wouter Bolsterlee [nl], Daniel Korostil [uk], Daniel Șerbănescu [ro],
Enrico Nicoletto [pt_BR]
3.12.0 3.12.0
====== ======
* gdm: Reset greeter when coming back to login screen [Jasper; #726989] * gdm: Reset greeter when coming back to login screen [Jasper; #726989]

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.12.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.13.3],[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])
@ -76,7 +76,7 @@ AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.15.90 CLUTTER_MIN_VERSION=1.15.90
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.39.0 GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.12.0 MUTTER_MIN_VERSION=3.13.3
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
@ -112,13 +112,6 @@ fi
PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS) PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION) PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION)
PKG_CHECK_MODULES(MUTTER_WAYLAND, [libmutter-wayland >= $MUTTER_MIN_VERSION],
[MUTTER_WAYLAND_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter-wayland`
AC_SUBST(MUTTER_WAYLAND_TYPELIB_DIR)
have_mutter_wayland=yes],
[have_mutter_wayland=no])
AM_CONDITIONAL(HAVE_MUTTER_WAYLAND, test $have_mutter_wayland != no)
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION) PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11) PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
@ -230,6 +223,14 @@ fi
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
GNOME_COMPILE_WARNINGS([error]) GNOME_COMPILE_WARNINGS([error])
case "$WARN_CFLAGS" in
*-Werror*)
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
;;
esac
AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS"
AC_SUBST(AM_CFLAGS)
BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}" BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}"
AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to]) AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])

View File

@ -1,9 +1,5 @@
desktopdir=$(datadir)/applications desktopdir=$(datadir)/applications
desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop desktop_DATA = gnome-shell.desktop gnome-shell-wayland.desktop gnome-shell-extension-prefs.desktop
if HAVE_MUTTER_WAYLAND
desktop_DATA += gnome-shell-wayland.desktop
endif HAVE_MUTTER_WAYLAND
# We substitute in bindir so it works as an autostart # We substitute in bindir so it works as an autostart
# file when built in a non-system prefix # file when built in a non-system prefix
@ -39,7 +35,6 @@ dist_theme_DATA = \
theme/filter-selected-rtl.svg \ theme/filter-selected-rtl.svg \
theme/gnome-shell.css \ theme/gnome-shell.css \
theme/logged-in-indicator.svg \ theme/logged-in-indicator.svg \
theme/menu-arrow-symbolic.svg \
theme/message-tray-background.png \ theme/message-tray-background.png \
theme/more-results.svg \ theme/more-results.svg \
theme/noise-texture.png \ theme/noise-texture.png \

View File

@ -1,5 +1,4 @@
[org.gnome.shell.overrides] [org.gnome.shell.overrides]
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
button-layout = /desktop/gnome/shell/windows/button_layout
edge-tiling = /desktop/gnome/shell/windows/edge_tiling edge-tiling = /desktop/gnome/shell/windows/edge_tiling
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary

View File

@ -2,7 +2,7 @@
Type=Application Type=Application
_Name=GNOME Shell (wayland compositor) _Name=GNOME Shell (wayland compositor)
_Comment=Window management and application launching _Comment=Window management and application launching
Exec=@bindir@/mutter-launch -- gnome-shell-wayland --wayland --display-server Exec=@bindir@/gnome-shell --wayland --display-server
X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Component=general

View File

@ -38,7 +38,6 @@
<method name="Screencast"> <method name="Screencast">
<arg type="s" direction="in" name="file_template"/> <arg type="s" direction="in" name="file_template"/>
<arg type="a{sv}" direction="in" name="options"/> <arg type="a{sv}" direction="in" name="options"/>
<arg type="b" direction="in" name="flash"/>
<arg type="b" direction="out" name="success"/> <arg type="b" direction="out" name="success"/>
<arg type="s" direction="out" name="filename_used"/> <arg type="s" direction="out" name="filename_used"/>
</method> </method>

View File

@ -31,7 +31,7 @@
</_description> </_description>
</key> </key>
<key name="favorite-apps" type="as"> <key name="favorite-apps" type="as">
<default>[ 'epiphany.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop' ]</default> <default>[ 'epiphany.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Documents.desktop' ]</default>
<_summary>List of desktop file IDs for favorite applications</_summary> <_summary>List of desktop file IDs for favorite applications</_summary>
<_description> <_description>
The applications corresponding to these identifiers The applications corresponding to these identifiers
@ -40,10 +40,10 @@
</key> </key>
<key name="app-picker-view" type="u"> <key name="app-picker-view" type="u">
<default>0</default> <default>0</default>
<summary>App Picker View</summary> <_summary>App Picker View</_summary>
<description> <_description>
Index of the currently selected view in the application picker. Index of the currently selected view in the application picker.
</description> </_description>
</key> </key>
<key name="command-history" type="as"> <key name="command-history" type="as">
<default>[]</default> <default>[]</default>
@ -128,8 +128,8 @@
</key> </key>
<key name="pause-resume-tweens" type="as"> <key name="pause-resume-tweens" type="as">
<default>[]</default> <default>[]</default>
<summary>Keybinding that pauses and resumes all running tweens, for debugging purposes</summary> <_summary>Keybinding that pauses and resumes all running tweens, for debugging purposes</_summary>
<description></description> <_description></_description>
</key> </key>
</schema> </schema>
@ -175,11 +175,11 @@
gettext-domain="@GETTEXT_PACKAGE@"> gettext-domain="@GETTEXT_PACKAGE@">
<key type="b" name="current-workspace-only"> <key type="b" name="current-workspace-only">
<default>false</default> <default>false</default>
<summary>Limit switcher to current workspace.</summary> <_summary>Limit switcher to current workspace.</_summary>
<description> <_description>
If true, only applications that have windows on the current workspace are shown in the switcher. If true, only applications that have windows on the current workspace are shown in the switcher.
Otherwise, all applications are included. Otherwise, all applications are included.
</description> </_description>
</key> </key>
</schema> </schema>
@ -202,11 +202,11 @@
</key> </key>
<key type="b" name="current-workspace-only"> <key type="b" name="current-workspace-only">
<default>true</default> <default>true</default>
<summary>Limit switcher to current workspace.</summary> <_summary>Limit switcher to current workspace.</_summary>
<description> <_description>
If true, only windows from the current workspace are shown in the switcher. If true, only windows from the current workspace are shown in the switcher.
Otherwise, all windows are included. Otherwise, all windows are included.
</description> </_description>
</key> </key>
</schema> </schema>
@ -221,15 +221,6 @@
</_description> </_description>
</key> </key>
<key name="button-layout" type="s">
<default>":close"</default>
<_summary>Arrangement of buttons on the titlebar</_summary>
<_description>
This key overrides the key in org.gnome.desktop.wm.preferences when
running GNOME Shell.
</_description>
</key>
<key name="edge-tiling" type="b"> <key name="edge-tiling" type="b">
<default>true</default> <default>true</default>
<_summary>Enable edge tiling when dropping windows on screen edges</_summary> <_summary>Enable edge tiling when dropping windows on screen edges</_summary>

View File

@ -153,6 +153,21 @@ StScrollBar StButton#vhandle:active {
-arrow-rise: 11px; -arrow-rise: 11px;
} }
.popup-menu-boxpointer.fallback-app-menu {
-arrow-border-radius: 4px;
-arrow-background-color: #ededed;
-arrow-border-width: 1px;
-arrow-border-color: #a6a6a6;
-arrow-base: 24px;
-arrow-rise: 11px;
}
.popup-menu-boxpointer.fallback-app-menu.dark {
-arrow-background-color: #3f4747;
-arrow-border-color: #282b2b;
}
.popup-menu { .popup-menu {
min-width: 200px; min-width: 200px;
} }
@ -166,6 +181,15 @@ StScrollBar StButton#vhandle:active {
background-color: #333333; background-color: #333333;
} }
.fallback-app-menu .popup-submenu-menu-item:open {
background-color: #888888;
color: white;
}
.fallback-app-menu.dark .popup-submenu-menu-item:open {
background-color: #333333;
}
.popup-sub-menu { .popup-sub-menu {
background-gradient-start: rgba(80,80,80,0.3); background-gradient-start: rgba(80,80,80,0.3);
background-gradient-end: rgba(80,80,80,0.4); background-gradient-end: rgba(80,80,80,0.4);
@ -173,6 +197,20 @@ StScrollBar StButton#vhandle:active {
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.9); box-shadow: inset 0px 2px 4px rgba(0,0,0,0.9);
} }
.fallback-app-menu .popup-sub-menu {
background-gradient-start: #dddddd;
background-gradient-end: #dfdfdf;
background-gradient-direction: vertical;
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.4);
}
.fallback-app-menu.dark .popup-sub-menu {
background-gradient-start: #474747;
background-gradient-end: #4b4b4b;
background-gradient-direction: vertical;
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.9);
}
.popup-sub-menu:scrolled .popup-menu-item:ltr { .popup-sub-menu:scrolled .popup-menu-item:ltr {
padding-right: 0em; padding-right: 0em;
} }
@ -221,7 +259,29 @@ StScrollBar StButton#vhandle:active {
color: #9f9f9f; color: #9f9f9f;
} }
.popup-image-menu-item { .fallback-app-menu .popup-menu-item {
color: #43484a;
}
.fallback-app-menu .popup-menu-item:active {
color: white;
background-color: #4689cd;
}
.fallback-app-menu .popup-menu-item:insensitive {
color: gray;
}
.fallback-app-menu.dark .popup-menu-item {
color: white;
}
.fallback-app-menu.dark .popup-menu-item:active {
background-color: #445f7d;
}
.fallback-app-menu.dark .popup-menu-item:insensitive {
color: #9f9f9f;
} }
.popup-separator-menu-item { .popup-separator-menu-item {
@ -233,8 +293,15 @@ StScrollBar StButton#vhandle:active {
padding: 8px 0px; padding: 8px 0px;
} }
.popup-alternating-menu-item:alternate { .fallback-app-menu .popup-separator-menu-item {
font-weight: bold; -gradient-start: #a0a2a3;
-gradient-end: #a0a2a3;
-margin-horizontal: 0;
}
.fallback-app-menu.dark .popup-separator-menu-item {
-gradient-start: #818584;
-gradient-end: #818584;
} }
.popup-status-menu-item { .popup-status-menu-item {
@ -336,6 +403,14 @@ StScrollBar StButton#vhandle:active {
icon-size: 16px; icon-size: 16px;
} }
.no-networks-label {
color: #999999;
}
.no-networks-box {
spacing: 12px;
}
/* Buttons */ /* Buttons */
.candidate-page-button, .candidate-page-button,
@ -582,11 +657,6 @@ StScrollBar StButton#vhandle:active {
app-icon-bottom-clip: 2px; app-icon-bottom-clip: 2px;
} }
.app-menu-icon {
width: 24px;
height: 24px;
}
.panel-button { .panel-button {
-natural-hpadding: 12px; -natural-hpadding: 12px;
-minimum-hpadding: 6px; -minimum-hpadding: 6px;
@ -1157,11 +1227,6 @@ StScrollBar StButton#vhandle:active {
text-shadow: black 0px 2px 2px; text-shadow: black 0px 2px 2px;
} }
#LookingGlassDialog .lg-inspector-title {
font-weight: bold;
padding-bottom: 8px;
}
.lg-dialog StEntry { .lg-dialog StEntry {
selection-background-color: #bbbbbb; selection-background-color: #bbbbbb;
selected-color: #333333; selected-color: #333333;
@ -1241,14 +1306,8 @@ StScrollBar StButton#vhandle:active {
width: 0.3em; width: 0.3em;
} }
#calendarPopup .calendar {
padding: 10px;
}
.calendar { .calendar {
padding: .4em 1.75em .8em 1.75em; padding: .4em 1.75em .8em 1.75em;
spacing-rows: 0px;
spacing-columns: 0px;
} }
.calendar-month-label { .calendar-month-label {
@ -1444,11 +1503,8 @@ StScrollBar StButton#vhandle:active {
padding-right: 8pt; padding-right: 8pt;
} }
.url-highlighter {
link-color: #ccccff;
}
/* Message Tray */ /* Message Tray */
#message-tray { #message-tray {
background: #2e3436 url(message-tray-background.png); background: #2e3436 url(message-tray-background.png);
background-repeat: repeat; background-repeat: repeat;
@ -1471,13 +1527,12 @@ StScrollBar StButton#vhandle:active {
color: #eeeeee; color: #eeeeee;
} }
.no-messages-label, .url-highlighter {
.no-networks-label { link-color: #ccccff;
color: #999999;
} }
.no-networks-box { .no-messages-label {
spacing: 12px; color: #999999;
} }
.notification { .notification {
@ -1773,26 +1828,6 @@ StScrollBar StButton#vhandle:active {
spacing: 8px; spacing: 8px;
} }
.thumbnail-scroll-gradient-left {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 1.0);
background-gradient-end: rgba(51, 51, 51, 0);
border-radius: 24px;
border-radius-topright: 0px;
border-radius-bottomright: 0px;
width: 60px;
}
.thumbnail-scroll-gradient-right {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 0);
background-gradient-end: rgba(51, 51, 51, 1.0);
border-radius: 24px;
border-radius-topleft: 0px;
border-radius-bottomleft: 0px;
width: 60px;
}
.switcher-list .item-box { .switcher-list .item-box {
padding: 8px; padding: 8px;
border-radius: 8px; border-radius: 8px;
@ -2062,10 +2097,6 @@ StScrollBar StButton#vhandle:active {
icon-size: 48px; icon-size: 48px;
} }
.mount-password-reask {
color: red;
}
.show-processes-dialog, .show-processes-dialog,
.mount-question-dialog { .mount-question-dialog {
spacing: 24px; spacing: 24px;
@ -2361,13 +2392,6 @@ StScrollBar StButton#vhandle:active {
padding-bottom: 1em; padding-bottom: 1em;
} }
.login-dialog-title {
font-size: 14pt;
font-weight: bold;
color: #666666;
padding-bottom: 2em;
}
.login-dialog { .login-dialog {
/* Reset border and background */ /* Reset border and background */
border: none; border: none;
@ -2416,10 +2440,6 @@ StScrollBar StButton#vhandle:active {
background-size: contain; background-size: contain;
} }
.login-dialog-user-list-item-text-box {
padding: 0 0.5em;
}
.login-dialog-user-list-item .login-dialog-timed-login-indicator { .login-dialog-user-list-item .login-dialog-timed-login-indicator {
background-color: rgba(0,0,0,0.0); background-color: rgba(0,0,0,0.0);
height: 2px; height: 2px;

View File

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg3863"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="menu-arrow.svg">
<defs
id="defs3865" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="-3.1641676"
inkscape:cy="11.823817"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1366"
inkscape:window-height="702"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:snap-bbox="true">
<sodipodi:guide
orientation="1,0"
position="15.996443,16.922964"
id="guide3873" />
<sodipodi:guide
orientation="0,1"
position="28.041217,3.1256134"
id="guide3875" />
<sodipodi:guide
orientation="0,1"
position="-0.80372916,24.469088"
id="guide3877" />
<sodipodi:guide
orientation="1,0"
position="3.0363102,34.649657"
id="guide3879" />
<sodipodi:guide
orientation="1,0"
position="29.023553,28.577037"
id="guide3881" />
<inkscape:grid
type="xygrid"
id="grid2988" />
</sodipodi:namedview>
<metadata
id="metadata3868">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(0,-16)">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none"
d="m 4,23 8,0 -4,5 z"
id="path3883"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -66,6 +66,7 @@ IGNORE_HFILES= \
gactionmuxer.h \ gactionmuxer.h \
gactionobservable.h \ gactionobservable.h \
gactionobserver.h \ gactionobserver.h \
shell-network-agent.h \
shell-recorder-src.h shell-recorder-src.h
if !BUILD_RECORDER if !BUILD_RECORDER

View File

@ -50,7 +50,6 @@
<xi:include href="xml/shell-wm.xml"/> <xi:include href="xml/shell-wm.xml"/>
<xi:include href="xml/shell-util.xml"/> <xi:include href="xml/shell-util.xml"/>
<xi:include href="xml/shell-mount-operation.xml"/> <xi:include href="xml/shell-mount-operation.xml"/>
<xi:include href="xml/shell-network-agent.xml"/>
<xi:include href="xml/shell-polkit-authentication-agent.xml"/> <xi:include href="xml/shell-polkit-authentication-agent.xml"/>
<xi:include href="xml/shell-tp-client.xml"/> <xi:include href="xml/shell-tp-client.xml"/>
</chapter> </chapter>

View File

@ -23,6 +23,11 @@ const GnomeShellIface = '<node> \
</interface> \ </interface> \
</node>'; </node>';
const customCss = '.prefs-button { \
padding: 8px; \
border-radius: 20px; \
}';
const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface); const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface);
function stripPrefix(string, prefix) { function stripPrefix(string, prefix) {
@ -46,13 +51,9 @@ const Application = new Lang.Class({
this._extensionPrefsModules = {}; this._extensionPrefsModules = {};
this._extensionIters = {};
this._startupUuid = null; this._startupUuid = null;
}, this._loaded = false;
this._skipMainWindow = false;
_buildModel: function() {
this._model = new Gtk.ListStore();
this._model.set_column_types([GObject.TYPE_STRING, GObject.TYPE_STRING]);
}, },
_extensionAvailable: function(uuid) { _extensionAvailable: function(uuid) {
@ -70,11 +71,6 @@ const Application = new Lang.Class({
return true; return true;
}, },
_setExtensionInsensitive: function(layout, cell, model, iter, data) {
let uuid = model.get_value(iter, 0);
cell.set_sensitive(this._extensionAvailable(uuid));
},
_getExtensionPrefsModule: function(extension) { _getExtensionPrefsModule: function(extension) {
let uuid = extension.metadata.uuid; let uuid = extension.metadata.uuid;
@ -104,21 +100,23 @@ const Application = new Lang.Class({
widget = this._buildErrorUI(extension, e); widget = this._buildErrorUI(extension, e);
} }
// Destroy the current prefs widget, if it exists let dialog = new Gtk.Dialog({ use_header_bar: true,
if (this._extensionPrefsBin.get_child()) modal: true,
this._extensionPrefsBin.get_child().destroy(); title: extension.metadata.name });
this._extensionPrefsBin.add(widget); if (this._skipMainWindow) {
this._extensionSelector.set_active_iter(this._extensionIters[uuid]); this.application.add_window(dialog);
}, if (this._window)
this._window.destroy();
this._window = dialog;
this._window.window_position = Gtk.WindowPosition.CENTER;
} else {
dialog.transient_for = this._window;
}
_extensionSelected: function() { dialog.set_default_size(600, 400);
let [success, iter] = this._extensionSelector.get_active_iter(); dialog.get_content_area().add(widget);
if (!success) dialog.show();
return;
let uuid = this._model.get_value(iter, 0);
this._selectExtension(uuid);
}, },
_buildErrorUI: function(extension, exc) { _buildErrorUI: function(extension, exc) {
@ -151,48 +149,26 @@ const Application = new Lang.Class({
_buildUI: function(app) { _buildUI: function(app) {
this._window = new Gtk.ApplicationWindow({ application: app, this._window = new Gtk.ApplicationWindow({ application: app,
window_position: Gtk.WindowPosition.CENTER, window_position: Gtk.WindowPosition.CENTER });
title: _("GNOME Shell Extension Preferences") });
this._window.set_size_request(600, 400); this._window.set_size_request(800, 500);
let vbox = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL }); this._titlebar = new Gtk.HeaderBar({ show_close_button: true,
this._window.add(vbox); title: _("GNOME Shell Extensions") });
this._window.set_titlebar(this._titlebar);
let toolbar = new Gtk.Toolbar(); let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER,
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR); shadow_type: Gtk.ShadowType.IN,
vbox.add(toolbar); halign: Gtk.Align.CENTER,
let toolitem; margin: 18 });
this._window.add(scroll);
let label = new Gtk.Label({ label: '<b>' + _("Extension") + '</b>', this._extensionSelector = new Gtk.ListBox({ selection_mode: Gtk.SelectionMode.NONE });
use_markup: true }); this._extensionSelector.set_sort_func(Lang.bind(this, this._sortList));
toolitem = new Gtk.ToolItem({ child: label }); this._extensionSelector.set_header_func(Lang.bind(this, this._updateHeader));
toolbar.add(toolitem);
this._extensionSelector = new Gtk.ComboBox({ model: this._model, scroll.add(this._extensionSelector);
margin_left: 8,
hexpand: true });
this._extensionSelector.get_style_context().add_class(Gtk.STYLE_CLASS_RAISED);
let renderer = new Gtk.CellRendererText();
this._extensionSelector.pack_start(renderer, true);
this._extensionSelector.add_attribute(renderer, 'text', 1);
this._extensionSelector.set_cell_data_func(renderer, Lang.bind(this, this._setExtensionInsensitive));
this._extensionSelector.connect('changed', Lang.bind(this, this._extensionSelected));
toolitem = new Gtk.ToolItem({ child: this._extensionSelector });
toolitem.set_expand(true);
toolbar.add(toolitem);
this._extensionPrefsBin = new Gtk.Frame();
vbox.add(this._extensionPrefsBin);
let label = new Gtk.Label({
label: _("Select an extension to configure using the combobox above."),
vexpand: true
});
this._extensionPrefsBin.add(label);
this._shellProxy = new GnomeShellProxy(Gio.DBus.session, 'org.gnome.Shell', '/org/gnome/Shell'); this._shellProxy = new GnomeShellProxy(Gio.DBus.session, 'org.gnome.Shell', '/org/gnome/Shell');
this._shellProxy.connectSignal('ExtensionStatusChanged', Lang.bind(this, function(proxy, senderName, [uuid, state, error]) { this._shellProxy.connectSignal('ExtensionStatusChanged', Lang.bind(this, function(proxy, senderName, [uuid, state, error]) {
@ -203,6 +179,35 @@ const Application = new Lang.Class({
this._window.show_all(); this._window.show_all();
}, },
_addCustomStyle: function() {
let provider = new Gtk.CssProvider();
try {
provider.load_from_data(customCss, -1);
} catch(e) {
log('Failed to add application style');
return;
}
let screen = this._window.window.get_screen();
let priority = Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION;
Gtk.StyleContext.add_provider_for_screen(screen, provider, priority);
},
_sortList: function(row1, row2) {
let name1 = ExtensionUtils.extensions[row1.uuid].metadata.name;
let name2 = ExtensionUtils.extensions[row2.uuid].metadata.name;
return name1.localeCompare(name2);
},
_updateHeader: function(row, before) {
if (!before || row.get_header())
return;
let sep = new Gtk.Separator({ orientation: Gtk.Orientation.HORIZONTAL });
row.set_header(sep);
},
_scanExtensions: function() { _scanExtensions: function() {
let finder = new ExtensionUtils.ExtensionFinder(); let finder = new ExtensionUtils.ExtensionFinder();
finder.connect('extension-found', Lang.bind(this, this._extensionFound)); finder.connect('extension-found', Lang.bind(this, this._extensionFound));
@ -211,15 +216,24 @@ const Application = new Lang.Class({
}, },
_extensionFound: function(finder, extension) { _extensionFound: function(finder, extension) {
let iter = this._model.append(); let row = new ExtensionRow(extension.uuid);
this._model.set(iter, [0, 1], [extension.uuid, extension.metadata.name]);
this._extensionIters[extension.uuid] = iter; row.prefsButton.visible = this._extensionAvailable(row.uuid);
row.prefsButton.connect('clicked', Lang.bind(this,
function() {
this._selectExtension(row.uuid);
}));
row.show_all();
this._extensionSelector.add(row);
}, },
_extensionsLoaded: function() { _extensionsLoaded: function() {
if (this._startupUuid && this._extensionAvailable(this._startupUuid)) if (this._startupUuid && this._extensionAvailable(this._startupUuid))
this._selectExtension(this._startupUuid); this._selectExtension(this._startupUuid);
this._startupUuid = null; this._startupUuid = null;
this._skipMainWindow = false;
this._loaded = true;
}, },
_onActivate: function() { _onActivate: function() {
@ -227,29 +241,125 @@ const Application = new Lang.Class({
}, },
_onStartup: function(app) { _onStartup: function(app) {
this._buildModel();
this._buildUI(app); this._buildUI(app);
this._addCustomStyle();
this._scanExtensions(); this._scanExtensions();
}, },
_onCommandLine: function(app, commandLine) { _onCommandLine: function(app, commandLine) {
app.activate(); app.activate();
let args = commandLine.get_arguments(); let args = commandLine.get_arguments();
if (args.length) { if (args.length) {
let uuid = args[0]; let uuid = args[0];
this._skipMainWindow = true;
// Strip off "extension:///" prefix which fakes a URI, if it exists // Strip off "extension:///" prefix which fakes a URI, if it exists
uuid = stripPrefix(uuid, "extension:///"); uuid = stripPrefix(uuid, "extension:///");
if (this._extensionAvailable(uuid)) if (this._extensionAvailable(uuid))
this._selectExtension(uuid); this._selectExtension(uuid);
else else if (!this._loaded)
this._startupUuid = uuid; this._startupUuid = uuid;
else
this._skipMainWindow = false;
} }
return 0; return 0;
} }
}); });
const ExtensionRow = new Lang.Class({
Name: 'ExtensionRow',
Extends: Gtk.ListBoxRow,
_init: function(uuid) {
this.parent();
this.uuid = uuid;
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
this._settings.connect('changed::enabled-extensions', Lang.bind(this,
function() {
this._switch.state = this._isEnabled();
}));
this._buildUI();
},
_buildUI: function() {
let extension = ExtensionUtils.extensions[this.uuid];
let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL,
hexpand: true, margin: 12, spacing: 6 });
this.add(hbox);
let vbox = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL,
spacing: 6, hexpand: true });
hbox.add(vbox);
let name = GLib.markup_escape_text(extension.metadata.name, -1);
let label = new Gtk.Label({ label: '<b>' + name + '</b>',
use_markup: true,
halign: Gtk.Align.START });
vbox.add(label);
let desc = extension.metadata.description.split('\n')[0];
label = new Gtk.Label({ label: desc,
ellipsize: Pango.EllipsizeMode.END,
halign: Gtk.Align.START });
vbox.add(label);
let button = new Gtk.Button({ valign: Gtk.Align.CENTER,
no_show_all: true });
button.add(new Gtk.Image({ icon_name: 'emblem-system-symbolic',
icon_size: Gtk.IconSize.BUTTON,
visible: true }));
button.get_style_context().add_class('prefs-button');
hbox.add(button);
this.prefsButton = button;
this._switch = new Gtk.Switch({ valign: Gtk.Align.CENTER,
state: this._isEnabled() });
this._switch.connect('notify::active', Lang.bind(this,
function() {
if (this._switch.active)
this._enable();
else
this._disable();
}));
this._switch.connect('state-set', function() { return true; });
hbox.add(this._switch);
},
_isEnabled: function() {
let extensions = this._settings.get_strv('enabled-extensions');
return extensions.indexOf(this.uuid) != -1;
},
_enable: function() {
let extensions = this._settings.get_strv('enabled-extensions');
if (extensions.indexOf(this.uuid) != -1)
return;
extensions.push(this.uuid);
this._settings.set_strv('enabled-extensions', extensions);
},
_disable: function() {
let extensions = this._settings.get_strv('enabled-extensions');
let pos = extensions.indexOf(this.uuid);
if (pos == -1)
return;
do {
extensions.splice(pos, 1);
pos = extensions.indexOf(this.uuid);
} while (pos != -1);
this._settings.set_strv('enabled-extensions', extensions);
}
});
function initEnvironment() { function initEnvironment() {
// Monkey-patch in a "global" object that fakes some Shell utilities // Monkey-patch in a "global" object that fakes some Shell utilities
// that ExtensionUtils depends on. // that ExtensionUtils depends on.

View File

@ -48,8 +48,6 @@ const _SCROLL_ANIMATION_TIME = 0.5;
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0; const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
const _LOGO_ICON_HEIGHT = 48; const _LOGO_ICON_HEIGHT = 48;
let _loginDialog = null;
const UserListItem = new Lang.Class({ const UserListItem = new Lang.Class({
Name: 'UserListItem', Name: 'UserListItem',
@ -384,7 +382,7 @@ const LoginDialog = new Lang.Class({
Lang.bind(this, this._onTimedLoginRequested)); Lang.bind(this, this._onTimedLoginRequested));
} }
this._settings = new Gio.Settings({ schema: GdmUtil.LOGIN_SCREEN_SCHEMA }); this._settings = new Gio.Settings({ schema_id: GdmUtil.LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed::' + GdmUtil.BANNER_MESSAGE_KEY, this._settings.connect('changed::' + GdmUtil.BANNER_MESSAGE_KEY,
Lang.bind(this, this._updateBanner)); Lang.bind(this, this._updateBanner));
@ -483,7 +481,7 @@ const LoginDialog = new Lang.Class({
}, },
_ensureUserListLoaded: function() { _ensureUserListLoaded: function() {
if (!this._userManager.is_loaded) if (!this._userManager.is_loaded) {
this._userManagerLoadedId = this._userManager.connect('notify::is-loaded', this._userManagerLoadedId = this._userManager.connect('notify::is-loaded',
Lang.bind(this, function() { Lang.bind(this, function() {
if (this._userManager.is_loaded) { if (this._userManager.is_loaded) {
@ -492,8 +490,10 @@ const LoginDialog = new Lang.Class({
this._userManagerLoadedId = 0; this._userManagerLoadedId = 0;
} }
})); }));
else } else {
GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList)); let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList));
GLib.Source.set_name_by_id(id, '[gnome-shell] _loadUserList');
}
}, },
_updateDisableUserList: function() { _updateDisableUserList: function() {
@ -686,10 +686,11 @@ const LoginDialog = new Lang.Class({
}, },
onUpdateScope: this, onUpdateScope: this,
onComplete: function() { onComplete: function() {
Mainloop.idle_add(Lang.bind(this, function() { let id = Mainloop.idle_add(Lang.bind(this, function() {
this._greeter.call_start_session_when_ready_sync(serviceName, true, null); this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._greeter.call_start_session_when_ready_sync');
}, },
onCompleteScope: this }); onCompleteScope: this });
}, },
@ -745,6 +746,7 @@ const LoginDialog = new Lang.Class({
hold.release(); hold.release();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
}); });
GLib.Source.set_name_by_id(this._timedLoginIdleTimeOutId, '[gnome-shell] this._timedLoginAnimationTime');
return hold; return hold;
}, },

View File

@ -128,7 +128,7 @@ const ShellUserVerifier = new Lang.Class({
this._client = client; this._client = client;
this._settings = new Gio.Settings({ schema: LOGIN_SCREEN_SCHEMA }); this._settings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed', this._settings.connect('changed',
Lang.bind(this, this._updateDefaultService)); Lang.bind(this, this._updateDefaultService));
this._updateDefaultService(); this._updateDefaultService();
@ -252,6 +252,7 @@ const ShellUserVerifier = new Lang.Class({
this._queueMessageTimeout(); this._queueMessageTimeout();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._messageQueueTimeoutId, '[gnome-shell] this._queueMessageTimeout');
}, },
_queueMessage: function(message, messageType) { _queueMessage: function(message, messageType) {

View File

@ -84,6 +84,7 @@
<file>ui/userWidget.js</file> <file>ui/userWidget.js</file>
<file>ui/viewSelector.js</file> <file>ui/viewSelector.js</file>
<file>ui/windowAttentionHandler.js</file> <file>ui/windowAttentionHandler.js</file>
<file>ui/windowMenu.js</file>
<file>ui/windowManager.js</file> <file>ui/windowManager.js</file>
<file>ui/workspace.js</file> <file>ui/workspace.js</file>
<file>ui/workspaceSwitcherPopup.js</file> <file>ui/workspaceSwitcherPopup.js</file>

View File

@ -46,32 +46,6 @@ const SystemdLoginSessionIface = '<node> \
const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface); const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface);
const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface); const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface);
const ConsoleKitManagerIface = '<node> \
<interface name="org.freedesktop.ConsoleKit.Manager"> \
<method name="CanRestart"> \
<arg type="b" direction="out"/> \
</method> \
<method name="CanStop"> \
<arg type="b" direction="out"/> \
</method> \
<method name="Restart" /> \
<method name="Stop" /> \
<method name="GetCurrentSession"> \
<arg type="o" direction="out" /> \
</method> \
</interface> \
</node>';
const ConsoleKitSessionIface = '<node> \
<interface name="org.freedesktop.ConsoleKit.Session"> \
<signal name="Lock" /> \
<signal name="Unlock" /> \
</interface> \
</node>';
const ConsoleKitSession = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface);
const ConsoleKitManager = Gio.DBusProxy.makeProxyWrapper(ConsoleKitManagerIface);
function haveSystemd() { function haveSystemd() {
return GLib.access("/run/systemd/seats", 0) >= 0; return GLib.access("/run/systemd/seats", 0) >= 0;
} }
@ -101,7 +75,7 @@ function canLock() {
-1, null); -1, null);
let version = result.deep_unpack()[0].deep_unpack(); let version = result.deep_unpack()[0].deep_unpack();
return versionCompare('3.5.91', version); return haveSystemd() && versionCompare('3.5.91', version);
} catch(e) { } catch(e) {
return false; return false;
} }
@ -119,7 +93,7 @@ function getLoginManager() {
if (haveSystemd()) if (haveSystemd())
_loginManager = new LoginManagerSystemd(); _loginManager = new LoginManagerSystemd();
else else
_loginManager = new LoginManagerConsoleKit(); _loginManager = new LoginManagerDummy();
} }
return _loginManager; return _loginManager;
@ -136,9 +110,6 @@ const LoginManagerSystemd = new Lang.Class({
Lang.bind(this, this._prepareForSleep)); Lang.bind(this, this._prepareForSleep));
}, },
// Having this function is a bit of a hack since the Systemd and ConsoleKit
// session objects have different interfaces - but in both cases there are
// Lock/Unlock signals, and that's all we count upon at the moment.
getCurrentSessionProxy: function(callback) { getCurrentSessionProxy: function(callback) {
if (this._currentSession) { if (this._currentSession) {
callback (this._currentSession); callback (this._currentSession);
@ -191,7 +162,7 @@ const LoginManagerSystemd = new Lang.Class({
let fd = -1; let fd = -1;
try { try {
let [outVariant, fdList] = proxy.call_with_unix_fd_list_finish(result); let [outVariant, fdList] = proxy.call_with_unix_fd_list_finish(result);
fd = fdList.steal_fds(outVariant.deep_unpack())[0]; fd = fdList.steal_fds()[0];
callback(new Gio.UnixInputStream({ fd: fd })); callback(new Gio.UnixInputStream({ fd: fd }));
} catch(e) { } catch(e) {
logError(e, "Error getting systemd inhibitor"); logError(e, "Error getting systemd inhibitor");
@ -206,35 +177,13 @@ const LoginManagerSystemd = new Lang.Class({
}); });
Signals.addSignalMethods(LoginManagerSystemd.prototype); Signals.addSignalMethods(LoginManagerSystemd.prototype);
const LoginManagerConsoleKit = new Lang.Class({ const LoginManagerDummy = new Lang.Class({
Name: 'LoginManagerConsoleKit', Name: 'LoginManagerDummy',
_init: function() {
this._proxy = new ConsoleKitManager(Gio.DBus.system,
'org.freedesktop.ConsoleKit',
'/org/freedesktop/ConsoleKit/Manager');
},
// Having this function is a bit of a hack since the Systemd and ConsoleKit
// session objects have different interfaces - but in both cases there are
// Lock/Unlock signals, and that's all we count upon at the moment.
getCurrentSessionProxy: function(callback) { getCurrentSessionProxy: function(callback) {
if (this._currentSession) { // we could return a DummySession object that fakes whatever callers
callback (this._currentSession); // expect (at the time of writing: connect() and connectSignal()
return; // methods), but just never calling the callback should be safer
}
this._proxy.GetCurrentSessionRemote(Lang.bind(this,
function(result, error) {
if (error) {
logError(error, 'Could not get a proxy for the current session');
} else {
this._currentSession = new ConsoleKitSession(Gio.DBus.system,
'org.freedesktop.ConsoleKit',
result[0]);
callback(this._currentSession);
}
}));
}, },
canSuspend: function(asyncCallback) { canSuspend: function(asyncCallback) {
@ -254,4 +203,4 @@ const LoginManagerConsoleKit = new Lang.Class({
callback(null); callback(null);
} }
}); });
Signals.addSignalMethods(LoginManagerConsoleKit.prototype); Signals.addSignalMethods(LoginManagerDummy.prototype);

View File

@ -129,7 +129,7 @@ function trySpawn(argv)
// Dummy child watch; we don't want to double-fork internally // Dummy child watch; we don't want to double-fork internally
// because then we lose the parent-child relationship, which // because then we lose the parent-child relationship, which
// can break polkit. See https://bugzilla.redhat.com//show_bug.cgi?id=819275 // can break polkit. See https://bugzilla.redhat.com//show_bug.cgi?id=819275
GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () {}, null); GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () {});
} }
// trySpawnCommandLine: // trySpawnCommandLine:

View File

@ -167,6 +167,8 @@ const AppSwitcherPopup = new Lang.Class({
this._select(this._selectedIndex, this._nextWindow()); this._select(this._selectedIndex, this._nextWindow());
else if (keysym == Clutter.Up) else if (keysym == Clutter.Up)
this._select(this._selectedIndex, null, true); this._select(this._selectedIndex, null, true);
else
return Clutter.EVENT_PROPAGATE;
} else { } else {
if (keysym == Clutter.Left) if (keysym == Clutter.Left)
this._select(this._previous()); this._select(this._previous());
@ -174,7 +176,11 @@ const AppSwitcherPopup = new Lang.Class({
this._select(this._next()); this._select(this._next());
else if (keysym == Clutter.Down) else if (keysym == Clutter.Down)
this._select(this._selectedIndex, 0); this._select(this._selectedIndex, 0);
else
return Clutter.EVENT_PROPAGATE;
} }
return Clutter.EVENT_STOP;
}, },
_scrollHandler: function(direction) { _scrollHandler: function(direction) {
@ -305,6 +311,7 @@ const AppSwitcherPopup = new Lang.Class({
this._thumbnailTimeoutId = Mainloop.timeout_add ( this._thumbnailTimeoutId = Mainloop.timeout_add (
THUMBNAIL_POPUP_TIME, THUMBNAIL_POPUP_TIME,
Lang.bind(this, this._timeoutPopupThumbnails)); Lang.bind(this, this._timeoutPopupThumbnails));
GLib.Source.set_name_by_id(this._thumbnailTimeoutId, '[gnome-shell] this._timeoutPopupThumbnails');
} }
}, },
@ -360,12 +367,12 @@ const WindowSwitcherPopup = new Lang.Class({
_init: function(items) { _init: function(items) {
this.parent(items); this.parent(items);
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.window-switcher' }); this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.window-switcher' });
}, },
_getWindowList: function() { _getWindowList: function() {
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null; let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
return global.display.get_tab_list(Meta.TabList.NORMAL, global.screen, workspace); return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
}, },
_createSwitcher: function() { _createSwitcher: function() {
@ -403,7 +410,11 @@ const WindowSwitcherPopup = new Lang.Class({
this._select(this._previous()); this._select(this._previous());
else if (keysym == Clutter.Right) else if (keysym == Clutter.Right)
this._select(this._next()); this._select(this._next());
else
return Clutter.EVENT_PROPAGATE;
} }
return Clutter.EVENT_STOP;
}, },
_finish: function() { _finish: function() {
@ -445,11 +456,10 @@ const AppSwitcher = new Lang.Class({
this._arrows = []; this._arrows = [];
let windowTracker = Shell.WindowTracker.get_default(); let windowTracker = Shell.WindowTracker.get_default();
let settings = new Gio.Settings({ schema: 'org.gnome.shell.app-switcher' }); let settings = new Gio.Settings({ schema_id: 'org.gnome.shell.app-switcher' });
let workspace = settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() let workspace = settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace()
: null; : null;
let allWindows = global.display.get_tab_list(Meta.TabList.NORMAL, let allWindows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
global.screen, workspace);
// Construct the AppIcons, add to the popup // Construct the AppIcons, add to the popup
for (let i = 0; i < apps.length; i++) { for (let i = 0; i < apps.length; i++) {
@ -556,6 +566,7 @@ const AppSwitcher = new Lang.Class({
this._mouseTimeOutId = 0; this._mouseTimeOutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._mouseTimeOutId, '[gnome-shell] this._enterItem');
} else } else
this._itemEntered(index); this._itemEntered(index);
}, },

View File

@ -34,6 +34,7 @@ const Animation = new Lang.Class({
this._showFrame(0); this._showFrame(0);
this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update)); this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._update');
} }
this._isPlaying = true; this._isPlaying = true;

View File

@ -16,6 +16,7 @@ const Atk = imports.gi.Atk;
const AppFavorites = imports.ui.appFavorites; const AppFavorites = imports.ui.appFavorites;
const BoxPointer = imports.ui.boxpointer; const BoxPointer = imports.ui.boxpointer;
const DND = imports.ui.dnd; const DND = imports.ui.dnd;
const GrabHelper = imports.ui.grabHelper;
const IconGrid = imports.ui.iconGrid; const IconGrid = imports.ui.iconGrid;
const Main = imports.ui.main; const Main = imports.ui.main;
const Overview = imports.ui.overview; const Overview = imports.ui.overview;
@ -41,9 +42,7 @@ const MIN_FREQUENT_APPS_COUNT = 3;
const INDICATORS_BASE_TIME = 0.25; const INDICATORS_BASE_TIME = 0.25;
const INDICATORS_ANIMATION_DELAY = 0.125; const INDICATORS_ANIMATION_DELAY = 0.125;
const INDICATORS_ANIMATION_MAX_TIME = 0.75; const INDICATORS_ANIMATION_MAX_TIME = 0.75;
// Fraction of page height the finger or mouse must reach
// to change page
const PAGE_SWITCH_TRESHOLD = 0.2;
const PAGE_SWITCH_TIME = 0.3; const PAGE_SWITCH_TIME = 0.3;
const VIEWS_SWITCH_TIME = 0.4; const VIEWS_SWITCH_TIME = 0.4;
@ -81,6 +80,10 @@ function _getFolderName(folder) {
return name; return name;
} }
function clamp(value, min, max) {
return Math.max(min, Math.min(max, value));
}
const BaseAppView = new Lang.Class({ const BaseAppView = new Lang.Class({
Name: 'BaseAppView', Name: 'BaseAppView',
Abstract: true, Abstract: true,
@ -368,7 +371,7 @@ const AllView = new Lang.Class({
Shell.AppSystem.get_default().connect('installed-changed', Lang.bind(this, function() { Shell.AppSystem.get_default().connect('installed-changed', Lang.bind(this, function() {
Main.queueDeferredWork(this._redisplayWorkId); Main.queueDeferredWork(this._redisplayWorkId);
})); }));
this._folderSettings = new Gio.Settings({ schema: 'org.gnome.desktop.app-folders' }); this._folderSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.app-folders' });
this._folderSettings.connect('changed::folder-children', Lang.bind(this, function() { this._folderSettings.connect('changed::folder-children', Lang.bind(this, function() {
Main.queueDeferredWork(this._redisplayWorkId); Main.queueDeferredWork(this._redisplayWorkId);
})); }));
@ -439,8 +442,8 @@ const AllView = new Lang.Class({
}, },
goToPage: function(pageNumber) { goToPage: function(pageNumber) {
if(pageNumber < 0 || pageNumber > this._grid.nPages() - 1) pageNumber = clamp(pageNumber, 0, this._grid.nPages() - 1);
return;
if (this._currentPage == pageNumber && this._displayingPopup && this._currentPopup) if (this._currentPage == pageNumber && this._displayingPopup && this._currentPopup)
return; return;
if (this._displayingPopup && this._currentPopup) if (this._displayingPopup && this._currentPopup)
@ -472,14 +475,12 @@ const AllView = new Lang.Class({
// longer than PAGE_SWITCH_TIME // longer than PAGE_SWITCH_TIME
time = Math.min(time, PAGE_SWITCH_TIME); time = Math.min(time, PAGE_SWITCH_TIME);
if (pageNumber < this._grid.nPages() && pageNumber >= 0) { this._currentPage = pageNumber;
this._currentPage = pageNumber; Tweener.addTween(this._adjustment,
Tweener.addTween(this._adjustment, { value: this._grid.getPageY(this._currentPage),
{ value: this._grid.getPageY(this._currentPage), time: time,
time: time, transition: 'easeOutQuad' });
transition: 'easeOutQuad' }); this._pageIndicators.setCurrentPage(pageNumber);
this._pageIndicators.setCurrentPage(pageNumber);
}
}, },
_diffToPage: function (pageNumber) { _diffToPage: function (pageNumber) {
@ -526,15 +527,19 @@ const AllView = new Lang.Class({
_onPanEnd: function(action) { _onPanEnd: function(action) {
if (this._displayingPopup) if (this._displayingPopup)
return; return;
let diffCurrentPage = this._diffToPage(this._currentPage);
if (diffCurrentPage > this._scrollView.height * PAGE_SWITCH_TRESHOLD) { let pageHeight = this._grid.getPageHeight();
if (action.get_velocity(0)[2] > 0)
this.goToPage(this._currentPage - 1); // Calculate the scroll value we'd be at, which is our current
else // scroll plus any velocity the user had when they released
this.goToPage(this._currentPage + 1); // their finger.
} else {
this.goToPage(this._currentPage); let velocity = -action.get_velocity(0)[2];
} let endPanValue = this._adjustment.value + velocity;
let closestPage = Math.round(endPanValue / pageHeight);
this.goToPage(closestPage);
this._panning = false; this._panning = false;
}, },
@ -736,7 +741,7 @@ const AppDisplay = new Lang.Class({
Name: 'AppDisplay', Name: 'AppDisplay',
_init: function() { _init: function() {
this._privacySettings = new Gio.Settings({ schema: 'org.gnome.desktop.privacy' }); this._privacySettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.privacy' });
this._privacySettings.connect('changed::remember-app-usage', this._privacySettings.connect('changed::remember-app-usage',
Lang.bind(this, this._updateFrequentVisibility)); Lang.bind(this, this._updateFrequentVisibility));
@ -764,7 +769,7 @@ const AppDisplay = new Lang.Class({
this._viewStack = new St.Widget({ x_expand: true, y_expand: true, this._viewStack = new St.Widget({ x_expand: true, y_expand: true,
layout_manager: this._viewStackLayout }); layout_manager: this._viewStackLayout });
this._viewStackLayout.connect('allocated-size-changed', Lang.bind(this, this._onAllocatedSizeChanged)); this._viewStackLayout.connect('allocated-size-changed', Lang.bind(this, this._onAllocatedSizeChanged));
this.actor.add_actor(this._viewStack, { expand: true }); this.actor.add_actor(this._viewStack);
let layout = new ControlsBoxLayout({ homogeneous: true }); let layout = new ControlsBoxLayout({ homogeneous: true });
this._controls = new St.Widget({ style_class: 'app-view-controls', this._controls = new St.Widget({ style_class: 'app-view-controls',
layout_manager: layout }); layout_manager: layout });
@ -948,6 +953,7 @@ const FolderView = new Lang.Class({
let subSize = Math.floor(FOLDER_SUBICON_FRACTION * size); let subSize = Math.floor(FOLDER_SUBICON_FRACTION * size);
let numItems = this._allItems.length; let numItems = this._allItems.length;
let rtl = icon.get_text_direction() == Clutter.TextDirection.RTL;
for (let i = 0; i < 4; i++) { for (let i = 0; i < 4; i++) {
let bin; let bin;
if (i < numItems) { if (i < numItems) {
@ -956,7 +962,7 @@ const FolderView = new Lang.Class({
} else { } else {
bin = new St.Bin({ width: subSize, height: subSize }); bin = new St.Bin({ width: subSize, height: subSize });
} }
layout.pack(bin, i % 2, Math.floor(i / 2)); layout.pack(bin, rtl ? (i + 1) % 2 : i % 2, Math.floor(i / 2));
} }
return icon; return icon;
@ -1245,18 +1251,8 @@ const AppFolderPopup = new Lang.Class({
function() { function() {
this.actor.destroy(); this.actor.destroy();
})); }));
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress)); this._grabHelper = new GrabHelper.GrabHelper(this.actor);
}, this._grabHelper.addActor(Main.layoutManager.overviewGroup);
_onKeyPress: function(actor, event) {
if (!this._isOpen)
return Clutter.EVENT_PROPAGATE;
if (event.get_key_symbol() != Clutter.KEY_Escape)
return Clutter.EVENT_PROPAGATE;
this.popdown();
return Clutter.EVENT_STOP;
}, },
toggle: function() { toggle: function() {
@ -1270,6 +1266,12 @@ const AppFolderPopup = new Lang.Class({
if (this._isOpen) if (this._isOpen)
return; return;
this._isOpen = this._grabHelper.grab({ actor: this.actor,
onUngrab: Lang.bind(this, this.popdown) });
if (!this._isOpen)
return;
this.actor.show(); this.actor.show();
this._boxPointer.setArrowActor(this._source.actor); this._boxPointer.setArrowActor(this._source.actor);
@ -1278,7 +1280,6 @@ const AppFolderPopup = new Lang.Class({
this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
this._isOpen = true;
this.emit('open-state-changed', true); this.emit('open-state-changed', true);
}, },
@ -1286,6 +1287,8 @@ const AppFolderPopup = new Lang.Class({
if (!this._isOpen) if (!this._isOpen)
return; return;
this._grabHelper.ungrab({ actor: this.actor });
this._boxPointer.hide(BoxPointer.PopupAnimation.FADE | this._boxPointer.hide(BoxPointer.PopupAnimation.FADE |
BoxPointer.PopupAnimation.SLIDE); BoxPointer.PopupAnimation.SLIDE);
this._isOpen = false; this._isOpen = false;
@ -1402,6 +1405,7 @@ const AppIcon = new Lang.Class({
this.popupMenu(); this.popupMenu();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._menuTimeoutId, '[gnome-shell] this.popupMenu');
} else if (button == 3) { } else if (button == 3) {
this.popupMenu(); this.popupMenu();
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
@ -1597,6 +1601,26 @@ const AppIconMenu = new Lang.Class({
favs.addFavorite(this._source.app.get_id()); favs.addFavorite(this._source.app.get_id());
})); }));
} }
if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop')) {
this._appendSeparator();
let item = this._appendMenuItem(_("Show Details"));
item.connect('activate', Lang.bind(this, function() {
let id = this._source.app.get_id();
let args = GLib.Variant.new('(ss)', [id, '']);
Gio.DBus.get(Gio.BusType.SESSION, null,
function(o, res) {
let bus = Gio.DBus.get_finish(res);
bus.call('org.gnome.Software',
'/org/gnome/Software',
'org.gtk.Actions', 'Activate',
GLib.Variant.new('(sava{sv})',
['details', [args], null]),
null, 0, -1, null, null);
Main.overview.hide();
});
}));
}
} }
}, },

View File

@ -271,10 +271,11 @@ const BackgroundCache = new Lang.Class({
if (this._animationFilename == params.filename) { if (this._animationFilename == params.filename) {
if (params.onLoaded) { if (params.onLoaded) {
GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animation); params.onLoaded(this._animation);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
} }
} }
@ -286,10 +287,11 @@ const BackgroundCache = new Lang.Class({
this._animation = animation; this._animation = animation;
if (params.onLoaded) { if (params.onLoaded) {
GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animation); params.onLoaded(this._animation);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
} }
})); }));
} }
@ -386,10 +388,11 @@ const Background = new Lang.Class({
this.isLoaded = true; this.isLoaded = true;
GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
this.emit('loaded'); this.emit('loaded');
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this.emit');
}, },
_loadPattern: function() { _loadPattern: function() {
@ -532,6 +535,7 @@ const Background = new Lang.Class({
this._updateAnimation(); this._updateAnimation();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._updateAnimationTimeoutId, '[gnome-shell] this._updateAnimation');
}, },
_loadAnimation: function(filename) { _loadAnimation: function(filename) {
@ -721,7 +725,7 @@ const BackgroundManager = new Lang.Class({
controlPosition: true, controlPosition: true,
settingsSchema: BACKGROUND_SCHEMA }); settingsSchema: BACKGROUND_SCHEMA });
this._settings = new Gio.Settings({ schema: params.settingsSchema }); this._settings = new Gio.Settings({ schema_id: params.settingsSchema });
this._container = params.container; this._container = params.container;
this._layoutManager = params.layoutManager; this._layoutManager = params.layoutManager;
this._effects = params.effects; this._effects = params.effects;

View File

@ -35,7 +35,7 @@ function addBackgroundMenu(actor, layoutManager) {
function openMenu() { function openMenu() {
let [x, y] = global.get_pointer(); let [x, y] = global.get_pointer();
Main.layoutManager.setDummyCursorPosition(x, y); Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0);
actor._backgroundMenu.open(BoxPointer.PopupAnimation.NONE); actor._backgroundMenu.open(BoxPointer.PopupAnimation.NONE);
} }

View File

@ -14,6 +14,9 @@ const Shell = imports.gi.Shell;
const MSECS_IN_DAY = 24 * 60 * 60 * 1000; const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
const SHOW_WEEKDATE_KEY = 'show-weekdate'; const SHOW_WEEKDATE_KEY = 'show-weekdate';
// alias to prevent xgettext from picking up strings translated in GTK+
const gtk30_ = Gettext_gtk30.gettext;
// in org.gnome.desktop.interface // in org.gnome.desktop.interface
const CLOCK_FORMAT_KEY = 'clock-format'; const CLOCK_FORMAT_KEY = 'clock-format';
@ -380,14 +383,14 @@ const Calendar = new Lang.Class({
_init: function() { _init: function() {
this._weekStart = Shell.util_get_week_start(); this._weekStart = Shell.util_get_week_start();
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.calendar' }); this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.calendar' });
this._settings.connect('changed::' + SHOW_WEEKDATE_KEY, Lang.bind(this, this._onSettingsChange)); this._settings.connect('changed::' + SHOW_WEEKDATE_KEY, Lang.bind(this, this._onSettingsChange));
this._useWeekdate = this._settings.get_boolean(SHOW_WEEKDATE_KEY); this._useWeekdate = this._settings.get_boolean(SHOW_WEEKDATE_KEY);
// Find the ordering for month/year in the calendar heading // Find the ordering for month/year in the calendar heading
this._headerFormatWithoutYear = '%B'; this._headerFormatWithoutYear = '%B';
switch (Gettext_gtk30.gettext('calendar:MY')) { switch (gtk30_('calendar:MY')) {
case 'calendar:MY': case 'calendar:MY':
this._headerFormat = '%B %Y'; this._headerFormat = '%B %Y';
break; break;
@ -405,9 +408,9 @@ const Calendar = new Lang.Class({
this._shouldDateGrabFocus = false; this._shouldDateGrabFocus = false;
this.actor = new St.Table({ homogeneous: false, this.actor = new St.Widget({ style_class: 'calendar',
style_class: 'calendar', layout_manager: new Clutter.TableLayout(),
reactive: true }); reactive: true });
this.actor.connect('scroll-event', this.actor.connect('scroll-event',
Lang.bind(this, this._onScroll)); Lang.bind(this, this._onScroll));
@ -438,13 +441,14 @@ const Calendar = new Lang.Class({
}, },
_buildHeader: function() { _buildHeader: function() {
let layout = this.actor.layout_manager;
let offsetCols = this._useWeekdate ? 1 : 0; let offsetCols = this._useWeekdate ? 1 : 0;
this.actor.destroy_all_children(); this.actor.destroy_all_children();
// Top line of the calendar '<| September 2009 |>' // Top line of the calendar '<| September 2009 |>'
this._topBox = new St.BoxLayout(); this._topBox = new St.BoxLayout();
this.actor.add(this._topBox, layout.pack(this._topBox, 0, 0);
{ row: 0, col: 0, col_span: offsetCols + 7 }); layout.set_span(this._topBox, offsetCols + 7, 1);
this._backButton = new St.Button({ style_class: 'calendar-change-month-back', this._backButton = new St.Button({ style_class: 'calendar-change-month-back',
accessible_name: _("Previous month"), accessible_name: _("Previous month"),
@ -476,10 +480,12 @@ const Calendar = new Lang.Class({
let customDayAbbrev = _getCalendarDayAbbreviation(iter.getDay()); let customDayAbbrev = _getCalendarDayAbbreviation(iter.getDay());
let label = new St.Label({ style_class: 'calendar-day-base calendar-day-heading', let label = new St.Label({ style_class: 'calendar-day-base calendar-day-heading',
text: customDayAbbrev }); text: customDayAbbrev });
this.actor.add(label, let col;
{ row: 1, if (this.actor.get_text_direction() == Clutter.TextDirection.RTL)
col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7, col = 6 - (7 + iter.getDay() - this._weekStart) % 7;
x_fill: false, x_align: St.Align.MIDDLE }); else
col = offsetCols + (7 + iter.getDay() - this._weekStart) % 7;
layout.pack(label, col, 1);
iter.setTime(iter.getTime() + MSECS_IN_DAY); iter.setTime(iter.getTime() + MSECS_IN_DAY);
} }
@ -598,6 +604,7 @@ const Calendar = new Lang.Class({
beginDate.setTime(beginDate.getTime() - (weekPadding + daysToWeekStart) * MSECS_IN_DAY); beginDate.setTime(beginDate.getTime() - (weekPadding + daysToWeekStart) * MSECS_IN_DAY);
let layout = this.actor.layout_manager;
let iter = new Date(beginDate); let iter = new Date(beginDate);
let row = 2; let row = 2;
// nRows here means 6 weeks + one header + one navbar // nRows here means 6 weeks + one header + one navbar
@ -645,16 +652,19 @@ const Calendar = new Lang.Class({
button.style_class = styleClass; button.style_class = styleClass;
let offsetCols = this._useWeekdate ? 1 : 0; let offsetCols = this._useWeekdate ? 1 : 0;
this.actor.add(button, let col;
{ row: row, col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7 }); if (rtl)
col = 6 - (7 + iter.getDay() - this._weekStart) % 7;
else
col = offsetCols + (7 + iter.getDay() - this._weekStart) % 7;
layout.pack(button, col, row);
this._buttons.push(button); this._buttons.push(button);
if (this._useWeekdate && iter.getDay() == 4) { if (this._useWeekdate && iter.getDay() == 4) {
let label = new St.Label({ text: _getCalendarWeekForDate(iter).toString(), let label = new St.Label({ text: _getCalendarWeekForDate(iter).toString(),
style_class: 'calendar-day-base calendar-week-number'}); style_class: 'calendar-day-base calendar-week-number'});
this.actor.add(label, layout.pack(label, rtl ? 7 : 0, row);
{ row: row, col: 0, y_align: St.Align.MIDDLE });
} }
iter.setTime(iter.getTime() + MSECS_IN_DAY); iter.setTime(iter.getTime() + MSECS_IN_DAY);
@ -697,9 +707,12 @@ const EventsList = new Lang.Class({
Name: 'EventsList', Name: 'EventsList',
_init: function() { _init: function() {
this.actor = new St.Table({ style_class: 'events-table' }); let layout = new Clutter.TableLayout();
this.actor = new St.Widget({ style_class: 'events-table',
layout_manager: layout });
layout.hookup_style(this.actor);
this._date = new Date(); this._date = new Date();
this._desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' }); this._desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
this._desktopSettings.connect('changed', Lang.bind(this, this._update)); this._desktopSettings.connect('changed', Lang.bind(this, this._update));
this._weekStart = Shell.util_get_week_start(); this._weekStart = Shell.util_get_week_start();
}, },
@ -721,9 +734,13 @@ const EventsList = new Lang.Class({
dayLabel.clutter_text.line_wrap = false; dayLabel.clutter_text.line_wrap = false;
dayLabel.clutter_text.ellipsize = false; dayLabel.clutter_text.ellipsize = false;
this.actor.add(dayLabel, { row: index, col: 0, let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
x_expand: false, x_align: St.Align.END,
y_fill: false, y_align: St.Align.START }); let layout = this.actor.layout_manager;
layout.pack(dayLabel, rtl ? 2 : 0, index);
layout.child_set(dayLabel, { x_expand: false,
x_align: Clutter.TableAlignment.END,
y_align: Clutter.TableAlignment.START });
let clockFormat = this._desktopSettings.get_string(CLOCK_FORMAT_KEY); let clockFormat = this._desktopSettings.get_string(CLOCK_FORMAT_KEY);
let timeString = _formatEventTime(event, clockFormat); let timeString = _formatEventTime(event, clockFormat);
@ -732,18 +749,17 @@ const EventsList = new Lang.Class({
timeLabel.clutter_text.line_wrap = false; timeLabel.clutter_text.line_wrap = false;
timeLabel.clutter_text.ellipsize = false; timeLabel.clutter_text.ellipsize = false;
this.actor.add(timeLabel, { row: index, col: 1, layout.pack(timeLabel, 1, index);
x_expand: false, x_align: St.Align.MIDDLE, layout.child_set(timeLabel, { x_expand: false,
y_fill: false, y_align: St.Align.START }); y_align: Clutter.TableAlignment.START });
let titleLabel = new St.Label({ style_class: 'events-day-task', let titleLabel = new St.Label({ style_class: 'events-day-task',
text: event.summary }); text: event.summary });
titleLabel.clutter_text.line_wrap = true; titleLabel.clutter_text.line_wrap = true;
titleLabel.clutter_text.ellipsize = false; titleLabel.clutter_text.ellipsize = false;
this.actor.add(titleLabel, { row: index, col: 2, layout.pack(titleLabel, rtl ? 0 : 2, index);
x_expand: true, x_align: St.Align.START, layout.child_set(titleLabel, { x_expand: true });
y_fill: false, y_align: St.Align.START });
}, },
_addPeriod: function(header, index, begin, end, includeDayName, showNothingScheduled) { _addPeriod: function(header, index, begin, end, includeDayName, showNothingScheduled) {
@ -752,13 +768,10 @@ const EventsList = new Lang.Class({
if (events.length == 0 && !showNothingScheduled) if (events.length == 0 && !showNothingScheduled)
return index; return index;
this.actor.add(new St.Label({ style_class: 'events-day-header', text: header }), let label = new St.Label({ style_class: 'events-day-header', text: header });
{ row: index, col: 0, col_span: 3, let layout = this.actor.layout_manager;
// In theory, x_expand should be true here, but x_expand layout.pack(label, 0, index);
// is a property of the column for StTable, ie all day cells layout.child_set(label, { column_span: 3, x_expand: false });
// get it too
x_expand: false, x_align: St.Align.START,
y_fill: false, y_align: St.Align.START });
index++; index++;
for (let n = 0; n < events.length; n++) { for (let n = 0; n < events.length; n++) {

View File

@ -23,7 +23,7 @@ const AutomountManager = new Lang.Class({
Name: 'AutomountManager', Name: 'AutomountManager',
_init: function() { _init: function() {
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA }); this._settings = new Gio.Settings({ schema_id: SETTINGS_SCHEMA });
this._volumeQueue = []; this._volumeQueue = [];
this._session = new GnomeSession.SessionManager(); this._session = new GnomeSession.SessionManager();
this._session.connectSignal('InhibitorAdded', this._session.connectSignal('InhibitorAdded',
@ -43,6 +43,7 @@ const AutomountManager = new Lang.Class({
this._driveEjectButtonId = this._volumeMonitor.connect('drive-eject-button', Lang.bind(this, this._onDriveEjectButton)); this._driveEjectButtonId = this._volumeMonitor.connect('drive-eject-button', Lang.bind(this, this._onDriveEjectButton));
this._mountAllId = Mainloop.idle_add(Lang.bind(this, this._startupMountAll)); this._mountAllId = Mainloop.idle_add(Lang.bind(this, this._startupMountAll));
GLib.Source.set_name_by_id(this._mountAllId, '[gnome-shell] this._startupMountAll');
}, },
disable: function() { disable: function() {
@ -234,10 +235,11 @@ const AutomountManager = new Lang.Class({
}, },
_allowAutorunExpire: function(volume) { _allowAutorunExpire: function(volume) {
Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, function() { let id = Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, function() {
volume.allowAutorun = false; volume.allowAutorun = false;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
}); });
GLib.Source.set_name_by_id(id, '[gnome-shell] volume.allowAutorun');
} }
}); });
const Component = AutomountManager; const Component = AutomountManager;

View File

@ -96,7 +96,7 @@ const ContentTypeDiscoverer = new Lang.Class({
_init: function(callback) { _init: function(callback) {
this._callback = callback; this._callback = callback;
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA }); this._settings = new Gio.Settings({ schema_id: SETTINGS_SCHEMA });
}, },
guessContentTypes: function(mount) { guessContentTypes: function(mount) {
@ -441,7 +441,7 @@ const AutorunTransientDispatcher = new Lang.Class({
_init: function(manager) { _init: function(manager) {
this._manager = manager; this._manager = manager;
this._sources = []; this._sources = [];
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA }); this._settings = new Gio.Settings({ schema_id: SETTINGS_SCHEMA });
}, },
_getAutorunSettingForType: function(contentType) { _getAutorunSettingForType: function(contentType) {

View File

@ -77,6 +77,7 @@ const NetworkSecretDialog = new Lang.Class({
layout_manager: layout }); layout_manager: layout });
layout.hookup_style(secretTable); layout.hookup_style(secretTable);
let rtl = secretTable.get_text_direction() == Clutter.TextDirection.RTL;
let initialFocusSet = false; let initialFocusSet = false;
let pos = 0; let pos = 0;
for (let i = 0; i < this._content.secrets.length; i++) { for (let i = 0; i < this._content.secrets.length; i++) {
@ -116,10 +117,15 @@ const NetworkSecretDialog = new Lang.Class({
} else } else
secret.valid = true; secret.valid = true;
layout.pack(label, 0, pos); if (rtl) {
layout.pack(secret.entry, 0, pos);
layout.pack(label, 1, pos);
} else {
layout.pack(label, 0, pos);
layout.pack(secret.entry, 1, pos);
}
layout.child_set(label, { x_expand: false, y_fill: false, layout.child_set(label, { x_expand: false, y_fill: false,
x_align: Clutter.TableAlignment.START }); x_align: Clutter.TableAlignment.START });
layout.pack(secret.entry, 1, pos);
pos++; pos++;
if (secret.password) if (secret.password)
@ -510,10 +516,12 @@ const VPNRequestHandler = new Lang.Class({
_showNewStyleDialog: function() { _showNewStyleDialog: function() {
let keyfile = new GLib.KeyFile(); let keyfile = new GLib.KeyFile();
let data;
let contentOverride; let contentOverride;
try { try {
let data = this._dataStdout.peek_buffer(); data = this._dataStdout.peek_buffer();
keyfile.load_from_data(data.toString(), data.length, keyfile.load_from_data(data.toString(), data.length,
GLib.KeyFileFlags.NONE); GLib.KeyFileFlags.NONE);
@ -546,13 +554,16 @@ const VPNRequestHandler = new Lang.Class({
} }
} }
} catch(e) { } catch(e) {
logError(e, 'error while reading VPN plugin output keyfile'); // No output is a valid case it means "both secrets are stored"
if (data.length > 0) {
logError(e, 'error while reading VPN plugin output keyfile');
this._agent.respond(this._requestId, Shell.NetworkAgentResponse.INTERNAL_ERROR); this._agent.respond(this._requestId, Shell.NetworkAgentResponse.INTERNAL_ERROR);
return; return;
}
} }
if (contentOverride.secrets.length) { if (contentOverride && contentOverride.secrets.length) {
// Only show the dialog if we actually have something to ask // Only show the dialog if we actually have something to ask
this._shellDialog = new NetworkSecretDialog(this._agent, this._requestId, this._connection, 'vpn', [], contentOverride); this._shellDialog = new NetworkSecretDialog(this._agent, this._requestId, this._connection, 'vpn', [], contentOverride);
this._shellDialog.open(global.get_current_time()); this._shellDialog.open(global.get_current_time());

View File

@ -681,6 +681,7 @@ const ChatSource = new Lang.Class({
Mainloop.source_remove(this._notifyTimeoutId); Mainloop.source_remove(this._notifyTimeoutId);
this._notifyTimeoutId = Mainloop.timeout_add(500, this._notifyTimeoutId = Mainloop.timeout_add(500,
Lang.bind(this, this._notifyTimeout)); Lang.bind(this, this._notifyTimeout));
GLib.Source.set_name_by_id(this._notifyTimeoutId, '[gnome-shell] this._notifyTimeout');
}, },
_notifyTimeout: function() { _notifyTimeout: function() {
@ -782,7 +783,6 @@ const ChatNotification = new Lang.Class({
this._createScrollArea(); this._createScrollArea();
this._lastGroup = null; this._lastGroup = null;
this._lastGroupActor = null;
// Keep track of the bottom position for the current adjustment and // Keep track of the bottom position for the current adjustment and
// force a scroll to the bottom if things change while we were at the // force a scroll to the bottom if things change while we were at the
@ -924,14 +924,16 @@ const ChatNotification = new Lang.Class({
realMessage: group != 'meta' }); realMessage: group != 'meta' });
if (!props.noTimestamp) { if (!props.noTimestamp) {
if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) {
this.appendTimestamp(); this.appendTimestamp();
else } else {
// Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME // Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME
// from the timestamp of the message. // from the timestamp of the message.
this._timestampTimeoutId = Mainloop.timeout_add_seconds( this._timestampTimeoutId = Mainloop.timeout_add_seconds(
SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp), SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp),
Lang.bind(this, this.appendTimestamp)); Lang.bind(this, this.appendTimestamp));
GLib.Source.set_name_by_id(this._timestampTimeoutId, '[gnome-shell] this.appendTimestamp');
}
} }
this._filterMessages(); this._filterMessages();
@ -944,80 +946,76 @@ const ChatNotification = new Lang.Class({
let format; let format;
let desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' }); let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY); let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY);
let hasAmPm = date.toLocaleFormat('%p') != '';
switch (clockFormat) { if (clockFormat == '24h' || !hasAmPm) {
case '24h': // Show only the time if date is on today
// Show only the time if date is on today if(daysAgo < 1){
if(daysAgo < 1){ /* Translators: Time in 24h format */
/* Translators: Time in 24h format */ format = _("%H\u2236%M");
format = _("%H\u2236%M"); }
} // Show the word "Yesterday" and time if date is on yesterday
// Show the word "Yesterday" and time if date is on yesterday else if(daysAgo <2){
else if(daysAgo <2){ /* Translators: this is the word "Yesterday" followed by a
/* Translators: this is the word "Yesterday" followed by a time string in 24h format. i.e. "Yesterday, 14:30" */
time string in 24h format. i.e. "Yesterday, 14:30" */ // xgettext:no-c-format
// xgettext:no-c-format format = _("Yesterday, %H\u2236%M");
format = _("Yesterday, %H\u2236%M"); }
} // Show a week day and time if date is in the last week
// Show a week day and time if date is in the last week else if (daysAgo < 7) {
else if (daysAgo < 7) { /* Translators: this is the week day name followed by a time
/* Translators: this is the week day name followed by a time string in 24h format. i.e. "Monday, 14:30" */
string in 24h format. i.e. "Monday, 14:30" */ // xgettext:no-c-format
// xgettext:no-c-format format = _("%A, %H\u2236%M");
format = _("%A, %H\u2236%M");
} else if (date.getYear() == now.getYear()) { } else if (date.getYear() == now.getYear()) {
/* Translators: this is the month name and day number /* Translators: this is the month name and day number
followed by a time string in 24h format. followed by a time string in 24h format.
i.e. "May 25, 14:30" */ i.e. "May 25, 14:30" */
// xgettext:no-c-format // xgettext:no-c-format
format = _("%B %d, %H\u2236%M"); format = _("%B %d, %H\u2236%M");
} else { } else {
/* Translators: this is the month name, day number, year /* Translators: this is the month name, day number, year
number followed by a time string in 24h format. number followed by a time string in 24h format.
i.e. "May 25 2012, 14:30" */ i.e. "May 25 2012, 14:30" */
// xgettext:no-c-format // xgettext:no-c-format
format = _("%B %d %Y, %H\u2236%M"); format = _("%B %d %Y, %H\u2236%M");
} }
break; } else {
default: // Show only the time if date is on today
/* explicit fall-through */ if(daysAgo < 1){
case '12h': /* Translators: Time in 24h format */
// Show only the time if date is on today format = _("%l\u2236%M %p");
if(daysAgo < 1){ }
/* Translators: Time in 24h format */ // Show the word "Yesterday" and time if date is on yesterday
format = _("%l\u2236%M %p"); else if(daysAgo <2){
} /* Translators: this is the word "Yesterday" followed by a
// Show the word "Yesterday" and time if date is on yesterday time string in 12h format. i.e. "Yesterday, 2:30 pm" */
else if(daysAgo <2){ // xgettext:no-c-format
/* Translators: this is the word "Yesterday" followed by a format = _("Yesterday, %l\u2236%M %p");
time string in 12h format. i.e. "Yesterday, 2:30 pm" */ }
// xgettext:no-c-format // Show a week day and time if date is in the last week
format = _("Yesterday, %l\u2236%M %p"); else if (daysAgo < 7) {
} /* Translators: this is the week day name followed by a time
// Show a week day and time if date is in the last week string in 12h format. i.e. "Monday, 2:30 pm" */
else if (daysAgo < 7) { // xgettext:no-c-format
/* Translators: this is the week day name followed by a time format = _("%A, %l\u2236%M %p");
string in 12h format. i.e. "Monday, 2:30 pm" */
// xgettext:no-c-format
format = _("%A, %l\u2236%M %p");
} else if (date.getYear() == now.getYear()) { } else if (date.getYear() == now.getYear()) {
/* Translators: this is the month name and day number /* Translators: this is the month name and day number
followed by a time string in 12h format. followed by a time string in 12h format.
i.e. "May 25, 2:30 pm" */ i.e. "May 25, 2:30 pm" */
// xgettext:no-c-format // xgettext:no-c-format
format = _("%B %d, %l\u2236%M %p"); format = _("%B %d, %l\u2236%M %p");
} else { } else {
/* Translators: this is the month name, day number, year /* Translators: this is the month name, day number, year
number followed by a time string in 12h format. number followed by a time string in 12h format.
i.e. "May 25 2012, 2:30 pm"*/ i.e. "May 25 2012, 2:30 pm"*/
// xgettext:no-c-format // xgettext:no-c-format
format = _("%B %d %Y, %l\u2236%M %p"); format = _("%B %d %Y, %l\u2236%M %p");
} }
break;
} }
return date.toLocaleFormat(format); return date.toLocaleFormat(format);
}, },
@ -1100,6 +1098,7 @@ const ChatNotification = new Lang.Class({
this._composingTimeoutId = Mainloop.timeout_add_seconds( this._composingTimeoutId = Mainloop.timeout_add_seconds(
COMPOSING_STOP_TIMEOUT, COMPOSING_STOP_TIMEOUT,
Lang.bind(this, this._composingStopTimeout)); Lang.bind(this, this._composingStopTimeout));
GLib.Source.set_name_by_id(this._composingTimeoutId, '[gnome-shell] this._composingStopTimeout');
} else { } else {
this.source.setChatState(Tp.ChannelChatState.ACTIVE); this.source.setChatState(Tp.ChannelChatState.ACTIVE);
} }

View File

@ -87,7 +87,7 @@ const CtrlAltTabManager = new Lang.Class({
if (Main.sessionMode.hasWindows && !Main.overview.visible) { if (Main.sessionMode.hasWindows && !Main.overview.visible) {
let screen = global.screen; let screen = global.screen;
let display = screen.get_display(); let display = screen.get_display();
let windows = display.get_tab_list(Meta.TabList.DOCKS, screen, screen.get_active_workspace ()); let windows = display.get_tab_list(Meta.TabList.DOCKS, screen.get_active_workspace ());
let windowTracker = Shell.WindowTracker.get_default(); let windowTracker = Shell.WindowTracker.get_default();
let textureCache = St.TextureCache.get_default(); let textureCache = St.TextureCache.get_default();
for (let i = 0; i < windows.length; i++) { for (let i = 0; i < windows.length; i++) {
@ -165,6 +165,10 @@ const CtrlAltTabPopup = new Lang.Class({
this._select(this._previous()); this._select(this._previous());
else if (keysym == Clutter.Right) else if (keysym == Clutter.Right)
this._select(this._next()); this._select(this._next());
else
return Clutter.EVENT_PROPAGATE;
return Clutter.EVENT_STOP;
}, },
_finish : function(time) { _finish : function(time) {

View File

@ -582,6 +582,7 @@ const Dash = new Lang.Class({
this._showLabelTimeoutId = 0; this._showLabelTimeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._showLabelTimeoutId, '[gnome-shell] item.showLabel');
if (this._resetHoverTimeoutId > 0) { if (this._resetHoverTimeoutId > 0) {
Mainloop.source_remove(this._resetHoverTimeoutId); Mainloop.source_remove(this._resetHoverTimeoutId);
this._resetHoverTimeoutId = 0; this._resetHoverTimeoutId = 0;
@ -599,6 +600,7 @@ const Dash = new Lang.Class({
this._resetHoverTimeoutId = 0; this._resetHoverTimeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._resetHoverTimeoutId, '[gnome-shell] this._labelShowing');
} }
} }
}, },

View File

@ -18,8 +18,7 @@ const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
const Calendar = imports.ui.calendar; const Calendar = imports.ui.calendar;
function _onVertSepRepaint (area) function _onVertSepRepaint(area) {
{
let cr = area.get_context(); let cr = area.get_context();
let themeNode = area.get_theme_node(); let themeNode = area.get_theme_node();
let [width, height] = area.get_surface_size(); let [width, height] = area.get_surface_size();
@ -33,7 +32,7 @@ function _onVertSepRepaint (area)
cr.setLineWidth(stippleWidth); cr.setLineWidth(stippleWidth);
cr.stroke(); cr.stroke();
cr.$dispose(); cr.$dispose();
}; }
const DateMenuButton = new Lang.Class({ const DateMenuButton = new Lang.Class({
Name: 'DateMenuButton', Name: 'DateMenuButton',
@ -63,8 +62,11 @@ const DateMenuButton = new Lang.Class({
hbox.add(vbox); hbox.add(vbox);
// Date // Date
// Having the ability to go to the current date if the user is already
// on the current date can be confusing. So don't make the button reactive
// until the selected date changes.
this._date = new St.Button({ style_class: 'datemenu-date-label', this._date = new St.Button({ style_class: 'datemenu-date-label',
can_focus: true, reactive: false
}); });
this._date.connect('clicked', this._date.connect('clicked',
Lang.bind(this, function() { Lang.bind(this, function() {
@ -82,6 +84,9 @@ const DateMenuButton = new Lang.Class({
// and the calender makes those dates unclickable when instantiated with // and the calender makes those dates unclickable when instantiated with
// a null event source // a null event source
this._eventList.setDate(date); this._eventList.setDate(date);
// Make the button reactive only if the selected date is not the current date.
this._date.can_focus = this._date.reactive = !this._isToday(date)
})); }));
vbox.add(this._calendar.actor); vbox.add(this._calendar.actor);
@ -132,6 +137,13 @@ const DateMenuButton = new Lang.Class({
this._sessionUpdated(); this._sessionUpdated();
}, },
_isToday: function(date) {
let now = new Date();
return now.getYear() == date.getYear() &&
now.getMonth() == date.getMonth() &&
now.getDay() == date.getDay();
},
_appInstalledChanged: function() { _appInstalledChanged: function() {
this._calendarApp = undefined; this._calendarApp = undefined;
this._updateEventsVisibility(); this._updateEventsVisibility();

View File

@ -395,6 +395,7 @@ const _Draggable = new Lang.Class({
this._updateHoverId = GLib.idle_add(GLib.PRIORITY_DEFAULT, this._updateHoverId = GLib.idle_add(GLib.PRIORITY_DEFAULT,
Lang.bind(this, this._updateDragHover)); Lang.bind(this, this._updateDragHover));
GLib.Source.set_name_by_id(this._updateHoverId, '[gnome-shell] this._updateDragHover');
}, },
_updateDragPosition : function (event) { _updateDragPosition : function (event) {

View File

@ -551,6 +551,7 @@ const EndSessionDialog = new Lang.Class({
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._timerId, '[gnome-shell] this._confirm');
}, },
_stopTimer: function() { _stopTimer: function() {

View File

@ -47,8 +47,11 @@ function _patchLayoutClass(layoutClass, styleProps) {
layoutClass.prototype.hookup_style = function(container) { layoutClass.prototype.hookup_style = function(container) {
container.connect('style-changed', Lang.bind(this, function() { container.connect('style-changed', Lang.bind(this, function() {
let node = container.get_theme_node(); let node = container.get_theme_node();
for (let prop in styleProps) for (let prop in styleProps) {
this[prop] = node.get_length(styleProps[prop]); let [found, length] = node.lookup_length(styleProps[prop], false);
if (found)
this[prop] = length;
}
})); }));
}; };
layoutClass.prototype.child_set = function(actor, props) { layoutClass.prototype.child_set = function(actor, props) {

View File

@ -32,11 +32,9 @@ const FocusCaretTracker = new Lang.Class({
Name: 'FocusCaretTracker', Name: 'FocusCaretTracker',
_init: function() { _init: function() {
Atspi.init();
Atspi.set_timeout(250, 250);
this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged)); this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged));
this._atspiInited = false;
this._focusListenerRegistered = false; this._focusListenerRegistered = false;
this._caretListenerRegistered = false; this._caretListenerRegistered = false;
}, },
@ -48,12 +46,20 @@ const FocusCaretTracker = new Lang.Class({
this.emit('caret-moved', event); this.emit('caret-moved', event);
}, },
_initAtspi: function() {
if (!this._atspiInited) {
Atspi.init();
Atspi.set_timeout(250, 250);
this._atspiInited = true;
}
},
registerFocusListener: function() { registerFocusListener: function() {
if (this._focusListenerRegistered) if (this._focusListenerRegistered)
return; return;
// Ignore the return value, we get an exception if they fail this._initAtspi();
// And they should never fail
this._atspiListener.register(STATECHANGED + ':focused'); this._atspiListener.register(STATECHANGED + ':focused');
this._atspiListener.register(STATECHANGED + ':selected'); this._atspiListener.register(STATECHANGED + ':selected');
this._focusListenerRegistered = true; this._focusListenerRegistered = true;
@ -63,6 +69,8 @@ const FocusCaretTracker = new Lang.Class({
if (this._caretListenerRegistered) if (this._caretListenerRegistered)
return; return;
this._initAtspi();
this._atspiListener.register(CARETMOVED); this._atspiListener.register(CARETMOVED);
this._caretListenerRegistered = true; this._caretListenerRegistered = true;
}, },

View File

@ -155,7 +155,7 @@ const CandidatePopup = new Lang.Class({
panelService.connect('set-cursor-location', panelService.connect('set-cursor-location',
Lang.bind(this, function(ps, x, y, w, h) { Lang.bind(this, function(ps, x, y, w, h) {
Main.layoutManager.setDummyCursorPosition(x, y); Main.layoutManager.setDummyCursorGeometry(x, y, w, h);
if (this._boxPointer.actor.visible) if (this._boxPointer.actor.visible)
this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0); this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
})); }));

View File

@ -522,11 +522,6 @@ const IconGrid = new Lang.Class({
this._fixedHItemSize = Math.max(this._hItemSize - neededSpacePerItem, MIN_ICON_SIZE); this._fixedHItemSize = Math.max(this._hItemSize - neededSpacePerItem, MIN_ICON_SIZE);
this._fixedVItemSize = Math.max(this._vItemSize - neededSpacePerItem, MIN_ICON_SIZE); this._fixedVItemSize = Math.max(this._vItemSize - neededSpacePerItem, MIN_ICON_SIZE);
if (this._fixedHItemSize < MIN_ICON_SIZE)
this._fixedHItemSize = MIN_ICON_SIZE;
if (this._fixedVItemSize < MIN_ICON_SIZE)
this._fixedVItemSize = MIN_ICON_SIZE;
this._updateSpacingForSize(availWidth, availHeight); this._updateSpacingForSize(availWidth, availHeight);
} }
let scale = Math.min(this._fixedHItemSize, this._fixedVItemSize) / Math.max(this._hItemSize, this._vItemSize); let scale = Math.min(this._fixedHItemSize, this._fixedVItemSize) / Math.max(this._hItemSize, this._vItemSize);
@ -535,8 +530,8 @@ const IconGrid = new Lang.Class({
// Note that this is ICON_SIZE as used by BaseIcon, not elsewhere in IconGrid; it's a bit messed up // Note that this is ICON_SIZE as used by BaseIcon, not elsewhere in IconGrid; it's a bit messed up
_updateChildrenScale: function(scale) { _updateChildrenScale: function(scale) {
let newIconSize = Math.floor(ICON_SIZE * scale);
for (let i in this._items) { for (let i in this._items) {
let newIconSize = Math.floor(ICON_SIZE * scale);
this._items[i].icon.setIconSize(newIconSize); this._items[i].icon.setIconSize(newIconSize);
} }
} }
@ -645,6 +640,10 @@ const PaginatedIconGrid = new Lang.Class({
return this._nPages; return this._nPages;
}, },
getPageHeight: function() {
return this._availableHeightPerPageForItems();
},
getPageY: function(pageNumber) { getPageY: function(pageNumber) {
if (!this._nPages) if (!this._nPages)
return 0; return 0;

View File

@ -161,9 +161,9 @@ const Keyboard = new Lang.Class({
this._timestamp = global.display.get_current_time_roundtrip(); this._timestamp = global.display.get_current_time_roundtrip();
this._keyboardSettings = new Gio.Settings({ schema: KEYBOARD_SCHEMA }); this._keyboardSettings = new Gio.Settings({ schema_id: KEYBOARD_SCHEMA });
this._keyboardSettings.connect('changed', Lang.bind(this, this._settingsChanged)); this._keyboardSettings.connect('changed', Lang.bind(this, this._settingsChanged));
this._a11yApplicationsSettings = new Gio.Settings({ schema: A11Y_APPLICATIONS_SCHEMA }); this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._settingsChanged)); this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._settingsChanged));
this._settingsChanged(); this._settingsChanged();
@ -266,12 +266,14 @@ const Keyboard = new Lang.Class({
return; return;
} }
if (!this._showIdleId) if (!this._showIdleId) {
this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, this._showIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE,
Lang.bind(this, function() { Lang.bind(this, function() {
this.Show(time); this.Show(time);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._showIdleId, '[gnome-shell] this.Show');
}
}, },
_createLayersForGroup: function (gname) { _createLayersForGroup: function (gname) {
@ -500,6 +502,7 @@ const Keyboard = new Lang.Class({
this._show(monitor); this._show(monitor);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._keyboardRestingId, '[gnome-shell] this._clearKeyboardRestTimer');
}, },
_show: function(monitor) { _show: function(monitor) {
@ -526,6 +529,7 @@ const Keyboard = new Lang.Class({
this._hide(); this._hide();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._keyboardRestingId, '[gnome-shell] this._clearKeyboardRestTimer');
}, },
_hide: function() { _hide: function() {

View File

@ -223,7 +223,7 @@ const LayoutManager = new Lang.Class({
this._keyboardHeightNotifyId = 0; this._keyboardHeightNotifyId = 0;
// A dummy actor that tracks the mouse or text cursor, based on the // A dummy actor that tracks the mouse or text cursor, based on the
// position set in setDummyCursorPosition. // position and size set in setDummyCursorGeometry.
this.dummyCursor = new St.Widget({ width: 0, height: 0 }); this.dummyCursor = new St.Widget({ width: 0, height: 0 });
this.uiGroup.add_actor(this.dummyCursor); this.uiGroup.add_actor(this.dummyCursor);
@ -603,7 +603,7 @@ const LayoutManager = new Lang.Class({
this._updateBackgrounds(); this._updateBackgrounds();
// We need to force an update of the regions now before we scale // We need to force an update of the regions now before we scale
// the UI group to get the coorect allocation for the struts. // the UI group to get the correct allocation for the struts.
this._updateRegions(); this._updateRegions();
this.trayBox.hide(); this.trayBox.hide();
@ -628,10 +628,11 @@ const LayoutManager = new Lang.Class({
// until the event loop is uncontended and idle. // until the event loop is uncontended and idle.
// This helps to prevent us from running the animation // This helps to prevent us from running the animation
// when the system is bogged down // when the system is bogged down
GLib.idle_add(GLib.PRIORITY_LOW, Lang.bind(this, function() { let id = GLib.idle_add(GLib.PRIORITY_LOW, Lang.bind(this, function() {
this._startupAnimation(); this._startupAnimation();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._startupAnimation');
}, },
_startupAnimation: function() { _startupAnimation: function() {
@ -728,7 +729,7 @@ const LayoutManager = new Lang.Class({
this._updateRegions(); this._updateRegions();
}, },
// setDummyCursorPosition: // setDummyCursorGeometry:
// //
// The cursor dummy is a standard widget commonly used for popup // The cursor dummy is a standard widget commonly used for popup
// menus and box pointers to track, as the box pointer API only // menus and box pointers to track, as the box pointer API only
@ -737,9 +738,10 @@ const LayoutManager = new Lang.Class({
// is what you should use. Given that the menu should not track // is what you should use. Given that the menu should not track
// the actual mouse pointer as it moves, you need to call this // the actual mouse pointer as it moves, you need to call this
// function before you show the menu to ensure it is at the right // function before you show the menu to ensure it is at the right
// position. // position and has the right size.
setDummyCursorPosition: function(x, y) { setDummyCursorGeometry: function(x, y, w, h) {
this.dummyCursor.set_position(Math.round(x), Math.round(y)); this.dummyCursor.set_position(Math.round(x), Math.round(y));
this.dummyCursor.set_size(Math.round(w), Math.round(h));
}, },
// addChrome: // addChrome:
@ -1015,23 +1017,6 @@ const LayoutManager = new Lang.Class({
else else
continue; continue;
// Ensure that the strut rects goes all the way to the screen edge,
// as this really what mutter expects.
switch (side) {
case Meta.Side.TOP:
y1 = 0;
break;
case Meta.Side.BOTTOM:
y2 = global.screen_height;
break;
case Meta.Side.LEFT:
x1 = 0;
break;
case Meta.Side.RIGHT:
x2 = global.screen_width;
break;
}
let strutRect = new Meta.Rectangle({ x: x1, y: y1, width: x2 - x1, height: y2 - y1}); let strutRect = new Meta.Rectangle({ x: x1, y: y1, width: x2 - x1, height: y2 - y1});
let strut = new Meta.Strut({ rect: strutRect, side: side }); let strut = new Meta.Strut({ rect: strutRect, side: side });
struts.push(strut); struts.push(strut);

View File

@ -797,7 +797,7 @@ const LookingGlass = new Lang.Class({
reactive: true }); reactive: true });
this.actor.connect('key-press-event', Lang.bind(this, this._globalKeyPressEvent)); this.actor.connect('key-press-event', Lang.bind(this, this._globalKeyPressEvent));
this._interfaceSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' }); this._interfaceSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
this._interfaceSettings.connect('changed::monospace-font-name', this._interfaceSettings.connect('changed::monospace-font-name',
Lang.bind(this, this._updateFont)); Lang.bind(this, this._updateFont));
this._updateFont(); this._updateFont();
@ -843,9 +843,10 @@ const LookingGlass = new Lang.Class({
System.gc(); System.gc();
this._timeoutId = Mainloop.timeout_add(500, Lang.bind(this, function () { this._timeoutId = Mainloop.timeout_add(500, Lang.bind(this, function () {
gcIcon.icon_name = 'gnome-fs-trash-full'; gcIcon.icon_name = 'gnome-fs-trash-full';
Mainloop.source_remove(this._timeoutId); this._timeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] gcIcon.icon_name = \'gnome-fs-trash-full\'');
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
})); }));

View File

@ -441,8 +441,8 @@ const Magnifier = new Lang.Class({
}, },
_settingsInit: function(zoomRegion) { _settingsInit: function(zoomRegion) {
this._appSettings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA }); this._appSettings = new Gio.Settings({ schema_id: APPLICATIONS_SCHEMA });
this._settings = new Gio.Settings({ schema: MAGNIFIER_SCHEMA }); this._settings = new Gio.Settings({ schema_id: MAGNIFIER_SCHEMA });
if (zoomRegion) { if (zoomRegion) {
// Mag factor is accurate to two decimal places. // Mag factor is accurate to two decimal places.

View File

@ -43,6 +43,7 @@ const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff);
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard'; const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
const STICKY_KEYS_ENABLE = 'stickykeys-enable'; const STICKY_KEYS_ENABLE = 'stickykeys-enable';
const GNOMESHELL_STARTED_MESSAGE_ID = 'f3ea493c22934e26811cd62abe8e203a';
let componentManager = null; let componentManager = null;
let panel = null; let panel = null;
@ -55,7 +56,7 @@ let screenShield = null;
let notificationDaemon = null; let notificationDaemon = null;
let windowAttentionHandler = null; let windowAttentionHandler = null;
let ctrlAltTabManager = null; let ctrlAltTabManager = null;
let osdWindow = null; let osdWindowManager = null;
let sessionMode = null; let sessionMode = null;
let shellDBusService = null; let shellDBusService = null;
let shellMountOpDBusService = null; let shellMountOpDBusService = null;
@ -73,7 +74,6 @@ let _startDate;
let _defaultCssStylesheet = null; let _defaultCssStylesheet = null;
let _cssStylesheet = null; let _cssStylesheet = null;
let _a11ySettings = null; let _a11ySettings = null;
let dynamicWorkspacesSchema = null;
function _sessionUpdated() { function _sessionUpdated() {
_loadDefaultStylesheet(); _loadDefaultStylesheet();
@ -103,9 +103,6 @@ function start() {
global.logError = window.log; global.logError = window.log;
global.log = window.log; global.log = window.log;
if (!Meta.is_wayland_compositor)
Meta.is_wayland_compositor = function () { return false; };
// Chain up async errors reported from C // Chain up async errors reported from C
global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); }); global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); });
@ -113,7 +110,6 @@ function start() {
sessionMode = new SessionMode.SessionMode(); sessionMode = new SessionMode.SessionMode();
sessionMode.connect('updated', _sessionUpdated); sessionMode.connect('updated', _sessionUpdated);
_initializePrefs();
_initializeUI(); _initializeUI();
shellDBusService = new ShellDBus.GnomeShell(); shellDBusService = new ShellDBus.GnomeShell();
@ -122,17 +118,6 @@ function start() {
_sessionUpdated(); _sessionUpdated();
} }
function _initializePrefs() {
let keys = new Gio.Settings({ schema: sessionMode.overridesSchema }).list_keys();
for (let i = 0; i < keys.length; i++)
Meta.prefs_override_preference_schema(keys[i], sessionMode.overridesSchema);
if (keys.indexOf('dynamic-workspaces') > -1)
dynamicWorkspacesSchema = sessionMode.overridesSchema;
else
dynamicWorkspacesSchema = 'org.gnome.mutter';
}
function _initializeUI() { function _initializeUI() {
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will // Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
// also initialize ShellAppSystem first. ShellAppSystem // also initialize ShellAppSystem first. ShellAppSystem
@ -158,7 +143,7 @@ function _initializeUI() {
screencastService = new Screencast.ScreencastService(); screencastService = new Screencast.ScreencastService();
xdndHandler = new XdndHandler.XdndHandler(); xdndHandler = new XdndHandler.XdndHandler();
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager(); ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
osdWindow = new OsdWindow.OsdWindow(); osdWindowManager = new OsdWindow.OsdWindowManager();
overview = new Overview.Overview(); overview = new Overview.Overview();
wm = new WindowManager.WindowManager(); wm = new WindowManager.WindowManager();
magnifier = new Magnifier.Magnifier(); magnifier = new Magnifier.Magnifier();
@ -175,7 +160,7 @@ function _initializeUI() {
layoutManager.init(); layoutManager.init();
overview.init(); overview.init();
_a11ySettings = new Gio.Settings({ schema: A11Y_SCHEMA }); _a11ySettings = new Gio.Settings({ schema_id: A11Y_SCHEMA });
global.display.connect('overlay-key', Lang.bind(overview, function () { global.display.connect('overlay-key', Lang.bind(overview, function () {
if (!_a11ySettings.get_boolean (STICKY_KEYS_ENABLE)) if (!_a11ySettings.get_boolean (STICKY_KEYS_ENABLE))
@ -191,8 +176,6 @@ function _initializeUI() {
_startDate = new Date(); _startDate = new Date();
log('GNOME Shell started at ' + _startDate);
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE"); let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
if (perfModuleName) { if (perfModuleName) {
let perfOutput = GLib.getenv("SHELL_PERF_OUTPUT"); let perfOutput = GLib.getenv("SHELL_PERF_OUTPUT");
@ -216,6 +199,17 @@ function _initializeUI() {
if (screenShield) { if (screenShield) {
screenShield.lockIfWasLocked(); screenShield.lockIfWasLocked();
} }
if (LoginManager.haveSystemd() &&
sessionMode.currentMode != 'gdm' &&
sessionMode.currentMode != 'initial-setup') {
// Do not import globally to not depend
// on systemd on non-systemd systems.
let GSystem = imports.gi.GSystem;
GSystem.log_structured_print('GNOME Shell started at ' + _startDate,
['MESSAGE_ID=' + GNOMESHELL_STARTED_MESSAGE_ID]);
} else {
log('GNOME Shell started at ' + _startDate);
}
}); });
} }
@ -611,5 +605,6 @@ function queueDeferredWork(workId) {
_deferredTimeoutId = 0; _deferredTimeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
}); });
GLib.Source.set_name_by_id(_deferredTimeoutId, '[gnome-shell] _runAllDeferredWork');
} }
} }

View File

@ -111,7 +111,6 @@ const FocusGrabber = new Lang.Class({
if (this._focused) if (this._focused)
return; return;
this._prevFocusedWindow = global.display.focus_window;
this._prevKeyFocusActor = global.stage.get_key_focus(); this._prevKeyFocusActor = global.stage.get_key_focus();
this._focusActorChangedId = global.stage.connect('notify::key-focus', Lang.bind(this, this._focusActorChanged)); this._focusActorChangedId = global.stage.connect('notify::key-focus', Lang.bind(this, this._focusActorChanged));
@ -316,7 +315,7 @@ const NotificationGenericPolicy = new Lang.Class({
this.id = 'generic'; this.id = 'generic';
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' }); this._masterSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.notifications' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed)); this._masterSettings.connect('changed', Lang.bind(this, this._changed));
}, },
@ -366,8 +365,8 @@ const NotificationApplicationPolicy = new Lang.Class({
this.id = id; this.id = id;
this._canonicalId = this._canonicalizeId(id); this._canonicalId = this._canonicalizeId(id);
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' }); this._masterSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.notifications' });
this._settings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications.application', this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.notifications.application',
path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' }); path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' });
this._masterSettings.connect('changed', Lang.bind(this, this._changed)); this._masterSettings.connect('changed', Lang.bind(this, this._changed));
@ -504,7 +503,6 @@ const Notification = new Lang.Class({
this.bannerBodyMarkup = false; this.bannerBodyMarkup = false;
this._bannerBodyAdded = false; this._bannerBodyAdded = false;
this._titleFitsInBannerMode = true; this._titleFitsInBannerMode = true;
this._titleDirection = Clutter.TextDirection.DEFAULT;
this._spacing = 0; this._spacing = 0;
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC; this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
this._imageBin = null; this._imageBin = null;
@ -643,10 +641,11 @@ const Notification = new Lang.Class({
title = title ? _fixMarkup(title.replace(/\n/g, ' '), false) : ''; title = title ? _fixMarkup(title.replace(/\n/g, ' '), false) : '';
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>'); this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
let titleDirection;
if (Pango.find_base_dir(title, -1) == Pango.Direction.RTL) if (Pango.find_base_dir(title, -1) == Pango.Direction.RTL)
this._titleDirection = Clutter.TextDirection.RTL; titleDirection = Clutter.TextDirection.RTL;
else else
this._titleDirection = Clutter.TextDirection.LTR; titleDirection = Clutter.TextDirection.LTR;
// Let the title's text direction control the overall direction // Let the title's text direction control the overall direction
// of the notification - in case where different scripts are used // of the notification - in case where different scripts are used
@ -654,7 +653,7 @@ const Notification = new Lang.Class({
// arguably for action buttons as well. Labels other than the title // arguably for action buttons as well. Labels other than the title
// will be allocated at the available width, so that their alignment // will be allocated at the available width, so that their alignment
// is done correctly automatically. // is done correctly automatically.
this._table.set_text_direction(this._titleDirection); this._table.set_text_direction(titleDirection);
// Unless the notification has custom content, we save this.bannerBodyText // Unless the notification has custom content, we save this.bannerBodyText
// to add it to the content of the notification if the notification is // to add it to the content of the notification if the notification is
@ -1901,14 +1900,14 @@ const MessageTray = new Lang.Class({
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated)); Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
Main.wm.addKeybinding('toggle-message-tray', Main.wm.addKeybinding('toggle-message-tray',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.MESSAGE_TRAY | Shell.KeyBindingMode.MESSAGE_TRAY |
Shell.KeyBindingMode.OVERVIEW, Shell.KeyBindingMode.OVERVIEW,
Lang.bind(this, this.toggleAndNavigate)); Lang.bind(this, this.toggleAndNavigate));
Main.wm.addKeybinding('focus-active-notification', Main.wm.addKeybinding('focus-active-notification',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.MESSAGE_TRAY | Shell.KeyBindingMode.MESSAGE_TRAY |
@ -1987,6 +1986,7 @@ const MessageTray = new Lang.Class({
this._trayDwellTimeoutId = Mainloop.timeout_add(TRAY_DWELL_TIME, this._trayDwellTimeoutId = Mainloop.timeout_add(TRAY_DWELL_TIME,
Lang.bind(this, this._trayDwellTimeout)); Lang.bind(this, this._trayDwellTimeout));
GLib.Source.set_name_by_id(this._trayDwellTimeoutId, '[gnome-shell] this._trayDwellTimeout');
} }
this._trayDwelling = true; this._trayDwelling = true;
} else { } else {
@ -2267,6 +2267,16 @@ const MessageTray = new Lang.Class({
this._grabHelper.addActor(corner.actor); this._grabHelper.addActor(corner.actor);
}, },
_resetNotificationLeftTimeout: function() {
this._useLongerNotificationLeftTimeout = false;
if (this._notificationLeftTimeoutId) {
Mainloop.source_remove(this._notificationLeftTimeoutId);
this._notificationLeftTimeoutId = 0;
this._notificationLeftMouseX = -1;
this._notificationLeftMouseY = -1;
}
},
_onNotificationHoverChanged: function() { _onNotificationHoverChanged: function() {
if (this._notificationWidget.hover == this._notificationHovered) if (this._notificationWidget.hover == this._notificationHovered)
return; return;
@ -2276,14 +2286,7 @@ const MessageTray = new Lang.Class({
// No dwell inside notifications at the bottom of the screen // No dwell inside notifications at the bottom of the screen
this._cancelTrayDwell(); this._cancelTrayDwell();
this._useLongerNotificationLeftTimeout = false; this._resetNotificationLeftTimeout();
if (this._notificationLeftTimeoutId) {
Mainloop.source_remove(this._notificationLeftTimeoutId);
this._notificationLeftTimeoutId = 0;
this._notificationLeftMouseX = -1;
this._notificationLeftMouseY = -1;
return;
}
if (this._showNotificationMouseX >= 0) { if (this._showNotificationMouseX >= 0) {
let actorAtShowNotificationPosition = let actorAtShowNotificationPosition =
@ -2300,6 +2303,7 @@ const MessageTray = new Lang.Class({
return; return;
} }
} }
this._pointerInNotification = true; this._pointerInNotification = true;
this._updateState(); this._updateState();
} else { } else {
@ -2316,6 +2320,7 @@ const MessageTray = new Lang.Class({
// That gives the user more time to mouse away from the notification and mouse back in in order to expand it. // That gives the user more time to mouse away from the notification and mouse back in in order to expand it.
let timeout = this._useLongerNotificationLeftTimeout ? LONGER_HIDE_TIMEOUT * 1000 : HIDE_TIMEOUT * 1000; let timeout = this._useLongerNotificationLeftTimeout ? LONGER_HIDE_TIMEOUT * 1000 : HIDE_TIMEOUT * 1000;
this._notificationLeftTimeoutId = Mainloop.timeout_add(timeout, Lang.bind(this, this._onNotificationLeftTimeout)); this._notificationLeftTimeoutId = Mainloop.timeout_add(timeout, Lang.bind(this, this._onNotificationLeftTimeout));
GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout');
} }
}, },
@ -2351,6 +2356,7 @@ const MessageTray = new Lang.Class({
this._notificationLeftMouseX = -1; this._notificationLeftMouseX = -1;
this._notificationLeftTimeoutId = Mainloop.timeout_add(LONGER_HIDE_TIMEOUT * 1000, this._notificationLeftTimeoutId = Mainloop.timeout_add(LONGER_HIDE_TIMEOUT * 1000,
Lang.bind(this, this._onNotificationLeftTimeout)); Lang.bind(this, this._onNotificationLeftTimeout));
GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout');
} else { } else {
this._notificationLeftTimeoutId = 0; this._notificationLeftTimeoutId = 0;
this._useLongerNotificationLeftTimeout = false; this._useLongerNotificationLeftTimeout = false;
@ -2624,6 +2630,8 @@ const MessageTray = new Lang.Class({
// the mouse is moving towards it or within it. // the mouse is moving towards it or within it.
this._lastSeenMouseX = x; this._lastSeenMouseX = x;
this._lastSeenMouseY = y; this._lastSeenMouseY = y;
this._resetNotificationLeftTimeout();
}, },
_updateShowingNotification: function() { _updateShowingNotification: function() {
@ -2668,10 +2676,12 @@ const MessageTray = new Lang.Class({
Mainloop.source_remove(this._notificationTimeoutId); Mainloop.source_remove(this._notificationTimeoutId);
this._notificationTimeoutId = 0; this._notificationTimeoutId = 0;
} }
if (timeout > 0) if (timeout > 0) {
this._notificationTimeoutId = this._notificationTimeoutId =
Mainloop.timeout_add(timeout, Mainloop.timeout_add(timeout,
Lang.bind(this, this._notificationTimeout)); Lang.bind(this, this._notificationTimeout));
GLib.Source.set_name_by_id(this._notificationTimeoutId, '[gnome-shell] this._notificationTimeout');
}
}, },
_notificationTimeout: function() { _notificationTimeout: function() {
@ -2714,13 +2724,7 @@ const MessageTray = new Lang.Class({
this._notificationUnfocusedId = 0; this._notificationUnfocusedId = 0;
} }
this._useLongerNotificationLeftTimeout = false; this._resetNotificationLeftTimeout();
if (this._notificationLeftTimeoutId) {
Mainloop.source_remove(this._notificationLeftTimeoutId);
this._notificationLeftTimeoutId = 0;
this._notificationLeftMouseX = -1;
this._notificationLeftMouseY = -1;
}
if (animate) { if (animate) {
this._tween(this._notificationWidget, '_notificationState', State.HIDDEN, this._tween(this._notificationWidget, '_notificationState', State.HIDDEN,

View File

@ -244,11 +244,12 @@ const FdoNotificationDaemon = new Lang.Class({
// Ignore replacesId since we already sent back a // Ignore replacesId since we already sent back a
// NotificationClosed for that id. // NotificationClosed for that id.
id = this._nextNotificationId++; id = this._nextNotificationId++;
Mainloop.idle_add(Lang.bind(this, let idle_id = Mainloop.idle_add(Lang.bind(this,
function () { function () {
this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED); this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(idle_id, '[gnome-shell] this._emitNotificationClosed');
return invocation.return_value(GLib.Variant.new('(u)', [id])); return invocation.return_value(GLib.Variant.new('(u)', [id]));
} }

View File

@ -73,14 +73,17 @@ const LevelBar = new Lang.Class({
const OsdWindow = new Lang.Class({ const OsdWindow = new Lang.Class({
Name: 'OsdWindow', Name: 'OsdWindow',
_init: function() { _init: function(monitorIndex) {
this._popupSize = 0; this._popupSize = 0;
this.actor = new St.Widget({ x_expand: true, this.actor = new St.Widget({ x_expand: true,
y_expand: true, y_expand: true,
x_align: Clutter.ActorAlign.CENTER, x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER });
this._currentMonitor = undefined;
this.setMonitor (-1); this._monitorIndex = monitorIndex;
let constraint = new Layout.MonitorConstraint({ index: monitorIndex });
this.actor.add_constraint(constraint);
this._box = new St.BoxLayout({ style_class: 'osd-window', this._box = new St.BoxLayout({ style_class: 'osd-window',
vertical: true }); vertical: true });
this.actor.add_actor(this._box); this.actor.add_actor(this._box);
@ -109,7 +112,6 @@ const OsdWindow = new Lang.Class({
Main.layoutManager.connect('monitors-changed', Main.layoutManager.connect('monitors-changed',
Lang.bind(this, this._monitorsChanged)); Lang.bind(this, this._monitorsChanged));
this._monitorsChanged(); this._monitorsChanged();
Main.uiGroup.add_child(this.actor); Main.uiGroup.add_child(this.actor);
}, },
@ -125,7 +127,7 @@ const OsdWindow = new Lang.Class({
setLevel: function(level) { setLevel: function(level) {
this._level.actor.visible = (level != undefined); this._level.actor.visible = (level != undefined);
if (level) { if (level != undefined) {
if (this.actor.visible) if (this.actor.visible)
Tweener.addTween(this._level, Tweener.addTween(this._level,
{ level: level, { level: level,
@ -156,6 +158,7 @@ const OsdWindow = new Lang.Class({
Mainloop.source_remove(this._hideTimeoutId); Mainloop.source_remove(this._hideTimeoutId);
this._hideTimeoutId = Mainloop.timeout_add(HIDE_TIMEOUT, this._hideTimeoutId = Mainloop.timeout_add(HIDE_TIMEOUT,
Lang.bind(this, this._hide)); Lang.bind(this, this._hide));
GLib.Source.set_name_by_id(this._hideTimeoutId, '[gnome-shell] this._hide');
}, },
cancel: function() { cancel: function() {
@ -188,12 +191,9 @@ const OsdWindow = new Lang.Class({
_monitorsChanged: function() { _monitorsChanged: function() {
/* assume 110x110 on a 640x480 display and scale from there */ /* assume 110x110 on a 640x480 display and scale from there */
let monitor; let monitor = Main.layoutManager.monitors[this._monitorIndex];
if (!monitor)
if (this._currentMonitor >= 0) return; // we are about to be removed
monitor = Main.layoutManager.monitors[this._currentMonitor];
else
monitor = Main.layoutManager.primaryMonitor;
let scalew = monitor.width / 640.0; let scalew = monitor.width / 640.0;
let scaleh = monitor.height / 480.0; let scaleh = monitor.height / 480.0;
@ -222,23 +222,56 @@ const OsdWindow = new Lang.Class({
// but the theme takes measures in unscaled dimensions // but the theme takes measures in unscaled dimensions
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
this._box.style = 'min-height: %dpx;'.format(Math.max(minWidth, minHeight) / scaleFactor); this._box.style = 'min-height: %dpx;'.format(Math.max(minWidth, minHeight) / scaleFactor);
}, }
});
setMonitor: function(index) {
let constraint; const OsdWindowManager = new Lang.Class({
Name: 'OsdWindowManager',
if (index < 0)
index = -1; _init: function() {
if (this._currentMonitor == index) this._osdWindows = [];
return; Main.layoutManager.connect('monitors-changed',
Lang.bind(this, this._monitorsChanged));
if (index < 0) this._monitorsChanged();
constraint = new Layout.MonitorConstraint({ primary: true }); },
else
constraint = new Layout.MonitorConstraint({ index: index }); _monitorsChanged: function() {
for (let i = 0; i < Main.layoutManager.monitors.length; i++) {
this.actor.clear_constraints(); if (this._osdWindows[i] == undefined)
this.actor.add_constraint(constraint); this._osdWindows[i] = new OsdWindow(i);
this._currentMonitor = index; }
for (let i = Main.layoutManager.monitors.length; i < this._osdWindows.length; i++) {
this._osdWindows[i].actor.destroy();
this._osdWindows[i] = null;
}
this._osdWindows.length = Main.layoutManager.monitors.length;
},
_showOsdWindow: function(monitorIndex, icon, label, level) {
this._osdWindows[monitorIndex].setIcon(icon);
this._osdWindows[monitorIndex].setLabel(label);
this._osdWindows[monitorIndex].setLevel(level);
this._osdWindows[monitorIndex].show();
},
show: function(monitorIndex, icon, label, level) {
if (monitorIndex != -1) {
for (let i = 0; i < this._osdWindows.length; i++) {
if (i == monitorIndex)
this._showOsdWindow(i, icon, label, level);
else
this._osdWindows[i].cancel();
}
} else {
for (let i = 0; i < this._osdWindows.length; i++)
this._showOsdWindow(i, icon, label, level);
}
},
hideAll: function() {
for (let i = 0; i < this._osdWindows.length; i++)
this._osdWindows[i].cancel();
} }
}); });

View File

@ -365,6 +365,7 @@ const Overview = new Lang.Class({
this._lastHoveredWindow = null; this._lastHoveredWindow = null;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._windowSwitchTimeoutId, '[gnome-shell] Main.activateWindow');
} }
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;

View File

@ -259,13 +259,18 @@ const ThumbnailsSlider = new Lang.Class({
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide)); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateSlide));
this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide)); this.actor.connect('notify::hover', Lang.bind(this, this._updateSlide));
global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSlide));
this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE); this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE);
}, },
_getAlwaysZoomOut: function() { _getAlwaysZoomOut: function() {
// Always show the pager when hover, during a drag, or if workspaces are // Always show the pager when hover, during a drag, or if workspaces are
// actually used, e.g. there are windows on more than one // actually used, e.g. there are windows on any non-active workspace
let alwaysZoomOut = this.actor.hover || this._inDrag || !Meta.prefs_get_dynamic_workspaces() || global.screen.n_workspaces > 2; let alwaysZoomOut = this.actor.hover ||
this._inDrag ||
!Meta.prefs_get_dynamic_workspaces() ||
global.screen.n_workspaces > 2 ||
global.screen.get_active_workspace_index() != 0;
if (!alwaysZoomOut) { if (!alwaysZoomOut) {
let monitors = Main.layoutManager.monitors; let monitors = Main.layoutManager.monitors;

View File

@ -595,6 +595,7 @@ const ActivitiesButton = new Lang.Class({
Mainloop.source_remove(this._xdndTimeOut); Mainloop.source_remove(this._xdndTimeOut);
this._xdndTimeOut = Mainloop.timeout_add(BUTTON_DND_ACTIVATION_TIMEOUT, this._xdndTimeOut = Mainloop.timeout_add(BUTTON_DND_ACTIVATION_TIMEOUT,
Lang.bind(this, this._xdndToggleOverview, actor)); Lang.bind(this, this._xdndToggleOverview, actor));
GLib.Source.set_name_by_id(this._xdndTimeOut, '[gnome-shell] this._xdndToggleOverview');
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;
}, },

View File

@ -41,8 +41,7 @@ const ButtonBox = new Lang.Class({
}, },
_getPreferredWidth: function(actor, forHeight, alloc) { _getPreferredWidth: function(actor, forHeight, alloc) {
let children = actor.get_children(); let child = actor.get_first_child();
let child = children.length > 0 ? children[0] : null;
if (child) { if (child) {
[alloc.min_size, alloc.natural_size] = child.get_preferred_width(-1); [alloc.min_size, alloc.natural_size] = child.get_preferred_width(-1);
@ -55,8 +54,7 @@ const ButtonBox = new Lang.Class({
}, },
_getPreferredHeight: function(actor, forWidth, alloc) { _getPreferredHeight: function(actor, forWidth, alloc) {
let children = actor.get_children(); let child = actor.get_first_child();
let child = children.length > 0 ? children[0] : null;
if (child) { if (child) {
[alloc.min_size, alloc.natural_size] = child.get_preferred_height(-1); [alloc.min_size, alloc.natural_size] = child.get_preferred_height(-1);
@ -66,13 +64,11 @@ const ButtonBox = new Lang.Class({
}, },
_allocate: function(actor, box, flags) { _allocate: function(actor, box, flags) {
let children = actor.get_children(); let child = actor.get_first_child();
if (children.length == 0) if (!child)
return; return;
let child = children[0];
let [minWidth, natWidth] = child.get_preferred_width(-1); let [minWidth, natWidth] = child.get_preferred_width(-1);
let [minHeight, natHeight] = child.get_preferred_height(-1);
let availWidth = box.x2 - box.x1; let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1; let availHeight = box.y2 - box.y1;

View File

@ -107,6 +107,7 @@ const PointerWatcher = new Lang.Class({
this._timeoutId = Mainloop.timeout_add(minInterval, this._timeoutId = Mainloop.timeout_add(minInterval,
Lang.bind(this, this._onTimeout)); Lang.bind(this, this._onTimeout));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
}, },
_onTimeout: function() { _onTimeout: function() {

View File

@ -46,33 +46,28 @@ function isPopupMenuItemVisible(child) {
* @side Side to which the arrow points. * @side Side to which the arrow points.
*/ */
function arrowIcon(side) { function arrowIcon(side) {
let rotation; let iconName;
switch (side) { switch (side) {
case St.Side.TOP: case St.Side.TOP:
rotation = 180; iconName = 'pan-up-symbolic';
break; break;
case St.Side.RIGHT: case St.Side.RIGHT:
rotation = - 90; iconName = 'pan-end-symbolic';
break; break;
case St.Side.BOTTOM: case St.Side.BOTTOM:
rotation = 0; iconName = 'pan-down-symbolic';
break; break;
case St.Side.LEFT: case St.Side.LEFT:
rotation = 90; iconName = 'pan-start-symbolic';
break; break;
} }
let gicon = new Gio.FileIcon({ file: Gio.File.new_for_path(global.datadir +
'/theme/menu-arrow-symbolic.svg') });
let arrow = new St.Icon({ style_class: 'popup-menu-arrow', let arrow = new St.Icon({ style_class: 'popup-menu-arrow',
gicon: gicon, icon_name: iconName,
accessible_role: Atk.Role.ARROW, accessible_role: Atk.Role.ARROW,
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER });
arrow.rotation_angle_z = rotation;
return arrow; return arrow;
} }
@ -251,8 +246,16 @@ const PopupSeparatorMenuItem = new Lang.Class({
this.actor.add(this.label); this.actor.add(this.label);
this.actor.label_actor = this.label; this.actor.label_actor = this.label;
this.label.connect('notify::text',
Lang.bind(this, this._syncVisibility));
this._syncVisibility();
this._separator = new Separator.HorizontalSeparator({ style_class: 'popup-separator-menu-item' }); this._separator = new Separator.HorizontalSeparator({ style_class: 'popup-separator-menu-item' });
this.actor.add(this._separator.actor, { expand: true }); this.actor.add(this._separator.actor, { expand: true });
},
_syncVisibility: function() {
this.label.visible = this.label.text != '';
} }
}); });

View File

@ -117,7 +117,7 @@ function loadRemoteSearchProviders(callback) {
} }
} }
let searchSettings = new Gio.Settings({ schema: Search.SEARCH_PROVIDERS_SCHEMA }); let searchSettings = new Gio.Settings({ schema_id: Search.SEARCH_PROVIDERS_SCHEMA });
if (searchSettings.get_boolean('disable-external')) { if (searchSettings.get_boolean('disable-external')) {
callback([]); callback([]);
return; return;

View File

@ -38,8 +38,8 @@ const RunDialog = new Lang.Class({
this.parent({ styleClass: 'run-dialog', this.parent({ styleClass: 'run-dialog',
destroyOnClose: false }); destroyOnClose: false });
this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
this._terminalSettings = new Gio.Settings({ schema: TERMINAL_SCHEMA }); this._terminalSettings = new Gio.Settings({ schema_id: TERMINAL_SCHEMA });
global.settings.connect('changed::development-tools', Lang.bind(this, function () { global.settings.connect('changed::development-tools', Lang.bind(this, function () {
this._enableInternalCommands = global.settings.get_boolean('development-tools'); this._enableInternalCommands = global.settings.get_boolean('development-tools');
})); }));

View File

@ -563,7 +563,7 @@ const ScreenShield = new Lang.Class({
this._loginSession.connectSignal('Unlock', Lang.bind(this, function() { this.deactivate(false); })); this._loginSession.connectSignal('Unlock', Lang.bind(this, function() { this.deactivate(false); }));
})); }));
this._settings = new Gio.Settings({ schema: SCREENSAVER_SCHEMA }); this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
this._isModal = false; this._isModal = false;
this._hasLockScreen = false; this._hasLockScreen = false;
@ -850,6 +850,7 @@ const ScreenShield = new Lang.Class({
this.lock(false); this.lock(false);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._lockTimeoutId, '[gnome-shell] this.lock');
} }
this._activateFade(this._longLightbox, STANDARD_FADE_TIME); this._activateFade(this._longLightbox, STANDARD_FADE_TIME);
@ -1041,6 +1042,7 @@ const ScreenShield = new Lang.Class({
if (!this._arrowAnimationId) { if (!this._arrowAnimationId) {
this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows)); this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows));
GLib.Source.set_name_by_id(this._arrowAnimationId, '[gnome-shell] this._animateArrows');
this._animateArrows(); this._animateArrows();
} }
@ -1108,10 +1110,11 @@ const ScreenShield = new Lang.Class({
if (params.fadeToBlack && params.animateFade) { if (params.fadeToBlack && params.animateFade) {
// Take a beat // Take a beat
Mainloop.timeout_add(1000 * MANUAL_FADE_TIME, Lang.bind(this, function() { let id = Mainloop.timeout_add(1000 * MANUAL_FADE_TIME, Lang.bind(this, function() {
this._activateFade(this._shortLightbox, MANUAL_FADE_TIME); this._activateFade(this._shortLightbox, MANUAL_FADE_TIME);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._activateFade');
} else { } else {
if (params.fadeToBlack) if (params.fadeToBlack)
this._activateFade(this._shortLightbox, 0); this._activateFade(this._shortLightbox, 0);

View File

@ -11,6 +11,7 @@ const Shell = imports.gi.Shell;
const Signals = imports.signals; const Signals = imports.signals;
const St = imports.gi.St; const St = imports.gi.St;
const GrabHelper = imports.ui.grabHelper;
const Lightbox = imports.ui.lightbox; const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main; const Main = imports.ui.main;
const Tweener = imports.ui.tweener; const Tweener = imports.ui.tweener;
@ -67,6 +68,13 @@ const ScreenshotService = new Lang.Class({
Gio.DBus.session.own_name('org.gnome.Shell.Screenshot', Gio.BusNameOwnerFlags.REPLACE, null, null); Gio.DBus.session.own_name('org.gnome.Shell.Screenshot', Gio.BusNameOwnerFlags.REPLACE, null, null);
}, },
_checkArea: function(x, y, width, height) {
return x >= 0 && y >= 0 &&
width > 0 && height > 0 &&
x + width <= global.screen_width &&
y + height <= global.screen_height;
},
_onScreenshotComplete: function(obj, result, area, filenameUsed, flash, invocation) { _onScreenshotComplete: function(obj, result, area, filenameUsed, flash, invocation) {
if (flash && result) { if (flash && result) {
let flashspot = new Flashspot(area); let flashspot = new Flashspot(area);
@ -77,13 +85,31 @@ const ScreenshotService = new Lang.Class({
invocation.return_value(retval); invocation.return_value(retval);
}, },
_scaleArea: function(x, y, width, height) {
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
x *= scaleFactor;
y *= scaleFactor;
width *= scaleFactor;
height *= scaleFactor;
return [x, y, width, height];
},
_unscaleArea: function(x, y, width, height) {
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
x /= scaleFactor;
y /= scaleFactor;
width /= scaleFactor;
height /= scaleFactor;
return [x, y, width, height];
},
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 (x < 0 || y < 0 || [x, y, width, height] = this._scaleArea(x, y, width, height);
width <= 0 || height <= 0 || if (!this._checkArea(x, y, width, height)) {
x + width > global.screen_width || y + height > global.screen_height) { invocation.return_error_literal(Gio.IOErrorEnum,
invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED, Gio.IOErrorEnum.CANCELLED,
"Invalid params"); "Invalid params");
return; return;
} }
let screenshot = new Shell.Screenshot(); let screenshot = new Shell.Screenshot();
@ -114,9 +140,9 @@ const ScreenshotService = new Lang.Class({
selectArea.connect('finished', Lang.bind(this, selectArea.connect('finished', Lang.bind(this,
function(selectArea, areaRectangle) { function(selectArea, areaRectangle) {
if (areaRectangle) { if (areaRectangle) {
let retval = GLib.Variant.new('(iiii)', let retRectangle = this._unscaleArea(areaRectangle.x, areaRectangle.y,
[areaRectangle.x, areaRectangle.y, areaRectangle.width, areaRectangle.height);
areaRectangle.width, areaRectangle.height]); let retval = GLib.Variant.new('(iiii)', retRectangle);
invocation.return_value(retval); invocation.return_value(retval);
} else { } else {
invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED, invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
@ -125,9 +151,18 @@ const ScreenshotService = new Lang.Class({
})); }));
}, },
FlashArea: function(x, y, width, height) { FlashAreaAsync: function(params, invocation) {
let [x, y, width, height] = params;
[x, y, width, height] = this._scaleArea(x, y, width, height);
if (!this._checkArea(x, y, width, height)) {
invocation.return_error_literal(Gio.IOErrorEnum,
Gio.IOErrorEnum.CANCELLED,
"Invalid params");
return;
}
let flashspot = new Flashspot({ x : x, y : y, width: width, height: height}); let flashspot = new Flashspot({ x : x, y : y, width: width, height: height});
flashspot.fire(); flashspot.fire();
invocation.return_value(null);
} }
}); });
@ -139,6 +174,7 @@ const SelectArea = new Lang.Class({
this._startY = -1; this._startY = -1;
this._lastX = 0; this._lastX = 0;
this._lastY = 0; this._lastY = 0;
this._result = null;
this._initRubberbandColors(); this._initRubberbandColors();
@ -148,12 +184,12 @@ const SelectArea = new Lang.Class({
y: 0 }); y: 0 });
Main.uiGroup.add_actor(this._group); Main.uiGroup.add_actor(this._group);
this._grabHelper = new GrabHelper.GrabHelper(this._group);
this._group.connect('button-press-event', this._group.connect('button-press-event',
Lang.bind(this, this._onButtonPress)); Lang.bind(this, this._onButtonPress));
this._group.connect('button-release-event', this._group.connect('button-release-event',
Lang.bind(this, this._onButtonRelease)); Lang.bind(this, this._onButtonRelease));
this._group.connect('key-press-event',
Lang.bind(this, this._onKeyPress));
this._group.connect('motion-event', this._group.connect('motion-event',
Lang.bind(this, this._onMotionEvent)); Lang.bind(this, this._onMotionEvent));
@ -169,10 +205,12 @@ const SelectArea = new Lang.Class({
}, },
show: function() { show: function() {
if (!Main.pushModal(this._group) || this._group.visible) if (!this._grabHelper.grab({ actor: this._group,
onUngrab: Lang.bind(this, this._onUngrab) }))
return; return;
global.screen.set_cursor(Meta.Cursor.CROSSHAIR); global.screen.set_cursor(Meta.Cursor.CROSSHAIR);
Main.uiGroup.set_child_above_sibling(this._group, null);
this._group.visible = true; this._group.visible = true;
}, },
@ -202,13 +240,6 @@ const SelectArea = new Lang.Class({
height: Math.abs(this._startY - this._lastY) }; height: Math.abs(this._startY - this._lastY) };
}, },
_onKeyPress: function(actor, event) {
if (event.get_key_symbol() == Clutter.Escape)
this._destroy(null, false);
return Clutter.EVENT_PROPAGATE;
},
_onMotionEvent: function(actor, event) { _onMotionEvent: function(actor, event) {
if (this._startX == -1 || this._startY == -1) if (this._startX == -1 || this._startY == -1)
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
@ -230,24 +261,28 @@ const SelectArea = new Lang.Class({
}, },
_onButtonRelease: function(actor, event) { _onButtonRelease: function(actor, event) {
this._destroy(this._getGeometry(), true); this._result = this._getGeometry();
return Clutter.EVENT_PROPAGATE;
},
_destroy: function(geometry, fade) {
Tweener.addTween(this._group, Tweener.addTween(this._group,
{ opacity: 0, { opacity: 0,
time: fade ? 0.2 : 0, time: 0.2,
transition: 'easeOutQuad', transition: 'easeOutQuad',
onComplete: Lang.bind(this, onComplete: Lang.bind(this,
function() { function() {
Main.popModal(this._group); this._grabHelper.ungrab();
this._group.destroy();
global.screen.set_cursor(Meta.Cursor.DEFAULT);
this.emit('finished', geometry);
}) })
}); });
return Clutter.EVENT_PROPAGATE;
},
_onUngrab: function() {
global.screen.set_cursor(Meta.Cursor.DEFAULT);
this.emit('finished', this._result);
GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this,
function() {
this._group.destroy();
return GLib.SOURCE_REMOVE;
}));
} }
}); });
Signals.addSignalMethods(SelectArea.prototype); Signals.addSignalMethods(SelectArea.prototype);

View File

@ -39,11 +39,12 @@ const Main = imports.ui.main;
function sleep(milliseconds) { function sleep(milliseconds) {
let cb; let cb;
Mainloop.timeout_add(milliseconds, function() { let id = Mainloop.timeout_add(milliseconds, function() {
if (cb) if (cb)
cb(); cb();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
}); });
GLib.Source.set_name_by_id(id, '[gnome-shell] sleep');
return function(callback) { return function(callback) {
cb = callback; cb = callback;

View File

@ -31,7 +31,7 @@ const SearchSystem = new Lang.Class({
this._registerProvider(new AppDisplay.AppSearchProvider()); this._registerProvider(new AppDisplay.AppSearchProvider());
this._searchSettings = new Gio.Settings({ schema: SEARCH_PROVIDERS_SCHEMA }); this._searchSettings = new Gio.Settings({ schema_id: SEARCH_PROVIDERS_SCHEMA });
this._searchSettings.connect('changed::disabled', Lang.bind(this, this._reloadRemoteProviders)); this._searchSettings.connect('changed::disabled', Lang.bind(this, this._reloadRemoteProviders));
this._searchSettings.connect('changed::disable-external', Lang.bind(this, this._reloadRemoteProviders)); this._searchSettings.connect('changed::disable-external', Lang.bind(this, this._reloadRemoteProviders));
this._searchSettings.connect('changed::sort-order', Lang.bind(this, this._reloadRemoteProviders)); this._searchSettings.connect('changed::sort-order', Lang.bind(this, this._reloadRemoteProviders));
@ -68,6 +68,9 @@ const SearchSystem = new Lang.Class({
_unregisterProvider: function (provider) { _unregisterProvider: function (provider) {
let index = this._providers.indexOf(provider); let index = this._providers.indexOf(provider);
this._providers.splice(index, 1); this._providers.splice(index, 1);
if (provider.display)
provider.display.destroy();
}, },
getProviders: function() { getProviders: function() {

View File

@ -18,7 +18,6 @@ const _modes = {
'restrictive': { 'restrictive': {
parentMode: null, parentMode: null,
stylesheetName: 'gnome-shell.css', stylesheetName: 'gnome-shell.css',
overridesSchema: 'org.gnome.shell.overrides',
hasOverview: false, hasOverview: false,
showCalendarEvents: false, showCalendarEvents: false,
allowSettings: false, allowSettings: false,
@ -140,13 +139,14 @@ function _loadModes() {
function listModes() { function listModes() {
_loadModes(); _loadModes();
Mainloop.idle_add(function() { let id = Mainloop.idle_add(function() {
let names = Object.getOwnPropertyNames(_modes); let names = Object.getOwnPropertyNames(_modes);
for (let i = 0; i < names.length; i++) for (let i = 0; i < names.length; i++)
if (_modes[names[i]].isPrimary) if (_modes[names[i]].isPrimary)
print(names[i]); print(names[i]);
Mainloop.quit('listModes'); Mainloop.quit('listModes');
}); });
GLib.Source.set_name_by_id(id, '[gnome-shell] listModes');
Mainloop.run('listModes'); Mainloop.run('listModes');
} }

View File

@ -141,12 +141,7 @@ const GnomeShell = new Lang.Class({
if (params['icon']) if (params['icon'])
icon = Gio.Icon.new_for_string(params['icon']); icon = Gio.Icon.new_for_string(params['icon']);
Main.osdWindow.setIcon(icon); Main.osdWindowManager.show(monitorIndex, icon, params['label'], params['level']);
Main.osdWindow.setMonitor (monitorIndex);
Main.osdWindow.setLabel(params['label']);
Main.osdWindow.setLevel(params['level']);
Main.osdWindow.show();
}, },
FocusApp: function(id) { FocusApp: function(id) {

View File

@ -48,7 +48,7 @@ const ATIndicator = new Lang.Class({
this.actor.add_child(this._hbox); this.actor.add_child(this._hbox);
this._a11ySettings = new Gio.Settings({ schema: A11Y_SCHEMA }); this._a11ySettings = new Gio.Settings({ schema_id: A11Y_SCHEMA });
this._a11ySettings.connect('changed::' + KEY_ALWAYS_SHOW, Lang.bind(this, this._queueSyncMenuVisibility)); this._a11ySettings.connect('changed::' + KEY_ALWAYS_SHOW, Lang.bind(this, this._queueSyncMenuVisibility));
let highContrast = this._buildHCItem(); let highContrast = this._buildHCItem();
@ -103,6 +103,7 @@ const ATIndicator = new Lang.Class({
return; return;
this._syncMenuVisbilityIdle = Mainloop.idle_add(Lang.bind(this, this._syncMenuVisibility)); this._syncMenuVisbilityIdle = Mainloop.idle_add(Lang.bind(this, this._syncMenuVisibility));
GLib.Source.set_name_by_id(this._syncMenuVisbilityIdle, '[gnome-shell] this._syncMenuVisibility');
}, },
_buildItemExtended: function(string, initial_value, writable, on_set) { _buildItemExtended: function(string, initial_value, writable, on_set) {
@ -117,7 +118,7 @@ const ATIndicator = new Lang.Class({
}, },
_buildItem: function(string, schema, key) { _buildItem: function(string, schema, key) {
let settings = new Gio.Settings({ schema: schema }); let settings = new Gio.Settings({ schema_id: schema });
let widget = this._buildItemExtended(string, let widget = this._buildItemExtended(string,
settings.get_boolean(key), settings.get_boolean(key),
settings.is_writable(key), settings.is_writable(key),
@ -133,8 +134,8 @@ const ATIndicator = new Lang.Class({
}, },
_buildHCItem: function() { _buildHCItem: function() {
let interfaceSettings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA }); let interfaceSettings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA });
let wmSettings = new Gio.Settings({ schema: WM_SCHEMA }); let wmSettings = new Gio.Settings({ schema_id: WM_SCHEMA });
let gtkTheme = interfaceSettings.get_string(KEY_GTK_THEME); let gtkTheme = interfaceSettings.get_string(KEY_GTK_THEME);
let iconTheme = interfaceSettings.get_string(KEY_ICON_THEME); let iconTheme = interfaceSettings.get_string(KEY_ICON_THEME);
let wmTheme = wmSettings.get_string(KEY_WM_THEME); let wmTheme = wmSettings.get_string(KEY_WM_THEME);
@ -185,7 +186,7 @@ const ATIndicator = new Lang.Class({
}, },
_buildFontItem: function() { _buildFontItem: function() {
let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA }); let settings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA });
let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR); let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
let initial_setting = (factor > 1.0); let initial_setting = (factor > 1.0);

View File

@ -292,6 +292,10 @@ const InputSourcePopup = new Lang.Class({
this._select(this._previous()); this._select(this._previous());
else if (keysym == Clutter.Right) else if (keysym == Clutter.Right)
this._select(this._next()); this._select(this._next());
else
return Clutter.EVENT_PROPAGATE;
return Clutter.EVENT_STOP;
}, },
_finish : function() { _finish : function() {
@ -361,18 +365,18 @@ const InputSourceIndicator = new Lang.Class({
this._mruSources = []; this._mruSources = [];
this._keybindingAction = this._keybindingAction =
Main.wm.addKeybinding('switch-input-source', Main.wm.addKeybinding('switch-input-source',
new Gio.Settings({ schema: "org.gnome.desktop.wm.keybindings" }), new Gio.Settings({ schema_id: "org.gnome.desktop.wm.keybindings" }),
Meta.KeyBindingFlags.REVERSES, Meta.KeyBindingFlags.REVERSES,
Shell.KeyBindingMode.ALL, Shell.KeyBindingMode.ALL,
Lang.bind(this, this._switchInputSource)); Lang.bind(this, this._switchInputSource));
this._keybindingActionBackward = this._keybindingActionBackward =
Main.wm.addKeybinding('switch-input-source-backward', Main.wm.addKeybinding('switch-input-source-backward',
new Gio.Settings({ schema: "org.gnome.desktop.wm.keybindings" }), new Gio.Settings({ schema_id: "org.gnome.desktop.wm.keybindings" }),
Meta.KeyBindingFlags.REVERSES | Meta.KeyBindingFlags.REVERSES |
Meta.KeyBindingFlags.REVERSED, Meta.KeyBindingFlags.IS_REVERSED,
Shell.KeyBindingMode.ALL, Shell.KeyBindingMode.ALL,
Lang.bind(this, this._switchInputSource)); Lang.bind(this, this._switchInputSource));
this._settings = new Gio.Settings({ schema: DESKTOP_INPUT_SOURCES_SCHEMA }); this._settings = new Gio.Settings({ schema_id: DESKTOP_INPUT_SOURCES_SCHEMA });
this._settings.connect('changed::' + KEY_CURRENT_INPUT_SOURCE, Lang.bind(this, this._currentInputSourceChanged)); this._settings.connect('changed::' + KEY_CURRENT_INPUT_SOURCE, Lang.bind(this, this._currentInputSourceChanged));
this._settings.connect('changed::' + KEY_INPUT_SOURCES, Lang.bind(this, this._inputSourcesChanged)); this._settings.connect('changed::' + KEY_INPUT_SOURCES, Lang.bind(this, this._inputSourcesChanged));

View File

@ -43,7 +43,7 @@ const Indicator = new Lang.Class({
_init: function() { _init: function() {
this.parent(); this.parent();
this._settings = new Gio.Settings({ schema: LOCATION_SCHEMA }); this._settings = new Gio.Settings({ schema_id: LOCATION_SCHEMA });
this._settings.connect('changed::' + MAX_ACCURACY_LEVEL, this._settings.connect('changed::' + MAX_ACCURACY_LEVEL,
Lang.bind(this, this._onMaxAccuracyLevelChanged)); Lang.bind(this, this._onMaxAccuracyLevelChanged));
@ -191,8 +191,12 @@ const Indicator = new Lang.Class({
let unpacked = properties.deep_unpack(); let unpacked = properties.deep_unpack();
if ("InUse" in unpacked) if ("InUse" in unpacked)
this._syncIndicator(); this._syncIndicator();
if ("AvailableAccuracyLevel" in unpacked) if ("AvailableAccuracyLevel" in unpacked) {
this._availableAccuracyLevel = this._proxy.AvailableAccuracyLevel; this._availableAccuracyLevel = this._proxy.AvailableAccuracyLevel;
if (this._getMaxAccuracyLevel() != 0)
this._settings.set_enum(MAX_ACCURACY_LEVEL, this._availableAccuracyLevel);
}
} }
}); });

View File

@ -423,18 +423,18 @@ const NMConnectionDevice = new Lang.Class({
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) */
return _("unmanaged"); return _("Unmanaged");
case NetworkManager.DeviceState.DEACTIVATING: case NetworkManager.DeviceState.DEACTIVATING:
return _("disconnecting..."); return _("Disconnecting");
case NetworkManager.DeviceState.PREPARE: case NetworkManager.DeviceState.PREPARE:
case NetworkManager.DeviceState.CONFIG: case NetworkManager.DeviceState.CONFIG:
case NetworkManager.DeviceState.IP_CONFIG: case NetworkManager.DeviceState.IP_CONFIG:
case NetworkManager.DeviceState.IP_CHECK: case NetworkManager.DeviceState.IP_CHECK:
case NetworkManager.DeviceState.SECONDARIES: case NetworkManager.DeviceState.SECONDARIES:
return _("connecting..."); return _("Connecting");
case NetworkManager.DeviceState.NEED_AUTH: case NetworkManager.DeviceState.NEED_AUTH:
/* 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 */
return _("authentication required"); return _("Authentication required");
case NetworkManager.DeviceState.UNAVAILABLE: case NetworkManager.DeviceState.UNAVAILABLE:
// This state is actually a compound of various states (generically unavailable, // This state is actually a compound of various states (generically unavailable,
// firmware missing), that are exposed by different properties (whose state may // firmware missing), that are exposed by different properties (whose state may
@ -442,13 +442,13 @@ const NMConnectionDevice = new Lang.Class({
if (this._device.firmware_missing) { if (this._device.firmware_missing) {
/* 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 */
return _("firmware missing"); return _("Firmware missing");
} }
/* 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 */
return _("unavailable"); return _("Unavailable");
case NetworkManager.DeviceState.FAILED: case NetworkManager.DeviceState.FAILED:
return _("connection failed"); return _("Connection failed");
default: default:
log('Device state invalid, is %d'.format(this._device.state)); log('Device state invalid, is %d'.format(this._device.state));
return 'invalid'; return 'invalid';

View File

@ -4,6 +4,7 @@ const Gio = imports.gi.Gio;
const Lang = imports.lang; const Lang = imports.lang;
const Signals = imports.signals; const Signals = imports.signals;
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;
@ -83,10 +84,18 @@ const Indicator = new Lang.Class({
this._item.icon.icon_name = 'airplane-mode-symbolic'; this._item.icon.icon_name = 'airplane-mode-symbolic';
this._item.status.text = _("On"); this._item.status.text = _("On");
this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() { this._offItem = this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._proxy.AirplaneMode = false; this._manager.airplaneMode = false;
})); }));
this._item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop'); this._item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
this.menu.addMenuItem(this._item); this.menu.addMenuItem(this._item);
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
this._sessionUpdated();
},
_sessionUpdated: function() {
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
this.menu.setSensitive(sensitive);
}, },
_sync: function() { _sync: function() {

View File

@ -56,7 +56,10 @@ const AltSwitcher = new Lang.Class({
} }
if (this.actor.get_child() != childToShow) { if (this.actor.get_child() != childToShow) {
let hasFocus = this.actor.contains(global.stage.get_key_focus());
this.actor.set_child(childToShow); this.actor.set_child(childToShow);
if (hasFocus)
childToShow.grab_key_focus();
// The actors might respond to hover, so // The actors might respond to hover, so
// sync the pointer to make sure they update. // sync the pointer to make sure they update.
@ -92,11 +95,11 @@ const Indicator = new Lang.Class({
_init: function() { _init: function() {
this.parent(); this.parent();
this._screenSaverSettings = new Gio.Settings({ schema: SCREENSAVER_SCHEMA }); this._screenSaverSettings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
this._loginScreenSettings = new Gio.Settings({ schema: LOGIN_SCREEN_SCHEMA }); this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
this._privacySettings = new Gio.Settings({ schema: PRIVACY_SCHEMA }); this._privacySettings = new Gio.Settings({ schema_id: PRIVACY_SCHEMA });
this._orientationSettings = new Gio.Settings({ schema: 'org.gnome.settings-daemon.peripherals.touchscreen' }); this._orientationSettings = new Gio.Settings({ schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen' });
this._session = new GnomeSession.SessionManager(); this._session = new GnomeSession.SessionManager();
this._loginManager = LoginManager.getLoginManager(); this._loginManager = LoginManager.getLoginManager();

View File

@ -161,11 +161,12 @@ const SwitcherPopup = new Lang.Class({
// disturbed by the popup briefly flashing. // disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT, this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT,
Lang.bind(this, function () { Lang.bind(this, function () {
Main.osdWindow.cancel(); Main.osdWindowManager.hideAll();
this.actor.opacity = 255; this.actor.opacity = 255;
this._initialDelayTimeoutId = 0; this._initialDelayTimeoutId = 0;
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(this._initialDelayTimeoutId, '[gnome-shell] Main.osdWindow.cancel');
return true; return true;
}, },
@ -189,10 +190,11 @@ const SwitcherPopup = new Lang.Class({
this._disableHover(); this._disableHover();
if (this._keyPressHandler(keysym, backwards, action) != Clutter.EVENT_PROPAGATE)
return Clutter.EVENT_STOP;
if (keysym == Clutter.Escape) if (keysym == Clutter.Escape)
this.destroy(); this.destroy();
else
this._keyPressHandler(keysym, backwards, action);
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
}, },
@ -250,6 +252,7 @@ const SwitcherPopup = new Lang.Class({
Mainloop.source_remove(this._motionTimeoutId); Mainloop.source_remove(this._motionTimeoutId);
this._motionTimeoutId = Mainloop.timeout_add(DISABLE_HOVER_TIMEOUT, Lang.bind(this, this._mouseTimedOut)); this._motionTimeoutId = Mainloop.timeout_add(DISABLE_HOVER_TIMEOUT, Lang.bind(this, this._mouseTimedOut));
GLib.Source.set_name_by_id(this._motionTimeoutId, '[gnome-shell] this._mouseTimedOut');
}, },
_mouseTimedOut: function() { _mouseTimedOut: function() {

View File

@ -62,7 +62,7 @@ const UnlockDialog = new Lang.Class({
this.allowCancel = false; this.allowCancel = false;
let screenSaverSettings = new Gio.Settings({ schema: 'org.gnome.desktop.screensaver' }); let screenSaverSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.screensaver' });
if (screenSaverSettings.get_boolean('user-switch-enabled')) { if (screenSaverSettings.get_boolean('user-switch-enabled')) {
let otherUserLabel = new St.Label({ text: _("Log in as another user"), let otherUserLabel = new St.Label({ text: _("Log in as another user"),
style_class: 'login-dialog-not-listed-label' }); style_class: 'login-dialog-not-listed-label' });

View File

@ -132,14 +132,14 @@ const ViewSelector = new Lang.Class({
})); }));
Main.wm.addKeybinding('toggle-application-view', Main.wm.addKeybinding('toggle-application-view',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.OVERVIEW, Shell.KeyBindingMode.OVERVIEW,
Lang.bind(this, this._toggleAppsPage)); Lang.bind(this, this._toggleAppsPage));
Main.wm.addKeybinding('toggle-overview', Main.wm.addKeybinding('toggle-overview',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.OVERVIEW, Shell.KeyBindingMode.OVERVIEW,
@ -282,13 +282,13 @@ const ViewSelector = new Lang.Class({
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
} else if (this._shouldTriggerSearch(symbol)) { } else if (this._shouldTriggerSearch(symbol)) {
this.startSearch(event); this.startSearch(event);
} else if (!this._searchActive) { } else if (!this._searchActive && !global.stage.key_focus) {
if (symbol == Clutter.Tab || symbol == Clutter.Down) { if (symbol == Clutter.Tab || symbol == Clutter.Down) {
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
return true; return Clutter.EVENT_STOP;
} else if (symbol == Clutter.ISO_Left_Tab) { } else if (symbol == Clutter.ISO_Left_Tab) {
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false); this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false);
return true; return Clutter.EVENT_STOP;
} }
} }
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
@ -383,9 +383,11 @@ const ViewSelector = new Lang.Class({
this._iconClickedId = this._entry.connect('secondary-icon-clicked', this._iconClickedId = this._entry.connect('secondary-icon-clicked',
Lang.bind(this, this.reset)); Lang.bind(this, this.reset));
if (this._searchTimeoutId == 0) if (this._searchTimeoutId == 0) {
this._searchTimeoutId = Mainloop.timeout_add(150, this._searchTimeoutId = Mainloop.timeout_add(150,
Lang.bind(this, this._doSearch)); Lang.bind(this, this._doSearch));
GLib.Source.set_name_by_id(this._searchTimeoutId, '[gnome-shell] this._doSearch');
}
} else { } else {
if (this._iconClickedId > 0) { if (this._iconClickedId > 0) {
this._entry.disconnect(this._iconClickedId); this._entry.disconnect(this._iconClickedId);

View File

@ -15,6 +15,7 @@ const WorkspaceSwitcherPopup = imports.ui.workspaceSwitcherPopup;
const Main = imports.ui.main; const Main = imports.ui.main;
const ModalDialog = imports.ui.modalDialog; const ModalDialog = imports.ui.modalDialog;
const Tweener = imports.ui.tweener; const Tweener = imports.ui.tweener;
const WindowMenu = imports.ui.windowMenu;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings'; const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const WINDOW_ANIMATION_TIME = 0.25; const WINDOW_ANIMATION_TIME = 0.25;
@ -82,6 +83,7 @@ const DisplayChangeDialog = new Lang.Class({
{ expand: false, x_fill: false, x_align: St.Align.END }); { expand: false, x_fill: false, x_align: St.Align.END });
this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick)); this._timeoutId = Mainloop.timeout_add(ONE_SECOND, Lang.bind(this, this._tick));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick');
}, },
close: function(timestamp) { close: function(timestamp) {
@ -197,12 +199,19 @@ const WorkspaceTracker = new Lang.Class({
global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor)); global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor));
global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked)); global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked));
this._workspaceSettings = new Gio.Settings({ schema: Main.dynamicWorkspacesSchema }); this._workspaceSettings = this._getWorkspaceSettings();
this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces)); this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces));
this._nWorkspacesChanged(); this._nWorkspacesChanged();
}, },
_getWorkspaceSettings: function() {
let settings = global.get_overrides_settings();
if (settings.list_keys().indexOf('dynamic-workspaces') > -1)
return settings;
return new Gio.Settings({ schema_id: 'org.gnome.mutter' });
},
_checkWorkspaces: function() { _checkWorkspaces: function() {
let i; let i;
let emptyWorkspaces = []; let emptyWorkspaces = [];
@ -271,18 +280,20 @@ const WorkspaceTracker = new Lang.Class({
this._queueCheckWorkspaces(); this._queueCheckWorkspaces();
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(workspace._keepAliveId, '[gnome-shell] this._queueCheckWorkspaces');
}, },
_windowRemoved: function(workspace, window) { _windowRemoved: function(workspace, window) {
workspace._lastRemovedWindow = window; workspace._lastRemovedWindow = window;
this._queueCheckWorkspaces(); this._queueCheckWorkspaces();
Mainloop.timeout_add(LAST_WINDOW_GRACE_TIME, Lang.bind(this, function() { let id = Mainloop.timeout_add(LAST_WINDOW_GRACE_TIME, Lang.bind(this, function() {
if (workspace._lastRemovedWindow == window) { if (workspace._lastRemovedWindow == window) {
workspace._lastRemovedWindow = null; workspace._lastRemovedWindow = null;
this._queueCheckWorkspaces(); this._queueCheckWorkspaces();
} }
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._queueCheckWorkspaces');
}, },
_windowLeftMonitor: function(metaScreen, monitorIndex, metaWin) { _windowLeftMonitor: function(metaScreen, monitorIndex, metaWin) {
@ -460,8 +471,6 @@ const WindowManager = new Lang.Class({
this._dimmedWindows = []; this._dimmedWindows = [];
this._animationBlockCount = 0;
this._allowedKeybindings = {}; this._allowedKeybindings = {};
this._switchData = null; this._switchData = null;
@ -477,6 +486,7 @@ const WindowManager = new Lang.Class({
this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace)); this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
this._shellwm.connect('show-tile-preview', Lang.bind(this, this._showTilePreview)); this._shellwm.connect('show-tile-preview', Lang.bind(this, this._showTilePreview));
this._shellwm.connect('hide-tile-preview', Lang.bind(this, this._hideTilePreview)); this._shellwm.connect('hide-tile-preview', Lang.bind(this, this._hideTilePreview));
this._shellwm.connect('show-window-menu', Lang.bind(this, this._showWindowMenu));
this._shellwm.connect('minimize', Lang.bind(this, this._minimizeWindow)); this._shellwm.connect('minimize', Lang.bind(this, this._minimizeWindow));
this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow)); this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow));
this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow)); this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow));
@ -504,6 +514,10 @@ const WindowManager = new Lang.Class({
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.OVERVIEW, Shell.KeyBindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher)); Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-to-workspace-last',
Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-left', this.setCustomKeybindingHandler('move-to-workspace-left',
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.OVERVIEW, Shell.KeyBindingMode.OVERVIEW,
@ -604,6 +618,9 @@ const WindowManager = new Lang.Class({
this.setCustomKeybindingHandler('move-to-workspace-12', this.setCustomKeybindingHandler('move-to-workspace-12',
Shell.KeyBindingMode.NORMAL, Shell.KeyBindingMode.NORMAL,
Lang.bind(this, this._showWorkspaceSwitcher)); Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-last',
Shell.KeyBindingMode.NORMAL,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-applications', this.setCustomKeybindingHandler('switch-applications',
Shell.KeyBindingMode.NORMAL, Shell.KeyBindingMode.NORMAL,
Lang.bind(this, this._startAppSwitcher)); Lang.bind(this, this._startAppSwitcher));
@ -638,13 +655,13 @@ const WindowManager = new Lang.Class({
Lang.bind(this, this._startA11ySwitcher)); Lang.bind(this, this._startA11ySwitcher));
this.addKeybinding('pause-resume-tweens', this.addKeybinding('pause-resume-tweens',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.ALL, Shell.KeyBindingMode.ALL,
Lang.bind(this, this._toggleTweens)); Lang.bind(this, this._toggleTweens));
this.addKeybinding('open-application-menu', this.addKeybinding('open-application-menu',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE, Meta.KeyBindingFlags.NONE,
Shell.KeyBindingMode.NORMAL | Shell.KeyBindingMode.NORMAL |
Shell.KeyBindingMode.TOPBAR_POPUP, Shell.KeyBindingMode.TOPBAR_POPUP,
@ -659,6 +676,8 @@ const WindowManager = new Lang.Class({
this._dimWindow(this._dimmedWindows[i]); this._dimWindow(this._dimmedWindows[i]);
})); }));
this._windowMenuManager = new WindowMenu.WindowMenuManager();
if (Main.sessionMode.hasWorkspaces) if (Main.sessionMode.hasWorkspaces)
this._workspaceTracker = new WorkspaceTracker(this); this._workspaceTracker = new WorkspaceTracker(this);
@ -694,16 +713,8 @@ const WindowManager = new Lang.Class({
this._allowedKeybindings[name] = modes; this._allowedKeybindings[name] = modes;
}, },
blockAnimations: function() {
this._animationBlockCount++;
},
unblockAnimations: function() {
this._animationBlockCount = Math.max(0, this._animationBlockCount - 1);
},
_shouldAnimate: function() { _shouldAnimate: function() {
return !(Main.overview.visible || this._animationBlockCount > 0); return !Main.overview.visible;
}, },
_shouldAnimateActor: function(actor) { _shouldAnimateActor: function(actor) {
@ -1149,6 +1160,10 @@ const WindowManager = new Lang.Class({
this._tilePreview.hide(); this._tilePreview.hide();
}, },
_showWindowMenu: function(shellwm, window, menu, rect) {
this._windowMenuManager.showWindowMenuForWindow(window, menu, rect);
},
_startAppSwitcher : function(display, screen, window, binding) { _startAppSwitcher : function(display, screen, window, binding) {
/* prevent a corner case where both popups show up at once */ /* prevent a corner case where both popups show up at once */
if (this._workspaceSwitcherPopup != null) if (this._workspaceSwitcherPopup != null)
@ -1205,7 +1220,10 @@ const WindowManager = new Lang.Class({
let newWs; let newWs;
let direction; let direction;
if (isNaN(target)) { if (target == 'last') {
direction = Meta.MotionDirection.DOWN;
newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);
} else if (isNaN(target)) {
direction = Meta.MotionDirection[target.toUpperCase()]; direction = Meta.MotionDirection[target.toUpperCase()];
newWs = screen.get_active_workspace().get_neighbor(direction); newWs = screen.get_active_workspace().get_neighbor(direction);
} else if (target > 0) { } else if (target > 0) {

185
js/ui/windowMenu.js Normal file
View File

@ -0,0 +1,185 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Meta = imports.gi.Meta;
const St = imports.gi.St;
const Shell = imports.gi.Shell;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
const RemoteMenu = imports.ui.remoteMenu;
const WindowMenu = new Lang.Class({
Name: 'WindowMenu',
Extends: PopupMenu.PopupMenu,
_init: function(window, sourceActor) {
this.parent(sourceActor, 0, St.Side.TOP);
this.actor.add_style_class_name('window-menu');
Main.layoutManager.uiGroup.add_actor(this.actor);
this.actor.hide();
this._buildMenu(window);
},
_buildMenu: function(window) {
let type = window.get_window_type();
let item;
item = this.addAction(_("Minimize"), Lang.bind(this, function(event) {
window.minimize();
}));
if (!window.can_minimize())
item.setSensitive(false);
if (window.get_maximized()) {
item = this.addAction(_("Unmaximize"), Lang.bind(this, function() {
window.unmaximize(Meta.MaximizeFlags.BOTH);
}));
} else {
item = this.addAction(_("Maximize"), Lang.bind(this, function() {
window.maximize(Meta.MaximizeFlags.BOTH);
}));
}
if (!window.can_maximize())
item.setSensitive(false);
item = this.addAction(_("Move"), Lang.bind(this, function(event) {
window.begin_grab_op(Meta.GrabOp.KEYBOARD_MOVING, true, event.get_time());
}));
if (!window.allows_move())
item.setSensitive(false);
item = this.addAction(_("Resize"), Lang.bind(this, function(event) {
window.begin_grab_op(Meta.GrabOp.KEYBOARD_RESIZING_UNKNOWN, true, event.get_time());
}));
if (!window.allows_resize())
item.setSensitive(false);
if (!window.titlebar_is_onscreen() && type != Meta.WindowType.DOCK && type != Meta.WindowType.DESKTOP) {
this.addAction(_("Move Titlebar Onscreen"), Lang.bind(this, function(event) {
window.shove_titlebar_onscreen();
}));
}
item = this.addAction(_("Always on Top"), Lang.bind(this, function() {
if (window.is_above())
window.unmake_above();
else
window.make_above();
}));
if (window.is_above())
item.setOrnament(PopupMenu.Ornament.DOT);
if (window.get_maximized() ||
type == Meta.WindowType.DOCK ||
type == Meta.WindowType.DESKTOP ||
type == Meta.WindowType.SPLASHSCREEN)
item.setSensitive(false);
if (Main.sessionMode.hasWorkspaces &&
(!Meta.prefs_get_workspaces_only_on_primary() ||
window.is_on_primary_monitor())) {
let isSticky = window.is_on_all_workspaces();
item = this.addAction(_("Always on Visible Workspace"), Lang.bind(this, function() {
if (isSticky)
window.unstick();
else
window.stick();
}));
if (isSticky)
item.setOrnament(PopupMenu.Ornament.DOT);
if (window.is_always_on_all_workspaces())
item.setSensitive(false);
let nWorkspaces = global.screen.n_workspaces;
if (!isSticky) {
let workspace = window.get_workspace();
let idx = workspace.index();
if (idx > 0) {
this.addAction(_("Move to Workspace Up"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.UP));
}));
}
if (idx < nWorkspaces) {
this.addAction(_("Move to Workspace Down"), Lang.bind(this, function(event) {
window.change_workspace(workspace.get_neighbor(Meta.MotionDirection.DOWN));
}));
}
}
}
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
item = this.addAction(_("Close"), Lang.bind(this, function(event) {
window.delete(event.get_time());
}));
if (!window.can_close())
item.setSensitive(false);
}
});
const AppMenu = new Lang.Class({
Name: 'AppMenu',
Extends: RemoteMenu.RemoteMenu,
_init: function(window, sourceActor) {
let app = Shell.WindowTracker.get_default().get_window_app(window);
this.parent(sourceActor, app.menu, app.action_group);
this.actor.add_style_class_name('fallback-app-menu');
let variant = window.get_gtk_theme_variant();
if (variant)
this.actor.add_style_class_name(variant);
Main.layoutManager.uiGroup.add_actor(this.actor);
this.actor.hide();
}
});
const WindowMenuManager = new Lang.Class({
Name: 'WindowMenuManager',
_init: function() {
this._manager = new PopupMenu.PopupMenuManager({ actor: Main.layoutManager.dummyCursor });
this._sourceActor = new St.Widget({ reactive: true, visible: false });
this._sourceActor.connect('button-press-event', Lang.bind(this,
function() {
this._manager.activeMenu.toggle();
}));
Main.uiGroup.add_actor(this._sourceActor);
},
showWindowMenuForWindow: function(window, type, rect) {
let menuType = (type == Meta.WindowMenuType.WM) ? WindowMenu : AppMenu;
let menu = new menuType(window, this._sourceActor);
this._manager.addMenu(menu);
menu.connect('activate', function() {
window.check_alive(global.get_current_time());
});
this._sourceActor.set_size(rect.width, rect.height);
this._sourceActor.set_position(rect.x, rect.y);
this._sourceActor.show();
menu.open(BoxPointer.PopupAnimation.NONE);
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
menu.connect('open-state-changed', Lang.bind(this, function(menu_, isOpen) {
if (isOpen)
return;
this._sourceActor.hide();
menu.destroy();
}));
}
});

View File

@ -67,7 +67,7 @@ const WindowCloneLayout = new Lang.Class({
// paradoxically is the smaller rectangle, containing the positions // paradoxically is the smaller rectangle, containing the positions
// of the visible frame. The input rect contains everything, // of the visible frame. The input rect contains everything,
// including the invisible border padding. // including the invisible border padding.
let inputRect = window.get_input_rect(); let inputRect = window.get_buffer_rect();
let box = new Clutter.ActorBox(); let box = new Clutter.ActorBox();
@ -200,6 +200,10 @@ const WindowClone = new Lang.Class({
this.emit('size-changed'); this.emit('size-changed');
}, },
hasAttachedDialogs: function() {
return this.actor.get_n_children() > 1;
},
_doAddAttachedDialog: function(metaWin, realWin) { _doAddAttachedDialog: function(metaWin, realWin) {
let clone = new Clutter.Clone({ source: realWin }); let clone = new Clutter.Clone({ source: realWin });
clone._updateId = metaWin.connect('size-changed', Lang.bind(this, function() { clone._updateId = metaWin.connect('size-changed', Lang.bind(this, function() {
@ -582,7 +586,8 @@ const WindowOverlay = new Lang.Class({
}, },
_windowCanClose: function() { _windowCanClose: function() {
return this._windowClone.metaWindow.can_close(); return this._windowClone.metaWindow.can_close() &&
!this._windowClone.hasAttachedDialogs();
}, },
_onWindowAdded: function(workspace, win) { _onWindowAdded: function(workspace, win) {
@ -594,11 +599,12 @@ const WindowOverlay = new Lang.Class({
// use an idle handler to avoid mapping problems - // use an idle handler to avoid mapping problems -
// see comment in Workspace._windowAdded // see comment in Workspace._windowAdded
Mainloop.idle_add(Lang.bind(this, let id = Mainloop.idle_add(Lang.bind(this,
function() { function() {
this._windowClone.emit('selected'); this._windowClone.emit('selected');
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._windowClone.emit');
} }
}, },
@ -669,8 +675,10 @@ const WindowOverlay = new Lang.Class({
}, },
_onLeave: function() { _onLeave: function() {
if (this._idleToggleCloseId == 0) if (this._idleToggleCloseId == 0) {
this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton)); this._idleToggleCloseId = Mainloop.timeout_add(750, Lang.bind(this, this._idleToggleCloseButton));
GLib.Source.set_name_by_id(this._idleToggleCloseId, '[gnome-shell] this._idleToggleCloseButton');
}
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
}, },
@ -1418,6 +1426,7 @@ const Workspace = new Lang.Class({
this._currentLayout = null; this._currentLayout = null;
this._repositionWindowsId = Mainloop.timeout_add(750, this._repositionWindowsId = Mainloop.timeout_add(750,
Lang.bind(this, this._delayedWindowRepositioning)); Lang.bind(this, this._delayedWindowRepositioning));
GLib.Source.set_name_by_id(this._repositionWindowsId, '[gnome-shell] this._delayedWindowRepositioning');
}, },
_doAddWindow : function(metaWin) { _doAddWindow : function(metaWin) {
@ -1429,14 +1438,15 @@ const Workspace = new Lang.Class({
if (!win) { if (!win) {
// Newly-created windows are added to a workspace before // Newly-created windows are added to a workspace before
// the compositor finds out about them... // the compositor finds out about them...
Mainloop.idle_add(Lang.bind(this, let id = Mainloop.idle_add(Lang.bind(this,
function () { function () {
if (this.actor && if (this.actor &&
metaWin.get_compositor_private() && metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace) metaWin.get_workspace() == this.metaWorkspace)
this._doAddWindow(metaWin); this._doAddWindow(metaWin);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._doAddWindow');
return; return;
} }

View File

@ -52,6 +52,7 @@ const WorkspaceSwitcherPopup = new Lang.Class({
this._globalSignals.push(global.screen.connect('workspace-removed', Lang.bind(this, this._redisplay))); this._globalSignals.push(global.screen.connect('workspace-removed', Lang.bind(this, this._redisplay)));
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout)); this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
}, },
_getPreferredHeight : function (actor, forWidth, alloc) { _getPreferredHeight : function (actor, forWidth, alloc) {
@ -145,6 +146,7 @@ const WorkspaceSwitcherPopup = new Lang.Class({
if (this._timeoutId != 0) if (this._timeoutId != 0)
Mainloop.source_remove(this._timeoutId); Mainloop.source_remove(this._timeoutId);
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout)); this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
this._show(); this._show();
}, },

View File

@ -386,14 +386,15 @@ const WorkspaceThumbnail = new Lang.Class({
if (!win) { if (!win) {
// Newly-created windows are added to a workspace before // Newly-created windows are added to a workspace before
// the compositor finds out about them... // the compositor finds out about them...
Mainloop.idle_add(Lang.bind(this, let id = Mainloop.idle_add(Lang.bind(this,
function () { function () {
if (!this._removed && if (!this._removed &&
metaWin.get_compositor_private() && metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace) metaWin.get_workspace() == this.metaWorkspace)
this._doAddWindow(metaWin); this._doAddWindow(metaWin);
return GLib.SOURCE_REMOVE; return GLib.SOURCE_REMOVE;
})); }));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._doAddWindow');
return; return;
} }
@ -664,7 +665,7 @@ const ThumbnailsBox = new Lang.Class({
Main.overview.connect('window-drag-cancelled', Main.overview.connect('window-drag-cancelled',
Lang.bind(this, this._onDragCancelled)); Lang.bind(this, this._onDragCancelled));
this._settings = new Gio.Settings({ schema: OVERRIDE_SCHEMA }); this._settings = new Gio.Settings({ schema_id: OVERRIDE_SCHEMA });
this._settings.connect('changed::dynamic-workspaces', this._settings.connect('changed::dynamic-workspaces',
Lang.bind(this, this._updateSwitcherVisibility)); Lang.bind(this, this._updateSwitcherVisibility));
}, },
@ -825,10 +826,14 @@ const ThumbnailsBox = new Lang.Class({
window.change_workspace_by_index(window.get_workspace().index() + 1, true); window.change_workspace_by_index(window.get_workspace().index() + 1, true);
}); });
if (isWindow) if (isWindow) {
// ... and bam, a workspace, good as new. // ... and bam, a workspace, good as new.
// Move the window to our monitor first if necessary.
let thumbMonitor = this._thumbnails[newWorkspaceIndex].monitorIndex;
if (source.metaWindow.get_monitor() != thumbMonitor)
source.metaWindow.move_to_monitor(thumbMonitor);
source.metaWindow.change_workspace_by_index(newWorkspaceIndex, true); source.metaWindow.change_workspace_by_index(newWorkspaceIndex, true);
else if (source.shellWorkspaceLaunch) { } else if (source.shellWorkspaceLaunch) {
source.shellWorkspaceLaunch({ workspace: newWorkspaceIndex, source.shellWorkspaceLaunch({ workspace: newWorkspaceIndex,
timestamp: time }); timestamp: time });
// This new workspace will be automatically removed if the application fails // This new workspace will be automatically removed if the application fails
@ -902,7 +907,10 @@ const ThumbnailsBox = new Lang.Class({
}, },
_workspacesChanged: function() { _workspacesChanged: function() {
let oldNumWorkspaces = this._thumbnails.length; let validThumbnails = this._thumbnails.filter(function(t) {
return t.state <= ThumbnailState.NORMAL;
});
let oldNumWorkspaces = validThumbnails.length;
let newNumWorkspaces = global.screen.n_workspaces; let newNumWorkspaces = global.screen.n_workspaces;
let active = global.screen.get_active_workspace_index(); let active = global.screen.get_active_workspace_index();

View File

@ -94,7 +94,7 @@ const WorkspacesView = new Lang.Class({
this._scrolling = false; // swipe-scrolling this._scrolling = false; // swipe-scrolling
this._animatingScroll = false; // programatically updating the adjustment this._animatingScroll = false; // programatically updating the adjustment
this._settings = new Gio.Settings({ schema: OVERRIDE_SCHEMA }); this._settings = new Gio.Settings({ schema_id: OVERRIDE_SCHEMA });
let activeWorkspaceIndex = global.screen.get_active_workspace_index(); let activeWorkspaceIndex = global.screen.get_active_workspace_index();
this.scrollAdjustment = new St.Adjustment({ value: activeWorkspaceIndex, this.scrollAdjustment = new St.Adjustment({ value: activeWorkspaceIndex,
@ -429,7 +429,7 @@ const WorkspacesDisplay = new Lang.Class({
this._workspacesViews = []; this._workspacesViews = [];
this._primaryScrollAdjustment = null; this._primaryScrollAdjustment = null;
this._settings = new Gio.Settings({ schema: OVERRIDE_SCHEMA }); this._settings = new Gio.Settings({ schema_id: OVERRIDE_SCHEMA });
this._settings.connect('changed::workspaces-only-on-primary', this._settings.connect('changed::workspaces-only-on-primary',
Lang.bind(this, Lang.bind(this,
this._workspacesOnlyOnPrimaryChanged)); this._workspacesOnlyOnPrimaryChanged));

View File

@ -33,6 +33,7 @@ id
it it
ja ja
kk kk
km
kn kn
ko ko
ku ku

View File

@ -55,6 +55,7 @@ js/ui/unlockDialog.js
js/ui/viewSelector.js js/ui/viewSelector.js
js/ui/windowAttentionHandler.js js/ui/windowAttentionHandler.js
js/ui/windowManager.js js/ui/windowManager.js
js/ui/windowMenu.js
src/calendar-server/evolution-calendar.desktop.in.in src/calendar-server/evolution-calendar.desktop.in.in
# Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get it. # Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get it.
src/gvc/gvc-mixer-control.c src/gvc/gvc-mixer-control.c

316
po/be.po
View File

@ -5,7 +5,7 @@ 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: 2014-02-22 08:29+0000\n" "POT-Creation-Date: 2014-04-30 19:59+0000\n"
"PO-Revision-Date: 2012-10-16 12:05+0300\n" "PO-Revision-Date: 2012-10-16 12:05+0300\n"
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n" "Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n" "Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
@ -107,8 +107,8 @@ msgid ""
msgstr "" msgstr ""
"Абалонка GNOME запусціць толькі тыя пашырэнні, аўтары якіх сцвярджаюць, што " "Абалонка GNOME запусціць толькі тыя пашырэнні, аўтары якіх сцвярджаюць, што "
"яны працуюць з бягучай версіяй абалонкі. Уключэнне гэтай настройкі выключыць " "яны працуюць з бягучай версіяй абалонкі. Уключэнне гэтай настройкі выключыць "
"гэту праверку, і для ўсіх пашырэнняў будзе ажыццёўлена спроба загрузкі незалежна ад " "гэту праверку, і для ўсіх пашырэнняў будзе ажыццёўлена спроба загрузкі "
"сцвярджэнняў іх аўтараў." "незалежна ад сцвярджэнняў іх аўтараў."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7 #: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of desktop file IDs for favorite applications" msgid "List of desktop file IDs for favorite applications"
@ -228,10 +228,17 @@ msgid ""
"Configures the maximum level of location accuracy applications are allowed " "Configures the maximum level of location accuracy applications are allowed "
"to see. Valid options are 'off' (disable location tracking), 'country', " "to see. Valid options are 'off' (disable location tracking), 'country', "
"'city', 'neighborhood', 'street', and 'exact' (typically requires GPS " "'city', 'neighborhood', 'street', and 'exact' (typically requires GPS "
"receiver). Please keep in mind that this only controls what Geoclue will " "receiver). Please keep in mind that this only controls what GeoClue will "
"allow applications to see and they can find user's location on their own " "allow applications to see and they can find user's location on their own "
"using network resources (albeit with street-level accuracy at best)." "using network resources (albeit with street-level accuracy at best)."
msgstr "" msgstr ""
"Настройка максімальнай дакладнасці вызначэння месцапалажэння, даступнай праграмам. "
"Магчымыя значэнні: \"off\" (выключыць вызначэнне месцапалажэння), \"country\" (краіна), "
"\"city\" (горад), \"neighborhood\" (раён), \"street\" (вуліца) і \"exact\" (дэталёва, "
"звычайна патрабуе GPS-прыёмнік). Увага: гэта настройка вызначае толькі тое, што "
"даступна праграмам з дапамогай службы GeoClue, але яны могуць самастойна вызначаць "
"месцапалажэнне з дапамогай спецыяльных сеціўных рэсурсаў (праўда, максімальная дакладнасць "
"такіх рэсурсаў - назва вуліцы)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31 #: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "The application icon mode." msgid "The application icon mode."
@ -288,7 +295,8 @@ msgstr ""
#: ../js/extensionPrefs/main.js:127 #: ../js/extensionPrefs/main.js:127
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Падчас спробы загрузкі дыялогавага акенца настроек для %s адбылася памылка:" msgstr ""
"Падчас спробы загрузкі дыялогавага акенца настроек для %s адбылася памылка:"
#: ../js/extensionPrefs/main.js:167 #: ../js/extensionPrefs/main.js:167
msgid "Extension" msgid "Extension"
@ -303,7 +311,7 @@ msgstr ""
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:883 #: ../js/ui/status/network.js:878
msgid "Cancel" msgid "Cancel"
msgstr "Скасаваць" msgstr "Скасаваць"
@ -321,25 +329,25 @@ msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Увайсці" msgstr "Увайсці"
#: ../js/gdm/loginDialog.js:270 #: ../js/gdm/loginDialog.js:271
msgid "Choose Session" msgid "Choose Session"
msgstr "Выбар сеанса" msgstr "Выбар сеанса"
#: ../js/gdm/loginDialog.js:430 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Няма ў спісе?" msgstr "Няма ў спісе?"
#: ../js/gdm/loginDialog.js:598 #: ../js/gdm/loginDialog.js:614
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(напр., карыстальнік ці %s)" msgstr "(напр., карыстальнік ці %s)"
#: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Імя карыстальніка: " msgstr "Імя карыстальніка: "
#: ../js/gdm/loginDialog.js:868 #: ../js/gdm/loginDialog.js:920
msgid "Login Window" msgid "Login Window"
msgstr "Акно ўваходу" msgstr "Акно ўваходу"
@ -364,27 +372,27 @@ msgstr "Не ўдалося разабраць загад:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Не ўдалося выканаць \"%s\":" msgstr "Не ўдалося выканаць \"%s\":"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:636
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Тут размешчаныя часта ўжываныя праграмы" msgstr "Тут размешчаныя часта ўжываныя праграмы"
#: ../js/ui/appDisplay.js:740 #: ../js/ui/appDisplay.js:747
msgid "Frequent" msgid "Frequent"
msgstr "Часта" msgstr "Часта"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:754
msgid "All" msgid "All"
msgstr "Усе" msgstr "Усе"
#: ../js/ui/appDisplay.js:1552 #: ../js/ui/appDisplay.js:1566
msgid "New Window" msgid "New Window"
msgstr "Новае акно" msgstr "Новае акно"
#: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Выдаліць са спіса ўпадабанага" msgstr "Выдаліць са спіса ўпадабанага"
#: ../js/ui/appDisplay.js:1580 #: ../js/ui/appDisplay.js:1594
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Дадаць у спіс упадабанага" msgstr "Дадаць у спіс упадабанага"
@ -527,44 +535,44 @@ msgstr "Сб"
msgid "calendar:MY" msgid "calendar:MY"
msgstr "calendar:MY" msgstr "calendar:MY"
#: ../js/ui/calendar.js:446 #: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Папярэдні месяц" msgstr "Папярэдні месяц"
#: ../js/ui/calendar.js:456 #: ../js/ui/calendar.js:460
msgid "Next month" msgid "Next month"
msgstr "Наступны месяц" msgstr "Наступны месяц"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:762 #: ../js/ui/calendar.js:772
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Нічога не прымеркавана" msgstr "Нічога не прымеркавана"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:780 #: ../js/ui/calendar.js:790
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d %B" msgstr "%A, %d %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:783 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y" msgstr "%A, %d %B, %Y"
#: ../js/ui/calendar.js:794 #: ../js/ui/calendar.js:804
msgid "Today" msgid "Today"
msgstr "Сёння" msgstr "Сёння"
#: ../js/ui/calendar.js:798 #: ../js/ui/calendar.js:808
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Заўтра" msgstr "Заўтра"
#: ../js/ui/calendar.js:809 #: ../js/ui/calendar.js:819
msgid "This week" msgid "This week"
msgstr "На гэтым тыдні" msgstr "На гэтым тыдні"
#: ../js/ui/calendar.js:817 #: ../js/ui/calendar.js:827
msgid "Next week" msgid "Next week"
msgstr "На наступным тыдні" msgstr "На наступным тыдні"
@ -597,8 +605,8 @@ msgstr "Пароль:"
msgid "Type again:" msgid "Type again:"
msgstr "Паўтарыце пароль:" msgstr "Паўтарыце пароль:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:250 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240
#: ../js/ui/status/network.js:327 ../js/ui/status/network.js:886 #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881
msgid "Connect" msgid "Connect"
msgstr "Злучыць" msgstr "Злучыць"
@ -805,13 +813,13 @@ msgstr "Удзельнік %s запрашае вас далучыцца да %s
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1164
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1199
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1233
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1291
msgid "Decline" msgid "Decline"
msgstr "Адмовіцца" msgstr "Адмовіцца"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1170
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1239
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1296
msgid "Accept" msgid "Accept"
msgstr "Прыняць" msgstr "Прыняць"
@ -848,97 +856,97 @@ msgstr "%s пасылае вам %s"
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:1341 #: ../js/ui/components/telepathyClient.js:1342
msgid "Network error" msgid "Network error"
msgstr "Сеткавая памылка" msgstr "Сеткавая памылка"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1344
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Няўдалая ідэнтыфікацыя" msgstr "Няўдалая ідэнтыфікацыя"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1346
msgid "Encryption error" msgid "Encryption error"
msgstr "Памылка шыфравання" msgstr "Памылка шыфравання"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1348
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Сертыфікат не пададзены" msgstr "Сертыфікат не пададзены"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1350
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Сертыфікат не заслугоўвае даверу" msgstr "Сертыфікат не заслугоўвае даверу"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Сертыфікат састарэў" msgstr "Сертыфікат састарэў"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Сертыфікат не актывізаваны" msgstr "Сертыфікат не актывізаваны"
#: ../js/ui/components/telepathyClient.js:1355 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Назва камп'ютара ў сертыфікаце не адпавядае патрэбнай" msgstr "Назва камп'ютара ў сертыфікаце не адпавядае патрэбнай"
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Адбітак сертыфіката не адпавядае патрэбнаму" msgstr "Адбітак сертыфіката не адпавядае патрэбнаму"
#: ../js/ui/components/telepathyClient.js:1359 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Сертыфікат уласнаручна падпісаны" msgstr "Сертыфікат уласнаручна падпісаны"
#: ../js/ui/components/telepathyClient.js:1361 #: ../js/ui/components/telepathyClient.js:1362
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Уключаны рэжым па-за сеткай" msgstr "Уключаны рэжым па-за сеткай"
#: ../js/ui/components/telepathyClient.js:1363 #: ../js/ui/components/telepathyClient.js:1364
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Шыфраванне недаступнае" msgstr "Шыфраванне недаступнае"
#: ../js/ui/components/telepathyClient.js:1365 #: ../js/ui/components/telepathyClient.js:1366
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Хібны сертыфікат" msgstr "Хібны сертыфікат"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1368
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Адмоўлена ў злучэнні" msgstr "Адмоўлена ў злучэнні"
#: ../js/ui/components/telepathyClient.js:1369 #: ../js/ui/components/telepathyClient.js:1370
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Не ўдалося ўсталяваць злучэнне" msgstr "Не ўдалося ўсталяваць злучэнне"
#: ../js/ui/components/telepathyClient.js:1371 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Злучэнне страчана" msgstr "Злучэнне страчана"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1374
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:1375 #: ../js/ui/components/telepathyClient.js:1376
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:1377 #: ../js/ui/components/telepathyClient.js:1378
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Такі конт ужо існуе на серверы" msgstr "Такі конт ужо існуе на серверы"
#: ../js/ui/components/telepathyClient.js:1379 #: ../js/ui/components/telepathyClient.js:1380
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:1381 #: ../js/ui/components/telepathyClient.js:1382
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Сертыфікат быў адкліканы" msgstr "Сертыфікат быў адкліканы"
#: ../js/ui/components/telepathyClient.js:1383 #: ../js/ui/components/telepathyClient.js:1384
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:1385 #: ../js/ui/components/telepathyClient.js:1386
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"
@ -946,22 +954,22 @@ msgstr ""
"Даўжыня сертыфіката сервера або глыбіня яго ланцуга перавышае абмежаванне, " "Даўжыня сертыфіката сервера або глыбіня яго ланцуга перавышае абмежаванне, "
"выстаўленае крыптаграфічнай бібліятэкай" "выстаўленае крыптаграфічнай бібліятэкай"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1388
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:1397 #: ../js/ui/components/telepathyClient.js:1398
#, 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:1402 #: ../js/ui/components/telepathyClient.js:1403
msgid "View account" msgid "View account"
msgstr "Праглядзець конт" msgstr "Праглядзець конт"
#: ../js/ui/components/telepathyClient.js:1434 #: ../js/ui/components/telepathyClient.js:1440
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Невядомая прычына" msgstr "Невядомая прычына"
@ -977,22 +985,22 @@ msgstr "Паказаць праграмы"
msgid "Dash" msgid "Dash"
msgstr "Прыборная дошка" msgstr "Прыборная дошка"
#: ../js/ui/dateMenu.js:86 #: ../js/ui/dateMenu.js:91
msgid "Open Calendar" msgid "Open Calendar"
msgstr "Адкрыць каляндар" msgstr "Адкрыць каляндар"
#: ../js/ui/dateMenu.js:90 #: ../js/ui/dateMenu.js:95
msgid "Open Clocks" msgid "Open Clocks"
msgstr "Адкрыць гадзіннікі" msgstr "Адкрыць гадзіннікі"
#: ../js/ui/dateMenu.js:97 #: ../js/ui/dateMenu.js:102
msgid "Date & Time Settings" msgid "Date & Time Settings"
msgstr "Настройкі даты і часу" msgstr "Настройкі даты і часу"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:187 #: ../js/ui/dateMenu.js:192
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "%A, %e %B, %Y" msgstr "%A, %e %B, %Y"
@ -1108,7 +1116,9 @@ msgstr "Выключыць камп'ютар пасля ўсталявання
#: ../js/ui/endSessionDialog.js:315 #: ../js/ui/endSessionDialog.js:315
msgid "Running on battery power: please plug in before installing updates." msgid "Running on battery power: please plug in before installing updates."
msgstr "Камп'ютар сілкуецца ад акумулятара: падлучыце да знешняй крыніцы энергіі перад усталяваннем абновак." msgstr ""
"Камп'ютар сілкуецца ад акумулятара: падлучыце да знешняй крыніцы энергіі "
"перад усталяваннем абновак."
#: ../js/ui/endSessionDialog.js:332 #: ../js/ui/endSessionDialog.js:332
msgid "Some applications are busy or have unsaved work." msgid "Some applications are busy or have unsaved work."
@ -1143,25 +1153,26 @@ msgstr "Сцягнуць і ўсталяваць \"%s\" з extensions.gnome.org?
msgid "Keyboard" msgid "Keyboard"
msgstr "Клавіятура" msgstr "Клавіятура"
#: ../js/ui/lookingGlass.js:641 #: ../js/ui/lookingGlass.js:643
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Няма ўсталяваных пашырэнняў" msgstr "Няма ўсталяваных пашырэнняў"
#. Translators: argument is an extension UUID. */ #. Translators: argument is an extension UUID. */
#: ../js/ui/lookingGlass.js:695 #: ../js/ui/lookingGlass.js:697
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s не зрабіў ніякіх памылак." msgstr "%s не зрабіў ніякіх памылак."
#: ../js/ui/lookingGlass.js:701 #: ../js/ui/lookingGlass.js:703
msgid "Hide Errors" msgid "Hide Errors"
msgstr "Хаваць памылкі" msgstr "Хаваць памылкі"
#: ../js/ui/lookingGlass.js:705 ../js/ui/lookingGlass.js:765 #: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767
msgid "Show Errors" msgid "Show Errors"
msgstr "Паказваць памылкі" msgstr "Паказваць памылкі"
#: ../js/ui/lookingGlass.js:714 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59
#: ../js/ui/status/location.js:167
msgid "Enabled" msgid "Enabled"
msgstr "Уключана" msgstr "Уключана"
@ -1169,64 +1180,64 @@ msgstr "Уключана"
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:717 ../js/ui/status/network.js:560 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164
#: ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Выключана" msgstr "Выключана"
#: ../js/ui/lookingGlass.js:719 #: ../js/ui/lookingGlass.js:721
msgid "Error" msgid "Error"
msgstr "Памылка" msgstr "Памылка"
#: ../js/ui/lookingGlass.js:721 #: ../js/ui/lookingGlass.js:723
msgid "Out of date" msgid "Out of date"
msgstr "Састарэла" msgstr "Састарэла"
#: ../js/ui/lookingGlass.js:723 #: ../js/ui/lookingGlass.js:725
msgid "Downloading" msgid "Downloading"
msgstr "Сцягванне" msgstr "Сцягванне"
#: ../js/ui/lookingGlass.js:747 #: ../js/ui/lookingGlass.js:749
msgid "View Source" msgid "View Source"
msgstr "Паглядзець выточны код" msgstr "Паглядзець выточны код"
#: ../js/ui/lookingGlass.js:756 #: ../js/ui/lookingGlass.js:758
msgid "Web Page" msgid "Web Page"
msgstr "Сеціўная старонка" msgstr "Сеціўная старонка"
#: ../js/ui/messageTray.js:1324 #: ../js/ui/messageTray.js:1326
msgid "Open" msgid "Open"
msgstr "Адкрыць" msgstr "Адкрыць"
#: ../js/ui/messageTray.js:1331 #: ../js/ui/messageTray.js:1333
msgid "Remove" msgid "Remove"
msgstr "Выдаліць" msgstr "Выдаліць"
#: ../js/ui/messageTray.js:1628 #: ../js/ui/messageTray.js:1630
msgid "Notifications" msgid "Notifications"
msgstr "Апавяшчэнні" msgstr "Апавяшчэнні"
#: ../js/ui/messageTray.js:1635 #: ../js/ui/messageTray.js:1637
msgid "Clear Messages" msgid "Clear Messages"
msgstr "Ачысціць спіс апавяшчэнняў" msgstr "Ачысціць спіс апавяшчэнняў"
#: ../js/ui/messageTray.js:1654 #: ../js/ui/messageTray.js:1656
msgid "Notification Settings" msgid "Notification Settings"
msgstr "Настройкі апавяшчэння" msgstr "Настройкі апавяшчэння"
#: ../js/ui/messageTray.js:1707 #: ../js/ui/messageTray.js:1709
msgid "Tray Menu" msgid "Tray Menu"
msgstr "Меню трэя" msgstr "Меню трэя"
#: ../js/ui/messageTray.js:1924 #: ../js/ui/messageTray.js:1926
msgid "No Messages" msgid "No Messages"
msgstr "Апавяшчэнні адсутнічаюць" msgstr "Апавяшчэнні адсутнічаюць"
#: ../js/ui/messageTray.js:1962 #: ../js/ui/messageTray.js:1964
msgid "Message Tray" msgid "Message Tray"
msgstr "Абшар апавяшчэнняў" msgstr "Абшар апавяшчэнняў"
#: ../js/ui/messageTray.js:2946 #: ../js/ui/messageTray.js:2962
msgid "System Information" msgid "System Information"
msgstr "Сістэмная інфармацыя" msgstr "Сістэмная інфармацыя"
@ -1243,11 +1254,11 @@ msgstr[0] "%d новае паведамленне"
msgstr[1] "%d новыя паведамленні" msgstr[1] "%d новыя паведамленні"
msgstr[2] "%d новых паведамленняў" msgstr[2] "%d новых паведамленняў"
#: ../js/ui/overview.js:83 #: ../js/ui/overview.js:84
msgid "Undo" msgid "Undo"
msgstr "Адрабіць" msgstr "Адрабіць"
#: ../js/ui/overview.js:123 #: ../js/ui/overview.js:124
msgid "Overview" msgid "Overview"
msgstr "Агляд" msgstr "Агляд"
@ -1255,7 +1266,7 @@ msgstr "Агляд"
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. */ #. characters. */
#: ../js/ui/overview.js:257 #: ../js/ui/overview.js:250
msgid "Type to search…" msgid "Type to search…"
msgstr "Увядзіце тэкст для пошуку..." msgstr "Увядзіце тэкст для пошуку..."
@ -1299,27 +1310,27 @@ msgstr[0] "%d новае апавяшчэнне"
msgstr[1] "%d новыя апавяшчэнні" msgstr[1] "%d новыя апавяшчэнні"
msgstr[2] "%d новых апавяшчэнняў" msgstr[2] "%d новых апавяшчэнняў"
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Заблакіраваць" msgstr "Заблакіраваць"
#: ../js/ui/screenShield.js:707 #: ../js/ui/screenShield.js:708
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME патрабуе блакіравання экрана" msgstr "GNOME патрабуе блакіравання экрана"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Не ўдалося заблакіраваць" msgstr "Не ўдалося заблакіраваць"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Блакіраванне стрымана праграмай" msgstr "Блакіраванне стрымана праграмай"
#: ../js/ui/search.js:589 #: ../js/ui/search.js:603
msgid "Searching…" msgid "Searching…"
msgstr "Пошук..." msgstr "Пошук..."
#: ../js/ui/search.js:632 #: ../js/ui/search.js:649
msgid "No results." msgid "No results."
msgstr "Нічога не знойдзена." msgstr "Нічога не знойдзена."
@ -1391,23 +1402,22 @@ msgstr "Высокая кантраснасць"
msgid "Large Text" msgid "Large Text"
msgstr "Буйны тэкст" msgstr "Буйны тэкст"
#: ../js/ui/status/bluetooth.js:48 #: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:62 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/location.js:162 ../js/ui/status/network.js:151 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:328 ../js/ui/status/network.js:1235 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/network.js:1346 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/rfkill.js:114
#: ../js/ui/status/rfkill.js:105
msgid "Turn Off" msgid "Turn Off"
msgstr "Выключыць" msgstr "Выключыць"
#: ../js/ui/status/bluetooth.js:53 #: ../js/ui/status/bluetooth.js:54
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Настройкі Bluetooth" msgstr "Настройкі Bluetooth"
#: ../js/ui/status/bluetooth.js:100 #: ../js/ui/status/bluetooth.js:104
#, javascript-format #, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
@ -1415,7 +1425,7 @@ msgstr[0] "%d злучанае прыстасаванне"
msgstr[1] "%d злучаныя прыстасаванні" msgstr[1] "%d злучаныя прыстасаванні"
msgstr[2] "%d злучаных прыстасаванняў" msgstr[2] "%d злучаных прыстасаванняў"
#: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1263 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262
msgid "Not Connected" msgid "Not Connected"
msgstr "Няма злучэння" msgstr "Няма злучэння"
@ -1427,156 +1437,167 @@ msgstr "Яркасць"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Паказаць клавіятурную раскладку" msgstr "Паказаць клавіятурную раскладку"
#: ../js/ui/status/location.js:52 #: ../js/ui/status/location.js:53
msgid "Location" msgid "Location"
msgstr "Месцапалажэнне" msgstr "Месцапалажэнне"
#: ../js/ui/status/location.js:61 ../js/ui/status/location.js:161 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#: ../js/ui/status/rfkill.js:84 msgid "Disable"
msgid "On" msgstr "Выключыць"
msgstr "Укл."
#: ../js/ui/status/location.js:158 ../js/ui/status/network.js:246 #: ../js/ui/status/location.js:165
#: ../js/ui/status/network.js:425 ../js/ui/status/network.js:1261 msgid "Enable"
msgid "Off"
msgstr "Выключана"
#: ../js/ui/status/location.js:159 ../js/ui/status/network.js:1235
msgid "Turn On"
msgstr "Уключыць" msgstr "Уключыць"
#: ../js/ui/status/location.js:167
msgid "In Use"
msgstr "Ужыта"
#: ../js/ui/status/network.js:74 #: ../js/ui/status/network.js:74
msgid "<unknown>" msgid "<unknown>"
msgstr "<невядома>" msgstr "<невядома>"
#: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260
#: ../js/ui/status/network.js:1464
msgid "Off"
msgstr "Выключана"
#: ../js/ui/status/network.js:422
msgid "Connected"
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:431 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "unmanaged"
msgstr "непадкантрольна" msgstr "непадкантрольна"
#: ../js/ui/status/network.js:433 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "disconnecting..."
msgstr "адлучэнне..." msgstr "адлучэнне..."
#: ../js/ui/status/network.js:439 ../js/ui/status/network.js:1363 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362
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:442 ../js/ui/status/network.js:1366 #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365
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:450 #: ../js/ui/status/network.js:445
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:454 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "unavailable"
msgstr "недаступна" msgstr "недаступна"
#: ../js/ui/status/network.js:456 ../js/ui/status/network.js:1368 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367
msgid "connection failed" msgid "connection failed"
msgstr "не ўдалося злучыцца" msgstr "не ўдалося злучыцца"
#: ../js/ui/status/network.js:472 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
msgstr "Настройкі праваднога злучэння" msgstr "Настройкі праваднога злучэння"
#: ../js/ui/status/network.js:514 ../js/ui/status/network.js:592 #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587
msgid "Mobile Broadband Settings" msgid "Mobile Broadband Settings"
msgstr "Настройкі мабільнага злучэння" msgstr "Настройкі мабільнага злучэння"
#: ../js/ui/status/network.js:556 ../js/ui/status/network.js:1259 #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258
msgid "Hardware Disabled" msgid "Hardware Disabled"
msgstr "Прыстасаванне выключана" msgstr "Прыстасаванне выключана"
#: ../js/ui/status/network.js:600 #: ../js/ui/status/network.js:595
msgid "Use as Internet connection" msgid "Use as Internet connection"
msgstr "Ужыць для злучэння з Інтэрнэтам" msgstr "Ужыць для злучэння з Інтэрнэтам"
#: ../js/ui/status/network.js:781 #: ../js/ui/status/network.js:776
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Рэжым самалёта ўключаны" msgstr "Рэжым самалёта ўключаны"
#: ../js/ui/status/network.js:782 #: ../js/ui/status/network.js:777
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "У рэжыме самалёта выключаецца Wi-Fi." msgstr "У рэжыме самалёта выключаецца Wi-Fi."
#: ../js/ui/status/network.js:783 #: ../js/ui/status/network.js:778
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Выключыць рэжым самалёта" msgstr "Выключыць рэжым самалёта"
#: ../js/ui/status/network.js:792 #: ../js/ui/status/network.js:787
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Wi-Fi выключаны" msgstr "Wi-Fi выключаны"
#: ../js/ui/status/network.js:793 #: ../js/ui/status/network.js:788
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Каб злучыцца з сеткай, спачатку трэба ўключыць Wi-Fi." msgstr "Каб злучыцца з сеткай, спачатку трэба ўключыць Wi-Fi."
#: ../js/ui/status/network.js:794 #: ../js/ui/status/network.js:789
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Уключыць Wi-Fi" msgstr "Уключыць Wi-Fi"
#: ../js/ui/status/network.js:819 #: ../js/ui/status/network.js:814
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Сеткі Wi-Fi" msgstr "Сеткі Wi-Fi"
#: ../js/ui/status/network.js:821 #: ../js/ui/status/network.js:816
msgid "Select a network" msgid "Select a network"
msgstr "Выберыце сетку" msgstr "Выберыце сетку"
#: ../js/ui/status/network.js:850 #: ../js/ui/status/network.js:845
msgid "No Networks" msgid "No Networks"
msgstr "Няма сетак" msgstr "Няма сетак"
#: ../js/ui/status/network.js:871 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Задзейнічаць апаратны выключальнік" msgstr "Задзейнічаць апаратны выключальнік"
#: ../js/ui/status/network.js:1141 #: ../js/ui/status/network.js:1136
msgid "Select Network" msgid "Select Network"
msgstr "Выбраць сетку" msgstr "Выбраць сетку"
#: ../js/ui/status/network.js:1147 #: ../js/ui/status/network.js:1142
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Настройкі Wi-Fi" msgstr "Настройкі Wi-Fi"
#: ../js/ui/status/network.js:1252 #: ../js/ui/status/network.js:1234
msgid "Turn On"
msgstr "Уключыць"
#: ../js/ui/status/network.js:1251
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Хотспот уключаны" msgstr "Хотспот уключаны"
#: ../js/ui/status/network.js:1255 #: ../js/ui/status/network.js:1254
msgid "Connecting" msgid "Connecting"
msgstr "Злучэнне" msgstr "Злучэнне"
#: ../js/ui/status/network.js:1434 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
msgid "Network Settings" msgid "Network Settings"
msgstr "Сеткавыя настройкі" msgstr "Сеткавыя настройкі"
#: ../js/ui/status/network.js:1436 #: ../js/ui/status/network.js:1435
msgid "VPN Settings" msgid "VPN Settings"
msgstr "Настройкі VPN" msgstr "Настройкі VPN"
#: ../js/ui/status/network.js:1455 #: ../js/ui/status/network.js:1454
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1598 #: ../js/ui/status/network.js:1607
msgid "Network Manager" msgid "Network Manager"
msgstr "Сеткавы кіраўнік" msgstr "Сеткавы кіраўнік"
#: ../js/ui/status/network.js:1637 #: ../js/ui/status/network.js:1646
msgid "Connection failed" msgid "Connection failed"
msgstr "Не ўдалося злучыцца" msgstr "Не ўдалося злучыцца"
#: ../js/ui/status/network.js:1638 #: ../js/ui/status/network.js:1647
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Не ўдалося ўключыць сеткавае злучэнне" msgstr "Не ўдалося ўключыць сеткавае злучэнне"
@ -1610,10 +1631,14 @@ msgstr "UPS"
msgid "Battery" msgid "Battery"
msgstr "Батарэя" msgstr "Батарэя"
#: ../js/ui/status/rfkill.js:82 #: ../js/ui/status/rfkill.js:83
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Рэжым самалёта" msgstr "Рэжым самалёта"
#: ../js/ui/status/rfkill.js:85
msgid "On"
msgstr "Укл."
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Перамяніць карыстальніка" msgstr "Перамяніць карыстальніка"
@ -1750,4 +1775,3 @@ msgstr "Пароль не можа быць пустым"
#: ../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 "Карыстальнік праігнараваў дыялогавае акенца ідэнтыфікацыі" msgstr "Карыстальнік праігнараваў дыялогавае акенца ідэнтыфікацыі"

File diff suppressed because it is too large Load Diff

361
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: 2014-03-27 20:52+0000\n" "POT-Creation-Date: 2014-05-18 07:27+0000\n"
"PO-Revision-Date: 2014-03-27 22:15+0100\n" "PO-Revision-Date: 2014-05-18 15:23+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n" "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n" "Language: cs\n"
@ -336,25 +336,25 @@ msgstr "Vybrat sezení"
msgid "Not listed?" msgid "Not listed?"
msgstr "Nejste na seznamu?" msgstr "Nejste na seznamu?"
#: ../js/gdm/loginDialog.js:611 #: ../js/gdm/loginDialog.js:616
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(např. uživatel nebo %s)" msgstr "(např. uživatel nebo %s)"
#: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Uživatelské jméno: " msgstr "Uživatelské jméno: "
#: ../js/gdm/loginDialog.js:917 #: ../js/gdm/loginDialog.js:924
msgid "Login Window" msgid "Login Window"
msgstr "Přihlašovací okno" msgstr "Přihlašovací okno"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "Chyba ověření" msgstr "Chyba ověření"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(nebo otiskněte prst)" msgstr "(nebo otiskněte prst)"
@ -371,30 +371,34 @@ msgstr "Nelze analyzovat příkaz:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Vykonání „%s“ selhalo:" msgstr "Vykonání „%s“ selhalo:"
#: ../js/ui/appDisplay.js:636 #: ../js/ui/appDisplay.js:640
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Zde se objeví často používané aplikace" msgstr "Zde se objeví často používané aplikace"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:751
msgid "Frequent" msgid "Frequent"
msgstr "Časté" msgstr "Časté"
#: ../js/ui/appDisplay.js:754 #: ../js/ui/appDisplay.js:758
msgid "All" msgid "All"
msgstr "Všechny" msgstr "Všechny"
#: ../js/ui/appDisplay.js:1566 #: ../js/ui/appDisplay.js:1571
msgid "New Window" msgid "New Window"
msgstr "Nové okno" msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1593 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených" msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:1594 #: ../js/ui/appDisplay.js:1599
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené" msgstr "Přidat mezi oblíbené"
#: ../js/ui/appDisplay.js:1608
msgid "Show Details"
msgstr "Zobrazit podrobnosti"
#: ../js/ui/appFavorites.js:87 #: ../js/ui/appFavorites.js:87
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
@ -405,8 +409,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:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:337
msgid "Settings" msgid "Settings"
msgstr "Nastavení" msgstr "Nastavení"
@ -417,14 +421,14 @@ msgstr "Změnit pozadí…"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:64 #: ../js/ui/calendar.js:67
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Celý den" msgstr "Celý den"
#. Translators: Shown in calendar event list, if 24h format, #. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */ #. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:70 #: ../js/ui/calendar.js:73
msgctxt "event list time" msgctxt "event list time"
msgid "%H%M" msgid "%H%M"
msgstr "%k%M" msgstr "%k%M"
@ -432,7 +436,7 @@ msgstr "%k%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
#. a thin space */ #. a thin space */
#: ../js/ui/calendar.js:79 #: ../js/ui/calendar.js:82
msgctxt "event list time" msgctxt "event list time"
msgid "%l%M%p" msgid "%l%M%p"
msgstr "%l%M%p" msgstr "%l%M%p"
@ -442,43 +446,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:110 #: ../js/ui/calendar.js:113
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "Ne" msgstr "Ne"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:112 #: ../js/ui/calendar.js:115
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "Po" msgstr "Po"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:114 #: ../js/ui/calendar.js:117
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "Út" msgstr "Út"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:116 #: ../js/ui/calendar.js:119
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "St" msgstr "St"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:118 #: ../js/ui/calendar.js:121
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "Čt" msgstr "Čt"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:120 #: ../js/ui/calendar.js:123
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "Pá" msgstr "Pá"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:122 #: ../js/ui/calendar.js:125
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "So" msgstr "So"
@ -489,97 +493,93 @@ msgstr "So"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T'). #. * both be 'T').
#. */ #. */
#: ../js/ui/calendar.js:135 #: ../js/ui/calendar.js:138
msgctxt "list sunday" msgctxt "list sunday"
msgid "Su" msgid "Su"
msgstr "Ne" msgstr "Ne"
#. Translators: Event list abbreviation for Monday */ #. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:137 #: ../js/ui/calendar.js:140
msgctxt "list monday" msgctxt "list monday"
msgid "M" msgid "M"
msgstr "Po" msgstr "Po"
#. Translators: Event list abbreviation for Tuesday */ #. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:139 #: ../js/ui/calendar.js:142
msgctxt "list tuesday" msgctxt "list tuesday"
msgid "T" msgid "T"
msgstr "Út" msgstr "Út"
#. Translators: Event list abbreviation for Wednesday */ #. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:141 #: ../js/ui/calendar.js:144
msgctxt "list wednesday" msgctxt "list wednesday"
msgid "W" msgid "W"
msgstr "St" msgstr "St"
#. Translators: Event list abbreviation for Thursday */ #. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:143 #: ../js/ui/calendar.js:146
msgctxt "list thursday" msgctxt "list thursday"
msgid "Th" msgid "Th"
msgstr "Čt" msgstr "Čt"
#. Translators: Event list abbreviation for Friday */ #. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:145 #: ../js/ui/calendar.js:148
msgctxt "list friday" msgctxt "list friday"
msgid "F" msgid "F"
msgstr "Pá" msgstr "Pá"
#. Translators: Event list abbreviation for Saturday */ #. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:147 #: ../js/ui/calendar.js:150
msgctxt "list saturday" msgctxt "list saturday"
msgid "S" msgid "S"
msgstr "So" msgstr "So"
#: ../js/ui/calendar.js:390 #: ../js/ui/calendar.js:453
msgid "calendar:MY"
msgstr "calendar:MY"
#: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Předchozí měsíc" msgstr "Předchozí měsíc"
#: ../js/ui/calendar.js:460 #: ../js/ui/calendar.js:463
msgid "Next month" msgid "Next month"
msgstr "Následující měsíc" msgstr "Následující měsíc"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:772 #: ../js/ui/calendar.js:775
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Nic nenaplánováno" msgstr "Nic nenaplánováno"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:790 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e. %B" msgstr "%A, %e. %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:793 #: ../js/ui/calendar.js:796
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y" msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:804 #: ../js/ui/calendar.js:807
msgid "Today" msgid "Today"
msgstr "Dnes" msgstr "Dnes"
#: ../js/ui/calendar.js:808 #: ../js/ui/calendar.js:811
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Zítra" msgstr "Zítra"
#: ../js/ui/calendar.js:819 #: ../js/ui/calendar.js:822
msgid "This week" msgid "This week"
msgstr "Tento týden" msgstr "Tento týden"
#: ../js/ui/calendar.js:827 #: ../js/ui/calendar.js:830
msgid "Next week" msgid "Next week"
msgstr "Následující týden" msgstr "Následující týden"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Externí svazek připojen" msgstr "Externí svazek připojen"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Externí svazek odpojen" msgstr "Externí svazek odpojen"
@ -724,77 +724,77 @@ msgid "Mute"
msgstr "Ztlumit" msgstr "Ztlumit"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:958
msgid "%H%M" msgid "%H%M"
msgstr "%k%M" msgstr "%k%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:965
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "včera, %k%M" msgstr "včera, %k%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:972
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %k%M" msgstr "%A, %k%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:979
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%e. %B %k%M" msgstr "%e. %B %k%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:985
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%e. %B %Y, %k%M" msgstr "%e. %B %Y, %k%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:994
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M%p" msgstr "%l%M%p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:1001
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "včera, %l%M%p" msgstr "včera, %l%M%p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1008
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M%p" msgstr "%A, %l%M%p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1015
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%e. %B, %l%M%p" msgstr "%e. %B, %l%M%p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1021
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%e. %B %Y, %l%M%p" msgstr "%e. %B %Y, %l%M%p"
#. 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:1051 #: ../js/ui/components/telepathyClient.js:1054
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s je teď znám jako %s" msgstr "%s je teď znám jako %s"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1154 #: ../js/ui/components/telepathyClient.js:1158
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Pozvánka na připojení k %s" msgstr "Pozvánka na připojení k %s"
@ -802,38 +802,38 @@ msgstr "Pozvánka na připojení k %s"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1162 #: ../js/ui/components/telepathyClient.js:1166
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s vás zve do %s" msgstr "%s vás zve do %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1295
msgid "Decline" msgid "Decline"
msgstr "Odmítnout" msgstr "Odmítnout"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1300
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:1189 #: ../js/ui/components/telepathyClient.js:1193
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Videohovor od %s" msgstr "Videohovor od %s"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1192 #: ../js/ui/components/telepathyClient.js:1196
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Hovor od %s" msgstr "Hovor od %s"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1206 #: ../js/ui/components/telepathyClient.js:1210
msgid "Answer" msgid "Answer"
msgstr "Zvednout" msgstr "Zvednout"
@ -842,110 +842,110 @@ msgstr "Zvednout"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1227 #: ../js/ui/components/telepathyClient.js:1231
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s vám posílá %s" msgstr "%s vám posílá %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1256 #: ../js/ui/components/telepathyClient.js:1260
#, 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 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:1341 #: ../js/ui/components/telepathyClient.js:1346
msgid "Network error" msgid "Network error"
msgstr "Chyba sítě" msgstr "Chyba sítě"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1348
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Ověření selhalo" msgstr "Ověření selhalo"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1350
msgid "Encryption error" msgid "Encryption error"
msgstr "Chyba šifrování" msgstr "Chyba šifrování"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Certifikát neposkytnut" msgstr "Certifikát neposkytnut"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Nedůvěryhodný certifikát" msgstr "Nedůvěryhodný certifikát"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Platnost certifikátu vypršela" msgstr "Platnost certifikátu vypršela"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1358
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:1355 #: ../js/ui/components/telepathyClient.js:1360
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:1357 #: ../js/ui/components/telepathyClient.js:1362
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:1359 #: ../js/ui/components/telepathyClient.js:1364
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:1361 #: ../js/ui/components/telepathyClient.js:1366
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:1363 #: ../js/ui/components/telepathyClient.js:1368
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:1365 #: ../js/ui/components/telepathyClient.js:1370
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Certifikát je neplatný" msgstr "Certifikát je neplatný"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1372
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:1369 #: ../js/ui/components/telepathyClient.js:1374
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:1371 #: ../js/ui/components/telepathyClient.js:1376
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Spojení bylo ztraceno" msgstr "Spojení bylo ztraceno"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1378
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:1375 #: ../js/ui/components/telepathyClient.js:1380
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:1377 #: ../js/ui/components/telepathyClient.js:1382
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:1379 #: ../js/ui/components/telepathyClient.js:1384
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:1381 #: ../js/ui/components/telepathyClient.js:1386
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:1383 #: ../js/ui/components/telepathyClient.js:1388
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:1385 #: ../js/ui/components/telepathyClient.js:1390
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"
@ -953,22 +953,22 @@ msgstr ""
"Délka certifikátu serveru nebo délka zřetězených certifikátů serveru " "Délka certifikátu serveru nebo délka zřetězených certifikátů serveru "
"přesáhla omezení dané kryptografickou knihovnou" "přesáhla omezení dané kryptografickou knihovnou"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1392
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:1397 #: ../js/ui/components/telepathyClient.js:1402
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Nelze se připojit k „%s“" msgstr "Nelze se připojit k „%s“"
#: ../js/ui/components/telepathyClient.js:1402 #: ../js/ui/components/telepathyClient.js:1407
msgid "View account" msgid "View account"
msgstr "Zobrazit účet" msgstr "Zobrazit účet"
#: ../js/ui/components/telepathyClient.js:1439 #: ../js/ui/components/telepathyClient.js:1444
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Neznámý důvod" msgstr "Neznámý důvod"
@ -984,15 +984,15 @@ msgstr "Zobrazit aplikace"
msgid "Dash" msgid "Dash"
msgstr "Oblíbené" msgstr "Oblíbené"
#: ../js/ui/dateMenu.js:91 #: ../js/ui/dateMenu.js:97
msgid "Open Calendar" msgid "Open Calendar"
msgstr "Otevřít kalendář" msgstr "Otevřít kalendář"
#: ../js/ui/dateMenu.js:95 #: ../js/ui/dateMenu.js:101
msgid "Open Clocks" msgid "Open Clocks"
msgstr "Otevřít Hodiny" msgstr "Otevřít Hodiny"
#: ../js/ui/dateMenu.js:102 #: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings" msgid "Date & Time Settings"
msgstr "Nastavení data a času" msgstr "Nastavení data a času"
@ -1000,7 +1000,7 @@ msgstr "Nastavení data a času"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:192 #: ../js/ui/dateMenu.js:205
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "%A, %e. %B, %Y" msgstr "%A, %e. %B, %Y"
@ -1131,13 +1131,13 @@ msgid "Other users are logged in."
msgstr "Jsou přihlášeni jiní uživatelé." msgstr "Jsou přihlášeni jiní uživatelé."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (vzdálený)" msgstr "%s (vzdálený)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (konzola)" msgstr "%s (konzola)"
@ -1151,7 +1151,7 @@ msgstr "Instalovat"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?" msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
msgid "Keyboard" msgid "Keyboard"
msgstr "Klávesnice" msgstr "Klávesnice"
@ -1239,16 +1239,16 @@ msgstr "Žádné zprávy"
msgid "Message Tray" msgid "Message Tray"
msgstr "Lišta zpráv" msgstr "Lišta zpráv"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "Informace o systému" msgstr "Informace o systému"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Neznámé" msgstr "Neznámé"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:151
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1282,7 +1282,7 @@ msgstr "Ukončit"
msgid "Activities" msgid "Activities"
msgstr "Činnosti" msgstr "Činnosti"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "Horní lišta" msgstr "Horní lišta"
@ -1294,7 +1294,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Zadejte příkaz:" msgstr "Zadejte příkaz:"
#: ../js/ui/runDialog.js:114 #: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
msgid "Close" msgid "Close"
msgstr "Zavřít" msgstr "Zavřít"
@ -1312,7 +1312,7 @@ msgstr[0] "%d nové upozornění"
msgstr[1] "%d nová upozornění" msgstr[1] "%d nová upozornění"
msgstr[2] "%d nových upozornění" msgstr[2] "%d nových upozornění"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:345
msgid "Lock" msgid "Lock"
msgstr "Uzamknout" msgstr "Uzamknout"
@ -1320,19 +1320,19 @@ msgstr "Uzamknout"
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:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nelze uzamknout obrazovku" msgstr "Nelze uzamknout obrazovku"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Zamknutí bylo zablokováno některou z aplikací" msgstr "Zamknutí bylo zablokováno některou z aplikací"
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Hledá se…" msgstr "Hledá se…"
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Žádné výsledky." msgstr "Žádné výsledky."
@ -1396,11 +1396,11 @@ msgstr "Vícenásobné stisky kláves"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Myš klávesnicí" msgstr "Myš klávesnicí"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Vysoký kontrast" msgstr "Vysoký kontrast"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Styl velkého textu" msgstr "Styl velkého textu"
@ -1410,8 +1410,8 @@ msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:114
msgid "Turn Off" msgid "Turn Off"
msgstr "Vypnout" msgstr "Vypnout"
@ -1471,37 +1471,37 @@ msgstr "Připojeno"
#. 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:426 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "Unmanaged"
msgstr "nespravováno" msgstr "Nespravováno"
#: ../js/ui/status/network.js:428 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "Disconnecting"
msgstr "odpojování…" msgstr "Odpojuje se…"
#: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1254
msgid "connecting..." msgid "Connecting"
msgstr "připojování…" msgstr "Připojuje se…"
#. 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:437 ../js/ui/status/network.js:1365 #: ../js/ui/status/network.js:437
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:445 #: ../js/ui/status/network.js:445
msgid "firmware missing" msgid "Firmware missing"
msgstr "nedostupný firmware" msgstr "Schází 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:449 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "Unavailable"
msgstr "nedostupné" msgstr "Nedostupné"
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1646
msgid "connection failed" msgid "Connection failed"
msgstr "připojení selhalo" msgstr "Připojení selhalo"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
@ -1555,7 +1555,7 @@ msgstr "Vyberte síť"
msgid "No Networks" msgid "No Networks"
msgstr "Žádné sítě" msgstr "Žádné sítě"
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "K vypnutí použijte fyzický vypínač" msgstr "K vypnutí použijte fyzický vypínač"
@ -1575,11 +1575,20 @@ msgstr "Zapnout"
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Hotspot aktivní" msgstr "Hotspot aktivní"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1362
msgid "Connecting" msgid "connecting..."
msgstr "Připojuje se…" msgstr "připojování…"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1365
msgid "authentication required"
msgstr "je vyžadováno ověření"
#: ../js/ui/status/network.js:1367
msgid "connection failed"
msgstr "připojení selhalo"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
msgid "Network Settings" msgid "Network Settings"
msgstr "Nastavení sítě" msgstr "Nastavení sítě"
@ -1595,10 +1604,6 @@ msgstr "VPN"
msgid "Network Manager" msgid "Network Manager"
msgstr "Network Manager" msgstr "Network Manager"
#: ../js/ui/status/network.js:1646
msgid "Connection failed"
msgstr "Připojení selhalo"
#: ../js/ui/status/network.js:1647 #: ../js/ui/status/network.js:1647
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"
@ -1633,31 +1638,31 @@ msgstr "Záložní zdroj"
msgid "Battery" msgid "Battery"
msgstr "Baterie" msgstr "Baterie"
#: ../js/ui/status/rfkill.js:82 #: ../js/ui/status/rfkill.js:83
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Režim „letadlo“" msgstr "Režim „letadlo“"
#: ../js/ui/status/rfkill.js:84 #: ../js/ui/status/rfkill.js:85
msgid "On" msgid "On"
msgstr "Zapnuto" msgstr "Zapnuto"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:317
msgid "Switch User" msgid "Switch User"
msgstr "Přepnout uživatele" msgstr "Přepnout uživatele"
#: ../js/ui/status/system.js:319 #: ../js/ui/status/system.js:322
msgid "Log Out" msgid "Log Out"
msgstr "Odhlásit se" msgstr "Odhlásit se"
#: ../js/ui/status/system.js:338 #: ../js/ui/status/system.js:341
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Zámek otočení" msgstr "Zámek otočení"
#: ../js/ui/status/system.js:346 #: ../js/ui/status/system.js:349
msgid "Suspend" msgid "Suspend"
msgstr "Uspat do paměti" msgstr "Uspat do paměti"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:352
msgid "Power Off" msgid "Power Off"
msgstr "Vypnout" msgstr "Vypnout"
@ -1694,22 +1699,22 @@ msgstr "Hledat"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "Připraveno „%s“" msgstr "Připraveno „%s“"
#: ../js/ui/windowManager.js:56 #: ../js/ui/windowManager.js:57
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Chcete zachovat nastavení displeje?" msgstr "Chcete zachovat nastavení displeje?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #. */
#: ../js/ui/windowManager.js:75 #: ../js/ui/windowManager.js:76
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Obnovit původní" msgstr "Obnovit původní"
#: ../js/ui/windowManager.js:79 #: ../js/ui/windowManager.js:80
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Zachovat" msgstr "Zachovat"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:99
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1717,6 +1722,46 @@ msgstr[0] "Nastavení se obnoví na původní za %d sekundu"
msgstr[1] "Nastavení se obnoví na původní za %d sekundy" msgstr[1] "Nastavení se obnoví na původní za %d sekundy"
msgstr[2] "Nastavení se obnoví na původní za %d sekund" msgstr[2] "Nastavení se obnoví na původní za %d sekund"
#: ../js/ui/windowMenu.js:33
msgid "Minimize"
msgstr "Minimalizovat"
#: ../js/ui/windowMenu.js:40
msgid "Unmaximize"
msgstr "Zrušit maximalizaci"
#: ../js/ui/windowMenu.js:44
msgid "Maximize"
msgstr "Maximalizovat"
#: ../js/ui/windowMenu.js:51
msgid "Move"
msgstr "Přesunout"
#: ../js/ui/windowMenu.js:57
msgid "Resize"
msgstr "Změnit velikost"
#: ../js/ui/windowMenu.js:64
msgid "Move Titlebar Onscreen"
msgstr ""
#: ../js/ui/windowMenu.js:69
msgid "Always on Top"
msgstr "Vždy nahoře"
#: ../js/ui/windowMenu.js:86
msgid "Always on Visible Workspace"
msgstr "Vždy na viditelné ploše"
#: ../js/ui/windowMenu.js:103
msgid "Move to Workspace Up"
msgstr "Přesunout o plochu výš"
#: ../js/ui/windowMenu.js:108
msgid "Move to Workspace Down"
msgstr "Přesunout o plochu níž"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
msgid "Evolution Calendar" msgid "Evolution Calendar"
msgstr "Kalendář Evolution" msgstr "Kalendář Evolution"
@ -1774,6 +1819,6 @@ msgstr "Hesla si neodpovídají."
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "Heslo nemůže být prázdné." msgstr "Heslo nemůže být prázdné."
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
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"

527
po/da.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

533
po/es.po

File diff suppressed because it is too large Load Diff

290
po/gl.po
View File

@ -11,8 +11,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-03-31 23:35+0200\n" "POT-Creation-Date: 2014-04-30 15:34+0200\n"
"PO-Revision-Date: 2014-03-31 23:35+0200\n" "PO-Revision-Date: 2014-04-30 15:34+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"
@ -340,25 +340,25 @@ msgstr "Escolla unha sesión"
msgid "Not listed?" msgid "Not listed?"
msgstr "Non está na lista?" msgstr "Non está na lista?"
#: ../js/gdm/loginDialog.js:614 #: ../js/gdm/loginDialog.js:616
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(p.ex., usuario ou %s)" msgstr "(p.ex., usuario ou %s)"
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Nome de usuario: " msgstr "Nome de usuario: "
#: ../js/gdm/loginDialog.js:920 #: ../js/gdm/loginDialog.js:924
msgid "Login Window" msgid "Login Window"
msgstr "Xanela de inicio de sesión" msgstr "Xanela de inicio de sesión"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "Erro de autenticación" msgstr "Erro de autenticación"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ou pase o dedo)" msgstr "(ou pase o dedo)"
@ -375,27 +375,27 @@ msgstr "Non foi posíbel analizar a orde:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Produciuse un fallo na execución de «%s»:" msgstr "Produciuse un fallo na execución de «%s»:"
#: ../js/ui/appDisplay.js:636 #: ../js/ui/appDisplay.js:640
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Os aplicativos usados recentemente aparecerán aquí" msgstr "Os aplicativos usados recentemente aparecerán aquí"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:751
msgid "Frequent" msgid "Frequent"
msgstr "Frecuentes" msgstr "Frecuentes"
#: ../js/ui/appDisplay.js:754 #: ../js/ui/appDisplay.js:758
msgid "All" msgid "All"
msgstr "Todos" msgstr "Todos"
#: ../js/ui/appDisplay.js:1566 #: ../js/ui/appDisplay.js:1571
msgid "New Window" msgid "New Window"
msgstr "Xanela nova" msgstr "Xanela nova"
#: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1593 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Retirar dos marcadores" msgstr "Retirar dos marcadores"
#: ../js/ui/appDisplay.js:1594 #: ../js/ui/appDisplay.js:1599
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Engadir aos favoritos" msgstr "Engadir aos favoritos"
@ -409,7 +409,7 @@ msgstr "%s foi engadido aos seus favoritos."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s retirouse dos seus marcadores." msgstr "%s retirouse dos seus marcadores."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Preferencias" msgstr "Preferencias"
@ -421,14 +421,14 @@ msgstr "Cambiar fondo de escritorio…"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:64 #: ../js/ui/calendar.js:67
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Todo o día" msgstr "Todo o día"
#. Translators: Shown in calendar event list, if 24h format, #. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */ #. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:70 #: ../js/ui/calendar.js:73
msgctxt "event list time" msgctxt "event list time"
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
@ -436,7 +436,7 @@ 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
#. a thin space */ #. a thin space */
#: ../js/ui/calendar.js:79 #: ../js/ui/calendar.js:82
msgctxt "event list time" msgctxt "event list time"
msgid "%l%M%p" msgid "%l%M%p"
msgstr "%l%M%p" msgstr "%l%M%p"
@ -446,43 +446,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:110 #: ../js/ui/calendar.js:113
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "D" msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:112 #: ../js/ui/calendar.js:115
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "L" msgstr "L"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:114 #: ../js/ui/calendar.js:117
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "M" msgstr "M"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:116 #: ../js/ui/calendar.js:119
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "W" msgstr "W"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:118 #: ../js/ui/calendar.js:121
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "X" msgstr "X"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:120 #: ../js/ui/calendar.js:123
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "V" msgstr "V"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:122 #: ../js/ui/calendar.js:125
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
@ -493,97 +493,93 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T'). #. * both be 'T').
#. */ #. */
#: ../js/ui/calendar.js:135 #: ../js/ui/calendar.js:138
msgctxt "list sunday" msgctxt "list sunday"
msgid "Su" msgid "Su"
msgstr "Do" msgstr "Do"
#. Translators: Event list abbreviation for Monday */ #. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:137 #: ../js/ui/calendar.js:140
msgctxt "list monday" msgctxt "list monday"
msgid "M" msgid "M"
msgstr "L" msgstr "L"
#. Translators: Event list abbreviation for Tuesday */ #. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:139 #: ../js/ui/calendar.js:142
msgctxt "list tuesday" msgctxt "list tuesday"
msgid "T" msgid "T"
msgstr "M" msgstr "M"
#. Translators: Event list abbreviation for Wednesday */ #. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:141 #: ../js/ui/calendar.js:144
msgctxt "list wednesday" msgctxt "list wednesday"
msgid "W" msgid "W"
msgstr "W" msgstr "W"
#. Translators: Event list abbreviation for Thursday */ #. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:143 #: ../js/ui/calendar.js:146
msgctxt "list thursday" msgctxt "list thursday"
msgid "Th" msgid "Th"
msgstr "X" msgstr "X"
#. Translators: Event list abbreviation for Friday */ #. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:145 #: ../js/ui/calendar.js:148
msgctxt "list friday" msgctxt "list friday"
msgid "F" msgid "F"
msgstr "V" msgstr "V"
#. Translators: Event list abbreviation for Saturday */ #. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:147 #: ../js/ui/calendar.js:150
msgctxt "list saturday" msgctxt "list saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#: ../js/ui/calendar.js:390 #: ../js/ui/calendar.js:453
msgid "calendar:MY"
msgstr "calendar:MY"
#: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Anterior mes" msgstr "Anterior mes"
#: ../js/ui/calendar.js:460 #: ../js/ui/calendar.js:463
msgid "Next month" msgid "Next month"
msgstr "Seguinte mes" msgstr "Seguinte mes"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:772 #: ../js/ui/calendar.js:775
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Nada programado" msgstr "Nada programado"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:790 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d de %B" msgstr "%A, %d de %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:793 #: ../js/ui/calendar.js:796
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y" msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:804 #: ../js/ui/calendar.js:807
msgid "Today" msgid "Today"
msgstr "Hoxe" msgstr "Hoxe"
#: ../js/ui/calendar.js:808 #: ../js/ui/calendar.js:811
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Mañá" msgstr "Mañá"
#: ../js/ui/calendar.js:819 #: ../js/ui/calendar.js:822
msgid "This week" msgid "This week"
msgstr "Esta semana" msgstr "Esta semana"
#: ../js/ui/calendar.js:827 #: ../js/ui/calendar.js:830
msgid "Next week" msgid "Next week"
msgstr "A vindeira semana" msgstr "A vindeira semana"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Unidade externa conectada" msgstr "Unidade externa conectada"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Unidade externa desconectada" msgstr "Unidade externa desconectada"
@ -728,77 +724,77 @@ msgid "Mute"
msgstr "Silenciar" msgstr "Silenciar"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:958
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:965
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Onte, %H:%M" msgstr "Onte, %H:%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:972
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A ás %H:%M" msgstr "%A ás %H:%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:979
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%d de %B ás %H:%M" msgstr "%d de %B ás %H:%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:985
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%d de %B de %Y ás %H:%M" msgstr "%d de %B de %Y ás %H:%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:994
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l:%M %p" msgstr "%l:%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:1001
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Onte, %H:%M" msgstr "Onte, %H:%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1008
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1015
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%d de %B, %l%M %p" msgstr "%d de %B, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1021
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%d de %B de %Y, %l%M %p" msgstr "%d de %B de %Y, %l%M %p"
#. 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:1051 #: ../js/ui/components/telepathyClient.js:1054
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "Agora %s chámase %s" msgstr "Agora %s chámase %s"
#. translators: argument is a room name like #. translators: argument is a room name like
#. * room@jabber.org for example. */ #. * room@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1154 #: ../js/ui/components/telepathyClient.js:1158
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Convite a %s" msgstr "Convite a %s"
@ -806,38 +802,38 @@ msgstr "Convite a %s"
#. translators: first argument is the name of a contact and the second #. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org #. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example. */ #. * for example. */
#: ../js/ui/components/telepathyClient.js:1162 #: ../js/ui/components/telepathyClient.js:1166
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s estalle convidando a unirse a %s" msgstr "%s estalle convidando a unirse a %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1291 #: ../js/ui/components/telepathyClient.js:1295
msgid "Decline" msgid "Decline"
msgstr "Rexeitar" msgstr "Rexeitar"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1296 #: ../js/ui/components/telepathyClient.js:1300
msgid "Accept" msgid "Accept"
msgstr "Aceptar" msgstr "Aceptar"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1189 #: ../js/ui/components/telepathyClient.js:1193
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Videochamada de %s" msgstr "Videochamada de %s"
#. translators: argument is a contact name like Alice for example. */ #. translators: argument is a contact name like Alice for example. */
#: ../js/ui/components/telepathyClient.js:1192 #: ../js/ui/components/telepathyClient.js:1196
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Chamada de %s" msgstr "Chamada de %s"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1206 #: ../js/ui/components/telepathyClient.js:1210
msgid "Answer" msgid "Answer"
msgstr "Responder" msgstr "Responder"
@ -846,112 +842,112 @@ msgstr "Responder"
#. * file name. The string will be something #. * file name. The string will be something
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1227 #: ../js/ui/components/telepathyClient.js:1231
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s esta enviándolle %s" msgstr "%s esta enviándolle %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1256 #: ../js/ui/components/telepathyClient.js:1260
#, 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 solicítalle permiso para ver cando está en liña" msgstr "%s solicítalle permiso para ver cando está en liña"
#: ../js/ui/components/telepathyClient.js:1342 #: ../js/ui/components/telepathyClient.js:1346
msgid "Network error" msgid "Network error"
msgstr "Erro da rede" msgstr "Erro da rede"
#: ../js/ui/components/telepathyClient.js:1344 #: ../js/ui/components/telepathyClient.js:1348
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Fallou a autenticación" msgstr "Fallou a autenticación"
#: ../js/ui/components/telepathyClient.js:1346 #: ../js/ui/components/telepathyClient.js:1350
msgid "Encryption error" msgid "Encryption error"
msgstr "Erro de cifrado" msgstr "Erro de cifrado"
#: ../js/ui/components/telepathyClient.js:1348 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Certificado non fornecido" msgstr "Certificado non fornecido"
#: ../js/ui/components/telepathyClient.js:1350 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Non se confía no certificado" msgstr "Non se confía no certificado"
#: ../js/ui/components/telepathyClient.js:1352 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Certificado caducado" msgstr "Certificado caducado"
#: ../js/ui/components/telepathyClient.js:1354 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Certificado non activado" msgstr "Certificado non activado"
#: ../js/ui/components/telepathyClient.js:1356 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "O nome do servidor do certificado non coincide" msgstr "O nome do servidor do certificado non coincide"
#: ../js/ui/components/telepathyClient.js:1358 #: ../js/ui/components/telepathyClient.js:1362
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "A pegada do certificado non coincide" msgstr "A pegada do certificado non coincide"
#: ../js/ui/components/telepathyClient.js:1360 #: ../js/ui/components/telepathyClient.js:1364
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Certificado autoasinado" msgstr "Certificado autoasinado"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1366
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "O estado está definido a «desconectado»" msgstr "O estado está definido a «desconectado»"
#: ../js/ui/components/telepathyClient.js:1364 #: ../js/ui/components/telepathyClient.js:1368
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "O cifrado non está dispoñíbel" msgstr "O cifrado non está dispoñíbel"
#: ../js/ui/components/telepathyClient.js:1366 #: ../js/ui/components/telepathyClient.js:1370
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "O certificado non é válido" msgstr "O certificado non é válido"
#: ../js/ui/components/telepathyClient.js:1368 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Rexeitouse a conexión" msgstr "Rexeitouse a conexión"
#: ../js/ui/components/telepathyClient.js:1370 #: ../js/ui/components/telepathyClient.js:1374
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Non é posíbel estabelecer a conexión" msgstr "Non é posíbel estabelecer a conexión"
#: ../js/ui/components/telepathyClient.js:1372 #: ../js/ui/components/telepathyClient.js:1376
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Perdeuse a conexión" msgstr "Perdeuse a conexión"
#: ../js/ui/components/telepathyClient.js:1374 #: ../js/ui/components/telepathyClient.js:1378
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "Esta cuenta xa está conectada ao servidor" msgstr "Esta cuenta xa está conectada ao servidor"
#: ../js/ui/components/telepathyClient.js:1376 #: ../js/ui/components/telepathyClient.js:1380
msgid "" msgid ""
"Connection has been replaced by a new connection using the same resource" "Connection has been replaced by a new connection using the same resource"
msgstr "" msgstr ""
"Substituíuse a conexión por unha nova conexión empregando o mesmo recurso" "Substituíuse a conexión por unha nova conexión empregando o mesmo recurso"
#: ../js/ui/components/telepathyClient.js:1378 #: ../js/ui/components/telepathyClient.js:1382
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Esta conta xa existe no servidor" msgstr "Esta conta xa existe no servidor"
#: ../js/ui/components/telepathyClient.js:1380 #: ../js/ui/components/telepathyClient.js:1384
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "" msgstr ""
"Nestes intres o servidor está moi ocupado tentando xestionar a conexión" "Nestes intres o servidor está moi ocupado tentando xestionar a conexión"
#: ../js/ui/components/telepathyClient.js:1382 #: ../js/ui/components/telepathyClient.js:1386
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Revogouse o certificado" msgstr "Revogouse o certificado"
#: ../js/ui/components/telepathyClient.js:1384 #: ../js/ui/components/telepathyClient.js:1388
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"O certificado usa un algoritmo de cifrado inseguro ou é criptográficamente " "O certificado usa un algoritmo de cifrado inseguro ou é criptográficamente "
"débil" "débil"
#: ../js/ui/components/telepathyClient.js:1386 #: ../js/ui/components/telepathyClient.js:1390
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"
@ -960,22 +956,22 @@ msgstr ""
"certificado do servidor excede os límites impostos pola biblioteca de " "certificado do servidor excede os límites impostos pola biblioteca de "
"criptografía." "criptografía."
#: ../js/ui/components/telepathyClient.js:1388 #: ../js/ui/components/telepathyClient.js:1392
msgid "Internal error" msgid "Internal error"
msgstr "Erro interno" msgstr "Erro interno"
#. translators: argument is the account name, like #. translators: argument is the account name, like
#. * name@jabber.org for example. */ #. * name@jabber.org for example. */
#: ../js/ui/components/telepathyClient.js:1398 #: ../js/ui/components/telepathyClient.js:1402
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Non foi posíbel conectarse a %s" msgstr "Non foi posíbel conectarse a %s"
#: ../js/ui/components/telepathyClient.js:1403 #: ../js/ui/components/telepathyClient.js:1407
msgid "View account" msgid "View account"
msgstr "Ver conta" msgstr "Ver conta"
#: ../js/ui/components/telepathyClient.js:1440 #: ../js/ui/components/telepathyClient.js:1444
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Razón descoñecida" msgstr "Razón descoñecida"
@ -991,22 +987,22 @@ msgstr "Mostrar aplicativos"
msgid "Dash" msgid "Dash"
msgstr "Taboleiro" msgstr "Taboleiro"
#: ../js/ui/dateMenu.js:91 #: ../js/ui/dateMenu.js:97
msgid "Open Calendar" msgid "Open Calendar"
msgstr "Abrir Calendario" msgstr "Abrir Calendario"
#: ../js/ui/dateMenu.js:95 #: ../js/ui/dateMenu.js:101
msgid "Open Clocks" msgid "Open Clocks"
msgstr "Abrir Reloxos" msgstr "Abrir Reloxos"
#: ../js/ui/dateMenu.js:102 #: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings" msgid "Date & Time Settings"
msgstr "Preferencias de data e hora" msgstr "Preferencias de data e hora"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:192 #: ../js/ui/dateMenu.js:205
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "%a, %e de %B, %Y" msgstr "%a, %e de %B, %Y"
@ -1129,13 +1125,13 @@ msgid "Other users are logged in."
msgstr "Hai outros usuarios conectados." msgstr "Hai outros usuarios conectados."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (remoto)" msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (consola)" msgstr "%s (consola)"
@ -1149,7 +1145,7 @@ msgstr "Instalar"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Desexa descargar e instalar «%s» desde extensions.gnome.org?" msgstr "Desexa descargar e instalar «%s» desde extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
msgid "Keyboard" msgid "Keyboard"
msgstr "Teclado" msgstr "Teclado"
@ -1237,11 +1233,11 @@ msgstr "Non hai mensaxes"
msgid "Message Tray" msgid "Message Tray"
msgstr "Bandexa de mensaxes" msgstr "Bandexa de mensaxes"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "Información do sistema" msgstr "Información do sistema"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Descoñecido" msgstr "Descoñecido"
@ -1279,7 +1275,7 @@ msgstr "Saír"
msgid "Activities" msgid "Activities"
msgstr "Actividades" msgstr "Actividades"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "Barra superior" msgstr "Barra superior"
@ -1316,19 +1312,19 @@ msgstr "Bloquear"
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a pantalla" msgstr "GNOME precisa bloquear a pantalla"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Non foi posíbel bloquear" msgstr "Non foi posíbel bloquear"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Un aplicativo impediu o bloqueo" msgstr "Un aplicativo impediu o bloqueo"
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Buscando…" msgstr "Buscando…"
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Sen resultados." msgstr "Sen resultados."
@ -1392,11 +1388,11 @@ msgstr "Rexeite de teclas"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Teclas do rato" msgstr "Teclas do rato"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Contraste alto" msgstr "Contraste alto"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Texto grande" msgstr "Texto grande"
@ -1466,37 +1462,37 @@ msgstr "Conectado"
#. 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:426 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "Unmanaged"
msgstr "non xestionada" msgstr "Sen xestionar"
#: ../js/ui/status/network.js:428 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "Disconnecting"
msgstr "desconectando…" msgstr "Desconectando…"
#: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1254
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:437 ../js/ui/status/network.js:1365 #: ../js/ui/status/network.js:437
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:445 #: ../js/ui/status/network.js:445
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:449 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "Unavailable"
msgstr "non dispoñíbel" msgstr "Non dispoñíbel"
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1646
msgid "connection failed" msgid "Connection failed"
msgstr "conexión fallada" msgstr "Produciuse un fallo na conexión"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
@ -1570,9 +1566,18 @@ msgstr "Activar"
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Punto wifi activo" msgstr "Punto wifi activo"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1362
msgid "Connecting" msgid "connecting..."
msgstr "Conectando" msgstr "conectando"
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1365
msgid "authentication required"
msgstr "requírese autenticación"
#: ../js/ui/status/network.js:1367
msgid "connection failed"
msgstr "conexión fallada"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88
msgid "Network Settings" msgid "Network Settings"
@ -1590,10 +1595,6 @@ msgstr "VPN"
msgid "Network Manager" msgid "Network Manager"
msgstr "Xestor da rede" msgstr "Xestor da rede"
#: ../js/ui/status/network.js:1646
msgid "Connection failed"
msgstr "Produciuse un fallo na conexión"
#: ../js/ui/status/network.js:1647 #: ../js/ui/status/network.js:1647
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"
@ -1704,7 +1705,7 @@ msgstr "Reverter preferencias"
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Manter cambios" msgstr "Manter cambios"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:98
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1768,10 +1769,16 @@ msgstr "Os contrasinais non coinciden."
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "O contrasinal non pode estar baleiro" msgstr "O contrasinal non pode estar baleiro"
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "O usuario rexeitou o diálogo de autenticación" msgstr "O usuario rexeitou o diálogo de autenticación"
#~ msgid "calendar:MY"
#~ msgstr "calendar:MY"
#~ msgid "unavailable"
#~ msgstr "non dispoñíbel"
#~ msgctxt "event list time" #~ msgctxt "event list time"
#~ msgid "%H\\u2236%M" #~ msgid "%H\\u2236%M"
#~ msgstr "%H\\u2236%M" #~ msgstr "%H\\u2236%M"
@ -2219,9 +2226,6 @@ msgstr "O usuario rexeitou o diálogo de autenticación"
#~ msgid "VPN Connections" #~ msgid "VPN Connections"
#~ msgstr "Conexións VPN" #~ msgstr "Conexións VPN"
#~ msgid "Unavailable"
#~ msgstr "Non dispoñíbel"
#~ msgid "System Settings" #~ msgid "System Settings"
#~ msgstr "Preferencias do sistema" #~ msgstr "Preferencias do sistema"

522
po/he.po

File diff suppressed because it is too large Load Diff

434
po/hu.po

File diff suppressed because it is too large Load Diff

383
po/id.po
View File

@ -3,17 +3,17 @@
# 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.
# #
# Andika Triwidada <andika@gmail.com>, 2010, 2011, 2012, 2013, 2014. # Andika Triwidada <andika@gmail.com>, 2010, 2011, 2012, 2013, 2014.
# Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012. # Dirgita <dirgitadevina@yahoo.co.id>, 2011, 2012, 2014.
# Wibiharto <wibinem@yahoo.com>, 2011. # Wibiharto <wibinem@yahoo.com>, 2011.
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: 2014-03-28 08:56+0000\n" "POT-Creation-Date: 2014-05-22 07:28+0000\n"
"PO-Revision-Date: 2014-03-28 18:58+0700\n" "PO-Revision-Date: 2014-05-22 16:21+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n" "Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n" "Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n" "Language: id\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -79,7 +79,7 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 " "Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog." "dialog."
msgstr "" msgstr ""
"Ijinkan askes ke perkakas pemantauan dan pengawakutuan internal memakai " "Izinkan askes ke perkakas pemantauan dan pengawakutuan internal memakai "
"dialog Alt-F2." "dialog Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3 #: ../data/org.gnome.shell.gschema.xml.in.in.h:3
@ -236,11 +236,11 @@ msgid ""
"allow applications to see and they can find user's location on their own " "allow applications to see and they can find user's location on their own "
"using network resources (albeit with street-level accuracy at best)." "using network resources (albeit with street-level accuracy at best)."
msgstr "" msgstr ""
"Menata tingkat maksimum akurasi lokasi yang diijinkan diperoleh aplikasi. " "Menata tingkat maksimum akurasi lokasi yang diizinkan diperoleh aplikasi. "
"Opsi yang valid adalah 'off' (nonaktifkan pelacakan lokasi), " "Opsi yang valid adalah 'off' (nonaktifkan pelacakan lokasi), "
"'country' (negara), 'city' (kota), 'neighborhood' (lingkungan tetangga), " "'country' (negara), 'city' (kota), 'neighborhood' (lingkungan tetangga), "
"'street' (jalan), dan 'exact' (eksak, biasanya perlu penerima GPS). Harap " "'street' (jalan), dan 'exact' (eksak, biasanya perlu penerima GPS). Harap "
"diingat bahwa ini hanya mengendalikan apa yang diijinkan oleh GeoClue bagi " "diingat bahwa ini hanya mengendalikan apa yang diizinkan oleh GeoClue bagi "
"aplikasi dan mereka bisa menemukan sendiri lokasi pengguna memakai sumber " "aplikasi dan mereka bisa menemukan sendiri lokasi pengguna memakai sumber "
"daya jaringan (walaupun paling baik pada tingkat jalan)." "daya jaringan (walaupun paling baik pada tingkat jalan)."
@ -341,25 +341,25 @@ msgstr "Pilih Sesi"
msgid "Not listed?" msgid "Not listed?"
msgstr "Tak masuk daftar?" msgstr "Tak masuk daftar?"
#: ../js/gdm/loginDialog.js:611 #: ../js/gdm/loginDialog.js:616
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(cth., pengguna dari %s)" msgstr "(cth., pengguna dari %s)"
#: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Nama pengguna: " msgstr "Nama pengguna: "
#: ../js/gdm/loginDialog.js:917 #: ../js/gdm/loginDialog.js:924
msgid "Login Window" msgid "Login Window"
msgstr "Jendela Log Masuk" msgstr "Jendela Log Masuk"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "Galat otentikasi" msgstr "Galat otentikasi"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(atau gesekkan jari)" msgstr "(atau gesekkan jari)"
@ -369,37 +369,41 @@ msgstr "Perintah tidak ditemukan"
#: ../js/misc/util.js:148 #: ../js/misc/util.js:148
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Tidak dapat mengurai perintah:" msgstr "Tak dapat mengurai perintah:"
#: ../js/misc/util.js:156 #: ../js/misc/util.js:156
#, javascript-format #, javascript-format
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Eksekusi \"%s\" gagal:" msgstr "Eksekusi \"%s\" gagal:"
#: ../js/ui/appDisplay.js:636 #: ../js/ui/appDisplay.js:640
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Aplikasi yang sering dipakai akan muncul di sini" msgstr "Aplikasi yang sering dipakai akan muncul di sini"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:751
msgid "Frequent" msgid "Frequent"
msgstr "Sering" msgstr "Sering"
#: ../js/ui/appDisplay.js:754 #: ../js/ui/appDisplay.js:758
msgid "All" msgid "All"
msgstr "Semua" msgstr "Semua"
#: ../js/ui/appDisplay.js:1566 #: ../js/ui/appDisplay.js:1571
msgid "New Window" msgid "New Window"
msgstr "Jendela Baru" msgstr "Jendela Baru"
#: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1593 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Hapus dari Favorit" msgstr "Hapus dari Favorit"
#: ../js/ui/appDisplay.js:1594 #: ../js/ui/appDisplay.js:1599
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Tambah ke Favorit" msgstr "Tambah ke Favorit"
#: ../js/ui/appDisplay.js:1608
msgid "Show Details"
msgstr "Tampilkan Rincian"
#: ../js/ui/appFavorites.js:87 #: ../js/ui/appFavorites.js:87
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
@ -410,8 +414,8 @@ msgstr "%s telah ditambahkan ke favorit Anda."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s telah dihapus dari favorit Anda." msgstr "%s telah dihapus dari favorit Anda."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:337
msgid "Settings" msgid "Settings"
msgstr "Pengaturan" msgstr "Pengaturan"
@ -422,14 +426,14 @@ msgstr "Ubah Latar…"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:64 #: ../js/ui/calendar.js:67
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Sepanjang Hari" msgstr "Sepanjang Hari"
#. Translators: Shown in calendar event list, if 24h format, #. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */ #. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:70 #: ../js/ui/calendar.js:73
msgctxt "event list time" msgctxt "event list time"
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
@ -437,7 +441,7 @@ 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
#. a thin space */ #. a thin space */
#: ../js/ui/calendar.js:79 #: ../js/ui/calendar.js:82
msgctxt "event list time" msgctxt "event list time"
msgid "%l%M%p" msgid "%l%M%p"
msgstr "%l%M%p" msgstr "%l%M%p"
@ -447,43 +451,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:110 #: ../js/ui/calendar.js:113
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "M" msgstr "M"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:112 #: ../js/ui/calendar.js:115
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:114 #: ../js/ui/calendar.js:117
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:116 #: ../js/ui/calendar.js:119
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "R" msgstr "R"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:118 #: ../js/ui/calendar.js:121
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "K" msgstr "K"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:120 #: ../js/ui/calendar.js:123
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "J" msgstr "J"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:122 #: ../js/ui/calendar.js:125
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
@ -494,97 +498,93 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T'). #. * both be 'T').
#. */ #. */
#: ../js/ui/calendar.js:135 #: ../js/ui/calendar.js:138
msgctxt "list sunday" msgctxt "list sunday"
msgid "Su" msgid "Su"
msgstr "Min" msgstr "Min"
#. Translators: Event list abbreviation for Monday */ #. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:137 #: ../js/ui/calendar.js:140
msgctxt "list monday" msgctxt "list monday"
msgid "M" msgid "M"
msgstr "Sen" msgstr "Sen"
#. Translators: Event list abbreviation for Tuesday */ #. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:139 #: ../js/ui/calendar.js:142
msgctxt "list tuesday" msgctxt "list tuesday"
msgid "T" msgid "T"
msgstr "Sel" msgstr "Sel"
#. Translators: Event list abbreviation for Wednesday */ #. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:141 #: ../js/ui/calendar.js:144
msgctxt "list wednesday" msgctxt "list wednesday"
msgid "W" msgid "W"
msgstr "Rab" msgstr "Rab"
#. Translators: Event list abbreviation for Thursday */ #. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:143 #: ../js/ui/calendar.js:146
msgctxt "list thursday" msgctxt "list thursday"
msgid "Th" msgid "Th"
msgstr "Kam" msgstr "Kam"
#. Translators: Event list abbreviation for Friday */ #. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:145 #: ../js/ui/calendar.js:148
msgctxt "list friday" msgctxt "list friday"
msgid "F" msgid "F"
msgstr "Jum" msgstr "Jum"
#. Translators: Event list abbreviation for Saturday */ #. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:147 #: ../js/ui/calendar.js:150
msgctxt "list saturday" msgctxt "list saturday"
msgid "S" msgid "S"
msgstr "Sab" msgstr "Sab"
#: ../js/ui/calendar.js:390 #: ../js/ui/calendar.js:453
msgid "calendar:MY"
msgstr "calendar:MY"
#: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Bulan sebelumnya" msgstr "Bulan sebelumnya"
#: ../js/ui/calendar.js:460 #: ../js/ui/calendar.js:463
msgid "Next month" msgid "Next month"
msgstr "Bulan selanjutnya" msgstr "Bulan selanjutnya"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:772 #: ../js/ui/calendar.js:775
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Tidak Ada Jadwal" msgstr "Tak Ada Jadwal"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:790 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d %B" msgstr "%A, %d %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:793 #: ../js/ui/calendar.js:796
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y" msgstr "%A, %d %B %Y"
#: ../js/ui/calendar.js:804 #: ../js/ui/calendar.js:807
msgid "Today" msgid "Today"
msgstr "Hari ini" msgstr "Hari ini"
#: ../js/ui/calendar.js:808 #: ../js/ui/calendar.js:811
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Besok" msgstr "Besok"
#: ../js/ui/calendar.js:819 #: ../js/ui/calendar.js:822
msgid "This week" msgid "This week"
msgstr "Minggu ini" msgstr "Minggu ini"
#: ../js/ui/calendar.js:827 #: ../js/ui/calendar.js:830
msgid "Next week" msgid "Next week"
msgstr "Minggu depan" msgstr "Minggu depan"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Drive eksternal tersambung" msgstr "Drive eksternal tersambung"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Drive eksternal terputus" msgstr "Drive eksternal terputus"
@ -640,7 +640,7 @@ msgstr "Layanan: "
#: ../js/ui/components/networkAgent.js:311 #: ../js/ui/components/networkAgent.js:311
msgid "Authentication required by wireless network" msgid "Authentication required by wireless network"
msgstr "Otentikasi dibutuhkan oleh jaringan nirkabel" msgstr "Otentikasi diperlukan oleh jaringan nirkabel"
#: ../js/ui/components/networkAgent.js:312 #: ../js/ui/components/networkAgent.js:312
#, javascript-format #, javascript-format
@ -669,7 +669,7 @@ msgstr "Perlu kode PIN"
#: ../js/ui/components/networkAgent.js:331 #: ../js/ui/components/networkAgent.js:331
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "Kode PIN dibutuhkan untuk perangkat data seluler" msgstr "Kode PIN diperlukan untuk perangkat data seluler"
#: ../js/ui/components/networkAgent.js:332 #: ../js/ui/components/networkAgent.js:332
msgid "PIN: " msgid "PIN: "
@ -729,77 +729,77 @@ msgid "Mute"
msgstr "Bisu" msgstr "Bisu"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:958
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:965
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Kemarin, %H:%M" msgstr "Kemarin, %H:%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:972
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:979
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%d %B, %H%M" msgstr "%d %B, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:985
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H%M" msgstr "%d %B %Y, %H%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:994
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:1001
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Kemarin, %l%M %p" msgstr "Kemarin, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1008
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1015
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%d %B, %l%M %p" msgstr "%d %B, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1021
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %l%M %p" msgstr "%d %B %Y, %l%M %p"
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:1051 #: ../js/ui/components/telepathyClient.js:1054
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s sekarang dikenal sebagai %s" msgstr "%s sekarang dikenal sebagai %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:1154 #: ../js/ui/components/telepathyClient.js:1158
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Undangan ke %s" msgstr "Undangan ke %s"
@ -807,38 +807,38 @@ msgstr "Undangan ke %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:1162 #: ../js/ui/components/telepathyClient.js:1166
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s mengundang Anda untuk bergabung dengan %s" msgstr "%s mengundang Anda untuk bergabung dengan %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1295
msgid "Decline" msgid "Decline"
msgstr "Tolak" msgstr "Tolak"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1300
msgid "Accept" msgid "Accept"
msgstr "Terima" msgstr "Terima"
#. 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:1189 #: ../js/ui/components/telepathyClient.js:1193
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Panggilan video dari %s" msgstr "Panggilan video dari %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:1192 #: ../js/ui/components/telepathyClient.js:1196
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Panggilan dari %s" msgstr "Panggilan dari %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:1206 #: ../js/ui/components/telepathyClient.js:1210
msgid "Answer" msgid "Answer"
msgstr "Jawab" msgstr "Jawab"
@ -847,111 +847,111 @@ msgstr "Jawab"
#. * 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:1227 #: ../js/ui/components/telepathyClient.js:1231
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s sedang mengirimi Anda %s" msgstr "%s sedang mengirimi Anda %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1256 #: ../js/ui/components/telepathyClient.js:1260
#, 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 ingin minta ijin melihat Anda ketika Anda daring" msgstr "%s ingin minta izin melihat Anda ketika Anda daring"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1346
msgid "Network error" msgid "Network error"
msgstr "Galat jaringan" msgstr "Galat jaringan"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1348
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Otentikasi gagal" msgstr "Otentikasi gagal"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1350
msgid "Encryption error" msgid "Encryption error"
msgstr "Galat enkripsi" msgstr "Galat enkripsi"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Sertifikat tidak disediakan" msgstr "Sertifikat tidak disediakan"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Sertifikat tidak dipercaya" msgstr "Sertifikat tidak dipercaya"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Sertifikat kadaluarsa" msgstr "Sertifikat kadaluarsa"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Sertifikat tidak diaktifkan" msgstr "Sertifikat tidak diaktifkan"
#: ../js/ui/components/telepathyClient.js:1355 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Nama host sertifikat tidak cocok" msgstr "Nama host sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1362
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Sidik jari sertifikat tidak cocok" msgstr "Sidik jari sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1359 #: ../js/ui/components/telepathyClient.js:1364
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Sertifikat ditandatangani sendiri" msgstr "Sertifikat ditandatangani sendiri"
#: ../js/ui/components/telepathyClient.js:1361 #: ../js/ui/components/telepathyClient.js:1366
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Status diatur ke luring" msgstr "Status diatur ke luring"
#: ../js/ui/components/telepathyClient.js:1363 #: ../js/ui/components/telepathyClient.js:1368
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Enkripsi tidak tersedia" msgstr "Enkripsi tidak tersedia"
#: ../js/ui/components/telepathyClient.js:1365 #: ../js/ui/components/telepathyClient.js:1370
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Sertifikat tidak valid" msgstr "Sertifikat tidak valid"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Koneksi telah ditolak" msgstr "Koneksi telah ditolak"
#: ../js/ui/components/telepathyClient.js:1369 #: ../js/ui/components/telepathyClient.js:1374
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Koneksi tak dapat dijalin" msgstr "Koneksi tak dapat dijalin"
#: ../js/ui/components/telepathyClient.js:1371 #: ../js/ui/components/telepathyClient.js:1376
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Koneksi telah terputus" msgstr "Koneksi telah terputus"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1378
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "Akun ini telah tersambung pada server" msgstr "Akun ini telah tersambung pada server"
#: ../js/ui/components/telepathyClient.js:1375 #: ../js/ui/components/telepathyClient.js:1380
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 ""
"Koneksi telah digantikan oleh koneksi baru memakai sumberdaya yang sama" "Koneksi telah digantikan oleh koneksi baru memakai sumberdaya yang sama"
#: ../js/ui/components/telepathyClient.js:1377 #: ../js/ui/components/telepathyClient.js:1382
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Akun ini sudah ada di server" msgstr "Akun ini sudah ada di server"
#: ../js/ui/components/telepathyClient.js:1379 #: ../js/ui/components/telepathyClient.js:1384
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "Server kini terlalu sibuk untuk menangani koneksi" msgstr "Server kini terlalu sibuk untuk menangani koneksi"
#: ../js/ui/components/telepathyClient.js:1381 #: ../js/ui/components/telepathyClient.js:1386
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Sertifikat telah dicabut" msgstr "Sertifikat telah dicabut"
#: ../js/ui/components/telepathyClient.js:1383 #: ../js/ui/components/telepathyClient.js:1388
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"Sertifikat memakai algorima cipher yang tak aman atau lemah secara " "Sertifikat memakai algorima cipher yang tak aman atau lemah secara "
"kriptografi" "kriptografi"
#: ../js/ui/components/telepathyClient.js:1385 #: ../js/ui/components/telepathyClient.js:1390
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"
@ -959,22 +959,22 @@ msgstr ""
"Panjang sertifikat server, atau kedalaman rantai sertifikat server, " "Panjang sertifikat server, atau kedalaman rantai sertifikat server, "
"melampaui batas yang diberlakukan oleh pustaka kriptografi" "melampaui batas yang diberlakukan oleh pustaka kriptografi"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1392
msgid "Internal error" msgid "Internal error"
msgstr "Galat internal" msgstr "Galat internal"
#. 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:1397 #: ../js/ui/components/telepathyClient.js:1402
#, javascript-format #, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Tak bisa menyambung ke %s" msgstr "Tak bisa menyambung ke %s"
#: ../js/ui/components/telepathyClient.js:1402 #: ../js/ui/components/telepathyClient.js:1407
msgid "View account" msgid "View account"
msgstr "Tilik akun" msgstr "Tilik akun"
#: ../js/ui/components/telepathyClient.js:1439 #: ../js/ui/components/telepathyClient.js:1444
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Alasan yang tidak diketahui" msgstr "Alasan yang tidak diketahui"
@ -990,22 +990,22 @@ msgstr "Tampilkan Aplikasi"
msgid "Dash" msgid "Dash"
msgstr "Dash" msgstr "Dash"
#: ../js/ui/dateMenu.js:91 #: ../js/ui/dateMenu.js:97
msgid "Open Calendar" msgid "Open Calendar"
msgstr "Buka Kalender" msgstr "Buka Kalender"
#: ../js/ui/dateMenu.js:95 #: ../js/ui/dateMenu.js:101
msgid "Open Clocks" msgid "Open Clocks"
msgstr "Buka Jam" msgstr "Buka Jam"
#: ../js/ui/dateMenu.js:102 #: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings" msgid "Date & Time Settings"
msgstr "Pengaturan Waktu & Tanggal" msgstr "Pengaturan Waktu & Tanggal"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:192 #: ../js/ui/dateMenu.js:205
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "%A, %e %B %Y" msgstr "%A, %e %B %Y"
@ -1122,13 +1122,13 @@ msgid "Other users are logged in."
msgstr "Pengguna lain sedang log masuk." msgstr "Pengguna lain sedang log masuk."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (jarak jauh)" msgstr "%s (jarak jauh)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (konsol)" msgstr "%s (konsol)"
@ -1142,7 +1142,7 @@ msgstr "Pasang"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?" msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
msgid "Keyboard" msgid "Keyboard"
msgstr "Papan Ketik" msgstr "Papan Ketik"
@ -1230,16 +1230,16 @@ msgstr "Tiada Pesan"
msgid "Message Tray" msgid "Message Tray"
msgstr "Baki Pesan" msgstr "Baki Pesan"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "Informasi Sistem" msgstr "Informasi Sistem"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Tak dikenal" msgstr "Tak dikenal"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:151
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1271,7 +1271,7 @@ msgstr "Keluar"
msgid "Activities" msgid "Activities"
msgstr "Aktivitas" msgstr "Aktivitas"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "Bar Atas" msgstr "Bar Atas"
@ -1284,7 +1284,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Ketikkan Perintah" msgstr "Ketikkan Perintah"
#: ../js/ui/runDialog.js:114 #: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
msgid "Close" msgid "Close"
msgstr "Tutup" msgstr "Tutup"
@ -1300,7 +1300,7 @@ msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru" msgstr[0] "%d pemberitahuan baru"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:345
msgid "Lock" msgid "Lock"
msgstr "Kunci" msgstr "Kunci"
@ -1308,21 +1308,21 @@ msgstr "Kunci"
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME perlu mengunci layar" msgstr "GNOME perlu mengunci layar"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Tak bisa mengunci" msgstr "Tak bisa mengunci"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi" msgstr "Kunci diblokir oleh suatu aplikasi"
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Mencari…" msgstr "Mencari…"
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Tidak ada yang cocok." msgstr "Tak ada yang cocok."
#: ../js/ui/shellEntry.js:27 #: ../js/ui/shellEntry.js:27
msgid "Copy" msgid "Copy"
@ -1384,11 +1384,11 @@ msgstr "Tombol Pantul"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Tombol Tetikus" msgstr "Tombol Tetikus"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Kontras Tinggi" msgstr "Kontras Tinggi"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Teks Besar" msgstr "Teks Besar"
@ -1398,8 +1398,8 @@ msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:114
msgid "Turn Off" msgid "Turn Off"
msgstr "Matikan" msgstr "Matikan"
@ -1457,37 +1457,37 @@ msgstr "Tersambung"
#. 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:426 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "Unmanaged"
msgstr "tak dikelola" msgstr "Tak Dikelola"
#: ../js/ui/status/network.js:428 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "Disconnecting"
msgstr "memutus..." msgstr "Memutus"
#: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1254
msgid "connecting..." msgid "Connecting"
msgstr "menghubungi..." msgstr "Menyambung"
#. 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:437 ../js/ui/status/network.js:1365 #: ../js/ui/status/network.js:437
msgid "authentication required" msgid "Authentication required"
msgstr "diperlukan otentikasi" msgstr "Diperlukan otentikasi"
#. 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:445 #: ../js/ui/status/network.js:445
msgid "firmware missing" msgid "Firmware missing"
msgstr "firmware hilang" msgstr "Firmware hilang"
#. 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:449 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "Unavailable"
msgstr "tidak tersedia" msgstr "Tak tersedia"
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1646
msgid "connection failed" msgid "Connection failed"
msgstr "koneksi gagal" msgstr "Koneksi gagal"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
@ -1541,7 +1541,7 @@ msgstr "Pilih jaringan"
msgid "No Networks" msgid "No Networks"
msgstr "Tiada Jaringan" msgstr "Tiada Jaringan"
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Pakai saklar perangkat keras untuk mematikan" msgstr "Pakai saklar perangkat keras untuk mematikan"
@ -1561,11 +1561,20 @@ msgstr "Nyalakan"
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Hotspot Aktif" msgstr "Hotspot Aktif"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1362
msgid "Connecting" msgid "connecting..."
msgstr "Menyambung" msgstr "menghubungi..."
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1365
msgid "authentication required"
msgstr "diperlukan otentikasi"
#: ../js/ui/status/network.js:1367
msgid "connection failed"
msgstr "koneksi gagal"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
msgid "Network Settings" msgid "Network Settings"
msgstr "Pengaturan Jaringan" msgstr "Pengaturan Jaringan"
@ -1581,10 +1590,6 @@ msgstr "VPN"
msgid "Network Manager" msgid "Network Manager"
msgstr "Manajer Jaringan" msgstr "Manajer Jaringan"
#: ../js/ui/status/network.js:1646
msgid "Connection failed"
msgstr "Koneksi gagal"
#: ../js/ui/status/network.js:1647 #: ../js/ui/status/network.js:1647
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal" msgstr "Aktivasi koneksi jaringan gagal"
@ -1619,31 +1624,31 @@ msgstr "UPS"
msgid "Battery" msgid "Battery"
msgstr "Baterai" msgstr "Baterai"
#: ../js/ui/status/rfkill.js:82 #: ../js/ui/status/rfkill.js:83
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Mode Pesawat Terbang" msgstr "Mode Pesawat Terbang"
#: ../js/ui/status/rfkill.js:84 #: ../js/ui/status/rfkill.js:85
msgid "On" msgid "On"
msgstr "Nyala" msgstr "Nyala"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:317
msgid "Switch User" msgid "Switch User"
msgstr "Ganti Pengguna" msgstr "Ganti Pengguna"
#: ../js/ui/status/system.js:319 #: ../js/ui/status/system.js:322
msgid "Log Out" msgid "Log Out"
msgstr "Keluar" msgstr "Keluar"
#: ../js/ui/status/system.js:338 #: ../js/ui/status/system.js:341
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Kunci Orientasi" msgstr "Kunci Orientasi"
#: ../js/ui/status/system.js:346 #: ../js/ui/status/system.js:349
msgid "Suspend" msgid "Suspend"
msgstr "Suspensi" msgstr "Suspensi"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:352
msgid "Power Off" msgid "Power Off"
msgstr "Matikan" msgstr "Matikan"
@ -1680,27 +1685,67 @@ msgstr "Cari"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "'%s' siap" msgstr "'%s' siap"
#: ../js/ui/windowManager.js:56 #: ../js/ui/windowManager.js:57
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?" msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #. */
#: ../js/ui/windowManager.js:75 #: ../js/ui/windowManager.js:76
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Balikkan Tatanan" msgstr "Balikkan Tatanan"
#: ../js/ui/windowManager.js:79 #: ../js/ui/windowManager.js:80
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Simpan Perubahan" msgstr "Simpan Perubahan"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:99
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik" msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik"
#: ../js/ui/windowMenu.js:33
msgid "Minimize"
msgstr "Minimalkan"
#: ../js/ui/windowMenu.js:40
msgid "Unmaximize"
msgstr "Tak Maksimalkan"
#: ../js/ui/windowMenu.js:44
msgid "Maximize"
msgstr "Maksimalkan"
#: ../js/ui/windowMenu.js:51
msgid "Move"
msgstr "Pindah"
#: ../js/ui/windowMenu.js:57
msgid "Resize"
msgstr "Ubah Ukuran"
#: ../js/ui/windowMenu.js:64
msgid "Move Titlebar Onscreen"
msgstr "Pindahkan Bilah Judul Pada Layar"
#: ../js/ui/windowMenu.js:69
msgid "Always on Top"
msgstr "Selalu di Puncak"
#: ../js/ui/windowMenu.js:86
msgid "Always on Visible Workspace"
msgstr "Selalu pada Ruang Kerja yang Tampak"
#: ../js/ui/windowMenu.js:103
msgid "Move to Workspace Up"
msgstr "Pindah ke Ruang Kerja Atas"
#: ../js/ui/windowMenu.js:108
msgid "Move to Workspace Down"
msgstr "Pindah ke Ruang Kerja Bawah"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
msgid "Evolution Calendar" msgid "Evolution Calendar"
msgstr "Evolution Kalender" msgstr "Evolution Kalender"
@ -1754,6 +1799,6 @@ msgstr "Sandi tidak cocok."
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "Sandi tidak boleh kosong" msgstr "Sandi tidak boleh kosong"
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "Dialog otentikasi ditolak oleh pengguna" msgstr "Dialog otentikasi ditolak oleh pengguna"

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: 2014-04-06 07:54+0000\n" "POT-Creation-Date: 2014-05-27 19:20+0000\n"
"PO-Revision-Date: 2014-04-06 14:15+0100\n" "PO-Revision-Date: 2014-05-31 14:54+0100\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italiano <tp@lists.linux.it>\n" "Language-Team: Italiano <tp@lists.linux.it>\n"
"Language: it\n" "Language: it\n"
@ -421,7 +421,7 @@ msgid "%s has been removed from your favorites."
msgstr "%s è stato rimosso dai preferiti." msgstr "%s è stato rimosso dai preferiti."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:337
msgid "Settings" msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
@ -1076,7 +1076,7 @@ msgstr[1] "Il sistema verrà spento automaticamente tra %d secondi."
#: ../js/ui/endSessionDialog.js:93 #: ../js/ui/endSessionDialog.js:93
msgctxt "checkbox" msgctxt "checkbox"
msgid "Install pending software updates" msgid "Install pending software updates"
msgstr "Installa gli aggiornamenti software in sospeso" msgstr "Installare gli aggiornamenti software in sospeso"
#: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113 #: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113
msgctxt "button" msgctxt "button"
@ -1130,7 +1130,7 @@ msgstr "Installa e spegni"
#: ../js/ui/endSessionDialog.js:131 #: ../js/ui/endSessionDialog.js:131
msgctxt "checkbox" msgctxt "checkbox"
msgid "Power off after updates are installed" msgid "Power off after updates are installed"
msgstr "Spegne dopo aver installato gli aggiornamenti" msgstr "Spegnere dopo aver installato gli aggiornamenti"
#: ../js/ui/endSessionDialog.js:315 #: ../js/ui/endSessionDialog.js:315
msgid "Running on battery power: please plug in before installing updates." msgid "Running on battery power: please plug in before installing updates."
@ -1167,7 +1167,7 @@ msgstr "Installa"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Scaricare e installare «%s» da extensions.gnome.org?" msgstr "Scaricare e installare «%s» da extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:339
msgid "Keyboard" msgid "Keyboard"
msgstr "Tastiera" msgstr "Tastiera"
@ -1328,7 +1328,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d nuova notifica" msgstr[0] "%d nuova notifica"
msgstr[1] "%d nuove notifiche" msgstr[1] "%d nuove notifiche"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:345
msgid "Lock" msgid "Lock"
msgstr "Blocca" msgstr "Blocca"
@ -1344,11 +1344,11 @@ msgstr "Impossibile bloccare"
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Il blocco è stato impedito da un'applicazione." msgstr "Il blocco è stato impedito da un'applicazione."
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Ricerca…" msgstr "Ricerca…"
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Nessun risultato." msgstr "Nessun risultato."
@ -1427,8 +1427,8 @@ msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:114
msgid "Turn Off" msgid "Turn Off"
msgstr "Spegni" msgstr "Spegni"
@ -1451,7 +1451,7 @@ msgstr "Non collegato"
msgid "Brightness" msgid "Brightness"
msgstr "Luminosità" msgstr "Luminosità"
#: ../js/ui/status/keyboard.js:403 #: ../js/ui/status/keyboard.js:407
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Mostra disposizione tastiera" msgstr "Mostra disposizione tastiera"
@ -1461,15 +1461,13 @@ msgstr "Posizione"
# (ndt) o disabilitata? # (ndt) o disabilitata?
#: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#| msgid "Disabled"
msgid "Disable" msgid "Disable"
msgstr "Disabilitato" msgstr "Disabilitato"
# (ndt) o abilitata? # (ndt) o abilitata?
#: ../js/ui/status/location.js:165 #: ../js/ui/status/location.js:165
#| msgid "Enabled"
msgid "Enable" msgid "Enable"
msgstr "Abilitato" msgstr "Abilita"
#: ../js/ui/status/location.js:167 #: ../js/ui/status/location.js:167
msgid "In Use" msgid "In Use"
@ -1543,15 +1541,15 @@ msgstr "Usa come connessione a Internet"
#: ../js/ui/status/network.js:776 #: ../js/ui/status/network.js:776
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "La modalità aero è attiva" msgstr "La modalità aereo è attiva"
#: ../js/ui/status/network.js:777 #: ../js/ui/status/network.js:777
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Il Wi-Fi è disabilitato quando la modalità aero è attiva" msgstr "Il Wi-Fi è disabilitato quando la modalità aereo è attiva"
#: ../js/ui/status/network.js:778 #: ../js/ui/status/network.js:778
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Disattiva modalità aero" msgstr "Disattiva modalità aereo"
#: ../js/ui/status/network.js:787 #: ../js/ui/status/network.js:787
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
@ -1577,7 +1575,7 @@ msgstr "Seleziona una rete"
msgid "No Networks" msgid "No Networks"
msgstr "Nessuna rete" msgstr "Nessuna rete"
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Usare l'interruttore hardware per disattivare" msgstr "Usare l'interruttore hardware per disattivare"
@ -1601,7 +1599,7 @@ msgstr "Hotspot attivo"
msgid "Connecting" msgid "Connecting"
msgstr "Connessione" msgstr "Connessione"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
msgid "Network Settings" msgid "Network Settings"
msgstr "Impostazioni rete" msgstr "Impostazioni rete"
@ -1656,31 +1654,31 @@ msgstr "UPS"
msgid "Battery" msgid "Battery"
msgstr "Batteria" msgstr "Batteria"
#: ../js/ui/status/rfkill.js:82 #: ../js/ui/status/rfkill.js:83
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Modalità aero" msgstr "Modalità aereo"
#: ../js/ui/status/rfkill.js:84 #: ../js/ui/status/rfkill.js:85
msgid "On" msgid "On"
msgstr "On" msgstr "On"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:317
msgid "Switch User" msgid "Switch User"
msgstr "Cambia utente" msgstr "Cambia utente"
#: ../js/ui/status/system.js:319 #: ../js/ui/status/system.js:322
msgid "Log Out" msgid "Log Out"
msgstr "Termina sessione" msgstr "Termina sessione"
#: ../js/ui/status/system.js:338 #: ../js/ui/status/system.js:341
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Blocco orientazione" msgstr "Blocco orientazione"
#: ../js/ui/status/system.js:346 #: ../js/ui/status/system.js:349
msgid "Suspend" msgid "Suspend"
msgstr "Sospendi" msgstr "Sospendi"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:352
msgid "Power Off" msgid "Power Off"
msgstr "Spegni" msgstr "Spegni"

351
po/ja.po
View File

@ -8,14 +8,15 @@
# Hideki Yamane <henrich@debian.org>, 2011. # Hideki Yamane <henrich@debian.org>, 2011.
# Takanori MATSUURA <t.matsuu@gmail.com>, 2012. # Takanori MATSUURA <t.matsuu@gmail.com>, 2012.
# Yoji TOYODA <bsyamato@sea.plala.or.jp>, 2013. # Yoji TOYODA <bsyamato@sea.plala.or.jp>, 2013.
# Ikuya Awashiro <ikuya@fruitsbasket.info>, 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-shell&keywords=I18N+L10N&component=general\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-03-17 15:45+0000\n" "POT-Creation-Date: 2014-04-12 20:01+0000\n"
"PO-Revision-Date: 2014-03-24 08:19+0900\n" "PO-Revision-Date: 2014-04-13 13:11+0900\n"
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@gnome.org>\n" "Last-Translator: Ikuya Awashiro <ikuya@fruitsbasket.info>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n" "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n" "Language: ja\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -78,20 +79,16 @@ msgid "Allows access to internal debugging and monitoring tools using the Alt-F2
msgstr "Alt-F2 ダイアログを利用した内部のデバッグツールとモニターツールへのアクセスを許可します。" msgstr "Alt-F2 ダイアログを利用した内部のデバッグツールとモニターツールへのアクセスを許可します。"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3 #: ../data/org.gnome.shell.gschema.xml.in.in.h:3
#, fuzzy
#| msgid "Uuids of extensions to enable"
msgid "UUIDs of extensions to enable" msgid "UUIDs of extensions to enable"
msgstr "有効にする拡張機能の UUID" msgstr "有効にする拡張機能の UUID"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4 #: ../data/org.gnome.shell.gschema.xml.in.in.h:4
#, fuzzy
#| msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension DBus methods on org.gnome.Shell."
msgid "GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell." msgid "GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell."
msgstr "GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡張機能の UUID のリストです。ロードしたい拡張機能はこのリストに含めなければなりません。このリストは org.gnome.Shell の EnableExtensions や DisableExtensions といった DBus メソッドでも操作できます。" msgstr "GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡張機能の UUID のリストです。ロードしたい拡張機能はこのリストに含めなければなりません。このリストは org.gnome.Shell の EnableExtensions や DisableExtensions といった DBus メソッドでも操作できます。"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5 #: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "Disables the validation of extension version compatibility" msgid "Disables the validation of extension version compatibility"
msgstr "" msgstr "拡張機能のバージョン互換の検証を無効にする"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6 #: ../data/org.gnome.shell.gschema.xml.in.in.h:6
msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support." msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support."
@ -114,14 +111,10 @@ msgid "History for the looking glass dialog"
msgstr "looking glass ダイアログの履歴" msgstr "looking glass ダイアログの履歴"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11 #: ../data/org.gnome.shell.gschema.xml.in.in.h:11
#, fuzzy
#| msgid "Always show the 'Log out' menuitem in the user menu."
msgid "Always show the 'Log out' menu item in the user menu." msgid "Always show the 'Log out' menu item in the user menu."
msgstr "ユーザーメニューに「ログアウト」を常に表示する" msgstr "ユーザーメニューに「ログアウト」を常に表示する"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12 #: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#, fuzzy
#| msgid "This key overrides the automatic hiding of the 'Log out' menuitem in single-user, single-session situations."
msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations." msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations."
msgstr "このキーは、単一ユーザー、単一セッション状況で「ログアウト」メニューアイテムを自動的に非表示にする機能よりも優先します。" msgstr "このキーは、単一ユーザー、単一セッション状況で「ログアウト」メニューアイテムを自動的に非表示にする機能よりも優先します。"
@ -191,7 +184,7 @@ msgstr "使いたいキーボードの種類です。"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29 #: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "The maximum accuracy level of location." msgid "The maximum accuracy level of location."
msgstr "" msgstr "場所の最大精度レベルです。"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30 #: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Configures the maximum level of location accuracy applications are allowed to see. Valid options are 'off' (disable location tracking), 'country', 'city', 'neighborhood', 'street', and 'exact' (typically requires GPS receiver). Please keep in mind that this only controls what GeoClue will allow applications to see and they can find user's location on their own using network resources (albeit with street-level accuracy at best)." msgid "Configures the maximum level of location accuracy applications are allowed to see. Valid options are 'off' (disable location tracking), 'country', 'city', 'neighborhood', 'street', and 'exact' (typically requires GPS receiver). Please keep in mind that this only controls what GeoClue will allow applications to see and they can find user's location on their own using network resources (albeit with street-level accuracy at best)."
@ -271,33 +264,33 @@ msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "サインイン" msgstr "サインイン"
#: ../js/gdm/loginDialog.js:270 #: ../js/gdm/loginDialog.js:271
msgid "Choose Session" msgid "Choose Session"
msgstr "セッションを選択する" msgstr "セッションを選択する"
#: ../js/gdm/loginDialog.js:430 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "アカウントが見つかりませんか?" msgstr "アカウントが見つかりませんか?"
#: ../js/gdm/loginDialog.js:608 #: ../js/gdm/loginDialog.js:616
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(たとえば、user あるいは %s)" msgstr "(たとえば、user あるいは %s)"
#: ../js/gdm/loginDialog.js:613 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "ユーザー名: " msgstr "ユーザー名: "
#: ../js/gdm/loginDialog.js:884 #: ../js/gdm/loginDialog.js:924
msgid "Login Window" msgid "Login Window"
msgstr "ログインウィンドウ" msgstr "ログインウィンドウ"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "認証エラー" msgstr "認証エラー"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(あるいは指でスワイプする)" msgstr "(あるいは指でスワイプする)"
@ -310,32 +303,31 @@ msgid "Could not parse command:"
msgstr "次のコマンドは解析できません:" msgstr "次のコマンドは解析できません:"
#: ../js/misc/util.js:156 #: ../js/misc/util.js:156
#, fuzzy, javascript-format #, javascript-format
#| msgid "Execution of '%s' failed:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "'%s'の実行に失敗しました:" msgstr "%sの実行に失敗しました:"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:636
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "よく使うアプリケーションがここに表示されます" msgstr "よく使うアプリケーションがここに表示されます"
#: ../js/ui/appDisplay.js:740 #: ../js/ui/appDisplay.js:747
msgid "Frequent" msgid "Frequent"
msgstr "常用" msgstr "常用"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:754
msgid "All" msgid "All"
msgstr "すべて" msgstr "すべて"
#: ../js/ui/appDisplay.js:1555 #: ../js/ui/appDisplay.js:1567
msgid "New Window" msgid "New Window"
msgstr "新しいウィンドウで開く" msgstr "新しいウィンドウで開く"
#: ../js/ui/appDisplay.js:1577 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1589 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "お気に入りから削除" msgstr "お気に入りから削除"
#: ../js/ui/appDisplay.js:1583 #: ../js/ui/appDisplay.js:1595
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "お気に入りに追加" msgstr "お気に入りに追加"
@ -349,7 +341,7 @@ 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:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "設定" msgstr "設定"
@ -519,11 +511,11 @@ msgstr "今週"
msgid "Next week" msgid "Next week"
msgstr "来週" msgstr "来週"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "外付けドライブが接続されました" msgstr "外付けドライブが接続されました"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "外付けドライブが外されました" msgstr "外付けドライブが外されました"
@ -582,10 +574,9 @@ msgid "Authentication required by wireless network"
msgstr "無線ネットワークでは認証が要求されます" msgstr "無線ネットワークでは認証が要求されます"
#: ../js/ui/components/networkAgent.js:312 #: ../js/ui/components/networkAgent.js:312
#, fuzzy, javascript-format #, javascript-format
#| msgid "Passwords or encryption keys are required to access the wireless network '%s'."
msgid "Passwords or encryption keys are required to access the wireless network “%s”." msgid "Passwords or encryption keys are required to access the wireless network “%s”."
msgstr "無線ネットワーク '%s' にアクセスするにはパスワードか、または暗号化キーが必要です。" msgstr "無線ネットワーク %s にアクセスするにはパスワードか、または暗号化キーが必要です。"
#: ../js/ui/components/networkAgent.js:316 #: ../js/ui/components/networkAgent.js:316
msgid "Wired 802.1X authentication" msgid "Wired 802.1X authentication"
@ -616,10 +607,9 @@ msgid "Mobile broadband network password"
msgstr "モバイルブロードバンドネットワークのパスワード" msgstr "モバイルブロードバンドネットワークのパスワード"
#: ../js/ui/components/networkAgent.js:339 #: ../js/ui/components/networkAgent.js:339
#, fuzzy, javascript-format #, javascript-format
#| msgid "A password is required to connect to '%s'."
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "'%s' への接続にパスワードが必要です。" msgstr "%s への接続にパスワードが必要です。"
#: ../js/ui/components/polkitAgent.js:54 #: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required" msgid "Authentication Required"
@ -666,97 +656,77 @@ msgid "Mute"
msgstr "ミュート" msgstr "ミュート"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:958
#, fuzzy
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:965
#, fuzzy
#| msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "<b>昨日</b> <b>%H:%M</b>" msgstr "昨日 %H:%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:972
#, fuzzy
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%H%M" msgstr "%A %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:979
#, fuzzy
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%H%M" msgstr "%B%-e日 %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:985
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "" msgstr "%Y年%B%-e日 %H%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:994
#, fuzzy
#| msgctxt "event list time"
#| msgid "%l%M%p"
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M%p" msgstr "%p%l%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:1001
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "" msgstr "昨日 %p%l%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1008
#, fuzzy
#| msgctxt "event list time"
#| msgid "%l%M%p"
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%l%M%p" msgstr "%A %p%l%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1015
#, fuzzy
#| msgctxt "event list time"
#| msgid "%l%M%p"
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%l%M%p" msgstr "%B%-e日 %p%l%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1021
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "" msgstr "%Y年%B%-e日 %p%l%M"
#. 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:1051 #: ../js/ui/components/telepathyClient.js:1054
#, 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:1154 #: ../js/ui/components/telepathyClient.js:1158
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "%s への招待" msgstr "%s への招待"
@ -764,38 +734,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:1162 #: ../js/ui/components/telepathyClient.js:1166
#, 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:1164 #: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1295
msgid "Decline" msgid "Decline"
msgstr "拒否する" msgstr "拒否する"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1300
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:1189 #: ../js/ui/components/telepathyClient.js:1193
#, 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:1192 #: ../js/ui/components/telepathyClient.js:1196
#, 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:1206 #: ../js/ui/components/telepathyClient.js:1210
msgid "Answer" msgid "Answer"
msgstr "応答" msgstr "応答"
@ -804,125 +774,125 @@ 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:1227 #: ../js/ui/components/telepathyClient.js:1231
#, 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:1256 #: ../js/ui/components/telepathyClient.js:1260
#, 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:1341 #: ../js/ui/components/telepathyClient.js:1346
msgid "Network error" msgid "Network error"
msgstr "ネットワークエラー" msgstr "ネットワークエラー"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1348
msgid "Authentication failed" msgid "Authentication failed"
msgstr "認証失敗" msgstr "認証失敗"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1350
msgid "Encryption error" msgid "Encryption error"
msgstr "暗号化のエラーです" msgstr "暗号化のエラーです"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "証明書がありません" msgstr "証明書がありません"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "信用のない証明書です" msgstr "信用のない証明書です"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate expired" msgid "Certificate expired"
msgstr "証明書の有効期限が切れています" msgstr "証明書の有効期限が切れています"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "証明書は利用できません" msgstr "証明書は利用できません"
#: ../js/ui/components/telepathyClient.js:1355 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "証明書のホスト名が一致しません" msgstr "証明書のホスト名が一致しません"
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1362
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "証明書の指紋が一致しません" msgstr "証明書の指紋が一致しません"
#: ../js/ui/components/telepathyClient.js:1359 #: ../js/ui/components/telepathyClient.js:1364
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "証明書自身の署名です" msgstr "証明書自身の署名です"
#: ../js/ui/components/telepathyClient.js:1361 #: ../js/ui/components/telepathyClient.js:1366
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "状態はオフラインに設定されています" msgstr "状態はオフラインに設定されています"
#: ../js/ui/components/telepathyClient.js:1363 #: ../js/ui/components/telepathyClient.js:1368
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "暗号が利用できません" msgstr "暗号が利用できません"
#: ../js/ui/components/telepathyClient.js:1365 #: ../js/ui/components/telepathyClient.js:1370
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "証明書が正しくありません" msgstr "証明書が正しくありません"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "接続が拒否されました" msgstr "接続が拒否されました"
#: ../js/ui/components/telepathyClient.js:1369 #: ../js/ui/components/telepathyClient.js:1374
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "接続を確立できませんでした" msgstr "接続を確立できませんでした"
#: ../js/ui/components/telepathyClient.js:1371 #: ../js/ui/components/telepathyClient.js:1376
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "接続が失われました" msgstr "接続が失われました"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1378
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:1375 #: ../js/ui/components/telepathyClient.js:1380
msgid "Connection has been replaced by a new connection using the same resource" msgid "Connection has been replaced by a new connection using the same resource"
msgstr "接続は同じリソースを使って新しい接続で置き換わりました" msgstr "接続は同じリソースを使って新しい接続で置き換わりました"
#: ../js/ui/components/telepathyClient.js:1377 #: ../js/ui/components/telepathyClient.js:1382
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "アカウントがサーバーにすでに存在します" msgstr "アカウントがサーバーにすでに存在します"
#: ../js/ui/components/telepathyClient.js:1379 #: ../js/ui/components/telepathyClient.js:1384
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:1381 #: ../js/ui/components/telepathyClient.js:1386
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "証明書が無効化されました" msgstr "証明書が無効化されました"
#: ../js/ui/components/telepathyClient.js:1383 #: ../js/ui/components/telepathyClient.js:1388
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak" msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "証明書が安全でない暗号のアルゴリズムを使っているか、暗号的に弱いです" msgstr "証明書が安全でない暗号のアルゴリズムを使っているか、暗号的に弱いです"
#: ../js/ui/components/telepathyClient.js:1385 #: ../js/ui/components/telepathyClient.js:1390
msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library" msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
msgstr "サーバー証明書の長さや、サーバー証明書のチェーンの深さが暗号ライブラリで規定されている長さを越えています" msgstr "サーバー証明書の長さや、サーバー証明書のチェーンの深さが暗号ライブラリで規定されている長さを越えています"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1392
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:1397 #: ../js/ui/components/telepathyClient.js:1402
#, 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:1402 #: ../js/ui/components/telepathyClient.js:1407
msgid "View account" msgid "View account"
msgstr "アカウントを表示" msgstr "アカウントを表示"
#: ../js/ui/components/telepathyClient.js:1439 #: ../js/ui/components/telepathyClient.js:1444
msgid "Unknown reason" msgid "Unknown reason"
msgstr "原因不明" msgstr "原因不明"
@ -993,7 +963,7 @@ msgstr "電源オフ"
#: ../js/ui/endSessionDialog.js:87 #: ../js/ui/endSessionDialog.js:87
msgctxt "title" msgctxt "title"
msgid "Install Updates & Power Off" msgid "Install Updates & Power Off"
msgstr "" msgstr "更新をインストールして電源オフ"
#: ../js/ui/endSessionDialog.js:89 #: ../js/ui/endSessionDialog.js:89
#, javascript-format #, javascript-format
@ -1004,7 +974,7 @@ msgstr[0] "%d 秒後に自動的にシステムの電源を切ります。"
#: ../js/ui/endSessionDialog.js:93 #: ../js/ui/endSessionDialog.js:93
msgctxt "checkbox" msgctxt "checkbox"
msgid "Install pending software updates" msgid "Install pending software updates"
msgstr "" msgstr "未実行のソフトウェアアップデートをインストールする"
#: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113 #: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113
msgctxt "button" msgctxt "button"
@ -1039,9 +1009,6 @@ msgid_plural "The system will automatically restart and install updates in %d se
msgstr[0] "%d 秒後にシステムを再起動して更新をインストールします。" msgstr[0] "%d 秒後にシステムを再起動して更新をインストールします。"
#: ../js/ui/endSessionDialog.js:129 #: ../js/ui/endSessionDialog.js:129
#, fuzzy
#| msgctxt "button"
#| msgid "Restart & Install"
msgctxt "button" msgctxt "button"
msgid "Restart &amp; Install" msgid "Restart &amp; Install"
msgstr "再起動とインストール" msgstr "再起動とインストール"
@ -1049,16 +1016,16 @@ msgstr "再起動とインストール"
#: ../js/ui/endSessionDialog.js:130 #: ../js/ui/endSessionDialog.js:130
msgctxt "button" msgctxt "button"
msgid "Install &amp; Power Off" msgid "Install &amp; Power Off"
msgstr "" msgstr "インストールと電源オフ"
#: ../js/ui/endSessionDialog.js:131 #: ../js/ui/endSessionDialog.js:131
msgctxt "checkbox" msgctxt "checkbox"
msgid "Power off after updates are installed" msgid "Power off after updates are installed"
msgstr "" msgstr "更新をインストール後電源をオフにする"
#: ../js/ui/endSessionDialog.js:315 #: ../js/ui/endSessionDialog.js:315
msgid "Running on battery power: please plug in before installing updates." msgid "Running on battery power: please plug in before installing updates."
msgstr "" msgstr "バッテリーで動作中です: 更新をインストールする前に電源に接続してください。"
#: ../js/ui/endSessionDialog.js:332 #: ../js/ui/endSessionDialog.js:332
msgid "Some applications are busy or have unsaved work." msgid "Some applications are busy or have unsaved work."
@ -1069,13 +1036,13 @@ msgid "Other users are logged in."
msgstr "他のユーザーがログインしています。" msgstr "他のユーザーがログインしています。"
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (リモート)" msgstr "%s (リモート)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (コンソール)" msgstr "%s (コンソール)"
@ -1085,12 +1052,11 @@ msgid "Install"
msgstr "インストール" msgstr "インストール"
#: ../js/ui/extensionDownloader.js:204 #: ../js/ui/extensionDownloader.js:204
#, fuzzy, javascript-format #, javascript-format
#| msgid "Download and install '%s' from extensions.gnome.org?"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "extensions.gnome.org から '%s' をダウンロードしてインストールしますか?" msgstr "extensions.gnome.org から %s をダウンロードしてインストールしますか?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
msgid "Keyboard" msgid "Keyboard"
msgstr "キーボード" msgstr "キーボード"
@ -1112,7 +1078,8 @@ msgstr "エラーを非表示"
msgid "Show Errors" msgid "Show Errors"
msgstr "エラーを表示" msgstr "エラーを表示"
#: ../js/ui/lookingGlass.js:716 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59
#: ../js/ui/status/location.js:167
msgid "Enabled" msgid "Enabled"
msgstr "有効" msgstr "有効"
@ -1120,8 +1087,8 @@ msgstr "有効"
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/network.js:555 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164
#: ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "無効" msgstr "無効"
@ -1177,11 +1144,11 @@ msgstr "メッセージなし"
msgid "Message Tray" msgid "Message Tray"
msgstr "メッセージトレイ" msgstr "メッセージトレイ"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "システム情報" msgstr "システム情報"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "不明なプログラム" msgstr "不明なプログラム"
@ -1218,7 +1185,7 @@ msgstr "終了"
msgid "Activities" msgid "Activities"
msgstr "アクティビティ" msgstr "アクティビティ"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "トップバー" msgstr "トップバー"
@ -1254,11 +1221,11 @@ msgstr "ロック"
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "画面をロックする必要があります" msgstr "画面をロックする必要があります"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "ロックできません" msgstr "ロックできません"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "アプリケーションによってロックがブロックされました" msgstr "アプリケーションによってロックがブロックされました"
@ -1266,7 +1233,7 @@ msgstr "アプリケーションによってロックがブロックされまし
msgid "Searching…" msgid "Searching…"
msgstr "検索しています…" msgstr "検索しています…"
#: ../js/ui/search.js:646 #: ../js/ui/search.js:649
msgid "No results." msgid "No results."
msgstr "一致するものがありません。" msgstr "一致するものがありません。"
@ -1330,11 +1297,11 @@ msgstr "バウンスキー"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "マウスキー" msgstr "マウスキー"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "ハイコントラスト" msgstr "ハイコントラスト"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "大きな文字" msgstr "大きな文字"
@ -1342,8 +1309,7 @@ msgstr "大きな文字"
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/location.js:60 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/location.js:167 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:105
@ -1373,34 +1339,33 @@ msgid "Show Keyboard Layout"
msgstr "キーボードレイアウトの表示" msgstr "キーボードレイアウトの表示"
#: ../js/ui/status/location.js:53 #: ../js/ui/status/location.js:53
#, fuzzy
#| msgid "Notifications"
msgid "Location" msgid "Location"
msgstr "通知" msgstr "場所"
#: ../js/ui/status/location.js:59 ../js/ui/status/location.js:166 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#: ../js/ui/status/rfkill.js:84 msgid "Disable"
msgid "On" msgstr "無効"
msgstr "オン"
#: ../js/ui/status/location.js:163 ../js/ui/status/network.js:420 #: ../js/ui/status/location.js:165
#: ../js/ui/status/network.js:1260 ../js/ui/status/network.js:1464 msgid "Enable"
msgid "Off" msgstr "有効"
msgstr "オフ"
#: ../js/ui/status/location.js:164 ../js/ui/status/network.js:1234 #: ../js/ui/status/location.js:167
msgid "Turn On" msgid "In Use"
msgstr "オンにする" msgstr "使用中"
#: ../js/ui/status/network.js:74 #: ../js/ui/status/network.js:74
msgid "<unknown>" msgid "<unknown>"
msgstr "< 不明 >" msgstr "< 不明 >"
#: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260
#: ../js/ui/status/network.js:1464
msgid "Off"
msgstr "オフ"
#: ../js/ui/status/network.js:422 #: ../js/ui/status/network.js:422
#, fuzzy
#| msgid "Connect"
msgid "Connected" msgid "Connected"
msgstr "接続" 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) */
@ -1438,10 +1403,8 @@ msgid "connection failed"
msgstr "接続失敗" msgstr "接続失敗"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
#, fuzzy
#| msgid "Wi-Fi Settings"
msgid "Wired Settings" msgid "Wired Settings"
msgstr "Wi-Fi 設定" msgstr "有線設定"
#: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587 #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587
msgid "Mobile Broadband Settings" msgid "Mobile Broadband Settings"
@ -1453,39 +1416,31 @@ msgstr "ハードウェア無効"
#: ../js/ui/status/network.js:595 #: ../js/ui/status/network.js:595
msgid "Use as Internet connection" msgid "Use as Internet connection"
msgstr "" msgstr "インターネット接続に使用"
#: ../js/ui/status/network.js:776 #: ../js/ui/status/network.js:776
#, fuzzy
#| msgid "Airplane Mode"
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "機内モード" msgstr "機内モードオン"
#: ../js/ui/status/network.js:777 #: ../js/ui/status/network.js:777
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "" msgstr "機内モードがオンになっていると、Wi-Fiは無効になります"
#: ../js/ui/status/network.js:778 #: ../js/ui/status/network.js:778
#, fuzzy
#| msgid "Airplane Mode"
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "機内モード" msgstr "機内モードをオフにする"
#: ../js/ui/status/network.js:787 #: ../js/ui/status/network.js:787
#, fuzzy
#| msgid "Wi-Fi Settings"
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Wi-Fi 設定" msgstr "Wi-Fi オフ"
#: ../js/ui/status/network.js:788 #: ../js/ui/status/network.js:788
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "" msgstr "ネットワークに接続するには Wi-Fi をオンにする必要があります。"
#: ../js/ui/status/network.js:789 #: ../js/ui/status/network.js:789
#, fuzzy
#| msgid "Turn On"
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "オンにする" msgstr "Wi-Fi をオンにする"
#: ../js/ui/status/network.js:814 #: ../js/ui/status/network.js:814
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
@ -1501,7 +1456,7 @@ msgstr "ネットワークなし"
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "" msgstr "オフにハードウェアスイッチを使用する"
#: ../js/ui/status/network.js:1136 #: ../js/ui/status/network.js:1136
msgid "Select Network" msgid "Select Network"
@ -1511,25 +1466,25 @@ msgstr "ネットワークを選択"
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Wi-Fi 設定" msgstr "Wi-Fi 設定"
#: ../js/ui/status/network.js:1234
msgid "Turn On"
msgstr "オンにする"
#: ../js/ui/status/network.js:1251 #: ../js/ui/status/network.js:1251
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "" msgstr "アクセスポイント使用中"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1254
#, fuzzy
#| msgid "Connection"
msgid "Connecting" msgid "Connecting"
msgstr "接続" msgstr "接続"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88
msgid "Network Settings" msgid "Network Settings"
msgstr "ネットワーク設定" msgstr "ネットワーク設定"
#: ../js/ui/status/network.js:1435 #: ../js/ui/status/network.js:1435
#, fuzzy
#| msgid "Settings"
msgid "VPN Settings" msgid "VPN Settings"
msgstr "設定" msgstr "VPN 設定"
#: ../js/ui/status/network.js:1454 #: ../js/ui/status/network.js:1454
msgid "VPN" msgid "VPN"
@ -1581,6 +1536,10 @@ msgstr "バッテリー"
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "機内モード" msgstr "機内モード"
#: ../js/ui/status/rfkill.js:84
msgid "On"
msgstr "オン"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "ユーザーの切り替え" msgstr "ユーザーの切り替え"
@ -1630,10 +1589,9 @@ msgid "Search"
msgstr "検索" msgstr "検索"
#: ../js/ui/windowAttentionHandler.js:19 #: ../js/ui/windowAttentionHandler.js:19
#, fuzzy, javascript-format #, javascript-format
#| msgid "'%s' is ready"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "'%s' は準備完了です" msgstr "%s は準備完了です"
#: ../js/ui/windowManager.js:56 #: ../js/ui/windowManager.js:56
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
@ -1650,7 +1608,7 @@ msgstr "設定を元に戻す"
msgid "Keep Changes" msgid "Keep Changes"
msgstr "変更を保存" msgstr "変更を保存"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:98
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1697,10 +1655,9 @@ msgid "List possible modes"
msgstr "使用可能なモードを一覧表示する" msgstr "使用可能なモードを一覧表示する"
#: ../src/shell-app.c:666 #: ../src/shell-app.c:666
#, fuzzy, c-format #, c-format
#| msgid "Failed to launch '%s'"
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "'%s'の起動に失敗しました" msgstr "%sの起動に失敗しました"
#: ../src/shell-keyring-prompt.c:714 #: ../src/shell-keyring-prompt.c:714
msgid "Passwords do not match." msgid "Passwords do not match."
@ -1710,7 +1667,7 @@ msgstr "パスワードが一致しません。"
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "パスワードを空白にすることはできません。" msgstr "パスワードを空白にすることはできません。"
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "認証ダイアログはユーザーに拒否されました" msgstr "認証ダイアログはユーザーに拒否されました"

1740
po/km.po Normal file

File diff suppressed because it is too large Load Diff

507
po/lt.po

File diff suppressed because it is too large Load Diff

329
po/lv.po
View File

@ -4,22 +4,24 @@
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011. # Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012, 2013, 2014. # Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012, 2013, 2014.
# Pēteris Krišjānis <pecisk@gmail.com>, 2011. # Pēteris Krišjānis <pecisk@gmail.com>, 2011.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2014.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \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: 2014-03-07 08:31+0000\n" "POT-Creation-Date: 2014-04-11 14:54+0000\n"
"PO-Revision-Date: 2014-03-08 11:48+0200\n" "PO-Revision-Date: 2014-04-12 12:35+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n" "Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n" "Language-Team: Latviešu <lata-l10n@googlegroups.com>\n"
"Language: lv\n" "Language: lv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n" "2);\n"
"X-Generator: Lokalize 1.5\n" "X-Generator: Gtranslator 2.91.6\n"
#: ../data/50-gnome-shell-system.xml.in.h:1 #: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System" msgid "System"
@ -82,16 +84,10 @@ msgstr ""
"F2 dialoglodziņu." "F2 dialoglodziņu."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3 #: ../data/org.gnome.shell.gschema.xml.in.in.h:3
#| msgid "Uuids of extensions to enable"
msgid "UUIDs of extensions to enable" msgid "UUIDs of extensions to enable"
msgstr "UUID paplašinājumiem, kurus aktivēt" msgstr "UUID paplašinājumiem, kurus aktivēt"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4 #: ../data/org.gnome.shell.gschema.xml.in.in.h:4
#| msgid ""
#| "GNOME Shell extensions have a uuid property; this key lists extensions "
#| "which should be loaded. Any extension that wants to be loaded needs to be "
#| "in this list. You can also manipulate this list with the EnableExtension "
#| "and DisableExtension DBus methods on org.gnome.Shell."
msgid "" msgid ""
"GNOME Shell extensions have a UUID property; this key lists extensions which " "GNOME Shell extensions have a UUID property; this key lists extensions which "
"should be loaded. Any extension that wants to be loaded needs to be in this " "should be loaded. Any extension that wants to be loaded needs to be in this "
@ -138,14 +134,10 @@ msgid "History for the looking glass dialog"
msgstr "Looking glass dialoglodziņa vēsture" msgstr "Looking glass dialoglodziņa vēsture"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11 #: ../data/org.gnome.shell.gschema.xml.in.in.h:11
#| msgid "Always show the 'Log out' menuitem in the user menu."
msgid "Always show the 'Log out' menu item in the user menu." msgid "Always show the 'Log out' menu item in the user menu."
msgstr "Lietotāja izvēlnē vienmēr rādīt izvēlnes vienumu “Izrakstīties”." msgstr "Lietotāja izvēlnē vienmēr rādīt izvēlnes vienumu “Izrakstīties”."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12 #: ../data/org.gnome.shell.gschema.xml.in.in.h:12
#| msgid ""
#| "This key overrides the automatic hiding of the 'Log out' menuitem in "
#| "single-user, single-session situations."
msgid "" msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-" "This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations." "user, single-session situations."
@ -301,7 +293,6 @@ msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Peles režīmā aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties" msgstr "Peles režīmā aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties"
#: ../js/extensionPrefs/main.js:127 #: ../js/extensionPrefs/main.js:127
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Ielādējot %s iestatījumu dialogu, gadījās kļūda:" msgstr "Ielādējot %s iestatījumu dialogu, gadījās kļūda:"
@ -316,7 +307,7 @@ msgstr "Izvēlieties konfigurējamo paplašinājumu no saraksta."
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:873 #: ../js/ui/status/network.js:878
msgid "Cancel" msgid "Cancel"
msgstr "Atcelt" msgstr "Atcelt"
@ -334,25 +325,24 @@ msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Ierakstīties" msgstr "Ierakstīties"
#: ../js/gdm/loginDialog.js:270 #: ../js/gdm/loginDialog.js:271
msgid "Choose Session" msgid "Choose Session"
msgstr "Izvēlieties sesiju" msgstr "Izvēlieties sesiju"
#: ../js/gdm/loginDialog.js:430 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Nav sarakstā?" msgstr "Nav sarakstā?"
#: ../js/gdm/loginDialog.js:598 #: ../js/gdm/loginDialog.js:614
#, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(piemēram, lietotājs vai %s)" msgstr "(piemēram, lietotājs vai %s)"
#: ../js/gdm/loginDialog.js:603 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Lietotājvārds: " msgstr "Lietotājvārds: "
#: ../js/gdm/loginDialog.js:868 #: ../js/gdm/loginDialog.js:920
msgid "Login Window" msgid "Login Window"
msgstr "Ierakstīšanās logs" msgstr "Ierakstīšanās logs"
@ -373,42 +363,38 @@ msgid "Could not parse command:"
msgstr "Neizdevās apstrādāt komandu:" msgstr "Neizdevās apstrādāt komandu:"
#: ../js/misc/util.js:156 #: ../js/misc/util.js:156
#, javascript-format
#| msgid "Execution of '%s' failed:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "“%s” izpilde neizdevās:" msgstr "“%s” izpilde neizdevās:"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:636
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Šeit parādīsies biežāk izmantotās lietotnes" msgstr "Šeit parādīsies biežāk izmantotās lietotnes"
#: ../js/ui/appDisplay.js:740 #: ../js/ui/appDisplay.js:747
msgid "Frequent" msgid "Frequent"
msgstr "Biežāk izmantotās" msgstr "Biežāk izmantotās"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:754
msgid "All" msgid "All"
msgstr "Visas" msgstr "Visas"
#: ../js/ui/appDisplay.js:1552 #: ../js/ui/appDisplay.js:1566
msgid "New Window" msgid "New Window"
msgstr "Jauns logs" msgstr "Jauns logs"
#: ../js/ui/appDisplay.js:1574 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Izņemt no izlases" msgstr "Izņemt no izlases"
#: ../js/ui/appDisplay.js:1580 #: ../js/ui/appDisplay.js:1594
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Pievienot izlasei" msgstr "Pievienot izlasei"
#: ../js/ui/appFavorites.js:87 #: ../js/ui/appFavorites.js:87
#, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
msgstr "%s ir pievienots izlasei." msgstr "%s ir pievienots izlasei."
#: ../js/ui/appFavorites.js:121 #: ../js/ui/appFavorites.js:121
#, javascript-format
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s ir izņemts no izlases." msgstr "%s ir izņemts no izlases."
@ -541,44 +527,44 @@ msgstr "Se"
msgid "calendar:MY" msgid "calendar:MY"
msgstr "calendar:YM" msgstr "calendar:YM"
#: ../js/ui/calendar.js:446 #: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Iepriekšējais mēnesis" msgstr "Iepriekšējais mēnesis"
#: ../js/ui/calendar.js:456 #: ../js/ui/calendar.js:460
msgid "Next month" msgid "Next month"
msgstr "Nākamais mēnesis" msgstr "Nākamais mēnesis"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:763 #: ../js/ui/calendar.js:772
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Nekas nav ieplānots" msgstr "Nekas nav ieplānots"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:781 #: ../js/ui/calendar.js:790
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d. %B" msgstr "%A, %d. %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:784 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d. %B, %Y." msgstr "%A, %d. %B, %Y."
#: ../js/ui/calendar.js:795 #: ../js/ui/calendar.js:804
msgid "Today" msgid "Today"
msgstr "Šodien" msgstr "Šodien"
#: ../js/ui/calendar.js:799 #: ../js/ui/calendar.js:808
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Rīt" msgstr "Rīt"
#: ../js/ui/calendar.js:810 #: ../js/ui/calendar.js:819
msgid "This week" msgid "This week"
msgstr "Šonedēļ" msgstr "Šonedēļ"
#: ../js/ui/calendar.js:818 #: ../js/ui/calendar.js:827
msgid "Next week" msgid "Next week"
msgstr "Nākamnedēļ" msgstr "Nākamnedēļ"
@ -595,7 +581,6 @@ msgid "Removable Devices"
msgstr "Izņemamās ierīces" msgstr "Izņemamās ierīces"
#: ../js/ui/components/autorunManager.js:596 #: ../js/ui/components/autorunManager.js:596
#, javascript-format
msgid "Open with %s" msgid "Open with %s"
msgstr "Atvērt ar %s" msgstr "Atvērt ar %s"
@ -612,7 +597,7 @@ msgid "Type again:"
msgstr "Ierakstiet vēlreiz:" msgstr "Ierakstiet vēlreiz:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240 #: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:240
#: ../js/ui/status/network.js:317 ../js/ui/status/network.js:876 #: ../js/ui/status/network.js:322 ../js/ui/status/network.js:881
msgid "Connect" msgid "Connect"
msgstr "Savienot" msgstr "Savienot"
@ -645,10 +630,6 @@ msgid "Authentication required by wireless network"
msgstr "Bezvadu tīkls pieprasa autentifikāciju" msgstr "Bezvadu tīkls pieprasa autentifikāciju"
#: ../js/ui/components/networkAgent.js:312 #: ../js/ui/components/networkAgent.js:312
#, javascript-format
#| msgid ""
#| "Passwords or encryption keys are required to access the wireless network "
#| "'%s'."
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
"“%s”." "“%s”."
@ -685,8 +666,6 @@ msgid "Mobile broadband network password"
msgstr "Mobilās platjoslas tīkla parole" msgstr "Mobilās platjoslas tīkla parole"
#: ../js/ui/components/networkAgent.js:339 #: ../js/ui/components/networkAgent.js:339
#, javascript-format
#| msgid "A password is required to connect to '%s'."
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Lai savienotos ar “%s”, ir nepieciešama parole." msgstr "Lai savienotos ar “%s”, ir nepieciešama parole."
@ -736,23 +715,18 @@ msgstr "Apklusināt"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:955
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%H%M" msgid "%H%M"
msgstr "%H.%M" msgstr "%H.%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:962
#| msgid "<b>Yesterday</b>, <b>%H:%M</b>"
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Vakar, %H.%M" msgstr "Vakar, %H.%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:969
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H.%M" msgstr "%A, %H.%M"
@ -760,8 +734,6 @@ msgstr "%A, %H.%M"
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:976
#| msgctxt "event list time"
#| msgid "%H%M"
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%d. %B, %H.%M" msgstr "%d. %B, %H.%M"
@ -774,8 +746,6 @@ msgstr "%d. %B, %Y., %H.%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:991
#| msgctxt "event list time"
#| msgid "%l%M%p"
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l.%M%p" msgstr "%l.%M%p"
@ -788,7 +758,6 @@ msgstr "Vakar, %l:%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1005
#| msgid "%a %l:%M %p"
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l.%M %p" msgstr "%A, %l.%M %p"
@ -796,7 +765,6 @@ msgstr "%A, %l.%M %p"
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1012
#| msgid "%a %b %e, %l:%M %p"
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%d. %B, %l.%M %p" msgstr "%d. %B, %l.%M %p"
@ -804,21 +772,18 @@ msgstr "%d. %B, %l.%M %p"
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1018
#| msgid "%a %b %e, %l:%M %p"
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%d. %B, %Y., %l.%M %p" msgstr "%d. %B, %Y., %l.%M %p"
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:1051 #: ../js/ui/components/telepathyClient.js:1051
#, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s tagad saucas %s" msgstr "%s tagad saucas %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:1154 #: ../js/ui/components/telepathyClient.js:1154
#, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Ielūgums uz %s" msgstr "Ielūgums uz %s"
@ -826,32 +791,29 @@ msgstr "Ielūgums uz %s"
#. * 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:1162 #: ../js/ui/components/telepathyClient.js:1162
#, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s jūs ielūdz pievienoties %s" msgstr "%s jūs ielūdz pievienoties %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1164
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1199
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1233
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1291
msgid "Decline" msgid "Decline"
msgstr "Noraidīt" msgstr "Noraidīt"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1170
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1239
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1296
msgid "Accept" msgid "Accept"
msgstr "Pieņemt" msgstr "Pieņemt"
#. 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:1189 #: ../js/ui/components/telepathyClient.js:1189
#, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Video zvans no %s" msgstr "Video zvans no %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:1192 #: ../js/ui/components/telepathyClient.js:1192
#, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Zvans no %s" msgstr "Zvans no %s"
@ -866,111 +828,109 @@ msgstr "Atbildēt"
#. * like: "Alice is sending you test.ogg" #. * like: "Alice is sending you test.ogg"
#. */ #. */
#: ../js/ui/components/telepathyClient.js:1227 #: ../js/ui/components/telepathyClient.js:1227
#, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s sūta jums %s" msgstr "%s sūta jums %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1256 #: ../js/ui/components/telepathyClient.js:1256
#, 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 vēlas saņemt atļauju redzēt jūsu tiešsaistes statusu" msgstr "%s vēlas saņemt atļauju redzēt jūsu tiešsaistes statusu"
#: ../js/ui/components/telepathyClient.js:1341 #: ../js/ui/components/telepathyClient.js:1342
msgid "Network error" msgid "Network error"
msgstr "Tīkla kļūda" msgstr "Tīkla kļūda"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1344
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Autentifikācija neizdevās" msgstr "Autentifikācija neizdevās"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1346
msgid "Encryption error" msgid "Encryption error"
msgstr "Šifrēšanas kļūda" msgstr "Šifrēšanas kļūda"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1348
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Nav sertifikāta" msgstr "Nav sertifikāta"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1350
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Neuzticams sertifikāts" msgstr "Neuzticams sertifikāts"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Sertifikāts izbeidzies" msgstr "Sertifikāts izbeidzies"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Sertifikāts nav aktivizēts" msgstr "Sertifikāts nav aktivizēts"
#: ../js/ui/components/telepathyClient.js:1355 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Sertifikātu servera nosaukumu nesakritība" msgstr "Sertifikātu servera nosaukumu nesakritība"
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Sertifikāta ciparnospiedumu nesakritība" msgstr "Sertifikāta ciparnospiedumu nesakritība"
#: ../js/ui/components/telepathyClient.js:1359 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Sertifikāts ir pašparakstīts" msgstr "Sertifikāts ir pašparakstīts"
#: ../js/ui/components/telepathyClient.js:1361 #: ../js/ui/components/telepathyClient.js:1362
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Statuss ir “nesaistē”" msgstr "Statuss ir “nesaistē”"
#: ../js/ui/components/telepathyClient.js:1363 #: ../js/ui/components/telepathyClient.js:1364
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Šifrēšana nav pieejama" msgstr "Šifrēšana nav pieejama"
#: ../js/ui/components/telepathyClient.js:1365 #: ../js/ui/components/telepathyClient.js:1366
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Sertifikāts nav derīgs" msgstr "Sertifikāts nav derīgs"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1368
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Savienojums atteikts" msgstr "Savienojums atteikts"
#: ../js/ui/components/telepathyClient.js:1369 #: ../js/ui/components/telepathyClient.js:1370
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Nevar izveidot savienojumu" msgstr "Nevar izveidot savienojumu"
#: ../js/ui/components/telepathyClient.js:1371 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Savienojums pārtrūka" msgstr "Savienojums pārtrūka"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1374
msgid "This account is already connected to the server" msgid "This account is already connected to the server"
msgstr "Šis konts jau ir savienots ar serveri" msgstr "Šis konts jau ir savienots ar serveri"
#: ../js/ui/components/telepathyClient.js:1375 #: ../js/ui/components/telepathyClient.js:1376
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 ""
"Savienojums tika aizvietots ar jaunu savienojumu, kurš izmanto to pašu " "Savienojums tika aizvietots ar jaunu savienojumu, kurš izmanto to pašu "
"resursu" "resursu"
#: ../js/ui/components/telepathyClient.js:1377 #: ../js/ui/components/telepathyClient.js:1378
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Uz servera šāds konts jau ir" msgstr "Uz servera šāds konts jau ir"
#: ../js/ui/components/telepathyClient.js:1379 #: ../js/ui/components/telepathyClient.js:1380
msgid "Server is currently too busy to handle the connection" msgid "Server is currently too busy to handle the connection"
msgstr "Serveris ir pārāk aizņemts, lai apstrādātu savienojumu" msgstr "Serveris ir pārāk aizņemts, lai apstrādātu savienojumu"
#: ../js/ui/components/telepathyClient.js:1381 #: ../js/ui/components/telepathyClient.js:1382
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Sertifikāts tika atsaukts" msgstr "Sertifikāts tika atsaukts"
#: ../js/ui/components/telepathyClient.js:1383 #: ../js/ui/components/telepathyClient.js:1384
msgid "" msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak" "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "" msgstr ""
"Sertifikāts izmanto nedrošu šifrēšanas algoritmu vai arī ir kriptogrāfiski " "Sertifikāts izmanto nedrošu šifrēšanas algoritmu vai arī ir kriptogrāfiski "
"vājš" "vājš"
#: ../js/ui/components/telepathyClient.js:1385 #: ../js/ui/components/telepathyClient.js:1386
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"
@ -978,22 +938,21 @@ msgstr ""
"Servera sertifikāta garums vai sertifikāta ķēdes dziļums pārsniedz " "Servera sertifikāta garums vai sertifikāta ķēdes dziļums pārsniedz "
"ierobežojumus, ko nosaka kriptogrāfijas bibliotēka" "ierobežojumus, ko nosaka kriptogrāfijas bibliotēka"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1388
msgid "Internal error" msgid "Internal error"
msgstr "Iekšēja kļūda" msgstr "Iekšēja kļūda"
#. 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:1397 #: ../js/ui/components/telepathyClient.js:1398
#, javascript-format
msgid "Unable to connect to %s" msgid "Unable to connect to %s"
msgstr "Nevar savienoties ar %s" msgstr "Nevar savienoties ar %s"
#: ../js/ui/components/telepathyClient.js:1402 #: ../js/ui/components/telepathyClient.js:1403
msgid "View account" msgid "View account"
msgstr "Skatīt kontu" msgstr "Skatīt kontu"
#: ../js/ui/components/telepathyClient.js:1434 #: ../js/ui/components/telepathyClient.js:1440
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Nezināms iemesls" msgstr "Nezināms iemesls"
@ -1029,7 +988,6 @@ msgid "%A %B %e, %Y"
msgstr "%A, %e. %B, %Y." msgstr "%A, %e. %B, %Y."
#: ../js/ui/endSessionDialog.js:66 #: ../js/ui/endSessionDialog.js:66
#, javascript-format
msgctxt "title" msgctxt "title"
msgid "Log Out %s" msgid "Log Out %s"
msgstr "Izrakstīt %s" msgstr "Izrakstīt %s"
@ -1040,7 +998,6 @@ msgid "Log Out"
msgstr "Izrakstīties" msgstr "Izrakstīties"
#: ../js/ui/endSessionDialog.js:69 #: ../js/ui/endSessionDialog.js:69
#, javascript-format
msgid "%s will be logged out automatically in %d second." msgid "%s will be logged out automatically in %d second."
msgid_plural "%s will be logged out automatically in %d seconds." msgid_plural "%s will be logged out automatically in %d seconds."
msgstr[0] "%s tiks automātiski izrakstīts no sesijas pēc %d sekundes." msgstr[0] "%s tiks automātiski izrakstīts no sesijas pēc %d sekundes."
@ -1048,7 +1005,6 @@ msgstr[1] "%s tiks automātiski izrakstīts no sesijas pēc %d sekundēm."
msgstr[2] "%s tiks automātiski izrakstīts no sesijas pēc %d sekundēm." msgstr[2] "%s tiks automātiski izrakstīts no sesijas pēc %d sekundēm."
#: ../js/ui/endSessionDialog.js:74 #: ../js/ui/endSessionDialog.js:74
#, javascript-format
msgid "You will be logged out automatically in %d second." msgid "You will be logged out automatically in %d second."
msgid_plural "You will be logged out automatically in %d seconds." msgid_plural "You will be logged out automatically in %d seconds."
msgstr[0] "Jūs tiksiet automātiski izrakstīts no sesijas pēc %d sekundes." msgstr[0] "Jūs tiksiet automātiski izrakstīts no sesijas pēc %d sekundes."
@ -1071,7 +1027,6 @@ msgid "Install Updates & Power Off"
msgstr "Instalēt atjauninājumus un izslēgt" msgstr "Instalēt atjauninājumus un izslēgt"
#: ../js/ui/endSessionDialog.js:89 #: ../js/ui/endSessionDialog.js:89
#, javascript-format
msgid "The system will power off automatically in %d second." msgid "The system will power off automatically in %d second."
msgid_plural "The system will power off automatically in %d seconds." msgid_plural "The system will power off automatically in %d seconds."
msgstr[0] "Sistēma tiks izslēgta automātiski pēc %d sekundes." msgstr[0] "Sistēma tiks izslēgta automātiski pēc %d sekundes."
@ -1099,7 +1054,6 @@ msgid "Restart"
msgstr "Pārstartēt" msgstr "Pārstartēt"
#: ../js/ui/endSessionDialog.js:107 #: ../js/ui/endSessionDialog.js:107
#, javascript-format
msgid "The system will restart automatically in %d second." msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds." msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "Sistēma tiks automātiski pārstartēta pēc %d sekundes." msgstr[0] "Sistēma tiks automātiski pārstartēta pēc %d sekundes."
@ -1112,7 +1066,6 @@ msgid "Restart & Install Updates"
msgstr "Pārstartēt un instalēt atjauninājumus" msgstr "Pārstartēt un instalēt atjauninājumus"
#: ../js/ui/endSessionDialog.js:123 #: ../js/ui/endSessionDialog.js:123
#, javascript-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."
@ -1127,8 +1080,6 @@ msgstr[2] ""
"sekundēm." "sekundēm."
#: ../js/ui/endSessionDialog.js:129 #: ../js/ui/endSessionDialog.js:129
#| msgctxt "button"
#| msgid "Restart & Install"
msgctxt "button" msgctxt "button"
msgid "Restart &amp; Install" msgid "Restart &amp; Install"
msgstr "Pārstartēt un instalēt" msgstr "Pārstartēt un instalēt"
@ -1159,13 +1110,11 @@ msgstr "Citi lietotāji ir ierakstījušies."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:618
#, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (attālināts)" msgstr "%s (attālināts)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:621
#, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (konsole)" msgstr "%s (konsole)"
@ -1174,8 +1123,6 @@ msgid "Install"
msgstr "Instalēt" msgstr "Instalēt"
#: ../js/ui/extensionDownloader.js:204 #: ../js/ui/extensionDownloader.js:204
#, javascript-format
#| msgid "Download and install '%s' from extensions.gnome.org?"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Lejupielādēt un instalēt “%s” no extensions.gnome.org?" msgstr "Lejupielādēt un instalēt “%s” no extensions.gnome.org?"
@ -1189,7 +1136,6 @@ msgstr "Nav instalētu paplašinājumu"
#. Translators: argument is an extension UUID. */ #. Translators: argument is an extension UUID. */
#: ../js/ui/lookingGlass.js:697 #: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
msgstr "%s nav izdevis nevienu kļūdu." msgstr "%s nav izdevis nevienu kļūdu."
@ -1201,7 +1147,8 @@ msgstr "Slēpt kļūdas"
msgid "Show Errors" msgid "Show Errors"
msgstr "Rādīt kļūdas" msgstr "Rādīt kļūdas"
#: ../js/ui/lookingGlass.js:716 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59
#: ../js/ui/status/location.js:167
msgid "Enabled" msgid "Enabled"
msgstr "Aktivēta" msgstr "Aktivēta"
@ -1209,8 +1156,8 @@ msgstr "Aktivēta"
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/network.js:550 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164
#: ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Deaktivēta" msgstr "Deaktivēta"
@ -1266,7 +1213,7 @@ msgstr "Nav ziņojumu"
msgid "Message Tray" msgid "Message Tray"
msgstr "Ziņojumu paplāte" msgstr "Ziņojumu paplāte"
#: ../js/ui/messageTray.js:2948 #: ../js/ui/messageTray.js:2962
msgid "System Information" msgid "System Information"
msgstr "Sistēmas informācija" msgstr "Sistēmas informācija"
@ -1276,18 +1223,17 @@ msgid "Unknown"
msgstr "Nezināma" msgstr "Nezināma"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151 #: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151
#, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
msgstr[0] "%d jauns ziņojums" msgstr[0] "%d jauns ziņojums"
msgstr[1] "%d jauni ziņojumi" msgstr[1] "%d jauni ziņojumi"
msgstr[2] "%d jaunu ziņojumu" msgstr[2] "%d jaunu ziņojumu"
#: ../js/ui/overview.js:83 #: ../js/ui/overview.js:84
msgid "Undo" msgid "Undo"
msgstr "Atsaukt" msgstr "Atsaukt"
#: ../js/ui/overview.js:123 #: ../js/ui/overview.js:124
msgid "Overview" msgid "Overview"
msgstr "Pārskats" msgstr "Pārskats"
@ -1295,7 +1241,7 @@ msgstr "Pārskats"
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. */ #. characters. */
#: ../js/ui/overview.js:257 #: ../js/ui/overview.js:250
msgid "Type to search…" msgid "Type to search…"
msgstr "Rakstiet, lai meklētu…" msgstr "Rakstiet, lai meklētu…"
@ -1332,34 +1278,33 @@ msgid "%A, %B %d"
msgstr "%A, %d. %B" msgstr "%A, %d. %B"
#: ../js/ui/screenShield.js:153 #: ../js/ui/screenShield.js:153
#, javascript-format
msgid "%d new notification" msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d jauns paziņojums" msgstr[0] "%d jauns paziņojums"
msgstr[1] "%d jauni paziņojumi" msgstr[1] "%d jauni paziņojumi"
msgstr[2] "%d jaunu paziņojumu" msgstr[2] "%d jaunu paziņojumu"
#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Bloķēt" msgstr "Bloķēt"
#: ../js/ui/screenShield.js:707 #: ../js/ui/screenShield.js:708
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME vajag bloķēt ekrānu" msgstr "GNOME vajag bloķēt ekrānu"
#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1301 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nevar bloķēt" msgstr "Nevar bloķēt"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1302 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Lietotne neļāva bloķēt" msgstr "Lietotne neļāva bloķēt"
#: ../js/ui/search.js:589 #: ../js/ui/search.js:603
msgid "Searching…" msgid "Searching…"
msgstr "Meklē…" msgstr "Meklē…"
#: ../js/ui/search.js:632 #: ../js/ui/search.js:649
msgid "No results." msgid "No results."
msgstr "Nav rezultātu." msgstr "Nav rezultātu."
@ -1431,31 +1376,29 @@ msgstr "Augsts kontrasts"
msgid "Large Text" msgid "Large Text"
msgstr "Liels teksts" msgstr "Liels teksts"
#: ../js/ui/status/bluetooth.js:48 #: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:59 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/location.js:159 ../js/ui/status/network.js:151 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:318 ../js/ui/status/network.js:1225 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85
#: ../js/ui/status/network.js:1336 ../js/ui/status/rfkill.js:85
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:105
msgid "Turn Off" msgid "Turn Off"
msgstr "Izslēgt" msgstr "Izslēgt"
#: ../js/ui/status/bluetooth.js:53 #: ../js/ui/status/bluetooth.js:54
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Bluetooth iestatījumi" msgstr "Bluetooth iestatījumi"
#: ../js/ui/status/bluetooth.js:100 #: ../js/ui/status/bluetooth.js:104
#, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
msgstr[0] "%d savienota ierīce" msgstr[0] "%d savienota ierīce"
msgstr[1] "%d savienotas ierīces" msgstr[1] "%d savienotas ierīces"
msgstr[2] "%d savienotu ierīču" msgstr[2] "%d savienotu ierīču"
#: ../js/ui/status/bluetooth.js:102 ../js/ui/status/network.js:1253 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262
msgid "Not Connected" msgid "Not Connected"
msgstr "Nav savienots" msgstr "Nav savienots"
@ -1467,169 +1410,169 @@ msgstr "Gaišums"
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Rādīt tastatūras izkārtojumu" msgstr "Rādīt tastatūras izkārtojumu"
#: ../js/ui/status/location.js:52 #: ../js/ui/status/location.js:53
#| msgid "Notifications"
msgid "Location" msgid "Location"
msgstr "Atrašanās vieta" msgstr "Atrašanās vieta"
#: ../js/ui/status/location.js:58 ../js/ui/status/location.js:158 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#: ../js/ui/status/rfkill.js:84 #| msgid "Disabled"
msgid "On" msgid "Disable"
msgstr "Izslēgt"
#: ../js/ui/status/location.js:165
#| msgid "Enabled"
msgid "Enable"
msgstr "Ieslēgt" msgstr "Ieslēgt"
#: ../js/ui/status/location.js:155 ../js/ui/status/network.js:415 #: ../js/ui/status/location.js:167
#: ../js/ui/status/network.js:1251 ../js/ui/status/network.js:1455 msgid "In Use"
msgid "Off" msgstr "Tiek izmantots"
msgstr "Izslēgts"
#: ../js/ui/status/location.js:156 ../js/ui/status/network.js:1225
msgid "Turn On"
msgstr "Ieslēgt"
#: ../js/ui/status/network.js:74 #: ../js/ui/status/network.js:74
msgid "<unknown>" msgid "<unknown>"
msgstr "<nezināms>" msgstr "<nezināms>"
#: ../js/ui/status/network.js:417 #: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260
#| msgid "Connect" #: ../js/ui/status/network.js:1464
msgid "Off"
msgstr "Izslēgts"
#: ../js/ui/status/network.js:422
msgid "Connected" msgid "Connected"
msgstr "Savienots" msgstr "Savienots"
#. 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:421 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "unmanaged"
msgstr "nepārvaldīts" msgstr "nepārvaldīts"
#: ../js/ui/status/network.js:423 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "disconnecting..."
msgstr "atvienojas..." msgstr "atvienojas..."
#: ../js/ui/status/network.js:429 ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362
msgid "connecting..." msgid "connecting..."
msgstr "savienojas..." msgstr "savienojas..."
#. 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:432 ../js/ui/status/network.js:1356 #: ../js/ui/status/network.js:437 ../js/ui/status/network.js:1365
msgid "authentication required" msgid "authentication required"
msgstr "nepieciešama autentifikācija" msgstr "nepieciešama autentifikācija"
#. 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:440 #: ../js/ui/status/network.js:445
msgid "firmware missing" msgid "firmware missing"
msgstr "trūkst aparātprogrammatūras" msgstr "trūkst aparātprogrammatūras"
#. 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:444 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "unavailable"
msgstr "nav pieejams" msgstr "nav pieejams"
#: ../js/ui/status/network.js:446 ../js/ui/status/network.js:1358 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367
msgid "connection failed" msgid "connection failed"
msgstr "savienojums neizdevās" msgstr "savienojums neizdevās"
#: ../js/ui/status/network.js:462 #: ../js/ui/status/network.js:467
#| msgid "Wi-Fi Settings"
msgid "Wired Settings" msgid "Wired Settings"
msgstr "Vadu tīkla iestatījumi" msgstr "Vadu tīkla iestatījumi"
#: ../js/ui/status/network.js:504 ../js/ui/status/network.js:582 #: ../js/ui/status/network.js:509 ../js/ui/status/network.js:587
msgid "Mobile Broadband Settings" msgid "Mobile Broadband Settings"
msgstr "Mobilās platjoslas iestatījumi" msgstr "Mobilās platjoslas iestatījumi"
#: ../js/ui/status/network.js:546 ../js/ui/status/network.js:1249 #: ../js/ui/status/network.js:551 ../js/ui/status/network.js:1258
msgid "Hardware Disabled" msgid "Hardware Disabled"
msgstr "Izslēgts aparatūrā" msgstr "Izslēgts aparatūrā"
#: ../js/ui/status/network.js:590 #: ../js/ui/status/network.js:595
msgid "Use as Internet connection" msgid "Use as Internet connection"
msgstr "Izmantot kā interneta savienojumu" msgstr "Izmantot kā interneta savienojumu"
#: ../js/ui/status/network.js:771 #: ../js/ui/status/network.js:776
#| msgid "Airplane Mode"
msgid "Airplane Mode is On" msgid "Airplane Mode is On"
msgstr "Lidmašīnas režīms ir ieslēgts" msgstr "Lidmašīnas režīms ir ieslēgts"
#: ../js/ui/status/network.js:772 #: ../js/ui/status/network.js:777
msgid "Wi-Fi is disabled when airplane mode is on." msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Wi-Fi tiek izslēgts, kad ir ieslēgts lidmašīnas režīms." msgstr "Wi-Fi tiek izslēgts, kad ir ieslēgts lidmašīnas režīms."
#: ../js/ui/status/network.js:773 #: ../js/ui/status/network.js:778
#| msgid "Airplane Mode"
msgid "Turn Off Airplane Mode" msgid "Turn Off Airplane Mode"
msgstr "Izslēgt lidmašīnas režīmu" msgstr "Izslēgt lidmašīnas režīmu"
#: ../js/ui/status/network.js:782 #: ../js/ui/status/network.js:787
#| msgid "Wi-Fi Settings"
msgid "Wi-Fi is Off" msgid "Wi-Fi is Off"
msgstr "Wi-Fi ir izslēgts" msgstr "Wi-Fi ir izslēgts"
#: ../js/ui/status/network.js:783 #: ../js/ui/status/network.js:788
msgid "Wi-Fi needs to be turned on in order to connect to a network." msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Lai savienotos ar tīklu, jāieslēdz Wi-Fi." msgstr "Lai savienotos ar tīklu, jāieslēdz Wi-Fi."
#: ../js/ui/status/network.js:784 #: ../js/ui/status/network.js:789
#| msgid "Turn On"
msgid "Turn On Wi-Fi" msgid "Turn On Wi-Fi"
msgstr "Ieslēgt Wi-Fi" msgstr "Ieslēgt Wi-Fi"
#: ../js/ui/status/network.js:809 #: ../js/ui/status/network.js:814
msgid "Wi-Fi Networks" msgid "Wi-Fi Networks"
msgstr "Bezvadu tīkli" msgstr "Bezvadu tīkli"
#: ../js/ui/status/network.js:811 #: ../js/ui/status/network.js:816
msgid "Select a network" msgid "Select a network"
msgstr "Izvēlieties tīklu" msgstr "Izvēlieties tīklu"
#: ../js/ui/status/network.js:840 #: ../js/ui/status/network.js:845
msgid "No Networks" msgid "No Networks"
msgstr "Nav tīklu" msgstr "Nav tīklu"
#: ../js/ui/status/network.js:861 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Lai izslēgtu, izmantot aparatūras slēdzi" msgstr "Lai izslēgtu, izmantot aparatūras slēdzi"
#: ../js/ui/status/network.js:1131 #: ../js/ui/status/network.js:1136
msgid "Select Network" msgid "Select Network"
msgstr "Izvēlieties tīklu" msgstr "Izvēlieties tīklu"
#: ../js/ui/status/network.js:1137 #: ../js/ui/status/network.js:1142
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Wi-Fi iestatījumi" msgstr "Wi-Fi iestatījumi"
#: ../js/ui/status/network.js:1242 #: ../js/ui/status/network.js:1234
msgid "Turn On"
msgstr "Ieslēgt"
#: ../js/ui/status/network.js:1251
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Tīklājs ir aktīvs" msgstr "Tīklājs ir aktīvs"
#: ../js/ui/status/network.js:1245 #: ../js/ui/status/network.js:1254
#| msgid "Connection"
msgid "Connecting" msgid "Connecting"
msgstr "Savienojas" msgstr "Savienojas"
#: ../js/ui/status/network.js:1424 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88
msgid "Network Settings" msgid "Network Settings"
msgstr "Tīkla iestatījumi" msgstr "Tīkla iestatījumi"
#: ../js/ui/status/network.js:1426 #: ../js/ui/status/network.js:1435
#| msgid "Settings"
msgid "VPN Settings" msgid "VPN Settings"
msgstr "VPN iestatījumi" msgstr "VPN iestatījumi"
#: ../js/ui/status/network.js:1445 #: ../js/ui/status/network.js:1454
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1598 #: ../js/ui/status/network.js:1607
msgid "Network Manager" msgid "Network Manager"
msgstr "Tīkla pārvaldnieks" msgstr "Tīkla pārvaldnieks"
#: ../js/ui/status/network.js:1637 #: ../js/ui/status/network.js:1646
msgid "Connection failed" msgid "Connection failed"
msgstr "Neizdevās savienoties" msgstr "Neizdevās savienoties"
#: ../js/ui/status/network.js:1638 #: ../js/ui/status/network.js:1647
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Neizdevās tīkla savienojuma aktivēšana" msgstr "Neizdevās tīkla savienojuma aktivēšana"
@ -1646,12 +1589,10 @@ msgid "Estimating…"
msgstr "Novērtē…" msgstr "Novērtē…"
#: ../js/ui/status/power.js:86 #: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "Atlicis %d.%02d (%d%%)" msgstr "Atlicis %d.%02d (%d%%)"
#: ../js/ui/status/power.js:91 #: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
msgstr "Līdz pilnai %d.%02d (%d%%)" msgstr "Līdz pilnai %d.%02d (%d%%)"
@ -1667,6 +1608,10 @@ msgstr "Baterija"
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Lidmašīnas režīms" msgstr "Lidmašīnas režīms"
#: ../js/ui/status/rfkill.js:84
msgid "On"
msgstr "Ieslēgt"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Mainīt lietotāju" msgstr "Mainīt lietotāju"
@ -1716,8 +1661,6 @@ msgid "Search"
msgstr "Meklēt" msgstr "Meklēt"
#: ../js/ui/windowAttentionHandler.js:19 #: ../js/ui/windowAttentionHandler.js:19
#, javascript-format
#| msgid "'%s' is ready"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "“%s” ir gatavs" msgstr "“%s” ir gatavs"
@ -1737,7 +1680,6 @@ msgid "Keep Changes"
msgstr "Paturēt izmaiņas" msgstr "Paturēt izmaiņas"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:97
#, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Izmaiņas tiks atgrieztas pēc %d sekundes" msgstr[0] "Izmaiņas tiks atgrieztas pēc %d sekundes"
@ -1790,7 +1732,6 @@ msgstr "Uzskaitīt iespējamās metodes"
#: ../src/shell-app.c:666 #: ../src/shell-app.c:666
#, c-format #, c-format
#| msgid "Failed to launch '%s'"
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Neizdevās palaist “%s”" msgstr "Neizdevās palaist “%s”"

442
po/nb.po

File diff suppressed because it is too large Load Diff

915
po/nl.po

File diff suppressed because it is too large Load Diff

View File

@ -10,26 +10,27 @@
# Gabriel F. Vilar <cogumm@gmail.com>, 2011. # Gabriel F. Vilar <cogumm@gmail.com>, 2011.
# Adorilson Bezerra <adorilson@gmail.com>, 2011, 2014. # Adorilson Bezerra <adorilson@gmail.com>, 2011, 2014.
# Djavan Fagundes <djavan@comum.org>, 2012. # Djavan Fagundes <djavan@comum.org>, 2012.
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013. # Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
# Fábio Nogueira <fnogueira@gnome.org>, 2014. # Fábio Nogueira <fnogueira@gnome.org>, 2014.
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014. # Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
# Georges Basile Stavracas Neto <georges.stavracas@gmail.com>, 2014.
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
# #
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: 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: 2014-03-27 18:23+0000\n" "POT-Creation-Date: 2014-06-03 07:28+0000\n"
"PO-Revision-Date: 2014-03-27 15:29-0300\n" "PO-Revision-Date: 2014-06-03 10:26-0300\n"
"Last-Translator: Antonio Fernandes C. Neto <fernandesn@gnome.org>\n" "Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n" "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.6.4\n" "X-Generator: Poedit 1.6.5\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-system.xml.in.h:1 #: ../data/50-gnome-shell-system.xml.in.h:1
@ -66,13 +67,12 @@ msgid "Window management and application launching"
msgstr "Gerenciamento de janelas e lançador de aplicativos" msgstr "Gerenciamento de janelas e lançador de aplicativos"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1 #: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
#: ../js/extensionPrefs/main.js:155
msgid "GNOME Shell Extension Preferences" msgid "GNOME Shell Extension Preferences"
msgstr "Preferências de extensões do GNOME Shell" msgstr "Preferências de extensões do Shell do GNOME"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2 #: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
msgid "Configure GNOME Shell Extensions" msgid "Configure GNOME Shell Extensions"
msgstr "Configurar extensões do GNOME Shell" msgstr "Configurar extensões do Shell do GNOME"
# Traduções do Xfce e da Microsoft usam compositor --Enrico # Traduções do Xfce e da Microsoft usam compositor --Enrico
#: ../data/gnome-shell-wayland.desktop.in.in.h:1 #: ../data/gnome-shell-wayland.desktop.in.in.h:1
@ -285,47 +285,31 @@ msgstr ""
"GNOME." "GNOME."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35 #: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Arrangement of buttons on the titlebar"
msgstr "Organização dos botões na barra de título"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"Esta chave sobrescreve a chave em org.gnome.desktop.wm.preferences ao "
"executar o Shell do GNOME."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
"Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela" "Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38 #: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Espaços de trabalho são gerenciados dinamicamente" msgstr "Espaços de trabalho são gerenciados dinamicamente"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39 #: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Workspaces only on primary monitor" msgid "Workspaces only on primary monitor"
msgstr "Espaços de trabalho apenas no monitor primário" msgstr "Espaços de trabalho apenas no monitor primário"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40 #: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving" msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover" msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
#: ../js/extensionPrefs/main.js:127 #: ../js/extensionPrefs/main.js:125
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:" msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:"
#: ../js/extensionPrefs/main.js:167 #: ../js/extensionPrefs/main.js:157
msgid "Extension" #| msgid "Configure GNOME Shell Extensions"
msgstr "Extensão" msgid "GNOME Shell Extensions"
msgstr "Extensões do Shell do GNOME"
#: ../js/extensionPrefs/main.js:191
msgid "Select an extension to configure using the combobox above."
msgstr ""
"Selecione uma extensão para configurar usando a caixa de seleção abaixo."
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
@ -348,33 +332,33 @@ msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Entrar" msgstr "Entrar"
#: ../js/gdm/loginDialog.js:271 #: ../js/gdm/loginDialog.js:269
msgid "Choose Session" msgid "Choose Session"
msgstr "Escolher sessão" msgstr "Escolher sessão"
#: ../js/gdm/loginDialog.js:431 #: ../js/gdm/loginDialog.js:429
msgid "Not listed?" msgid "Not listed?"
msgstr "Não está listado?" msgstr "Não está listado?"
#: ../js/gdm/loginDialog.js:611 #: ../js/gdm/loginDialog.js:614
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(ex.: usuário ou %s)" msgstr "(ex.: usuário ou %s)"
#: ../js/gdm/loginDialog.js:616 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Nome de usuário: " msgstr "Nome de usuário: "
#: ../js/gdm/loginDialog.js:917 #: ../js/gdm/loginDialog.js:922
msgid "Login Window" msgid "Login Window"
msgstr "Janela de sessão" msgstr "Janela de sessão"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "Erro de autenticação" msgstr "Erro de autenticação"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ou deslize o dedo)" msgstr "(ou deslize o dedo)"
@ -391,30 +375,34 @@ msgstr "Não foi possível analisar comando:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "A execução de \"%s\" falhou:" msgstr "A execução de \"%s\" falhou:"
#: ../js/ui/appDisplay.js:636 #: ../js/ui/appDisplay.js:640
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Aplicativos usados frequentemente vão aparecer aqui" msgstr "Aplicativos usados frequentemente vão aparecer aqui"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:751
msgid "Frequent" msgid "Frequent"
msgstr "Frequente" msgstr "Frequente"
#: ../js/ui/appDisplay.js:754 #: ../js/ui/appDisplay.js:758
msgid "All" msgid "All"
msgstr "Todos" msgstr "Todos"
#: ../js/ui/appDisplay.js:1566 #: ../js/ui/appDisplay.js:1571
msgid "New Window" msgid "New Window"
msgstr "Nova janela" msgstr "Nova janela"
#: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1593 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Remover dos favoritos" msgstr "Remover dos favoritos"
#: ../js/ui/appDisplay.js:1594 #: ../js/ui/appDisplay.js:1599
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Adicionar aos favoritos" msgstr "Adicionar aos favoritos"
#: ../js/ui/appDisplay.js:1608
msgid "Show Details"
msgstr "Mostrar detalhes"
#: ../js/ui/appFavorites.js:87 #: ../js/ui/appFavorites.js:87
#, javascript-format #, javascript-format
msgid "%s has been added to your favorites." msgid "%s has been added to your favorites."
@ -425,8 +413,8 @@ msgstr "%s foi adicionado aos seus favoritos."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s foi removido dos seus favoritos." msgstr "%s foi removido dos seus favoritos."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:337
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
@ -437,14 +425,14 @@ msgstr "Alterar plano de fundo…"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #. */
#: ../js/ui/calendar.js:64 #: ../js/ui/calendar.js:67
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Dia todo" msgstr "Dia todo"
#. Translators: Shown in calendar event list, if 24h format, #. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */ #. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:70 #: ../js/ui/calendar.js:73
msgctxt "event list time" msgctxt "event list time"
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
@ -452,7 +440,7 @@ 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
#. a thin space */ #. a thin space */
#: ../js/ui/calendar.js:79 #: ../js/ui/calendar.js:82
msgctxt "event list time" msgctxt "event list time"
msgid "%l%M%p" msgid "%l%M%p"
msgstr "%l%M%p" msgstr "%l%M%p"
@ -462,43 +450,43 @@ msgstr "%l%M%p"
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:110 #: ../js/ui/calendar.js:113
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "D" msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:112 #: ../js/ui/calendar.js:115
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:114 #: ../js/ui/calendar.js:117
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:116 #: ../js/ui/calendar.js:119
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "Q" msgstr "Q"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:118 #: ../js/ui/calendar.js:121
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "Q" msgstr "Q"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:120 #: ../js/ui/calendar.js:123
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:122 #: ../js/ui/calendar.js:125
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
@ -509,97 +497,93 @@ msgstr "S"
#. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T'). #. * both be 'T').
#. */ #. */
#: ../js/ui/calendar.js:135 #: ../js/ui/calendar.js:138
msgctxt "list sunday" msgctxt "list sunday"
msgid "Su" msgid "Su"
msgstr "Dom" msgstr "Dom"
#. Translators: Event list abbreviation for Monday */ #. Translators: Event list abbreviation for Monday */
#: ../js/ui/calendar.js:137 #: ../js/ui/calendar.js:140
msgctxt "list monday" msgctxt "list monday"
msgid "M" msgid "M"
msgstr "Seg" msgstr "Seg"
#. Translators: Event list abbreviation for Tuesday */ #. Translators: Event list abbreviation for Tuesday */
#: ../js/ui/calendar.js:139 #: ../js/ui/calendar.js:142
msgctxt "list tuesday" msgctxt "list tuesday"
msgid "T" msgid "T"
msgstr "Ter" msgstr "Ter"
#. Translators: Event list abbreviation for Wednesday */ #. Translators: Event list abbreviation for Wednesday */
#: ../js/ui/calendar.js:141 #: ../js/ui/calendar.js:144
msgctxt "list wednesday" msgctxt "list wednesday"
msgid "W" msgid "W"
msgstr "Qua" msgstr "Qua"
#. Translators: Event list abbreviation for Thursday */ #. Translators: Event list abbreviation for Thursday */
#: ../js/ui/calendar.js:143 #: ../js/ui/calendar.js:146
msgctxt "list thursday" msgctxt "list thursday"
msgid "Th" msgid "Th"
msgstr "Qui" msgstr "Qui"
#. Translators: Event list abbreviation for Friday */ #. Translators: Event list abbreviation for Friday */
#: ../js/ui/calendar.js:145 #: ../js/ui/calendar.js:148
msgctxt "list friday" msgctxt "list friday"
msgid "F" msgid "F"
msgstr "Sex" msgstr "Sex"
#. Translators: Event list abbreviation for Saturday */ #. Translators: Event list abbreviation for Saturday */
#: ../js/ui/calendar.js:147 #: ../js/ui/calendar.js:150
msgctxt "list saturday" msgctxt "list saturday"
msgid "S" msgid "S"
msgstr "Sab" msgstr "Sab"
#: ../js/ui/calendar.js:390 #: ../js/ui/calendar.js:454
msgid "calendar:MY"
msgstr "calendar:MY"
#: ../js/ui/calendar.js:450
msgid "Previous month" msgid "Previous month"
msgstr "Mês anterior" msgstr "Mês anterior"
#: ../js/ui/calendar.js:460 #: ../js/ui/calendar.js:464
msgid "Next month" msgid "Next month"
msgstr "Próximo mês" msgstr "Próximo mês"
#. Translators: Text to show if there are no events */ #. Translators: Text to show if there are no events */
#: ../js/ui/calendar.js:772 #: ../js/ui/calendar.js:775
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "Nada agendado" msgstr "Nada agendado"
#. Translators: Shown on calendar heading when selected day occurs on current year */ #. Translators: Shown on calendar heading when selected day occurs on current year */
#: ../js/ui/calendar.js:790 #: ../js/ui/calendar.js:793
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d de %B" msgstr "%A, %d de %B"
#. Translators: Shown on calendar heading when selected day occurs on different year */ #. Translators: Shown on calendar heading when selected day occurs on different year */
#: ../js/ui/calendar.js:793 #: ../js/ui/calendar.js:796
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y" msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:804 #: ../js/ui/calendar.js:807
msgid "Today" msgid "Today"
msgstr "Hoje" msgstr "Hoje"
#: ../js/ui/calendar.js:808 #: ../js/ui/calendar.js:811
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Amanhã" msgstr "Amanhã"
#: ../js/ui/calendar.js:819 #: ../js/ui/calendar.js:822
msgid "This week" msgid "This week"
msgstr "Esta semana" msgstr "Esta semana"
#: ../js/ui/calendar.js:827 #: ../js/ui/calendar.js:830
msgid "Next week" msgid "Next week"
msgstr "Próxima semana" msgstr "Próxima semana"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Unidade externa conectada" msgstr "Unidade externa conectada"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Unidade externa desconectada" msgstr "Unidade externa desconectada"
@ -744,77 +728,77 @@ msgid "Mute"
msgstr "Sem áudio" msgstr "Sem áudio"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:957
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:964
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Ontem, %H%M" msgstr "Ontem, %H%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:971
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:978
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%d de %B, %H%M" msgstr "%d de %B, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:984
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%d de %B de %Y, %H%M" msgstr "%d de %B de %Y, %H%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:990
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M %p" msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:997
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Ontem, %l%M %p" msgstr "Ontem, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1004
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1011
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%d de %B, %l%M %p" msgstr "%d de %B, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1017
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%d de %B de %Y, %l%M %p" msgstr "%d de %B de %Y, %l%M %p"
#. 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:1051 #: ../js/ui/components/telepathyClient.js:1049
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s agora é conhecido como %s" msgstr "%s agora é conhecido como %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:1154 #: ../js/ui/components/telepathyClient.js:1153
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Convite para %s" msgstr "Convite para %s"
@ -822,38 +806,38 @@ msgstr "Convite para %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:1162 #: ../js/ui/components/telepathyClient.js:1161
#, javascript-format #, javascript-format
msgid "%s is inviting you to join %s" msgid "%s is inviting you to join %s"
msgstr "%s está convidando você para participar de %s" msgstr "%s está convidando você para participar de %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1163
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1198
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1232
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1290
msgid "Decline" msgid "Decline"
msgstr "Recusar" msgstr "Recusar"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1169
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1238
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1295
msgid "Accept" msgid "Accept"
msgstr "Aceitar" msgstr "Aceitar"
#. 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:1189 #: ../js/ui/components/telepathyClient.js:1188
#, javascript-format #, javascript-format
msgid "Video call from %s" msgid "Video call from %s"
msgstr "Chamada de vídeo para %s" msgstr "Chamada de vídeo para %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:1192 #: ../js/ui/components/telepathyClient.js:1191
#, javascript-format #, javascript-format
msgid "Call from %s" msgid "Call from %s"
msgstr "Chamada de %s" msgstr "Chamada de %s"
#. translators: this is a button label (verb), not a noun */ #. translators: this is a button label (verb), not a noun */
#: ../js/ui/components/telepathyClient.js:1206 #: ../js/ui/components/telepathyClient.js:1205
msgid "Answer" msgid "Answer"
msgstr "Atender" msgstr "Atender"
@ -862,13 +846,13 @@ msgstr "Atender"
#. * 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:1227 #: ../js/ui/components/telepathyClient.js:1226
#, javascript-format #, javascript-format
msgid "%s is sending you %s" msgid "%s is sending you %s"
msgstr "%s está enviando %s" msgstr "%s está enviando %s"
#. To translators: The parameter is the contact's alias */ #. To translators: The parameter is the contact's alias */
#: ../js/ui/components/telepathyClient.js:1256 #: ../js/ui/components/telepathyClient.js:1255
#, 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 quer permissão para vê-lo quando conectado" msgstr "%s quer permissão para vê-lo quando conectado"
@ -1004,23 +988,23 @@ msgstr "Mostrar aplicativos"
msgid "Dash" msgid "Dash"
msgstr "Dash" msgstr "Dash"
#: ../js/ui/dateMenu.js:91 #: ../js/ui/dateMenu.js:97
msgid "Open Calendar" msgid "Open Calendar"
msgstr "Abrir agenda" msgstr "Abrir agenda"
#: ../js/ui/dateMenu.js:95 #: ../js/ui/dateMenu.js:101
msgid "Open Clocks" msgid "Open Clocks"
msgstr "Abrir relógios" msgstr "Abrir relógios"
# O "&" foi inserido como "e" para versão 3.8.0 no gnome-control-center # O "&" foi inserido como "e" para versão 3.8.0 no gnome-control-center
#: ../js/ui/dateMenu.js:102 #: ../js/ui/dateMenu.js:108
msgid "Date & Time Settings" msgid "Date & Time Settings"
msgstr "Configurações de data & hora" msgstr "Configurações de data & hora"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */ #. */
#: ../js/ui/dateMenu.js:192 #: ../js/ui/dateMenu.js:205
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "%A, %e de %B de %Y" msgstr "%A, %e de %B de %Y"
@ -1145,13 +1129,13 @@ msgid "Other users are logged in."
msgstr "Outros usuários estão com sessão aberta." msgstr "Outros usuários estão com sessão aberta."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (remoto)" msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (console)" msgstr "%s (console)"
@ -1165,7 +1149,7 @@ msgstr "Instalar"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?" msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:339
msgid "Keyboard" msgid "Keyboard"
msgstr "Teclado" msgstr "Teclado"
@ -1253,16 +1237,16 @@ msgstr "Sem mensagens"
msgid "Message Tray" msgid "Message Tray"
msgstr "Área de notificação" msgstr "Área de notificação"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "Informações do sistema" msgstr "Informações do sistema"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Desconhecido" msgstr "Desconhecido"
#: ../js/ui/overviewControls.js:483 ../js/ui/screenShield.js:151 #: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:151
#, javascript-format #, javascript-format
msgid "%d new message" msgid "%d new message"
msgid_plural "%d new messages" msgid_plural "%d new messages"
@ -1295,11 +1279,11 @@ msgstr "Sair"
msgid "Activities" msgid "Activities"
msgstr "Atividades" msgstr "Atividades"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "Barra superior" msgstr "Barra superior"
#: ../js/ui/popupMenu.js:271 #: ../js/ui/popupMenu.js:279
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1307,7 +1291,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command" msgid "Enter a Command"
msgstr "Digite um comando" msgstr "Digite um comando"
#: ../js/ui/runDialog.js:114 #: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:120
msgid "Close" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
@ -1324,7 +1308,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d nova notificação" msgstr[0] "%d nova notificação"
msgstr[1] "%d novas notificações" msgstr[1] "%d novas notificações"
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342 #: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:345
msgid "Lock" msgid "Lock"
msgstr "Bloquear" msgstr "Bloquear"
@ -1332,19 +1316,19 @@ msgstr "Bloquear"
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a tela" msgstr "GNOME precisa bloquear a tela"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Não foi possível bloquear" msgstr "Não foi possível bloquear"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "O bloqueio foi impedido por um aplicativo" msgstr "O bloqueio foi impedido por um aplicativo"
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Pesquisando…" msgstr "Pesquisando…"
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Nenhum resultado." msgstr "Nenhum resultado."
@ -1408,11 +1392,11 @@ msgstr "Teclas de repercussão"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Teclas do mouse" msgstr "Teclas do mouse"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Alto contraste" msgstr "Alto contraste"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Texto grande" msgstr "Texto grande"
@ -1422,8 +1406,8 @@ msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:114
msgid "Turn Off" msgid "Turn Off"
msgstr "Desligar" msgstr "Desligar"
@ -1446,7 +1430,7 @@ msgstr "Não conectado"
msgid "Brightness" msgid "Brightness"
msgstr "Brilho" msgstr "Brilho"
#: ../js/ui/status/keyboard.js:403 #: ../js/ui/status/keyboard.js:407
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Exibir disposição de teclado" msgstr "Exibir disposição de teclado"
@ -1479,40 +1463,41 @@ msgstr "Off"
msgid "Connected" msgid "Connected"
msgstr "Conectado" msgstr "Conectado"
# Não gerenciável para transmitir a idéia que o Networkmanager não consegue gerenciar o dispositivo --Enrico
#. 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:426 #: ../js/ui/status/network.js:426
msgid "unmanaged" msgid "Unmanaged"
msgstr "não gerenciado" msgstr "Não gerenciável"
#: ../js/ui/status/network.js:428 #: ../js/ui/status/network.js:428
msgid "disconnecting..." msgid "Disconnecting"
msgstr "desconectando..." msgstr "Desconectando"
#: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1254
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:437 ../js/ui/status/network.js:1365 #: ../js/ui/status/network.js:437
msgid "authentication required" msgid "Authentication required"
msgstr "autenticação necessária" msgstr "Autenticação necessária"
#. 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:445 #: ../js/ui/status/network.js:445
msgid "firmware missing" msgid "Firmware missing"
msgstr "firmware faltando" msgstr "Firmware em falta"
#. 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:449 #: ../js/ui/status/network.js:449
msgid "unavailable" msgid "Unavailable"
msgstr "indisponível" msgstr "Indisponível"
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1646
msgid "connection failed" msgid "Connection failed"
msgstr "conexão falhou" msgstr "Falha de conexão"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
@ -1566,7 +1551,7 @@ msgstr "Selecione uma rede"
msgid "No Networks" msgid "No Networks"
msgstr "Nenhuma rede" msgstr "Nenhuma rede"
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103 #: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
msgid "Use hardware switch to turn off" msgid "Use hardware switch to turn off"
msgstr "Usar alternador de hardware para desligar" msgstr "Usar alternador de hardware para desligar"
@ -1586,11 +1571,20 @@ msgstr "Ligar"
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Ponto de acesso ativo" msgstr "Ponto de acesso ativo"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1362
msgid "Connecting" msgid "connecting..."
msgstr "Conectando" msgstr "conectando..."
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1365
msgid "authentication required"
msgstr "autenticação necessária"
#: ../js/ui/status/network.js:1367
msgid "connection failed"
msgstr "conexão falhou"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
msgid "Network Settings" msgid "Network Settings"
msgstr "Configurações de rede" msgstr "Configurações de rede"
@ -1606,10 +1600,6 @@ msgstr "VPN"
msgid "Network Manager" msgid "Network Manager"
msgstr "Gerenciador de rede" msgstr "Gerenciador de rede"
#: ../js/ui/status/network.js:1646
msgid "Connection failed"
msgstr "Falha de conexão"
#: ../js/ui/status/network.js:1647 #: ../js/ui/status/network.js:1647
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Falha ao ativar a conexão da rede" msgstr "Falha ao ativar a conexão da rede"
@ -1646,31 +1636,31 @@ msgstr "No-break"
msgid "Battery" msgid "Battery"
msgstr "Bateria" msgstr "Bateria"
#: ../js/ui/status/rfkill.js:82 #: ../js/ui/status/rfkill.js:83
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Modo avião" msgstr "Modo avião"
#: ../js/ui/status/rfkill.js:84 #: ../js/ui/status/rfkill.js:85
msgid "On" msgid "On"
msgstr "On" msgstr "On"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:317
msgid "Switch User" msgid "Switch User"
msgstr "Alternar usuário" msgstr "Alternar usuário"
#: ../js/ui/status/system.js:319 #: ../js/ui/status/system.js:322
msgid "Log Out" msgid "Log Out"
msgstr "Encerrar sessão" msgstr "Encerrar sessão"
#: ../js/ui/status/system.js:338 #: ../js/ui/status/system.js:341
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Bloqueio da orientação" msgstr "Bloqueio da orientação"
#: ../js/ui/status/system.js:346 #: ../js/ui/status/system.js:349
msgid "Suspend" msgid "Suspend"
msgstr "Suspender" msgstr "Suspender"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:352
msgid "Power Off" msgid "Power Off"
msgstr "Desligar" msgstr "Desligar"
@ -1707,28 +1697,68 @@ msgstr "Pesquisar"
msgid "“%s” is ready" msgid "“%s” is ready"
msgstr "\"%s\" está pronto" msgstr "\"%s\" está pronto"
#: ../js/ui/windowManager.js:56 #: ../js/ui/windowManager.js:57
msgid "Do you want to keep these display settings?" msgid "Do you want to keep these display settings?"
msgstr "Você deseja manter essas configurações de exibição?" msgstr "Você deseja manter essas configurações de exibição?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #. */
#: ../js/ui/windowManager.js:75 #: ../js/ui/windowManager.js:76
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Reverter configurações" msgstr "Reverter configurações"
#: ../js/ui/windowManager.js:79 #: ../js/ui/windowManager.js:80
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Manter alterações" msgstr "Manter alterações"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:99
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Alterações nas configurações serão revertidas em %d segundo" msgstr[0] "Alterações nas configurações serão revertidas em %d segundo"
msgstr[1] "Alterações nas configurações serão revertidas em %d segundos" msgstr[1] "Alterações nas configurações serão revertidas em %d segundos"
#: ../js/ui/windowMenu.js:34
msgid "Minimize"
msgstr "Minimizar"
#: ../js/ui/windowMenu.js:41
msgid "Unmaximize"
msgstr "Restaurar"
#: ../js/ui/windowMenu.js:45
msgid "Maximize"
msgstr "Maximizar"
#: ../js/ui/windowMenu.js:52
msgid "Move"
msgstr "Mover"
#: ../js/ui/windowMenu.js:58
msgid "Resize"
msgstr "Redimensionar"
#: ../js/ui/windowMenu.js:65
msgid "Move Titlebar Onscreen"
msgstr "Mover barra de título na tela"
#: ../js/ui/windowMenu.js:70
msgid "Always on Top"
msgstr "Sempre no topo"
#: ../js/ui/windowMenu.js:89
msgid "Always on Visible Workspace"
msgstr "Sempre na área de trabalho visível"
#: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Up"
msgstr "Mover para a área de trabalho acima"
#: ../js/ui/windowMenu.js:111
msgid "Move to Workspace Down"
msgstr "Mover para a área de trabalho abaixo"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
msgid "Evolution Calendar" msgid "Evolution Calendar"
msgstr "Agenda do Evolution" msgstr "Agenda do Evolution"
@ -1784,10 +1814,30 @@ msgstr "As senhas não coincidem."
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "A senha não pode estar em branco" msgstr "A senha não pode estar em branco"
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "O diálogo de autenticação foi descartado pelo usuário" msgstr "O diálogo de autenticação foi descartado pelo usuário"
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Organização dos botões na barra de título"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "Esta chave sobrescreve a chave em org.gnome.desktop.wm.preferences ao "
#~ "executar o Shell do GNOME."
#~ msgid "Extension"
#~ msgstr "Extensão"
#~ msgid "Select an extension to configure using the combobox above."
#~ msgstr ""
#~ "Selecione uma extensão para configurar usando a caixa de seleção abaixo."
#~ msgid "calendar:MY"
#~ msgstr "calendar:MY"
#~ 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>"

1316
po/ro.po

File diff suppressed because it is too large Load Diff

531
po/sl.po

File diff suppressed because it is too large Load Diff

979
po/sv.po

File diff suppressed because it is too large Load Diff

218
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: 2014-04-08 20:00+0000\n" "POT-Creation-Date: 2014-04-25 07:23+0000\n"
"PO-Revision-Date: 2014-04-09 11:36+0500\n" "PO-Revision-Date: 2014-04-25 16:51+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: tg\n" "Language: tg\n"
@ -344,25 +344,25 @@ msgstr "Интихоби ҷаласа"
msgid "Not listed?" msgid "Not listed?"
msgstr "Вуҷуд надора?" msgstr "Вуҷуд надора?"
#: ../js/gdm/loginDialog.js:614 #: ../js/gdm/loginDialog.js:616
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(масалан, корбар ё %s)" msgstr "(масалан, корбар ё %s)"
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Номи корбар:" msgstr "Номи корбар:"
#: ../js/gdm/loginDialog.js:920 #: ../js/gdm/loginDialog.js:924
msgid "Login Window" msgid "Login Window"
msgstr "Равзанаи воридшавӣ" msgstr "Равзанаи воридшавӣ"
#: ../js/gdm/util.js:322 #: ../js/gdm/util.js:323
msgid "Authentication error" msgid "Authentication error"
msgstr "Хатои санҷиши ҳаққоният" msgstr "Хатои санҷиши ҳаққоният"
#: ../js/gdm/util.js:452 #: ../js/gdm/util.js:453
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(ё бо ангут ламс кунед)" msgstr "(ё бо ангут ламс кунед)"
@ -391,15 +391,15 @@ msgstr "Роиҷ"
msgid "All" msgid "All"
msgstr "Ҳама" msgstr "Ҳама"
#: ../js/ui/appDisplay.js:1566 #: ../js/ui/appDisplay.js:1567
msgid "New Window" msgid "New Window"
msgstr "Равзанаи нав" msgstr "Равзанаи нав"
#: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1589 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Тоза кардан аз Баргузидаҳо" msgstr "Тоза кардан аз Баргузидаҳо"
#: ../js/ui/appDisplay.js:1594 #: ../js/ui/appDisplay.js:1595
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Илова кардан ба Баргузидаҳо" msgstr "Илова кардан ба Баргузидаҳо"
@ -413,7 +413,7 @@ 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:809 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:810
#: ../js/ui/status/system.js:334 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Танзимот" msgstr "Танзимот"
@ -583,11 +583,11 @@ msgstr "Ҳафтаи ҷорӣ"
msgid "Next week" msgid "Next week"
msgstr "Ҳафтаи навбатӣ" msgstr "Ҳафтаи навбатӣ"
#: ../js/ui/components/automountManager.js:90 #: ../js/ui/components/automountManager.js:91
msgid "External drive connected" msgid "External drive connected"
msgstr "Диски берунӣ васл шудааст" msgstr "Диски берунӣ васл шудааст"
#: ../js/ui/components/automountManager.js:101 #: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected" msgid "External drive disconnected"
msgstr "Диски берунӣ ҷудо шудааст" msgstr "Диски берунӣ ҷудо шудааст"
@ -732,77 +732,77 @@ msgid "Mute"
msgstr "Бесадо кардан" msgstr "Бесадо кардан"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:955 #: ../js/ui/components/telepathyClient.js:958
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/ui/components/telepathyClient.js:962 #: ../js/ui/components/telepathyClient.js:965
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Дирӯз, %H%M" msgstr "Дирӯз, %H%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30" */
#: ../js/ui/components/telepathyClient.js:969 #: ../js/ui/components/telepathyClient.js:972
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:976 #: ../js/ui/components/telepathyClient.js:979
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%B %d, %H%M" msgstr "%B %d, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30" */
#: ../js/ui/components/telepathyClient.js:982 #: ../js/ui/components/telepathyClient.js:985
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%B %d %Y, %H%M" msgstr "%B %d %Y, %H%M"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:991 #: ../js/ui/components/telepathyClient.js:994
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M %p" msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:998 #: ../js/ui/components/telepathyClient.js:1001
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Дирӯз, %l%M %p" msgstr "Дирӯз, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1005 #: ../js/ui/components/telepathyClient.js:1008
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:1012 #: ../js/ui/components/telepathyClient.js:1015
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p" msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"*/
#: ../js/ui/components/telepathyClient.js:1018 #: ../js/ui/components/telepathyClient.js:1021
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%B %d %Y, %l%M %p" msgstr "%B %d %Y, %l%M %p"
#. 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:1051 #: ../js/ui/components/telepathyClient.js:1054
#, 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:1154 #: ../js/ui/components/telepathyClient.js:1158
#, javascript-format #, javascript-format
msgid "Invitation to %s" msgid "Invitation to %s"
msgstr "Даъватнома барои to %s" msgstr "Даъватнома барои to %s"
@ -810,38 +810,38 @@ msgstr "Даъватнома барои to %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:1162 #: ../js/ui/components/telepathyClient.js:1166
#, 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:1164 #: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1291 #: ../js/ui/components/telepathyClient.js:1295
msgid "Decline" msgid "Decline"
msgstr "Рад кардан" msgstr "Рад кардан"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1296 #: ../js/ui/components/telepathyClient.js:1300
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:1189 #: ../js/ui/components/telepathyClient.js:1193
#, 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:1192 #: ../js/ui/components/telepathyClient.js:1196
#, 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:1206 #: ../js/ui/components/telepathyClient.js:1210
msgid "Answer" msgid "Answer"
msgstr "Ҷавоб" msgstr "Ҷавоб"
@ -850,110 +850,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:1227 #: ../js/ui/components/telepathyClient.js:1231
#, 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:1256 #: ../js/ui/components/telepathyClient.js:1260
#, 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:1342 #: ../js/ui/components/telepathyClient.js:1346
msgid "Network error" msgid "Network error"
msgstr "Хатои шабака" msgstr "Хатои шабака"
#: ../js/ui/components/telepathyClient.js:1344 #: ../js/ui/components/telepathyClient.js:1348
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Санҷиши ҳаққоният қатъ шудааст." msgstr "Санҷиши ҳаққоният қатъ шудааст."
#: ../js/ui/components/telepathyClient.js:1346 #: ../js/ui/components/telepathyClient.js:1350
msgid "Encryption error" msgid "Encryption error"
msgstr "Хатои рамзгузорӣ" msgstr "Хатои рамзгузорӣ"
#: ../js/ui/components/telepathyClient.js:1348 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Гувоҳинома таъмин нашудааст" msgstr "Гувоҳинома таъмин нашудааст"
#: ../js/ui/components/telepathyClient.js:1350 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Гувоҳиномаи беэътибор" msgstr "Гувоҳиномаи беэътибор"
#: ../js/ui/components/telepathyClient.js:1352 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Гувоҳинома аз мӯҳлаташ гузашт" msgstr "Гувоҳинома аз мӯҳлаташ гузашт"
#: ../js/ui/components/telepathyClient.js:1354 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Гувоҳинома фаъол нашудааст" msgstr "Гувоҳинома фаъол нашудааст"
#: ../js/ui/components/telepathyClient.js:1356 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Номувофиқати гувоҳиномаи номи мизоҷон" msgstr "Номувофиқати гувоҳиномаи номи мизоҷон"
#: ../js/ui/components/telepathyClient.js:1358 #: ../js/ui/components/telepathyClient.js:1362
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Номувофиқати гувоҳиномаи нақши ангуштон" msgstr "Номувофиқати гувоҳиномаи нақши ангуштон"
#: ../js/ui/components/telepathyClient.js:1360 #: ../js/ui/components/telepathyClient.js:1364
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Гувоҳиномаи худимзошуда" msgstr "Гувоҳиномаи худимзошуда"
#: ../js/ui/components/telepathyClient.js:1362 #: ../js/ui/components/telepathyClient.js:1366
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Вазъият ба \"офлайн\" гузаштааст" msgstr "Вазъият ба \"офлайн\" гузаштааст"
#: ../js/ui/components/telepathyClient.js:1364 #: ../js/ui/components/telepathyClient.js:1368
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Рамзгузорӣ дастрас нест" msgstr "Рамзгузорӣ дастрас нест"
#: ../js/ui/components/telepathyClient.js:1366 #: ../js/ui/components/telepathyClient.js:1370
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Гувоҳинома нодуруст аст" msgstr "Гувоҳинома нодуруст аст"
#: ../js/ui/components/telepathyClient.js:1368 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "Пайваст рад карда шудааст" msgstr "Пайваст рад карда шудааст"
#: ../js/ui/components/telepathyClient.js:1370 #: ../js/ui/components/telepathyClient.js:1374
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "Пайвастшавӣ имконнопазир аст" msgstr "Пайвастшавӣ имконнопазир аст"
#: ../js/ui/components/telepathyClient.js:1372 #: ../js/ui/components/telepathyClient.js:1376
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "Пайваст гум шудааст" msgstr "Пайваст гум шудааст"
#: ../js/ui/components/telepathyClient.js:1374 #: ../js/ui/components/telepathyClient.js:1378
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:1376 #: ../js/ui/components/telepathyClient.js:1380
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:1378 #: ../js/ui/components/telepathyClient.js:1382
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Ҳисоб дар сервер аллакай мавҷуд аст" msgstr "Ҳисоб дар сервер аллакай мавҷуд аст"
#: ../js/ui/components/telepathyClient.js:1380 #: ../js/ui/components/telepathyClient.js:1384
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:1382 #: ../js/ui/components/telepathyClient.js:1386
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Гувоҳинома лағв карда шуд" msgstr "Гувоҳинома лағв карда шуд"
#: ../js/ui/components/telepathyClient.js:1384 #: ../js/ui/components/telepathyClient.js:1388
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:1386 #: ../js/ui/components/telepathyClient.js:1390
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"
@ -961,22 +961,22 @@ msgstr ""
"Дарозии гувоҳиномаи сервер, ё ки чуқурии занҷири гувоҳиномаи сервер, аз " "Дарозии гувоҳиномаи сервер, ё ки чуқурии занҷири гувоҳиномаи сервер, аз "
"маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад" "маҳдудиятҳое, ки бо китобхонаи рамзгузорӣ таъин шудаанд, дарозтар мебошад"
#: ../js/ui/components/telepathyClient.js:1388 #: ../js/ui/components/telepathyClient.js:1392
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:1398 #: ../js/ui/components/telepathyClient.js:1402
#, 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:1403 #: ../js/ui/components/telepathyClient.js:1407
msgid "View account" msgid "View account"
msgstr "Намоиш додани ҳисоб" msgstr "Намоиш додани ҳисоб"
#: ../js/ui/components/telepathyClient.js:1440 #: ../js/ui/components/telepathyClient.js:1444
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Сабаби номаълум" msgstr "Сабаби номаълум"
@ -1132,13 +1132,13 @@ msgid "Other users are logged in."
msgstr "Корбарони дигар ворид шудаанд." msgstr "Корбарони дигар ворид шудаанд."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login */
#: ../js/ui/endSessionDialog.js:618 #: ../js/ui/endSessionDialog.js:619
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (дурдаст)" msgstr "%s (дурдаст)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console */
#: ../js/ui/endSessionDialog.js:621 #: ../js/ui/endSessionDialog.js:622
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
msgstr "%s (консол)" msgstr "%s (консол)"
@ -1152,7 +1152,7 @@ msgstr "Насб кардан"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?" msgstr "“%s”-ро аз extensions.gnome.org боргирӣ ва насб мекунед?"
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335 #: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
msgid "Keyboard" msgid "Keyboard"
msgstr "Клавиатура" msgstr "Клавиатура"
@ -1240,11 +1240,11 @@ msgstr "Ягон паём нест"
msgid "Message Tray" msgid "Message Tray"
msgstr "Қуттии паёмҳо" msgstr "Қуттии паёмҳо"
#: ../js/ui/messageTray.js:2962 #: ../js/ui/messageTray.js:2967
msgid "System Information" msgid "System Information"
msgstr "Маълумоти система" msgstr "Маълумоти система"
#: ../js/ui/notificationDaemon.js:515 ../src/shell-app.c:425 #: ../js/ui/notificationDaemon.js:516 ../src/shell-app.c:425
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Номаълум" msgstr "Номаълум"
@ -1282,7 +1282,7 @@ msgstr "Баромад"
msgid "Activities" msgid "Activities"
msgstr "Фаъолиятҳо" msgstr "Фаъолиятҳо"
#: ../js/ui/panel.js:914 #: ../js/ui/panel.js:915
msgid "Top Bar" msgid "Top Bar"
msgstr "Панели боло" msgstr "Панели боло"
@ -1319,19 +1319,19 @@ msgstr "Қулф кардан"
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME бояд экранро қулф кунад" msgstr "GNOME бояд экранро қулф кунад"
#: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1309 #: ../js/ui/screenShield.js:835 ../js/ui/screenShield.js:1312
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Қулф карда намешавад" msgstr "Қулф карда намешавад"
#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1310 #: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1313
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Қулф аз тарави барнома баста шудааст" msgstr "Қулф аз тарави барнома баста шудааст"
#: ../js/ui/search.js:603 #: ../js/ui/search.js:606
msgid "Searching…" msgid "Searching…"
msgstr "Ҷустуҷӯ рафта истодааст..." msgstr "Ҷустуҷӯ рафта истодааст..."
#: ../js/ui/search.js:649 #: ../js/ui/search.js:652
msgid "No results." msgid "No results."
msgstr "Ягон натиҷа нест." msgstr "Ягон натиҷа нест."
@ -1395,11 +1395,11 @@ msgstr "Тугмаҳои ҷастухез"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Тугмаҳои муш" msgstr "Тугмаҳои муш"
#: ../js/ui/status/accessibility.js:143 #: ../js/ui/status/accessibility.js:144
msgid "High Contrast" msgid "High Contrast"
msgstr "Контрасти баланд" msgstr "Контрасти баланд"
#: ../js/ui/status/accessibility.js:192 #: ../js/ui/status/accessibility.js:193
msgid "Large Text" msgid "Large Text"
msgstr "Матни бузург" msgstr "Матни бузург"
@ -1442,12 +1442,10 @@ msgid "Location"
msgstr "Ҷойгиршавӣ" msgstr "Ҷойгиршавӣ"
#: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#| msgid "Disabled"
msgid "Disable" msgid "Disable"
msgstr "Ғайрифаъол кардан" msgstr "Ғайрифаъол кардан"
#: ../js/ui/status/location.js:165 #: ../js/ui/status/location.js:165
#| msgid "Enabled"
msgid "Enable" msgid "Enable"
msgstr "Фаъол кардан" msgstr "Фаъол кардан"
@ -1471,37 +1469,42 @@ 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:426 #: ../js/ui/status/network.js:426
msgid "unmanaged" #| msgid "unmanaged"
msgstr "идоранашуда" msgid "Unmanaged"
msgstr "Идоранашуда"
#: ../js/ui/status/network.js:428 #: ../js/ui/status/network.js:428
msgid "disconnecting..." #| msgid "disconnecting..."
msgstr "қатъ кардани пайваст..." msgid "Disconnecting"
msgstr "Пайваст қатъ шуда истодааст"
#: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1362 #: ../js/ui/status/network.js:434 ../js/ui/status/network.js:1254
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:437 ../js/ui/status/network.js:1365 #: ../js/ui/status/network.js:437
msgid "authentication required" #| msgid "authentication required"
msgstr "санҷиши ҳаққоният лозим аст" msgid "Authentication required"
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:445 #: ../js/ui/status/network.js:445
msgid "firmware missing" #| msgid "firmware missing"
msgstr "нармафзори дарунсохт вуҷуд надорад" msgid "Firmware missing"
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:449 #: ../js/ui/status/network.js:449
msgid "unavailable" #| msgid "unavailable"
msgstr "дастнорас" msgid "Unavailable"
msgstr "Дастнорас"
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1367 #: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1646
msgid "connection failed" msgid "Connection failed"
msgstr "пайваст қатъ шудааст" msgstr "Пайваст қатъ шудааст"
#: ../js/ui/status/network.js:467 #: ../js/ui/status/network.js:467
msgid "Wired Settings" msgid "Wired Settings"
@ -1575,9 +1578,18 @@ msgstr "Фаъол кардан"
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Hotspot фаъол аст" msgstr "Hotspot фаъол аст"
#: ../js/ui/status/network.js:1254 #: ../js/ui/status/network.js:1362
msgid "Connecting" msgid "connecting..."
msgstr "Пайвастшавӣ" msgstr "пайвастшавӣ..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1365
msgid "authentication required"
msgstr "санҷиши ҳаққоният лозим аст"
#: ../js/ui/status/network.js:1367
msgid "connection failed"
msgstr "пайваст қатъ шудааст"
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88 #: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88
msgid "Network Settings" msgid "Network Settings"
@ -1595,10 +1607,6 @@ msgstr "VPN"
msgid "Network Manager" msgid "Network Manager"
msgstr "Мудири шабака" msgstr "Мудири шабака"
#: ../js/ui/status/network.js:1646
msgid "Connection failed"
msgstr "Пайваст қатъ шудааст"
#: ../js/ui/status/network.js:1647 #: ../js/ui/status/network.js:1647
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Фаъолсозии пайвасти шабака қатъ шудааст." msgstr "Фаъолсозии пайвасти шабака қатъ шудааст."
@ -1709,7 +1717,7 @@ msgstr "Барқарор кардани тағйирот"
msgid "Keep Changes" msgid "Keep Changes"
msgstr "Нигоҳ доштани тағйирот" msgstr "Нигоҳ доштани тағйирот"
#: ../js/ui/windowManager.js:97 #: ../js/ui/windowManager.js:98
#, javascript-format #, javascript-format
msgid "Settings changes will revert in %d second" msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds" msgid_plural "Settings changes will revert in %d seconds"
@ -1772,7 +1780,7 @@ msgstr "Паролҳо мувофиқат намекунанд."
msgid "Password cannot be blank" msgid "Password cannot be blank"
msgstr "Парол бояд холӣ набошад" msgstr "Парол бояд холӣ набошад"
#: ../src/shell-polkit-authentication-agent.c:343 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо корбар бекор карда шуд" msgstr "Равзанаи гуфтугӯи санҷиши ҳакконият бо корбар бекор карда шуд"

1141
po/tr.po

File diff suppressed because it is too large Load Diff

146
po/uk.po
View File

@ -6,17 +6,18 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"POT-Creation-Date: 2014-03-16 13:20+0200\n" "shell&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2014-03-16 15:56+0300\n" "POT-Creation-Date: 2014-04-21 17:13+0000\n"
"PO-Revision-Date: 2014-04-22 15:06+0300\n"
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n" "Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
"Language-Team: linux.org.ua\n" "Language-Team: linux.org.ua\n"
"Language: uk\n" "Language: uk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.7.1\n" "X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
@ -322,25 +323,25 @@ msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Увійти" msgstr "Увійти"
#: ../js/gdm/loginDialog.js:270 #: ../js/gdm/loginDialog.js:271
msgid "Choose Session" msgid "Choose Session"
msgstr "Виберіть сеанс" msgstr "Виберіть сеанс"
#: ../js/gdm/loginDialog.js:430 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Немає в переліку?" msgstr "Немає в переліку?"
#: ../js/gdm/loginDialog.js:608 #: ../js/gdm/loginDialog.js:614
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(наприклад, користувач або %s)" msgstr "(наприклад, користувач або %s)"
#: ../js/gdm/loginDialog.js:613 ../js/ui/components/networkAgent.js:262 #: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
#: ../js/ui/components/networkAgent.js:280 #: ../js/ui/components/networkAgent.js:280
msgid "Username: " msgid "Username: "
msgstr "Користувач:" msgstr "Користувач:"
#: ../js/gdm/loginDialog.js:884 #: ../js/gdm/loginDialog.js:920
msgid "Login Window" msgid "Login Window"
msgstr "Вікно входу" msgstr "Вікно входу"
@ -365,27 +366,27 @@ msgstr "Неможливо розібрати команду:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Не вдалось виконати «%s»:" msgstr "Не вдалось виконати «%s»:"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:636
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Часто використовувані програми будуть з'являтись тут" msgstr "Часто використовувані програми будуть з'являтись тут"
#: ../js/ui/appDisplay.js:740 #: ../js/ui/appDisplay.js:747
msgid "Frequent" msgid "Frequent"
msgstr "Частовживане" msgstr "Частовживане"
#: ../js/ui/appDisplay.js:747 #: ../js/ui/appDisplay.js:754
msgid "All" msgid "All"
msgstr "Усе" msgstr "Усе"
#: ../js/ui/appDisplay.js:1555 #: ../js/ui/appDisplay.js:1566
msgid "New Window" msgid "New Window"
msgstr "Нове вікно" msgstr "Нове вікно"
#: ../js/ui/appDisplay.js:1577 ../js/ui/dash.js:285 #: ../js/ui/appDisplay.js:1588 ../js/ui/dash.js:285
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Вилучити з улюбленого" msgstr "Вилучити з улюбленого"
#: ../js/ui/appDisplay.js:1583 #: ../js/ui/appDisplay.js:1594
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Додати до улюбленого" msgstr "Додати до улюбленого"
@ -802,13 +803,13 @@ msgstr "%s запрошує долучитись до %s"
#: ../js/ui/components/telepathyClient.js:1164 #: ../js/ui/components/telepathyClient.js:1164
#: ../js/ui/components/telepathyClient.js:1199 #: ../js/ui/components/telepathyClient.js:1199
#: ../js/ui/components/telepathyClient.js:1233 #: ../js/ui/components/telepathyClient.js:1233
#: ../js/ui/components/telepathyClient.js:1290 #: ../js/ui/components/telepathyClient.js:1291
msgid "Decline" msgid "Decline"
msgstr "Відмовити" msgstr "Відмовити"
#: ../js/ui/components/telepathyClient.js:1170 #: ../js/ui/components/telepathyClient.js:1170
#: ../js/ui/components/telepathyClient.js:1239 #: ../js/ui/components/telepathyClient.js:1239
#: ../js/ui/components/telepathyClient.js:1295 #: ../js/ui/components/telepathyClient.js:1296
msgid "Accept" msgid "Accept"
msgstr "Прийняти" msgstr "Прийняти"
@ -845,99 +846,99 @@ msgstr "%s надсилає %s"
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:1341 #: ../js/ui/components/telepathyClient.js:1342
msgid "Network error" msgid "Network error"
msgstr "Помилка мережі" msgstr "Помилка мережі"
#: ../js/ui/components/telepathyClient.js:1343 #: ../js/ui/components/telepathyClient.js:1344
msgid "Authentication failed" msgid "Authentication failed"
msgstr "Помилка автентифікації" msgstr "Помилка автентифікації"
#: ../js/ui/components/telepathyClient.js:1345 #: ../js/ui/components/telepathyClient.js:1346
msgid "Encryption error" msgid "Encryption error"
msgstr "Помилка шифрування" msgstr "Помилка шифрування"
#: ../js/ui/components/telepathyClient.js:1347 #: ../js/ui/components/telepathyClient.js:1348
msgid "Certificate not provided" msgid "Certificate not provided"
msgstr "Сертифікат не надано" msgstr "Сертифікат не надано"
#: ../js/ui/components/telepathyClient.js:1349 #: ../js/ui/components/telepathyClient.js:1350
msgid "Certificate untrusted" msgid "Certificate untrusted"
msgstr "Сертифікат ненадійний" msgstr "Сертифікат ненадійний"
#: ../js/ui/components/telepathyClient.js:1351 #: ../js/ui/components/telepathyClient.js:1352
msgid "Certificate expired" msgid "Certificate expired"
msgstr "Сертифікат застарів" msgstr "Сертифікат застарів"
#: ../js/ui/components/telepathyClient.js:1353 #: ../js/ui/components/telepathyClient.js:1354
msgid "Certificate not activated" msgid "Certificate not activated"
msgstr "Сертифікат не активовано" msgstr "Сертифікат не активовано"
#: ../js/ui/components/telepathyClient.js:1355 #: ../js/ui/components/telepathyClient.js:1356
msgid "Certificate hostname mismatch" msgid "Certificate hostname mismatch"
msgstr "Сертифікат не збігається з назвою вузла" msgstr "Сертифікат не збігається з назвою вузла"
#: ../js/ui/components/telepathyClient.js:1357 #: ../js/ui/components/telepathyClient.js:1358
msgid "Certificate fingerprint mismatch" msgid "Certificate fingerprint mismatch"
msgstr "Сертифікат не збігається з відбитком" msgstr "Сертифікат не збігається з відбитком"
#: ../js/ui/components/telepathyClient.js:1359 #: ../js/ui/components/telepathyClient.js:1360
msgid "Certificate self-signed" msgid "Certificate self-signed"
msgstr "Сертифікат самопідписано" msgstr "Сертифікат самопідписано"
#: ../js/ui/components/telepathyClient.js:1361 #: ../js/ui/components/telepathyClient.js:1362
msgid "Status is set to offline" msgid "Status is set to offline"
msgstr "Стан змінено на «поза мережею»" msgstr "Стан змінено на «поза мережею»"
#: ../js/ui/components/telepathyClient.js:1363 #: ../js/ui/components/telepathyClient.js:1364
msgid "Encryption is not available" msgid "Encryption is not available"
msgstr "Шифрування недоступне" msgstr "Шифрування недоступне"
#: ../js/ui/components/telepathyClient.js:1365 #: ../js/ui/components/telepathyClient.js:1366
msgid "Certificate is invalid" msgid "Certificate is invalid"
msgstr "Сертифікат недійсний" msgstr "Сертифікат недійсний"
#: ../js/ui/components/telepathyClient.js:1367 #: ../js/ui/components/telepathyClient.js:1368
msgid "Connection has been refused" msgid "Connection has been refused"
msgstr "З'єднання відкинуто" msgstr "З'єднання відкинуто"
#: ../js/ui/components/telepathyClient.js:1369 #: ../js/ui/components/telepathyClient.js:1370
msgid "Connection can't be established" msgid "Connection can't be established"
msgstr "З'єднання неможливо встановити" msgstr "З'єднання неможливо встановити"
#: ../js/ui/components/telepathyClient.js:1371 #: ../js/ui/components/telepathyClient.js:1372
msgid "Connection has been lost" msgid "Connection has been lost"
msgstr "З'єднання втрачено" msgstr "З'єднання втрачено"
#: ../js/ui/components/telepathyClient.js:1373 #: ../js/ui/components/telepathyClient.js:1374
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:1375 #: ../js/ui/components/telepathyClient.js:1376
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:1377 #: ../js/ui/components/telepathyClient.js:1378
msgid "The account already exists on the server" msgid "The account already exists on the server"
msgstr "Обліковий запис уже існує на сервері" msgstr "Обліковий запис уже існує на сервері"
#: ../js/ui/components/telepathyClient.js:1379 #: ../js/ui/components/telepathyClient.js:1380
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:1381 #: ../js/ui/components/telepathyClient.js:1382
msgid "Certificate has been revoked" msgid "Certificate has been revoked"
msgstr "Сертифікат відкликано" msgstr "Сертифікат відкликано"
#: ../js/ui/components/telepathyClient.js:1383 #: ../js/ui/components/telepathyClient.js:1384
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:1385 #: ../js/ui/components/telepathyClient.js:1386
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"
@ -945,22 +946,22 @@ msgstr ""
"Тривалість сертифіката сервера, або глибина його ланцюга, перевищує " "Тривалість сертифіката сервера, або глибина його ланцюга, перевищує "
"обмеження, які накладає бібліотека криптографії" "обмеження, які накладає бібліотека криптографії"
#: ../js/ui/components/telepathyClient.js:1387 #: ../js/ui/components/telepathyClient.js:1388
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:1397 #: ../js/ui/components/telepathyClient.js:1398
#, 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:1402 #: ../js/ui/components/telepathyClient.js:1403
msgid "View account" msgid "View account"
msgstr "Переглянути обліковий запис" msgstr "Переглянути обліковий запис"
#: ../js/ui/components/telepathyClient.js:1439 #: ../js/ui/components/telepathyClient.js:1440
msgid "Unknown reason" msgid "Unknown reason"
msgstr "Невідома причина" msgstr "Невідома причина"
@ -1160,7 +1161,8 @@ msgstr "Сховати помилки"
msgid "Show Errors" msgid "Show Errors"
msgstr "Показати помилки" msgstr "Показати помилки"
#: ../js/ui/lookingGlass.js:716 #: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:59
#: ../js/ui/status/location.js:167
msgid "Enabled" msgid "Enabled"
msgstr "Увімкнено" msgstr "Увімкнено"
@ -1168,8 +1170,8 @@ msgstr "Увімкнено"
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode) */
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/network.js:555 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:164
#: ../src/gvc/gvc-mixer-control.c:1830 #: ../js/ui/status/network.js:555 ../src/gvc/gvc-mixer-control.c:1830
msgid "Disabled" msgid "Disabled"
msgstr "Вимкнено" msgstr "Вимкнено"
@ -1318,7 +1320,7 @@ msgstr "Блокування заборонено програмою"
msgid "Searching…" msgid "Searching…"
msgstr "Пошуки…" msgstr "Пошуки…"
#: ../js/ui/search.js:646 #: ../js/ui/search.js:649
msgid "No results." msgid "No results."
msgstr "Безрезультатно." msgstr "Безрезультатно."
@ -1390,23 +1392,22 @@ msgstr "Висока контрастність"
msgid "Large Text" msgid "Large Text"
msgstr "Більший текст" msgstr "Більший текст"
#: ../js/ui/status/bluetooth.js:48 #: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:50 ../js/ui/status/location.js:60 #: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
#: ../js/ui/status/location.js:167 ../js/ui/status/network.js:151
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234 #: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85 #: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85
#: ../js/ui/status/rfkill.js:105 #: ../js/ui/status/rfkill.js:105
msgid "Turn Off" msgid "Turn Off"
msgstr "Вимкнути" msgstr "Вимкнути"
#: ../js/ui/status/bluetooth.js:53 #: ../js/ui/status/bluetooth.js:54
msgid "Bluetooth Settings" msgid "Bluetooth Settings"
msgstr "Параметри Bluetooth" msgstr "Параметри Bluetooth"
#: ../js/ui/status/bluetooth.js:103 #: ../js/ui/status/bluetooth.js:104
#, javascript-format #, javascript-format
msgid "%d Connected Device" msgid "%d Connected Device"
msgid_plural "%d Connected Devices" msgid_plural "%d Connected Devices"
@ -1414,7 +1415,7 @@ msgstr[0] "Під'єднано %d пристрій"
msgstr[1] "Під'єднано %d пристрої" msgstr[1] "Під'єднано %d пристрої"
msgstr[2] "Під'єднано %d пристроїв" msgstr[2] "Під'єднано %d пристроїв"
#: ../js/ui/status/bluetooth.js:105 ../js/ui/status/network.js:1262 #: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1262
msgid "Not Connected" msgid "Not Connected"
msgstr "Роз'єднано" msgstr "Роз'єднано"
@ -1430,24 +1431,29 @@ msgstr "Показати розкладку клавіатури"
msgid "Location" msgid "Location"
msgstr "Місцевість" msgstr "Місцевість"
#: ../js/ui/status/location.js:59 ../js/ui/status/location.js:166 #: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
#: ../js/ui/status/rfkill.js:84 #| msgid "Disabled"
msgid "On" msgid "Disable"
msgstr "Увімкнено" msgstr "Вимкнути"
#: ../js/ui/status/location.js:163 ../js/ui/status/network.js:420 #: ../js/ui/status/location.js:165
#: ../js/ui/status/network.js:1260 ../js/ui/status/network.js:1464 #| msgid "Enabled"
msgid "Off" msgid "Enable"
msgstr "Вимкнено"
#: ../js/ui/status/location.js:164 ../js/ui/status/network.js:1234
msgid "Turn On"
msgstr "Увімкнути" msgstr "Увімкнути"
#: ../js/ui/status/location.js:167
msgid "In Use"
msgstr "Використовується"
#: ../js/ui/status/network.js:74 #: ../js/ui/status/network.js:74
msgid "<unknown>" msgid "<unknown>"
msgstr "<невідомо>" msgstr "<невідомо>"
#: ../js/ui/status/network.js:420 ../js/ui/status/network.js:1260
#: ../js/ui/status/network.js:1464
msgid "Off"
msgstr "Вимкнено"
#: ../js/ui/status/network.js:422 #: ../js/ui/status/network.js:422
msgid "Connected" msgid "Connected"
msgstr "З'єднано" msgstr "З'єднано"
@ -1551,6 +1557,10 @@ msgstr "Виберіть мережу"
msgid "Wi-Fi Settings" msgid "Wi-Fi Settings"
msgstr "Параметри Wi-Fi" msgstr "Параметри Wi-Fi"
#: ../js/ui/status/network.js:1234
msgid "Turn On"
msgstr "Увімкнути"
#: ../js/ui/status/network.js:1251 #: ../js/ui/status/network.js:1251
msgid "Hotspot Active" msgid "Hotspot Active"
msgstr "Доступні точки доступу" msgstr "Доступні точки доступу"
@ -1617,6 +1627,10 @@ msgstr "Батарея"
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "У літаку" msgstr "У літаку"
#: ../js/ui/status/rfkill.js:84
msgid "On"
msgstr "Увімкнено"
#: ../js/ui/status/system.js:314 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Змінити користувача" msgstr "Змінити користувача"

Some files were not shown because too many files have changed in this diff Show More