Compare commits

..

202 Commits

Author SHA1 Message Date
5200da6eec Bump version to 3.7.2
Update NEWS
2012-11-20 00:01:40 +01:00
b0523860d9 build: Actually remove shell-screen-grabber.[ch]
Commit 7f8bfcc939 removed the code, but not the actual files,
breaking make distcheck.
2012-11-20 00:01:39 +01:00
1a1215527f messageTray: restore toggle tray in normal mode (non overview)
https://bugzilla.gnome.org/show_bug.cgi?id=688507
2012-11-20 00:01:39 +01:00
360c018c9e calendar-server: Remove useless g_type_init 2012-11-20 00:03:13 +01:00
7bed964ab2 ScreenShield: unbreak blurring the background
It was missing a uniform, so it had no effect besides desaturation.

https://bugzilla.gnome.org/show_bug.cgi?id=682536
2012-11-19 20:13:36 +01:00
989d0a5682 bluetooth: add translation hints
A couple of translations were hard to translate.

https://bugzilla.gnome.org/show_bug.cgi?id=638351
2012-11-19 19:56:08 +01:00
b121c25184 MessageTray: restore opacity when expanding a notification
MessageTray tweens both opacity and y to hide or show _notificationWidget,
but only y when expanding it. This means that an existing tween to hide
the notification will continue running, clearing the notification state.
If the hiding one completes before the showing one, the onComplete handler
will throw an exception (because the notification was nullified) and
therefore break the state tracking.

https://bugzilla.gnome.org/show_bug.cgi?id=683986
2012-11-19 19:20:31 +01:00
e0d127b3e4 shell-recorder-src: Set frame duration
We where not setting a duration for the frames, which caused the resulting videos to
have a broken header.

Fix that by making the source a live source and setting the correct frame duration.

https://bugzilla.gnome.org/show_bug.cgi?id=688487
2012-11-19 19:17:31 +01:00
a0c56c74e1 test-recoder: Use webm file extension
This matches our default pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=688487
2012-11-19 19:17:23 +01:00
f4b61a7f24 recorder: Show icon and indicator on the primary monitor
https://bugzilla.gnome.org/show_bug.cgi?id=688470
2012-11-19 19:16:24 +01:00
b2400fb883 build: require gsettings-desktop-schemas 3.7.2
For shell search provider settings schema.
2012-11-19 12:01:13 -05:00
f25832d1b6 view-selector: add support for disable-external search setting
https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
cf363171aa remote-search: apply sort-order from GSettings
Sort providers according to the GSettings state, and make sure to reload
them as soon as the sort order changes.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
38c8569d16 remote-search: restructure remote search provider loading process
Instead of adding search providers to the system as we find them, wait
until we loaded information from all the directories, and then add all
providers at once.
This will be useful when we will sort the providers information
according to the sort order saved in GSettings.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
9791d15f39 view-selector: filter out disabled search providers
If the added search provider has an appId in the list of the disabled
search providers settings, ignore it.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
80e7f5832b search: add API to get a list of remote providers
This will be used to reload them in case the configuration changes.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
6e46ddaad3 search: propagate GAppInfo to SearchProvider
Save the GAppInfo in the provider object; this will be used when
filtering.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-19 11:45:21 -05:00
8499e4aab2 [l10n] Updated Estonian translation 2012-11-19 16:41:52 +02:00
5eae1851a1 Login dialog - tweak the user name text shadow
The shadow under the user name should suggest that the light source
is directly above.

https://bugzilla.gnome.org/show_bug.cgi?id=688557
2012-11-17 23:54:35 +00:00
c48a246ccb panel: programmatic anim. control of AnimatedIcon
The AnimatedIcon does not have an API for controlling the animation but
relies on the :visible property changes to start and stop a timeout used
to update the frame.

This has the inconvenient of having a side effect when visible is set to
true multiple times, and is not really the API expected from such
component. Also, there is a race if it is displayed before the images
are loaded: there is no child yet and thus we get this._frame = NaN
which leads to a crash.

Switch to a play/stop API instead, and add a load event callback to the
TextureCache.load_slice_image to exactly know when we can start using
the images.

https://bugzilla.gnome.org/show_bug.cgi?id=687583
2012-11-17 22:26:55 +01:00
f084011a61 viewSelector: Make toggle-application-view binding available in overview
https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:52 +01:00
bd40cf194c recorder: Make toggle-recorder action available in the overview
There's not really a good reason to not allow starting a recording
in the overview ...

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
2434af7e8a messageTray: Make toggle-message-tray available when up
It makes so much sense that the setting even has 'toggle' in its name.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
ced7fa9f01 Add screenshield and unlock dialog to ctrl-alt-tab
As we now allow the ctrl-alt-tab popup on the lock screen, it should
be possible to navigate back from the top bar, so add the corresponding
elements to the switcher.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
28b559e812 windowManager: Replace sessionMode.allowKeybindingsWhenModal
The original condition the property was based on was added to make
the a11y switcher available in the login screen, though it did never
work properly - after popping up the switcher, additional tab key
presses were ignored. As we are now able to filter bindings much more
selectively, we can simplify the check and drop the sessionMode property.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
76d776245b windowManager: Use generic filter mechanism for all keybindings
With the new flexible system in place, there's no point explicitly
hardcoding some built-in keybindings; just use the generic mechanism
for everything.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
0d9f70492e windowManager: Add a generic mechanism for filtering keybindings
Currently we hardcode the set of keybindings that are available in the
overview; add a generic mechanism to specify in which KeybindingModes
a keybinding should be available.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:52:51 +01:00
b58f502dd6 main: Add optional keybindingMode parameter to pushModal()
For now we just use it to assign an identifier to modal modes in
which we want to allow some keybindings, but we don't use it for
any actual filtering; we'll start doing this shortly.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:44:22 +01:00
5f367248c5 grabHelper: Support optional parameters to pushModal()
https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:44:22 +01:00
c2065cc3e2 main: Use Params for optional parameters to pushModal()
As the number of optional parameters grows, it gets more convenient
to use Params instead of passing in a lot of undefined/null/0 values.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:44:22 +01:00
034408971d windowManager: Implement keybinding_filter hook
We are currently using a hack to allow a select set of keybindings
in the overview. Implement the new MetaPlugin keybinding_filter
hook, which provides a cleaner way to achieve the same.

https://bugzilla.gnome.org/show_bug.cgi?id=688202
2012-11-17 01:44:22 +01:00
490206b5b2 NetworkMenu: rework multiple NIC support
Remove section titles for ethernet and mobile broadband, and replace
them with device status items that recognize if multiple devices are
installed in the same section, and if so automatically disambiguate.

https://bugzilla.gnome.org/show_bug.cgi?id=677142
2012-11-16 13:52:52 -05:00
d8540819af st-theme-node-drawing: Group multiple cogl_rectangle calls
Calling cogl_rectangles is more efficent then using multiple cogl_rectangle calls.

https://bugzilla.gnome.org/show_bug.cgi?id=688475
2012-11-16 19:28:47 +01:00
d1a9aec526 recorder: Remove dead code
This calls are nops (already called a few lines above) so just remove them.
2012-11-16 19:28:23 +01:00
e4b681a5a5 Updated Galician translations 2012-11-16 18:44:18 +01:00
52036871d1 StThemeNode: add a trivial-case short cut to all comparisons for equality
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-15 17:08:33 +00:00
4fc6a804f5 st_widget_recompute_style: short-circuit if the theme node is the same
It appears to be somewhat common for st_widget_style_changed() to be
called when no style-relevant attributes have, in fact, changed. Now that
we cache theme nodes, we're likely to get the same theme node back from
the cache. If we do, we don't need to waste time asking whether its
geometry and painting are equal to itself: we can just note that nothing
really changed and get on with our lives.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-15 17:08:31 +00:00
08d2ca300a st_theme_node_copy_cached_paint_state: allow self-assignment
If you copy a theme node's paint state into itself, it should be an
inexpensive no-op. What actually happened was that we destroyed the
old paint state, re-initialized to blank, then copied the blank state
back into itself. In the process, we lost (for instance) the textures
for rounded corners.

Until I introduced the texture cache, this never actually happened,
because when st_widget_recompute_style() calls st_widget_get_theme_node(),
we'd always get a fresh theme node. Now, we get a theme node T back
from the cache, notice that paint_equal(T, T) is true, short-circuit
slightly by copying its drawing state into itself, and destroy drawing
state that we still needed.

I'm going to fix this in recompute_style() too, but as a general
principle, self-assignment ought to be harmless.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-15 17:07:42 +00:00
dc2ec0a8f9 Keep similar theme nodes so we don't have to recompute CSS so often
Because we calculate and cache CSS properties once per StThemeNode,
and only a certain set of attributes can affect the CSS properties,
it's advantageous for as many widgets as possible to share a single
StThemeNode. Similarly, if a widget changes state and then changes back
(e.g. gaining and losing the :hover pseudo-class), it should ideally
get its original StThemeNode back again when it returns to the old
state.

Here, I'm using the StThemeContext as the location for a cache.
StThemeNodes are currently never freed: this seems OK for Shell's usage
(a finite number of IDs, classes, pseudo-classes and types).

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-14 19:24:42 +00:00
2cfed952bb Remove unsplit element classes and pseudo-classes
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-14 19:24:31 +00:00
a7da137778 st_theme_node_equal: use split (pseudo-)classes
This is a prerequisite for getting rid of the unsplit versions.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-14 19:24:30 +00:00
5ae2f87ce9 Use pre-split element classes and pseudo-classes to optimize matching
In my testing this cuts the longest time to dispatch(), when showing the
calendar menu for the first time, from 604 to 442 milliseconds,
while reducing additional_selector_matches_style() from 32% to 13% of
CPU time used.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-14 19:24:26 +00:00
c4f6619fbd Store CSS classes and pseudo-classes pre-split in the StThemeNode
Tokenizing every time we want to evaluate CSS seems a poor plan.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-14 19:23:40 +00:00
65edbc1424 a11y: also set the WM HighContrast theme when switch is flipped
Now that we have a HighContrast-specific WM theme.

https://bugzilla.gnome.org/show_bug.cgi?id=688256
2012-11-13 11:24:18 -05:00
1f2d7fa28f Bluetooth: Remove ObexFTP functionality
ObexFTP browsing in gvfs is completely broken, and unmaintained.
http://www.hadess.net/2011/11/obexftp-in-gnome-non-update.html

Remove the UI for it. The more adventurous can go and use it
(as long as I don't get the bug reports).

https://bugzilla.gnome.org/show_bug.cgi?id=688160
2012-11-13 17:03:21 +01:00
2407a0c4e2 main: Stop using Metacity's keybinding files
The descriptions for keybindings shared with Metacity are now
duplicated in Mutter, so only use the latter to avoid duplicate
entries in System Settings.

https://bugzilla.gnome.org/show_bug.cgi?id=687672
2012-11-12 21:18:06 +01:00
7f8bfcc939 Remove shell-screen-grabber
The screen grabber was a workaround for an extremely slow path in Mesa
when reading back pixel data from the frame buffer. It was using pixel
buffer objects by directly calling into GL to hit a fast blit path in
Intel's driver. This should no longer be necessary with the latest
Mesa because the normal read pixels path now has a fast path to just
memcpy the data. Using PBOs in that case just adds an extra
indirection because the data is read into an intermediate buffer and
then copied back out again.

We want to be able to remove the dependency on linking against libGL
directly from Gnome Shell because that will not work if Cogl is
actually using GLES. Also libGL includes GLX which means gnome-shell
ends up with a hard dependency on Xlib which hinders the goal of
getting Gnome Shell to be a Wayland compositor.

https://bugs.freedesktop.org/show_bug.cgi?id=46631

https://bugzilla.gnome.org/show_bug.cgi?id=685915
2012-11-12 19:07:57 +01:00
fae4cb9e56 loginDialog: Fix yet another StIconType removal fallout
https://bugzilla.gnome.org/show_bug.cgi?id=688181
2012-11-12 18:45:10 +01:00
063bbb02f2 loginDialog: Remove the correct focus root from ctrl-alt-tab
Commit 3abfcda8b5 fixed the focus root passed to addGroup(),
but left the one in removeGroup() unchanged.

https://bugzilla.gnome.org/show_bug.cgi?id=688181
2012-11-12 18:45:10 +01:00
15e1470c50 polkitAgent: Expand password entry to the full width
Due to an oversight, the width of the password entry is currently
determined by the length of the message description. Fix the flags
so that the entry spans the entire width of the dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=684810
2012-11-12 16:59:12 +01:00
f602993aa9 dash: Disable animations during overview transitions
When updating the dash, we already avoid all animations while the
overview is hidden. However, as we are using Main.queueDeferredWork(),
updates may be deferred up to ~20 seconds while the overview is hidden.
If the overview is entered before a queued update has taken place, it
will be run immediately on map - as the overview is visible by then,
this means animating any outstanding changes.
Work around this by skipping animations during overview transitions as
well.

https://bugzilla.gnome.org/show_bug.cgi?id=686530
2012-11-12 16:59:12 +01:00
271508c0a8 ScreenShield: fix code to detect missing unlock dialog
If the session mode has no locking support, screenshield had code to
unlock automatically, but it did so by checking the return value of
the constructor, instead of checking if the constructor was actually
callable, so it would get a TypeError before reaching the check.

https://bugzilla.gnome.org/show_bug.cgi?id=687708
2012-11-11 19:17:58 +01:00
50f96d1c9c Stop using clutter alpha
It is deprecated.

https://bugzilla.gnome.org/show_bug.cgi?id=688089
2012-11-11 17:13:38 +01:00
809544800b MessageTray: fix reentrancy when calling out to the grab helper
Similar to 683546. I'm not sure where this bug lives, but let's make
the code robust.

https://bugzilla.gnome.org/show_bug.cgi?id=683986
2012-11-10 17:36:00 +01:00
e757b06987 power: indicate 1 hour remaining correctly
Before 60 minutes remaining were displayed
as "0 minutes" now it is "1 hour".

https://bugzilla.gnome.org/show_bug.cgi?id=687958
2012-11-09 17:19:05 +01:00
6f2da1baf1 Updated Hebrew translation. 2012-11-09 11:36:39 +02:00
f30dcad8a7 messageTray: Close the notification on Escape
Now that the notifications can be focused with the keyboard, it's
important we can close the active one also this way.

https://bugzilla.gnome.org/show_bug.cgi?id=652082
2012-11-08 21:19:52 +01:00
7dc235511e messageTray: Add a notification focus keybinding
At the moment, only the mouse can be used to focus and answer a chat
notification.

This adds a new keybinding (defaults to <Super>+n) to focus and expand
the active notification.

https://bugzilla.gnome.org/show_bug.cgi?id=652082
2012-11-08 15:46:16 +01:00
644c210fe2 Rename "System Settings" to "Settings"
"System Settings" has been renamed to "Settings" in gnome-control-center.
See bug https://bugzilla.gnome.org/show_bug.cgi?id=681543

This patch does the same rename in the shell itself, as per

https://bugzilla.gnome.org/show_bug.cgi?id=687738
2012-11-07 16:05:23 +00:00
68e8f98671 .gitignore: Update to ignore the generated manpage 2012-11-07 14:39:28 +01:00
1228db6ac1 unlockDialog: better confirmation button label
If I click on "Not listed?" in the login screen, I come to a username
field with two buttons: "Cancel" and "Sign In".

Clicking on "Sign In" doesn't actually sign me in though - it takes me
to the login entry. It would be better to rename "Sign In" to "Next" for
the username stage, therefore.

Gdm emit a signal to ask a question or a secret, but we can not know if
this is the last authentication question, hence we only use "Sign In"
for secret questions which improve the situation a lot.

https://bugzilla.gnome.org/show_bug.cgi?id=687656
2012-11-07 01:26:35 +01:00
86596749fa Revert "overview: highlight windows on launcher hover"
This reverts commit 76229a3601.

Pushed by accident.
2012-11-07 00:33:32 +01:00
76229a3601 overview: highlight windows on launcher hover
When in the overview, if you move the mouse cursor over one of the
application launchers in the dash, all the unrelated windows are dimmed
both both in the window view and in the workspace view.

It helps to easily understand whether or not there are already opened
windows for this application, and where they are. It can also help in
differentiating the windows in the overview (sometimes the thumbnails
aren't precise enough to easily know which thumbnail belongs to which
application).

https://bugzilla.gnome.org/show_bug.cgi?id=657315
2012-11-07 00:27:31 +01:00
95abdeb919 dash: simplify app retrieval from AppWellIcon
This has also the benefit of getting the application even if it can not
be retrieved through AppSystem, which can happen if the runtime WMClass
does not match the one of the desktop file.

This especially looked wrong with the following commits related to the
bug.

https://bugzilla.gnome.org/show_bug.cgi?id=657315
2012-11-07 00:27:31 +01:00
df0151d338 dash: rename a local variable for clarity
createAppIcon creates an appIcon, not a 'display', which made things
unnecessarily more difficult to understand.

https://bugzilla.gnome.org/show_bug.cgi?id=657315
2012-11-07 00:26:50 +01:00
ee2f12fe81 dash: properly restore item label on popup close
We simply hide the label when the popup is opened instead of relying
on the popup state when the hover state change.

To do this we replace the flag isMenuUp by a 'menu-state-changed' signal
on the AppWellIcon. This simplifies the dash label visibility handling
code that need additional changes for the bug.

https://bugzilla.gnome.org/show_bug.cgi?id=657315
2012-11-07 00:26:11 +01:00
10c104529f remote-search: initialize the DBus proxy asynchronously
Initializing this synchronously means that we will possibly wait for the
process to be auto-activated and answering to our call.
If the process is already running it also might not answer immediately
our request, as it might be doing sync I/O.
The right thing to do is to initialize the proxy asynchronously; there
are try/catch blocks in place for when the object is not available, or
not properly initialized.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-06 18:11:56 -05:00
cbc8ec6508 remote-search: don't use g_file_query_exists()
This is called in the main thread, which we should never block for
synchronous I/O.
Since the operation we're wrapping is async already, just use
g_file_query_info_async() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-06 17:47:48 -05:00
8e7758e280 remote-search: require a DesktopId field in search providers
Remote search providers install an auxiliary keyfile to specify
static information, such as the object path/bus name needed to activate
the binary. Such keyfiles also specify the application the providers
pushes results for; currently, we support two formats for application
information
- two fields, "Title" and "Icon" that specify a (translatable) title and
  an icon name for display
- one field "DesktopId" that specifies the desktop file name of the
  application backing the provider, which obsoletes the previous
  Title/Icon syntax

Since all providers in GNOME use DesktopId now, and we need to ensure a
remote search providers is always backed by an application for future
development, this commit drops the support for the older syntax.

https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-06 17:47:48 -05:00
9aefbd189c view-selector: add missing semicolon
https://bugzilla.gnome.org/show_bug.cgi?id=687491
2012-11-06 17:47:47 -05:00
b9d50584d8 screenshield: use the correct actor for the background
Commit 4fd690333a added the GLSL snippet to
the background actor, but then discarded the newly created actor.
2012-11-06 17:47:13 -05:00
e5f7390c09 ScreenShield: hide the cursor while the lock screen is on
While the screen is locked and the cursor is not moved, the mouse
cursor should be hidden, to indicate the machine is idle.

https://bugzilla.gnome.org/show_bug.cgi?id=682535
2012-11-06 23:10:01 +01:00
797b1ff8bb ScreenShield: account for motion velocity when hiding the lock screen
Switch from a ClutterDragAction to a ClutterGestureAction, that gives
us the velocity of mouse motion at each step, and use it to compute the
animation time for completing the hide gesture.

https://bugzilla.gnome.org/show_bug.cgi?id=682537
2012-11-06 23:04:15 +01:00
09b738045c MessageTray: change height in chat notification to have more context.
https://bugzilla.gnome.org/show_bug.cgi?id=665255
2012-11-06 21:53:28 +00:00
4fd690333a ScreenShield: blur and desaturate the screenshield background
The background is the same as the normal desktop, so we blur and
desaturate it to clearly show that it's not the normal system state.
To do so, we don't use standard ClutterEffects, to avoid the FBO
indirection. Instead, we take advantage of MetaBackgroundActor support
for GLSL code and paint the shaded background texture directly.

https://bugzilla.gnome.org/show_bug.cgi?id=682536
2012-11-06 22:50:10 +01:00
5ef5e25a7f Use "Decline" instead of "Reject" for incoming calls
This makes GNOME Shell more polite
Fixes bug #661194
2012-11-06 20:52:53 +00:00
87e8770cbc loginDialog: support disable-user-list key
In some deployments showing a user list at the login
screen is undesirable.

GDM's fallback login screen has a configuration key:

org.gnome.login-screen disable-user-list false

that causes the user-list to get hidden.

This commit adds similar functionality to the normal,
shell-based login screen.

Based on a series of patches by Marius Rieder.

https://bugzilla.gnome.org/show_bug.cgi?id=660660
2012-11-06 15:05:15 -05:00
cac9d120be loginDialog: hide session list until username is entered
Right now when a user clicks "Not Listed?" they end up
seeing a session list that gets reset after they enter their
username.

This commit hides the session list until the username has
been entered.

https://bugzilla.gnome.org/show_bug.cgi?id=660660
2012-11-06 15:02:36 -05:00
1ae0fadbf4 loginDialog: don't rely on PAM to ask for a username
For the "Not Listed?" case we will need to be able
to identify when the user has entered their username.

Once we have a way of tracking when the username is
entered, we can then defer showing the session list
too early, before the user can reliably pick a
session.

This username tracking will also be important for
implementing a disable-user-list configuration key.
If the config key gets toggled off at runtime, we'll
need to know if we're at a disruptive part of
the authentication process or not, so we know whether
we can can expose the user list right away, or wait
until the authentication conversation finishes.

Right now, we pass null in for an initial username,
and let the PAM machinery ask the user, which means we
have no good way of knowing when the username is entered.

This commit changes the "Not Listed?" code to ask the
user their username up front, before starting the PAM
conversation in much the same way we do if the user
picks a user from the user list.

https://bugzilla.gnome.org/show_bug.cgi?id=660660
2012-11-06 15:02:36 -05:00
65497e089a [l10n] Updated German translation 2012-11-06 20:15:34 +01:00
2d763bd033 st-entry: Change the pointer cursor on enter/leave events
Change the pointer cursor to an i-beam when it is inside the ClutterText.

https://bugzilla.gnome.org/show_bug.cgi?id=687130
2012-11-06 11:47:49 +00:00
4ebf396cf5 a11y: fixing a regression with the accessible name at dash items
After some changes, the tooltip label at the dash is not available
until it is visually shown. As this is not anymore a reliable
source of accessible name, we just set the accessible name
with the string used on that label.

https://bugzilla.gnome.org/show_bug.cgi?id=686583
2012-11-06 10:05:18 +01:00
6faa50d496 Add a --disable-man configure option
OSTree doesn't have DocBook stylesheets, so generating
man pages from xml causes build failures there.
2012-11-05 23:43:03 -05:00
6fcd6298c8 Use the same xsltproc parameters as other modules
Using the same parameters makes sure that the generated man
pages look more or less uniform.
2012-11-05 23:42:52 -05:00
5c16be5dbb Some updates to the man page
Mention relevant files, and how gnome-shell gets started
in the session.

https://bugzilla.gnome.org/show_bug.cgi?id=680601
2012-11-05 19:32:01 -05:00
e3abb6f178 Convert man page to Docbook
This make it easier to update the content and to transform
the man page into other output formats, like HTML.

https://bugzilla.gnome.org/show_bug.cgi?id=680601
2012-11-05 19:31:54 -05:00
70736be4eb mobile-providers: new country-specific type to gather providers
shell_mobile_providers_parse() was returning the country information split
into a hash table with providers and a hash table with country names. This
patch merges both outputs into a single per-country object, so the parse()
method now returns a GHashTable with the following element-type:
   (element-type utf8 ShellCountryMobileProvider>)
This also avoids more complex setups like returning lists inside of hash tables,
which was actually breaking either g-i or gtk-doc.

shell_mobile_providers_parse() was also modified to allow inputting the paths
of the country codes and provider list files to use. If paths are not given, the
default ones will be used. This helps us to provide test files during unit
tests.

Both the findProviderForMCCMNC() and findProviderForSid() methods are exported
out of the GSM and CDMA specific classes, and new unit tests for them are
implemented. Tests can be run manually with:
    $> ./tests/run-test.sh tests/unit/mobileProviders.js

https://bugzilla.gnome.org/show_bug.cgi?id=687356.
2012-11-05 22:20:08 +01:00
1c3e7330f3 ScreenShield: don't rely on gnome-session to hide the lightbox
If we lock before the user becomes active again, gnome-session will never
change presence from IDLE, and thus we'll never hide the lightbox.
Instead, install our own idle monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=687020
2012-11-05 22:04:09 +01:00
6e4c89b310 main: hide the overview on key release
Entering the overview with the overlay key is done on key release but
exiting the overview on key press, which is inconsistent.

This change makes the overview hidden also on key release.

https://bugzilla.gnome.org/show_bug.cgi?id=683024
2012-11-05 21:14:28 +01:00
73b4a0ef5f st-theme: Optimize string_in_list
Rather than using a complicated set of function calls across
library boundaries and our own scanning logic, use strtok(),
which glibc already provides, and is probably much more optimized.

https://bugzilla.gnome.org/show_bug.cgi?id=687465
2012-11-05 15:10:31 -05:00
d88002c4ed Revert "panel: programmatic anim. control of AnimatedIcon"
This reverts commit e04a4c3923.

This commit exposed an already-existing race condition in the panel
animation code that caused the shell to crash for some people.

https://bugzilla.gnome.org/show_bug.cgi?id=687112
2012-11-05 14:31:04 -05:00
025c63c045 Implement non-linear overview shade for background
Adding a radial gradent to the dimming effect gives more depth to
the background.
Shading is computed in a GLSL fragment shader, and uses distance to
center of the screen to interpolate the darkening value to use.

Based on a patch by Pierre-Eric Pelloux-Prayer <pelloux@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=669798
2012-11-05 19:16:53 +01:00
b189cbd46e Updated Norwegian bokmål translation 2012-11-05 19:10:48 +01:00
a21ddb5914 gnome-shell-perf-tool: Fix various problems
* Fix wrong parameter name to on_name_appeared callbacks
* optparse doesn't just leave extra command line arguments, it
  errors out, so don't try to pass through extra arguments -
  instead add explicit passthrough for '--replace'
* Fix usage of Gio.DBusProxy
* Add a default value for --perf so that if it's not supplied
  things don't die with a mysterious error message. (This wasn't
  needed when --perf enabled perf-mode)

https://bugzilla.gnome.org/show_bug.cgi?id=687287
2012-11-05 13:08:25 -05:00
e04a4c3923 panel: programmatic anim. control of AnimatedIcon
The AnimatedIcon does not have an API for controlling the animation but
relies on the :visible property changes to start and stop a timeout used
to update the frame.

This has the inconvenient of having a side effect when visible is set to
true multiple times, and is not really the API expected from such
component.

Switch to a start/stop API instead. Also, update to the first frame at
startup while we are at it, since this is the expected behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=687583
2012-11-05 15:05:14 +01:00
ae0821e07b Disable the login button when there is no input
You can't login until something has been entered in the password field.
We should therefore make the login button insensitive until you have
entered some text.

https://bugzilla.gnome.org/show_bug.cgi?id=687112
2012-11-05 10:17:46 +00:00
a508bece36 Updated Czech translation 2012-11-04 20:00:52 +01:00
2c9969a8f4 Updated Russian translation 2012-11-04 20:49:26 +04:00
dd9fc91f6f keyboard: simplify using Caribou.KeyModel.label
https://bugzilla.gnome.org/show_bug.cgi?id=687242
2012-11-03 08:57:23 +09:00
39d9838cc1 Show feedback notifications when the user is busy
Notifications that are created in response to direct user actions like
"is ready" or "'foo' has been removed from favorites" should always be
displayed even though the user has marked him/herself busy.

https://bugzilla.gnome.org/show_bug.cgi?id=662900
2012-11-02 19:25:26 +01:00
1397c7c624 build: Add missing file
Fix distcheck breakage from commit 687e1eabed.
2012-11-02 16:56:42 +01:00
c09fcba94f layout: Remove message tray pointer barrier
The barrier was introduced to make the message tray hot corner
usable in multiple monitor setups. With the hot corner gone in
3.6, the pointer barrier doesn't make much sense anymore, so
remove it.

https://bugzilla.gnome.org/show_bug.cgi?id=687457
2012-11-02 16:29:37 +01:00
c77b38fc4f telepathyClient: Fix auto-scroll to bottom
Instead of keeping track of the old adjustment.upper keep track of the
old adjustment.value that corresponded to the bottom scroll position.

This fixes the integrated chatview not always scrolling to the bottom
by removing the assumption that page_size is constant between updates,
which is not the case as the view is presented in various different ways.

https://bugzilla.gnome.org/show_bug.cgi?id=686571
2012-11-02 12:06:52 +01:00
aef9b733e5 loginDialog: drop spurious parameter
_onNotListed had an unusued, incorrect parameter.

This commit drops it.

https://bugzilla.gnome.org/show_bug.cgi?id=660660
2012-11-01 14:24:45 -04:00
348208617b Use the correct icon in the restart dialog
It currently uses system-shutdown-symbolic. view-refresh-symbolic
is a better fit in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=670687
2012-11-01 16:21:52 +00:00
2c34c8e20f Overview search box is too subtle
When it isn't focused, the search box can be quite hard to see.

The text/icon/border color is changed to be brighter in order to increase
contrast with the dark background and this works well with various
wallpapers.

https://bugzilla.gnome.org/show_bug.cgi?id=686479
2012-11-01 11:32:40 +00:00
d19fa731d6 Updated Polish translation 2012-10-31 19:15:34 +01:00
59bb1cc387 Add a setting to force the 'Log out' menuitem
I've heard quite a bit of feedback from people who want to log out,
even if they are the sole user on their system. It doesn't seem worth
alienating them over this; so add a setting to make the 'Log out' item
always show up.
https://bugzilla.gnome.org/show_bug.cgi?id=686057
2012-10-31 12:46:49 -04:00
56909d0646 Show 'Log out' in more situations
When the current user is a remote account, or a we are logged in
as root, we should always show 'Log out'.

https://bugzilla.gnome.org/show_bug.cgi?id=686736
2012-10-31 12:45:08 -04:00
04da29c939 appMenu: Update on icon theme changes
While we recreate icons on style changes elsewhere, the faded
icon in the application menu will stick around after icon theme
changes until another application is focused.

https://bugzilla.gnome.org/show_bug.cgi?id=687224
2012-10-31 00:06:46 +01:00
307f7a3024 IM status menu: adjust the combo popup background
The transparent background for available/unavailable IM status menu
makes the text difficult to read.

Simplifies that by using the default combo-popup background instead of a
custom one.

https://bugzilla.gnome.org/show_bug.cgi?id=658091
2012-10-30 22:51:50 +00:00
e80bfa39f5 userMenu: Use "offline" instead of "unavailable"
https://bugzilla.gnome.org/show_bug.cgi?id=687226
2012-10-30 23:01:22 +01:00
29714922ea calendar: Drop unnecessary libedataserverui dependency
The libedataserverui dependency is a relic of the old E-D-S API.
As of 3.6.0, E-D-S now centralizes authentication prompts so clients
don't have to display their own.  This also allows trading the GTK+
main loop for a plain GMainLoop in gnome-shell-calendar-server.c.

https://bugzilla.gnome.org/show_bug.cgi?id=687189
2012-10-30 14:18:39 -04:00
88192114ac NetworkAgent: cancel requests when disabling component
When the NetworkAgent is disabled (for example because the lock screen
is being activated), cancel all modal dialogs.

https://bugzilla.gnome.org/show_bug.cgi?id=685239
2012-10-30 16:34:13 +01:00
9d78208b76 NetworkMenu: don't use a global switch for all VPN connections
Stop pretending that VPN is a NMDevice, and split the useful bits into
a NMConnectionBased interface.
Make each connection have its own switch menu item and handle its own
status, and remove the VPN section title, which is no longer needed.

https://bugzilla.gnome.org/show_bug.cgi?id=682929
2012-10-30 16:08:33 +01:00
d817bf0395 theme: standardize the run dialog text styles a bit
Use the standard color for dialog headings, and use the standard
text style for the entry field. These tweaks make the dialog easier
to read.

https://bugzilla.gnome.org/show_bug.cgi?id=687127
2012-10-30 15:50:05 +01:00
4d51056226 runDialog: Remove "Run" button again
While not in the mockups, it was introduced during review of commit
0c807bddaf after discussion on IRC, but the designers disagree;
remove it again.

https://bugzilla.gnome.org/show_bug.cgi?id=687127
2012-10-30 15:50:05 +01:00
a607174a25 runDialog: Add entry to focus chain
Currently the entry takes the intial key focus, but is not actually
part of the focus chain. Fix that, even though keynav does not work
too well for the dialog anyway, due to the entry consuming tab for
command completion.

https://bugzilla.gnome.org/show_bug.cgi?id=687127
2012-10-30 15:50:05 +01:00
37d6a624b7 Improve the button insensitive style
The current insensitive style for buttons needs to be improved. Right
now we just change the text color: this doesn't make it clear that the
button is actually insensitive.

Instead of just changing the text color, we make the button background
almost transparent. We also make the text color the same as the border
color, use a thinner border.

This patch also simplifies some border rule overwrites to emphasis
only the border width is changed on focus, and makes the button look
closer to the mockups.

https://bugzilla.gnome.org/show_bug.cgi?id=687110
2012-10-30 12:35:48 +00:00
0c807bddaf runDialog: Better match style of other modal dialogs
Update the run dialog to
 - use a proper title
 - use dialog buttons
 - use the standard entry style

https://bugzilla.gnome.org/show_bug.cgi?id=687127
2012-10-29 19:12:12 +01:00
a0470bfc66 UnlockDialog: clear the password on failure
It is wrong, and the user can't correct it because it's obfuscated.
Just let him type it again.

https://bugzilla.gnome.org/show_bug.cgi?id=687132
2012-10-29 17:54:12 +01:00
b9463d23e8 ShellUserVerifier: fix fail counter
If it is updated after checking, it counts the number of failures
not including the current one, so it allows one extra attempt. Instead,
by updating it before checking, we get the expected result of dropping the
curtain at the third password.

https://bugzilla.gnome.org/show_bug.cgi?id=687132
2012-10-29 17:54:12 +01:00
04debd1623 LoginDialog: clear previous auth failed messages when trying again
When the user has the entered the password for the second time
and clicked OK, clear messages from the previous attempt, so any
new failure is shown clearly.

https://bugzilla.gnome.org/show_bug.cgi?id=687132
2012-10-29 17:54:11 +01:00
9d31576cf5 App search: Match GenericName too
This is making shell search results more useful in many cases,
such as 'web', 'browser', spreadsheet'.
https://bugzilla.gnome.org/show_bug.cgi?id=687121
2012-10-29 11:24:36 -04:00
8daca28a90 Updated Slovak translation 2012-10-28 19:50:05 +00:00
9899604261 Updated Slovak translation 2012-10-28 18:27:51 +00:00
687e1eabed Overview: Resize the window title labels on content change
Reposition the window overlay when the title changes, using the current
transformed size of the window clone.
Includes a test that changes title to a string of random length every 3 seconds.

Based on a patch by Alex Hultman <alexhultman@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=620874
2012-10-27 18:18:48 +02:00
eb09f34114 recorder: save recorded video as recent item
Often the first thing a user wants to do after making a recording
is post it somewhere.

This commit adds the video to recently used items, so that it shows
up prominently in open file choosers.

https://bugzilla.gnome.org/show_bug.cgi?id=680647
2012-10-26 13:29:30 -04:00
fbeb446ed7 recorder: rename "filename" property to "file-template"
The filename property is actually a template string with
substitution variables, not a filename.

This commit renames for clarity.

https://bugzilla.gnome.org/show_bug.cgi?id=680647
2012-10-26 13:29:30 -04:00
92033ce0f5 recorder: keep test-recorder alive until done recording
Recording continues for some time after the recorder object
is closed, since closing isn't a synchronous operation.

This commit defers quiting the test-recorder application until
the recording is finished.

https://bugzilla.gnome.org/show_bug.cgi?id=680647
2012-10-26 13:29:30 -04:00
9171bab5e5 recorder: keep recorder object alive until pipeline finishes
We want to make sure the recorder isn't finalized until the
saved recording hits disk.  This means the pipeline object needs
a hard reference on the recorder.

https://bugzilla.gnome.org/show_bug.cgi?id=680647
2012-10-26 13:29:30 -04:00
f9819eb7b0 recorder: Clean up stage lifetime handling
The stage is a floating object. We don't own a reference
to it, so we shouldn't unref it.

This commit removes the erroneous unref call and makes sure
we call clutter_actor_destroy on the stage when we're done
with it.

https://bugzilla.gnome.org/show_bug.cgi?id=680647
2012-10-26 13:29:30 -04:00
85728f0d15 layout: Use a MetaBackgroundActor, not a custom ClutterX11TexturePixmap
While looking at how the plymouth implementation was built, I was so
short-sighted and focused on the string "_XROOTPMAP_ID" that I didn't
realize it was the name of the standard background on the root window.
Remove our own implementation, and switch to using a standard mutter
MetaBackgroundActor.

https://bugzilla.gnome.org/show_bug.cgi?id=682428
2012-10-26 11:54:25 -04:00
9396849d56 message-tray: Restore Fittsability of summary items
The reactive area of tray items should extend to the screen edge. This
regressed when implementing the new tray design, make it work again.

https://bugzilla.gnome.org/show_bug.cgi?id=686474
2012-10-26 16:32:07 +02:00
6f5e5672bb panelMenu: Fix exception when destroying menuless button
There's explicit API to create PanelMenu.Buttons with no menu, so
guard against this case in destroy().

https://bugzilla.gnome.org/show_bug.cgi?id=686763
2012-10-26 15:49:26 +02:00
b936e60876 screenShield: Tweak curtain animation timings
Rationale:
 - Getting something out of the way should be quick;

 - Very few things in the real world move linearly so, linear
   animations, especially for something as big and visible as this,
   felt too artificial;

 - Moving the curtain out should start slower to make it feel like
   having weight (it fills the whole screen after all) but quickly
   accelerate towards the end to make it snappy too.

https://bugzilla.gnome.org/show_bug.cgi?id=686745
2012-10-26 12:56:17 +02:00
fa4bd91213 build: Stop linking gnome-desktop
Since commit 80eac7370e removed the last build-time dependency ages
ago, we only use GnomeDesktop via introspection.
2012-10-26 12:37:33 +02:00
81eeef7d3c messageTray: Hide summary notification immediately when closing the tray
When the summary notification is open when the tray is closed, we end
up with two concurrent animations: the notification fading out, and the
tray moving away from underneath it. Sliding out the tray should be the
primary transition here, so hide the notification immediately to not
draw the user's attention away from it.

https://bugzilla.gnome.org/show_bug.cgi?id=686888
2012-10-25 22:45:36 +02:00
a7b5134820 messageTray: Hide notification close button immediately on click
Having the close button move away from under the pointer after
clicking it is confusing and distracts from the main transition,
which is hiding the notification. Just hide it immediately.

https://bugzilla.gnome.org/show_bug.cgi?id=682237
2012-10-25 22:41:32 +02:00
92a01c67ba messageTray: Don't destroy the notification when clicking on the close button
Clicking on the close button should simply hide the notification.

https://bugzilla.gnome.org/show_bug.cgi?id=682237
2012-10-25 22:41:32 +02:00
71c23613b5 messageTray: Only hide the notification stack on clicking close
Rather than destroying the entire source, which is unintuitive, simply
close the notification. Removing the entire source is still possible
by right-clicking on the summary item and choosing "Remove".

https://bugzilla.gnome.org/show_bug.cgi?id=682237
2012-10-25 22:41:05 +02:00
4f876995de messageTray: make SummaryItem._closeButton public
Use this to show/hide the close button instead of closeButtonVisible.

https://bugzilla.gnome.org/show_bug.cgi?id=682237
2012-10-25 21:45:18 +02:00
9cf4a76196 po: Enforce RTL in fa/ug for messages that might end up as LTR
See commit 8b796d80a7.

https://bugzilla.gnome.org/show_bug.cgi?id=686630
2012-10-25 20:12:25 +02:00
9efe5287e4 gdm: Move logo into the panel
GDM has a 'logo' key in its schema to allow distributors to add
some branding. It is currently placed above the user list, which
no longer works too well since the login screen lost its dialog
window. Display the logo in the top-left corner instead of the
Activities button instead.

https://bugzilla.gnome.org/show_bug.cgi?id=685852
2012-10-25 18:31:16 +02:00
8c4b34de4e messageTray: Fix close button position in RTL locales 2012-10-25 18:31:16 +02:00
93e3559dc3 style: Adjust close button overlap
After changing the button size, we need to adjust the x-offset by
1px (apparently the y-offset already assumed the correct size).
2012-10-25 18:31:16 +02:00
caa0f63e1f style: Fix close button size
The image is actually 32px, so we end up with a slightly fuzzy
button when scaling up to 34px. Don't do that.

Spotted by lamefun.xOr<at>gmail.com

https://bugzilla.gnome.org/show_bug.cgi?id=686574
2012-10-25 18:27:59 +02:00
a4e29e1244 calendar: Handle calendar-server errors
The current code assumes that the GetEvents call will always
receive, causing an exception in the error case.

https://bugzilla.gnome.org/show_bug.cgi?id=686805
2012-10-24 18:26:03 +02:00
599f2f43e3 Revert "screenShield: Connect to the actor's show signal instead of using BEFORE_REDRAW"
This reverts commit bdeb7d86b6.

git bz PEBKAC
2012-10-24 10:17:43 -04:00
3a453c5f73 messageTray: Fix lightbox
Commit 448517032e accidentally reverted the condition for showing
the lightbox. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=686728
2012-10-24 09:03:12 +02:00
98b313c75f popupMenu: Overwrite ongoing animations when calling close repeatedly
Currently close() is a no-op when the menu has already been closed.
However, repeated calls could pass different animation parameters.
For instance in the user menu, we try to hide the menu immediately
before locking the screen, to avoid the popup jumping across the
screen while fading out - as we do this from the corresponding
item's activate handler, the closing is still animated if the menu's
own handler (which requests a full animation) is run first.
Fix this by changing close() to overwrite ongoing animations before
bailing out early.

https://bugzilla.gnome.org/show_bug.cgi?id=686484
2012-10-23 22:21:45 +02:00
8b796d80a7 po: Enforce RTL in he for messages that might end up as LTR
As the messages start with a string placeholder that might be
untranslated, we need an explicit mark to ensure that the string
does not end up as LTR.

https://bugzilla.gnome.org/show_bug.cgi?id=686630
2012-10-23 22:21:45 +02:00
719a8908a6 Release 3.7.1
Update NEWS
2012-10-23 21:14:10 +02:00
fed007ecae userMenu: Use LoginManager for suspend
https://bugzilla.gnome.org/show_bug.cgi?id=686482
2012-10-23 21:14:10 +02:00
990443465f powerMenu: Use LoginManager for suspend
https://bugzilla.gnome.org/show_bug.cgi?id=686482
2012-10-23 21:14:10 +02:00
1f183b8a4e loginManager: Add support for suspend()
Logind provides a Suspend method, which we should use instead of
the UPower API when available. Expose this in loginManager, using
the UPower API for the ConsoleKit implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=686482
2012-10-23 21:14:10 +02:00
96556eb959 workspacesView: Add some more spacing between window and workspace thumbs
https://bugzilla.gnome.org/show_bug.cgi?id=582650
2012-10-23 15:12:45 -04:00
3ffeeac577 overview: Reduce space between window picker and dash
Do this in a hacky way by hardcoding this, for now. When we land
search rework, we can fix this.

https://bugzilla.gnome.org/show_bug.cgi?id=582650
2012-10-23 15:12:45 -04:00
d7929a2340 workspacesView: Don't conform to aspect ratio
We want the window picker to use the full height of the area it's given.

https://bugzilla.gnome.org/show_bug.cgi?id=582650
2012-10-23 15:12:45 -04:00
667019a8c1 workspace: Don't relayout windows when zooming workspace thumbnails
It looks ugly and busy to have windows shuffle around when I just wanted
to look at my workspaces.

https://bugzilla.gnome.org/show_bug.cgi?id=582650
2012-10-23 15:12:45 -04:00
d9b46b4782 workspace: Use all available space for windows in window selector
Change the layout strategy to be more like the mockups. With less than
two rows of windows, we try to fit every window in a non-aligned situation;
with more than three rows of windows, we try to fit every window in an
aligned situation.

Based heavily on a patch from Pierre-Eric Pelloux-Prayer <pelloux@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=582650
2012-10-23 15:12:45 -04:00
e249218a9d Allow testing GDM login dialog from the session
Check an environment variable, GDM_GREETER_TEST. If 1, LoginDialog will
skip anything that fails outside a GDM session.
It is therefore possible to test the GDM greeter without installing it
system-wide, by attempting login as the already logged in user (uses the
same code path as the unlock dialog).

https://bugzilla.gnome.org/show_bug.cgi?id=683725
2012-10-23 19:09:00 +02:00
a2b1946b01 workspacesView: Fix updating when number of workspaces changes
Ouch. This went unnoticed for a long time as by default (using
dynamic workspaces) only one workspace is added at a time, which
happens to work fine.

https://bugzilla.gnome.org/show_bug.cgi?id=686487
2012-10-23 18:27:07 +02:00
96a80f7ba0 workspacesView: Fix typo
We want to check for a setting, not the existence of a function.

https://bugzilla.gnome.org/show_bug.cgi?id=686487
2012-10-23 18:27:07 +02:00
9955fbf4f8 Updated Greek translation 2012-10-23 15:41:32 +03:00
14966b0cd0 Telepathy: Set empathy-chat as prefered handler when delegating channels
https://bugzilla.gnome.org/show_bug.cgi?id=686296
2012-10-23 12:37:05 +02:00
6e1a8f16a8 build: Bump gnome-desktop required version for GnomeIdleMonitor 2012-10-23 09:19:03 +02:00
d106191e6a Port to GnomeIdleMonitor
https://bugzilla.gnome.org/show_bug.cgi?id=682224
2012-10-22 12:06:45 -04:00
418cf6281e screenShield: explicitly load gnome-screensaver in fallback mode.
When running gnome-shell from lightDM, gnome-screensaver is no
longer auto-loaded. As a result the dbus calls for Lock user etc
will fail.

https://bugzilla.gnome.org/show_bug.cgi?id=683060
Bug-Ubuntu: https://launchpad.net/bugs/1064354
2012-10-22 11:21:18 -04:00
bdeb7d86b6 screenShield: Connect to the actor's show signal instead of using BEFORE_REDRAW
This should make sure that we grab at the right time while at the same time
not break focus handling.

https://bugzilla.gnome.org/show_bug.cgi?id=684650
2012-10-22 11:20:30 -04:00
a0e0cc1038 workspacesView: Simplify extraWorkspaces handling
https://bugzilla.gnome.org/show_bug.cgi?id=686002
2012-10-21 18:53:48 -04:00
78f6dec73b workspacesView: Don't show workspace switcher when it doesn't make sense
Hide workspace switcher if dynamic workspaces is disabled and number of
workspaces is set to one only, since the user is bound to only one workspace
and showing the switcher is redundant.

Signed-off-by: Seif Lotfy <seif@lotfy.com>
2012-10-20 01:39:52 +02:00
f6458f215f userMenu: Hide menu immediately before suspending
The same logic as for commit 1f30670c1d applies to the case
where we lock the screen before suspending - we don't want the
menu to jump to the opposite screen side to fade out, so remove
the animation altogether.

https://bugzilla.gnome.org/show_bug.cgi?id=686484
2012-10-19 19:09:41 +02:00
c7e0d547c4 Add missing translations for GSetting schema
These are showing in the UI of gnome-tweak-tool.

https://bugzilla.gnome.org/show_bug.cgi?id=686413
2012-10-18 22:58:51 +02:00
fa54cfa0c3 Updated slovak translation 2012-10-18 20:41:36 +02:00
31ea3f737c messageTray: Remove hack for the lack of negative units in libcroco
libcroco now has native support for negative units.

https://bugzilla.gnome.org/show_bug.cgi?id=686240
2012-10-18 12:50:49 -04:00
2a8a8065a8 ScreenShield: implement o.g.ScreenSaver.GetActiveTime
Part of the old gnome-screensaver interface, returns the number of seconds
that the screensaver has been active for.

https://bugzilla.gnome.org/show_bug.cgi?id=686064
2012-10-18 15:30:40 +02:00
d3ba002313 st: Remove unused methods
This reverts commits cd024e21f0 and dc9ad8df80.

https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:25:56 +02:00
f18fd8d959 userMenu: Rely on automatic texture changes
This reverts commit 6f3cf0ae50.

https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:25:56 +02:00
d54f7b13fb st-widget: Keep background-image and border-image updated
Currently we miss changes to a file referenced in background-image
or border-image.
Connect to the StTextureCache::texture-file-changed signal to keep
up with file changes and update the drawing state if necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:25:56 +02:00
9c8b75206c st-texture-cache: Add texture-file-changed signal
For textures loaded from files, the cache might hide image changes
by keeping the data of a previous version around indefinitely. For
instance AccountsService will notify of avatar changes, but as new
image is copied over the old one, we will continue to use the old
image data.
Install a file monitor for each file resource we load and clear
the corresponding data from the cache on changes, emitting the
new StTextureCache::texture-file-changed signal.

https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:25:56 +02:00
15273c7f22 st: Canonicalize URLs in stylesheets
Make _st_theme_resolve_url() a bit smarter by canonicalizing the
resulting path (e.g. resolving references to /./ and /../).

https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:25:56 +02:00
0ea8217c55 st: Fix handling of file:// URIs in _st_theme_resolve_uri()
https://bugzilla.gnome.org/show_bug.cgi?id=679268
2012-10-17 23:03:07 +02:00
1735f28f5a Remove use of deprecated g_type_init () ...
... and bump GObject requirement accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=686318
2012-10-17 22:49:32 +02:00
8de4070f7f autorunManager: Stop erring on the side of caution for network mounts
Every mount that we care about that's local should have a GVolume
associated with it.

https://bugzilla.gnome.org/show_bug.cgi?id=686241
2012-10-17 12:24:45 -04:00
45e64f453f runDialog: Use a symbolic icon
Another fallout from the St.IconType changes

https://bugzilla.gnome.org/show_bug.cgi?id=686233
2012-10-17 12:04:28 -04:00
62dc5f2ac6 Updated Serbian translation 2012-10-17 10:09:46 +02:00
86c85a752e loginScreen: Add support for 'disable-restart-buttons'
GDM's GSettings schema contains a 'disable-restart-buttons' key
that currently is only supported by the fallback greeter.
Implement support in the shell greeter as well.

https://bugzilla.gnome.org/show_bug.cgi?id=686247
2012-10-16 22:57:37 +02:00
3de0ebf7fd messageTray: Change timestamp string formats
The timestamps before contained unnecessary information.
Additionally, align the timestamps to be in the middle of the
bubble for design reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=680989
2012-10-16 22:35:10 +02:00
1496ba0bbd messageTray: Clean up "TODO" code
The code here says to remove it after the GNOME3 release. Better late
than never.
2012-10-16 12:20:46 -04:00
f5974f6793 messageTray: Primarily use a GIcon to drive the source's icon
This is a bit of a cleanup since we ported notification icons/secondary
icons to be in the same situation.

https://bugzilla.gnome.org/show_bug.cgi?id=680426
2012-10-16 12:14:16 -04:00
928ea3bb01 messageTray: Use a GIcon for a notification's icon/secondary icon
Using a GIcon instead of an actor means that we can always create
a new icon with the right size from an old icon.

https://bugzilla.gnome.org/show_bug.cgi?id=680426
2012-10-16 12:14:16 -04:00
b7acb1d488 st-texture-cache: Remove load_icon_name
With the St.Icon bug fixed, we have removed the last use of load_icon_name.
Celebration time!
2012-10-16 11:01:25 -04:00
360d94dd67 modalDialog: Remove the fade in buttons code
Due to a typo, it never worked correctly. After a fix-up to the appropriate
method, the behavior is suboptimal, as the buttons only fade in the first time
the modal dialog is constructed. Just remove the fade-in behavior, rather than
keeping this non-working code around.

https://bugzilla.gnome.org/show_bug.cgi?id=677426
2012-10-16 10:49:20 -04:00
671a813135 Updated Japanese translation 2012-10-16 23:30:05 +09:00
c005417f9b Updated Galician translations 2012-10-16 14:22:21 +02:00
b5ec68bda3 Updated Spanish translation 2012-10-16 11:11:40 +02:00
b4ed29094d Updated Belarusian translation. 2012-10-16 12:05:56 +03:00
284ab031b8 Updated Slovenian translation 2012-10-16 08:34:57 +02:00
6ad5064c09 Updated Indonesian translation 2012-10-16 07:15:32 +07:00
3a8e723a36 data: Expose '<Super>F10' shortcut in System Settings
https://bugzilla.gnome.org/show_bug.cgi?id=672909
2012-10-16 01:38:12 +02:00
dd3484b93f dash: Open 'Show Apps' with Super+A
This is a workaround for power users for the "Show Apps" button
placement being too inconvenient to press at the bottom of the
dash favorites list.

Unity also uses Super+A to show the Apps lens.

https://bugzilla.gnome.org/show_bug.cgi?id=685738
2012-10-16 01:38:12 +02:00
115 changed files with 10646 additions and 11443 deletions

133
NEWS
View File

@ -1,62 +1,95 @@
3.6.3.1
=======
* Fix regression in reentrancy fix for 3.6.3 [Giovanni; #689295]
Contributors:
Giovanni Campagna
Translations:
Rafael Ferreira [pt_BR]
3.6.3
3.7.2
=====
* recorder: Set frame duration to fix broken video headers [Adel; #688487]
* Block cancellation of unlock dialog during drags [Giovanni; #686800]
* Honor lock-delay GSettings key [Giovanni, Matthias; #690766, #691170]
* Fix reentrancy problem causing the tray to disappear [Giovanni; #683986]
Contributors:
Giovanni Campagna, Matthias Clasen, Adel Gadllah,
Translations:
Mattias Põldaru [et], Sandeep Sheshrao Shedmake [mr], Wouter Bolsterlee [nl],
Rajesh Ranjan [hi], Nilamdyuti Goswami [as], Ani Peter [ml],
Andika Triwidada [id], Krishnababu Krothapalli [te], Shankar Prasad [kn],
Dr.T.Vasudevan [ta], Runa Bhattacharjee [bn_IN], Rafael Ferreira [pt_BR],
Balázs Úr [hu], Gheyret Kenji [ug], Yasumichi Akahoshi [ja], Yoji TOYODA [ja],
Alexandre Franke [fr]
3.6.2
=====
* Implement org.gnome.ScreenSaver.GetActiveTime [Giovanni; #686064]
* Explicitly load gnome-screensaver when not running GDM [Tim; #683060]
* Set Empathy as preferred handler when delegating channels [Xavier; #686296]
* Enforce RTL in he for messages that might end up as LTR [Florian; #686630]
* gdm: Move logo into the panel [Florian; #685852]
* Hide notifications when closed button is clicked [Jasper, Florian; #682237]
* Tweak screenShield animations [Rui; #686745]
* Restore Fittsability of summary items in message tray [Florian; #686474]
* Save screencasts as recent item [Ray; #680647]
* overview: Resize window captions on content change [Giovanni, Alex; #620874]
* App search: Match GenericName too [Matthias; #687121]
* Add setting to force log out menuitem [Matthias; #686057]
* Fix auto-scroll to bottom in chat notifications [Sjoerd; #686571]
* Update man page [Matthias; #680601]
* Hide notifications when closed button is clicked [Jasper, Florian; #682237]
* Fix screenshots on Big Endian [Owen; #685915]
* runDialog: Better match style of other modal dialogs [Florian, Allan; #687127]
* Improve the button insensitive style [Stéphane; #687110]
* network: Don't use a global switch for all VPN connections [Giovanni; #682929]
* appMenu: Update on icon theme changes [Florian; #687224]
* Show 'Log out' in more situations [Matthias; #686736]
* Add a setting to force the 'Log out' menuitem [Matthias; #686057]
* overview: Improve styling of search box [Stéphane; #686479]
* Implement 'disable-user-list' in login screen [Ray; #660660]
* Misc bugfixes [Jasper, Florian, Giovanni, Matthew, Matthias, Alejandro,
Sebastian; #686233, #686484, #686487, #686630, #686728, #686574, #686574,
#686574, #686879, #686763, #685239, #687189, #686736, #686583, #687132,
#687958, #687020, #687708, #686888, #686530, #684810, #688181]
* Fix auto-scroll to bottom in chat notifications [Sjoerd; #686571]
* Show feedback notifications when user is busy [Stéphane; #662900]
* Disable login button when there is no input [Stéphane; #687112]
* Use non-linear overview shade for background [Giovanni, Pierre-Eric; #669798]
* Reduce blocking in compositor thread [Simon, Jasper; #687465]
* network: new country-specific type to gather providers [Aleksander; #687356]
* Update man page [Matthias; #680601]
* st-entry: Change the pointer cursor on enter/leave events [Thomas; #687130]
* screenShield: Blur and desaturate the background [Giovanni, Cosimo; #682536]
* Change height of chat notifications to have more context [Carlos; #665255]
* screenShield: Account for motion velocity when hiding [Giovanni; #682537]
* screenShield: hide the cursor while the lock screen is on [Giovanni; #682535]
* Support remote search provider settings [Cosimo; #687491]
* unlockDialog: Improve label of confirmation button [Stéphane; #687656]
* userMenu: Rename "System Settings" item to "Settings" [Elad; #687738]
* messageTray: Add keybinding to focus current notification [Stéphane; #652082]
* Remove shell-screen-grabber [Neil; #685915]
* main: Stop using Metacity's keybinding files [Florian; #687672]
* Bluetooth: Remove ObexFTP functionality [Bastien; #688160]
* a11y: Also set WM theme when HighContrast is switched on [Cosimo; #688256]
* network: Rework multiple NIC support [Giovanni; #677142]
* Rework keybindings to allow selective blocking/processing [Florian; #688202]
* recorder: Show indicator on primary monitor [Adel; #688470]
* recorder: Set frame duration to fix broken video headers [Adel; #688487]
* Misc. bugfixes and cleanups [Florian, Jasper, Giovanni, Matthew, Stéphane,
Allan, Daiki, Owen, Alejandro, Jean-François, Cosimo, Sebastian, Adel, Alban;
#686484, #686728, #686805, #686574, #686763, #682428, #687132, #685239,
#687189, #687226, #658091, #670687, #687457, #687242, #687287, #687020,
#686583, #661194, #687491, #657315, #687958, #683986, #688089, #687708,
#686530, #684810, #688181, #688475, #688557, #688507, #638351]
Contributors:
Matthew Barnes, Giovanni Campagna, Xavier Claessens, Matthias Clasen,
Sebastian Keller, Tim Lunn, Rui Matos, Florian Müllner, Alejandro Piñeiro,
Sjoerd Simons, Jasper St. Pierre, Ray Strode, Owen Taylor
Elad Alfassa, Matthew Barnes, Alban Browaeys, Giovanni Campagna,
Cosimo Cecchi, Matthias Clasen, Allan Day, Stéphane Démurget,
Jean-François Fortin Tam, Adel Gadllah, Alex Hultman, Sebastian Keller,
Rui Matos, Simon McVittie, Aleksander Morgado, Florian Müllner,
Bastien Nocera, Pierre-Eric Pelloux-Prayer, Alejandro Piñeiro, Neil Roberts,
Sjoerd Simons, Carlos Soriano Sánchez, Jasper St. Pierre, Ray Strode,
Owen Taylor, Daiki Ueno, Thomas Wood
Translations:
Takayuki KUSANO [ja], Dušan Kazik [sk], Mattias Põldaru [et],
Tom Tryfonidis [el], Sweta Kothari [gu], Matej Urbančič [sl], Piotr Drąg [pl],
Fran Diéguez [gl], Aurimas Černius [lt], Kjartan Maraas [nb],
Ihar Hrachyshka [be], Мирослав Николић [sr, sr@latin], Gil Forcada [ca],
A S Alam [pa], Yuri Myasoedov [ru], Marek Černocký [cs], Sweta Kothari [gu],
Wolfgang Stöggl [de], Daniel Mustieles [es]
Dušan Kazik [sk], Pavol Klačanský [sk], Piotr Drąg [pl], Yuri Myasoedov [ru],
Marek Černocký [cs], Kjartan Maraas [nb], Wolfgang Stöggl [de],
Yaron Shahrabani [he], Fran Diéguez [gl], Mattias Põldaru [et]
3.7.1
=====
* Add shortcut to open application view directly [Jeremy; #685738]
* Expose '<Super>F10' shortcut in System Settings [Florian; #672909]
* Clean up timestamp format in chat notifications [Carlos; #680989]
* loginScreen: Add support for 'disable-restart-buttons' [Florian; #686247]
* Update textures automatically on file changes [Florian; #679268]
* Implement org.gnome.ScreenSaver.GetActiveTime [Giovanni; #686064]
* Add missing translations for GSetting schema [Giovanni; #686413]
* Hide workspace switcher completely when it's not necessary [Seif; #686483]
* Explicitly load gnome-screensaver when not running GDM [Tim; #683060]
* Port to GnomeIdleMonitor [Jasper; #682224]
* Set Empathy as preferred handler when delegating channels [Xavier; #686296]
* Allow testing GDM login dialog from the session [Giovanni; #683725]
* Use all available space for windows in window picker [Jasper, Pierre-Eric;
#582650]
* Use logind for suspend if available [Florian; #686482]
* Misc. fixes and cleanups [Jasper, Florian, Adel, Rui; #677426, #680426,
#686233, #686241, #686318, #686240, #686484, #686002, #684650, #686487]
Contributors:
Jeremy Bicha, Giovanni Campagna, Xavier Claessens, Adel Gadllah, Seif Lotfy,
Tim Lunn, Rui Matos, Florian Müllner, Pierre-Eric Pelloux-Prayer,
Carlos Soriano, Jasper St. Pierre
Translations:
Andika Triwidada [id], Matej Urbančič [sl], Ihar Hrachyshka [be],
Daniel Mustieles [es], Fran Diéguez [gl], Takayuki KUSANO [ja],
Мирослав Николић [sr, sr@latin], Dušan Kazik [sk], Tom Tryfonidis [el]
3.6.1
=====

View File

@ -153,8 +153,6 @@ NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
/* global initialization routine, called once when plugin
is loaded */
g_type_init ();
g_debug ("plugin loaded");
memcpy (&funcs, pfuncs, sizeof (funcs));

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.6.3.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.7.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@ -54,7 +54,7 @@ AC_MSG_CHECKING([for GStreamer (needed for recording functionality)])
if $PKG_CONFIG --exists gstreamer-1.0 '>=' $GSTREAMER_MIN_VERSION ; then
AC_MSG_RESULT(yes)
build_recorder=true
recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11"
recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11 gtk+-3.0"
PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules clutter-1.0 xfixes gl)
else
AC_MSG_RESULT(no)
@ -65,9 +65,9 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
CLUTTER_MIN_VERSION=1.11.11
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.33.2
MUTTER_MIN_VERSION=3.6.2
MUTTER_MIN_VERSION=3.7.2
GTK_MIN_VERSION=3.3.9
GIO_MIN_VERSION=2.31.6
GIO_MIN_VERSION=2.35.0
LIBECAL_MIN_VERSION=3.5.3
LIBEDATASERVER_MIN_VERSION=3.5.3
LIBEDATASERVERUI_MIN_VERSION=3.5.3
@ -76,8 +76,9 @@ TELEPATHY_LOGGER_MIN_VERSION=0.2.4
POLKIT_MIN_VERSION=0.100
STARTUP_NOTIFICATION_MIN_VERSION=0.11
GCR_MIN_VERSION=3.3.90
GNOME_DESKTOP_REQUIRED_VERSION=3.5.1
GNOME_DESKTOP_REQUIRED_VERSION=3.7.1
GNOME_MENUS_REQUIRED_VERSION=3.5.3
NETWORKMANAGER_MIN_VERSION=0.9.7
# Collect more than 20 libraries for a prize!
PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
@ -98,9 +99,9 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION
telepathy-logger-0.2 >= $TELEPATHY_LOGGER_MIN_VERSION
polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
libnm-glib libnm-util gnome-keyring-1
gcr-3 >= $GCR_MIN_VERSION
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
libnm-glib libnm-util >= $NETWORKMANAGER_MIN_VERSION
libnm-gtk >= $NETWORKMANAGER_MIN_VERSION
gnome-keyring-1 gcr-3 >= $GCR_MIN_VERSION)
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
@ -122,10 +123,10 @@ CFLAGS=$saved_CFLAGS
LIBS=$saved_LIBS
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.2 x11)
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.5.4)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.2)
AC_MSG_CHECKING([for bluetooth support])
PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0],

View File

@ -8,5 +8,14 @@
<KeyListEntry name="toggle-message-tray"
_description="Show the message tray"/>
<KeyListEntry name="focus-active-notification"
_description="Focus the active notification"/>
<KeyListEntry name="toggle-application-view"
_description="Show all applications"/>
<KeyListEntry name="open-application-menu"
_description="Open the application menu"/>
</KeyListEntries>

View File

@ -91,6 +91,14 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
Keybinding to open the application menu.
</_description>
</key>
<key name="toggle-application-view" type="as">
<default>["&lt;Super&gt;a"]</default>
<_summary>Keybinding to open the "Show Applications" view</_summary>
<_description>
Keybinding to open the "Show Applications" view of the Activities
Overview.
</_description>
</key>
<key name="toggle-message-tray" type="as">
<default>["&lt;Super&gt;m"]</default>
<_summary>Keybinding to toggle the visibility of the message tray</_summary>
@ -98,6 +106,13 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
Keybinding to toggle the visibility of the message tray.
</_description>
</key>
<key name="focus-active-notification" type="as">
<default>["&lt;Super&gt;n"]</default>
<_summary>Keybinding to focus the active notification</_summary>
<_description>
Keybinding to focus the active notification.
</_description>
</key>
<key name="toggle-recording" type="as">
<default><![CDATA[['<Control><Shift><Alt>r']]]></default>
<_summary>Keybinding to toggle the screen recorder</_summary>
@ -156,47 +171,48 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
</key>
</schema>
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/">
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="attach-modal-dialogs" type="b">
<default>true</default>
<summary>Attach modal dialog to the parent window</summary>
<description>
<_summary>Attach modal dialog to the parent window</_summary>
<_description>
This key overrides the key in org.gnome.mutter when running
GNOME Shell.
</description>
</_description>
</key>
<key name="button-layout" type="s">
<default>":close"</default>
<summary>Arrangement of buttons on the titlebar</summary>
<description>
<_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>
</_description>
</key>
<key name="edge-tiling" type="b">
<default>true</default>
<summary>Enable edge tiling when dropping windows on screen edges</summary>
<description>
<_summary>Enable edge tiling when dropping windows on screen edges</_summary>
<_description>
This key overrides the key in org.gnome.mutter when running GNOME Shell.
</description>
</_description>
</key>
<key name="dynamic-workspaces" type="b">
<default>true</default>
<summary>Workspaces are managed dynamically</summary>
<description>
<_summary>Workspaces are managed dynamically</_summary>
<_description>
This key overrides the key in org.gnome.mutter when running GNOME Shell.
</description>
</_description>
</key>
<key name="workspaces-only-on-primary" type="b">
<default>true</default>
<summary>Workspaces only on primary monitor</summary>
<description>
<_summary>Workspaces only on primary monitor</_summary>
<_description>
This key overrides the key in org.gnome.mutter when running GNOME Shell.
</description>
</_description>
</key>
<key name="focus-change-on-pointer-rest" type="b">

View File

@ -39,7 +39,6 @@ stage {
/* small */
.app-well-menu,
.contact-details-status,
.run-dialog-label,
.run-dialog-error-label {
font-size: 9pt;
}
@ -311,7 +310,7 @@ StScrollBar StButton#vhandle:active {
.notification-icon-button:focus,
.hotplug-notification-item:focus,
.modal-dialog-button:focus {
border: 2px solid #8b8b8b;
border-width: 2px;
}
.dash-search-button:active,
@ -326,17 +325,20 @@ StScrollBar StButton#vhandle:active {
background-gradient-end: rgba(255, 255, 255, 0.2);
}
.notification-button:insensitive,
.notification-icon-button:insensitive,
.notification-button:insensitive {
.modal-dialog-button:insensitive {
border-color: #666666;
color: #9f9f9f;
background-gradient-direction: none;
background-color: rgba(102, 102, 102, 0.15);
}
/* Entries */
#searchEntry,
.notification StEntry,
.login-dialog-prompt-entry,
.prompt-dialog-password-entry {
.modal-dialog StEntry {
color: rgb(64, 64, 64);
caret-color: rgb(64, 64, 64);
font-size: 12pt;
@ -346,6 +348,7 @@ StScrollBar StButton#vhandle:active {
}
#searchEntry,
.run-dialog-entry,
.notification StEntry {
border: 2px solid rgba(245,245,245,0.2);
background-gradient-start: rgba(5,5,6,0.1);
@ -358,8 +361,7 @@ StScrollBar StButton#vhandle:active {
#searchEntry:focus,
#searchEntry:hover,
.notification StEntry:focus,
.login-dialog-prompt-entry,
.prompt-dialog-password-entry {
.modal-dialog StEntry {
border: 2px solid rgb(136,138,133);
background-gradient-start: rgb(200,200,200);
background-gradient-end: white;
@ -368,12 +370,17 @@ StScrollBar StButton#vhandle:active {
}
.notification StEntry:focus,
.prompt-dialog-password-entry:focus,
.login-dialog-prompt-entry:focus {
.modal-dialog StEntry:focus {
border: 2px solid #3465a4;
}
#searchEntry {
border-color: rgba(245,245,245,0.3);
color: rgb(192, 192, 192);
caret-color: rgb(192, 192, 192);
}
#searchEntry:hover {
color: rgb(128, 128, 128);
caret-color: rgb(128, 128, 128);
}
@ -386,8 +393,7 @@ StScrollBar StButton#vhandle:active {
}
.notification StEntry,
.prompt-dialog-password-entry,
.login-dialog-prompt-entry {
.modal-dialog StEntry {
border-radius: 5px;
padding: 4px 4px;
}
@ -551,7 +557,6 @@ StScrollBar StButton#vhandle:active {
}
.status-chooser-combo.popup-combo-menu {
background-color: rgba(0,0,0,0.7);
padding: .4em 0em;
border-radius: 4px;
border: 1px solid #5f5f5f;
@ -569,7 +574,7 @@ StScrollBar StButton#vhandle:active {
/* Overview */
#overview {
spacing: 12px;
spacing: 40px;
}
.window-caption {
@ -633,13 +638,25 @@ StScrollBar StButton#vhandle:active {
* adjust down 8px */
-shell-close-overlap-x: 14px;
-shell-close-overlap-y: 12px;
-shell-close-overlap-y: -12px;
}
.notification-close:rtl {
/* as above, but starting out in the top left of the
* notification. */
-shell-close-overlap-x: -14px;
}
.window-close:rtl {
-st-background-image-shadow: 2px 2px 6px rgba(0,0,0,0.5);
}
.window-picker {
-horizontal-spacing: 40px;
-vertical-spacing: 40px;
}
/* Dash */
#dash {
@ -677,6 +694,11 @@ StScrollBar StButton#vhandle:active {
.search-entry-icon {
icon-size: 1em;
color: #c0c0c0;
}
#searchEntry:hover .search-entry-icon,
#searchEntry:focus .search-entry-icon {
color: #8d8f8a;
}
@ -1410,6 +1432,10 @@ StScrollBar StButton#vhandle:active {
padding-right: 4px;
}
.chat-notification-scrollview{
max-height: 22em;
}
.subscription-message {
font-style: italic;
}
@ -1624,35 +1650,26 @@ StScrollBar StButton#vhandle:active {
padding: 4px 32px 5px;
}
.modal-dialog-button:insensitive {
color: rgb(60, 60, 60);
}
.modal-dialog-button:focus {
padding: 3px 31px 4px;
}
/* Run Dialog */
.run-dialog-label {
font-size: 12pt;
font-weight: bold;
color: #999999;
padding-bottom: .4em;
}
.run-dialog-error-box {
padding-top: 15px;
spacing: 5px;
}
.run-dialog-entry {
font-weight: bold;
width: 23em;
selection-background-color: white;
selected-color: black;
}
.run-dialog {
border-radius: 16px;
padding-right: 21px;
padding-left: 21px;
padding-bottom: 15px;
padding-top: 15px;
.modal-dialog .run-dialog-entry {
width: 20em;
}
.lightbox {
@ -2112,7 +2129,7 @@ StScrollBar StButton#vhandle:active {
font-weight: bold;
text-align: left;
padding-left: 15px;
text-shadow: black 4px 4px 3px 0px;
text-shadow: black 0px 4px 3px 0px;
}
.login-dialog-prompt-layout {
@ -2178,24 +2195,20 @@ StScrollBar StButton#vhandle:active {
height: .75em;
}
.login-dialog .modal-dialog-button {
border: 1px solid #666666;
border-radius: 5px;
padding: 3px 18px;
}
.login-dialog .modal-dialog-button:focus {
padding: 2px 17px;
border: 2px solid #8b8b8b;
}
.login-dialog .modal-dialog-button:default {
background-gradient-start: #6793c4;
background-gradient-end: #335d8f;
background-gradient-direction: vertical;
padding: 2px 17px;
border: 2px solid #16335d;
border-color: #16335d;
}
.login-dialog .modal-dialog-button:default:focus {
@ -2213,6 +2226,13 @@ StScrollBar StButton#vhandle:active {
background-gradient-end: #74a0d0;
}
.login-dialog .modal-dialog-button:default:insensitive {
border-color: #666666;
color: #9f9f9f;
background-gradient-direction: none;
background-color: rgba(102, 102, 102, 0.15);
}
.login-dialog-message-warning {
color: orange;
}

View File

@ -39,13 +39,14 @@ const GdmUtil = imports.gdm.util;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const ModalDialog = imports.ui.modalDialog;
const PanelMenu = imports.ui.panelMenu;
const Tweener = imports.ui.tweener;
const UserMenu = imports.ui.userMenu;
const _RESIZE_ANIMATION_TIME = 0.25;
const _SCROLL_ANIMATION_TIME = 0.5;
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
const _LOGO_ICON_NAME_SIZE = 48;
const _LOGO_ICON_HEIGHT = 16;
let _loginDialog = null;
@ -82,6 +83,36 @@ function _smoothlyResizeActor(actor, width, height) {
return hold;
}
const LogoMenuButton = new Lang.Class({
Name: 'LogoMenuButton',
Extends: PanelMenu.Button,
_init: function() {
this.parent(0.0, null, true);
this._settings = new Gio.Settings({ schema: GdmUtil.LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed::' + GdmUtil.LOGO_KEY,
Lang.bind(this, this._updateLogo));
this._iconBin = new St.Bin();
this.actor.add_actor(this._iconBin);
this._updateLogo();
},
_updateLogo: function() {
let path = this._settings.get_string(GdmUtil.LOGO_KEY);
let icon = null;
if (path) {
let file = Gio.file_new_for_path(path);
let cache = St.TextureCache.get_default();
icon = cache.load_uri_async(file.get_uri(), -1, _LOGO_ICON_HEIGHT);
}
this._iconBin.set_child(icon);
}
});
const UserListItem = new Lang.Class({
Name: 'UserListItem',
@ -629,6 +660,7 @@ const LoginDialog = new Lang.Class({
this.parent({ shellReactive: true,
styleClass: 'login-dialog',
parentActor: parentActor,
keybindingMode: Main.KeybindingMode.LOGIN_SCREEN,
shouldFadeIn: false });
this.connect('destroy',
Lang.bind(this, this._onDestroy));
@ -638,15 +670,17 @@ const LoginDialog = new Lang.Class({
this._userManager = AccountsService.UserManager.get_default()
this._greeterClient = new Gdm.Client();
this._greeter = this._greeterClient.get_greeter_sync(null);
if (GLib.getenv('GDM_GREETER_TEST') != '1') {
this._greeter = this._greeterClient.get_greeter_sync(null);
this._greeter.connect('default-session-name-changed',
Lang.bind(this, this._onDefaultSessionChanged));
this._greeter.connect('default-session-name-changed',
Lang.bind(this, this._onDefaultSessionChanged));
this._greeter.connect('session-opened',
Lang.bind(this, this._onSessionOpened));
this._greeter.connect('timed-login-requested',
Lang.bind(this, this._onTimedLoginRequested));
this._greeter.connect('session-opened',
Lang.bind(this, this._onSessionOpened));
this._greeter.connect('timed-login-requested',
Lang.bind(this, this._onTimedLoginRequested));
}
this._userVerifier = new GdmUtil.ShellUserVerifier(this._greeterClient);
this._userVerifier.connect('ask-question', Lang.bind(this, this._askQuestion));
@ -658,8 +692,6 @@ const LoginDialog = new Lang.Class({
this._settings = new Gio.Settings({ schema: GdmUtil.LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed::' + GdmUtil.LOGO_KEY,
Lang.bind(this, this._updateLogo));
this._settings.connect('changed::' + GdmUtil.BANNER_MESSAGE_KEY,
Lang.bind(this, this._updateBanner));
this._settings.connect('changed::' + GdmUtil.BANNER_MESSAGE_TEXT_KEY,
@ -667,10 +699,6 @@ const LoginDialog = new Lang.Class({
this._settings.connect('changed::' + GdmUtil.DISABLE_USER_LIST_KEY,
Lang.bind(this, this._updateDisableUserList));
this._logoBox = new St.Bin({ style_class: 'login-dialog-logo-box' });
this.contentLayout.add(this._logoBox);
this._updateLogo();
this._bannerLabel = new St.Label({ style_class: 'login-dialog-banner',
text: '' });
this.contentLayout.add(this._bannerLabel);
@ -708,6 +736,7 @@ const LoginDialog = new Lang.Class({
x_align: St.Align.START });
this._promptEntry = new St.Entry({ style_class: 'login-dialog-prompt-entry',
can_focus: true });
this._promptEntryTextChangedId = 0;
this._promptBox.add(this._promptEntry,
{ expand: true,
x_fill: true,
@ -783,22 +812,8 @@ const LoginDialog = new Lang.Class({
this._disableUserList = disableUserList;
if (!this._verifyingUser)
this._reset();
this._reset();
}
},
_updateLogo: function() {
this._logoBox.child = null;
let path = this._settings.get_string(GdmUtil.LOGO_KEY);
if (path) {
let file = Gio.file_new_for_path(path);
let uri = file.get_uri();
let textureCache = St.TextureCache.get_default();
this._logoBox.child = textureCache.load_uri_async(uri, -1, _LOGO_ICON_NAME_SIZE);
}
},
_updateBanner: function() {
@ -891,7 +906,7 @@ const LoginDialog = new Lang.Class({
return batch.run();
},
_showPrompt: function() {
_showPrompt: function(forSecret) {
let hold = new Batch.Hold();
let cancelButtonInfo = { action: Lang.bind(this, this.cancel),
@ -900,7 +915,7 @@ const LoginDialog = new Lang.Class({
let okButtonInfo = { action: Lang.bind(this, function() {
hold.release();
}),
label: C_("button", "Sign In"),
label: forSecret ? C_("button", "Sign In") : _("Next"),
default: true };
let buttons = [];
if (!this._disableUserList || this._verifyingUser)
@ -913,6 +928,16 @@ const LoginDialog = new Lang.Class({
function() {
this.setButtons(buttons);
let updateOkButtonEnabled = Lang.bind(this, function() {
let sensitive = this._promptEntry.text.length > 0;
okButtonInfo.button.reactive = sensitive;
okButtonInfo.button.can_focus = sensitive;
});
updateOkButtonEnabled();
this._promptEntryTextChangedId = this._promptEntry.clutter_text.connect('text-changed', updateOkButtonEnabled);
},
hold];
@ -925,6 +950,11 @@ const LoginDialog = new Lang.Class({
_hidePrompt: function() {
this.setButtons([]);
if (this._promptEntryTextChangedId > 0) {
this._promptEntry.clutter_text.disconnect(this._promptEntryTextChangedId);
this._promptEntryTextChangedId = 0;
}
let tasks = [function() {
return GdmUtil.fadeOutActor(this._promptBox);
},
@ -946,7 +976,9 @@ const LoginDialog = new Lang.Class({
this._promptEntry.set_text('');
this._promptEntry.clutter_text.set_password_char(passwordChar);
let tasks = [this._showPrompt,
let tasks = [function() {
return this._showPrompt(!!passwordChar);
},
function() {
let _text = this._promptEntry.get_text();
@ -1117,8 +1149,7 @@ const LoginDialog = new Lang.Class({
},
new Batch.ConcurrentBatch(this, [this._fadeOutTitleLabel,
this._fadeOutNotListedButton,
this._fadeOutLogo]),
this._fadeOutNotListedButton]),
function() {
return this._askForUsernameAndLogIn();
@ -1128,20 +1159,11 @@ const LoginDialog = new Lang.Class({
batch.run();
},
_fadeInLogo: function() {
return GdmUtil.fadeInActor(this._logoBox);
},
_fadeOutLogo: function() {
return GdmUtil.fadeOutActor(this._logoBox);
},
_showUserList: function() {
let tasks = [this._hidePrompt,
new Batch.ConcurrentBatch(this, [this._fadeInTitleLabel,
this._fadeInNotListedButton,
this._fadeInLogo]),
this._fadeInNotListedButton]),
function() {
this._sessionList.close();
@ -1209,8 +1231,7 @@ const LoginDialog = new Lang.Class({
},
new Batch.ConcurrentBatch(this, [this._fadeOutTitleLabel,
this._fadeOutNotListedButton,
this._fadeOutLogo]),
this._fadeOutNotListedButton]),
function() {
return this._userList.shrinkToNaturalHeight();

View File

@ -18,11 +18,12 @@
* 02111-1307, USA.
*/
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const UPowerGlib = imports.gi.UPowerGlib;
const LoginManager = imports.misc.loginManager;
const GdmUtil = imports.gdm.util;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@ -33,15 +34,14 @@ const PowerMenuButton = new Lang.Class({
_init: function() {
/* Translators: accessible name of the power menu in the login screen */
this.parent('system-shutdown-symbolic', _("Power"));
this._upClient = new UPowerGlib.Client();
this._loginManager = LoginManager.getLoginManager();
this._createSubMenu();
this._settings = new Gio.Settings({ schema: GdmUtil.LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed::disable-restart-buttons',
Lang.bind(this, this._updateVisibility));
this._upClient.connect('notify::can-suspend',
Lang.bind(this, this._updateHaveSuspend));
this._updateHaveSuspend();
this._createSubMenu();
// ConsoleKit doesn't send notifications when shutdown/reboot
// are disabled, so we update the menu item each time the menu opens
@ -50,15 +50,17 @@ const PowerMenuButton = new Lang.Class({
if (open) {
this._updateHaveShutdown();
this._updateHaveRestart();
this._updateHaveSuspend();
}
}));
this._updateHaveShutdown();
this._updateHaveRestart();
this._updateHaveSuspend();
},
_updateVisibility: function() {
let shouldBeVisible = (this._haveSuspend || this._haveShutdown || this._haveRestart);
this.actor.visible = shouldBeVisible;
this.actor.visible = shouldBeVisible && !this._settings.get_boolean('disable-restart-buttons');
},
_updateHaveShutdown: function() {
@ -78,9 +80,11 @@ const PowerMenuButton = new Lang.Class({
},
_updateHaveSuspend: function() {
this._haveSuspend = this._upClient.get_can_suspend();
this._suspendItem.actor.visible = this._haveSuspend;
this._updateVisibility();
this._loginManager.canSuspend(Lang.bind(this, function(result) {
this._haveSuspend = result;
this._suspendItem.actor.visible = this._haveSuspend;
this._updateVisibility();
}));
},
_createSubMenu: function() {
@ -103,8 +107,10 @@ const PowerMenuButton = new Lang.Class({
},
_onActivateSuspend: function() {
if (this._haveSuspend)
this._upClient.suspend_sync(null);
if (!this._haveSuspend)
return;
this._loginManager.suspend();
},
_onActivateRestart: function() {

View File

@ -3,7 +3,9 @@
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const UPowerGlib = imports.gi.UPowerGlib;
const SystemdLoginManagerIface = <interface name='org.freedesktop.login1.Manager'>
<method name='PowerOff'>
@ -12,12 +14,18 @@ const SystemdLoginManagerIface = <interface name='org.freedesktop.login1.Manager
<method name='Reboot'>
<arg type='b' direction='in'/>
</method>
<method name='Suspend'>
<arg type='b' direction='in'/>
</method>
<method name='CanPowerOff'>
<arg type='s' direction='out'/>
</method>
<method name='CanReboot'>
<arg type='s' direction='out'/>
</method>
<method name='CanSuspend'>
<arg type='s' direction='out'/>
</method>
</interface>;
const SystemdLoginSessionIface = <interface name='org.freedesktop.login1.Session'>
@ -123,12 +131,25 @@ const LoginManagerSystemd = new Lang.Class({
});
},
canSuspend: function(asyncCallback) {
this._proxy.CanSuspendRemote(function(result, error) {
if (error)
asyncCallback(false);
else
asyncCallback(result[0] != 'no');
});
},
powerOff: function() {
this._proxy.PowerOffRemote(true);
},
reboot: function() {
this._proxy.RebootRemote(true);
},
suspend: function() {
this._proxy.SuspendRemote(true);
}
});
@ -139,6 +160,7 @@ const LoginManagerConsoleKit = new Lang.Class({
this._proxy = new ConsoleKitManager(Gio.DBus.system,
'org.freedesktop.ConsoleKit',
'/org/freedesktop/ConsoleKit/Manager');
this._upClient = new UPowerGlib.Client();
},
// Having this function is a bit of a hack since the Systemd and ConsoleKit
@ -186,12 +208,22 @@ const LoginManagerConsoleKit = new Lang.Class({
});
},
canSuspend: function(asyncCallback) {
Mainloop.idle_add(Lang.bind(this, function() {
asyncCallback(this._upClient.get_can_suspend());
return false;
}));
},
powerOff: function() {
this._proxy.StopRemote();
},
reboot: function() {
this._proxy.RestartRemote();
},
suspend: function() {
this._upClient.suspend_sync(null);
}
});

View File

@ -46,8 +46,70 @@ let _providersTable;
function _getProvidersTable() {
if (_providersTable)
return _providersTable;
let [providers, countryCodes] = Shell.mobile_providers_parse();
return _providersTable = providers;
return _providersTable = Shell.mobile_providers_parse(null,null);
}
function findProviderForMCCMNC(table, needle) {
let needlemcc = needle.substring(0, 3);
let needlemnc = needle.substring(3, needle.length);
let name2, name3;
for (let iter in table) {
let country = table[iter];
let providers = country.get_providers();
// Search through each country's providers
for (let i = 0; i < providers.length; i++) {
let provider = providers[i];
// Search through MCC/MNC list
let list = provider.get_gsm_mcc_mnc();
for (let j = 0; j < list.length; j++) {
let mccmnc = list[j];
// Match both 2-digit and 3-digit MNC; prefer a
// 3-digit match if found, otherwise a 2-digit one.
if (mccmnc.mcc != needlemcc)
continue; // MCC was wrong
if (!name3 && needle.length == 6 && needlemnc == mccmnc.mnc)
name3 = provider.name;
if (!name2 && needlemnc.substring(0, 2) == mccmnc.mnc.substring(0, 2))
name2 = provider.name;
if (name2 && name3)
break;
}
}
}
return name3 || name2 || null;
}
function findProviderForSid(table, sid) {
if (sid == 0)
return null;
// Search through each country
for (let iter in table) {
let country = table[iter];
let providers = country.get_providers();
// Search through each country's providers
for (let i = 0; i < providers.length; i++) {
let provider = providers[i];
let cdma_sid = provider.get_cdma_sid();
// Search through CDMA SID list
for (let j = 0; j < cdma_sid.length; j++) {
if (cdma_sid[j] == sid)
return provider.name;
}
}
}
return null;
}
const ModemGsm = new Lang.Class({
@ -91,64 +153,29 @@ const ModemGsm = new Lang.Class({
},
_findOperatorName: function(name, opCode) {
if (name.length != 0 && (name.length > 6 || name.length < 5)) {
// this looks like a valid name, i.e. not an MCCMNC (that some
// devices return when not yet connected
return name;
}
if (isNaN(parseInt(name))) {
// name is definitely not a MCCMNC, so it may be a name
// after all; return that
return name;
if (name) {
if (name && name.length != 0 && (name.length > 6 || name.length < 5)) {
// this looks like a valid name, i.e. not an MCCMNC (that some
// devices return when not yet connected
return name;
}
if (isNaN(parseInt(name))) {
// name is definitely not a MCCMNC, so it may be a name
// after all; return that
return name;
}
}
let needle;
if (name.length == 0 && opCode)
if ((name == null || name.length == 0) && opCode)
needle = opCode;
else if (name.length == 6 || name.length == 5)
needle = name;
else // nothing to search
return null;
return this._findProviderForMCCMNC(needle);
},
_findProviderForMCCMNC: function(needle) {
let table = _getProvidersTable();
let needlemcc = needle.substring(0, 3);
let needlemnc = needle.substring(3, needle.length);
let name2, name3;
for (let iter in table) {
let providers = table[iter];
// Search through each country's providers
for (let i = 0; i < providers.length; i++) {
let provider = providers[i];
// Search through MCC/MNC list
let list = provider.get_gsm_mcc_mnc();
for (let j = 0; j < list.length; j++) {
let mccmnc = list[j];
// Match both 2-digit and 3-digit MNC; prefer a
// 3-digit match if found, otherwise a 2-digit one.
if (mccmnc.mcc != needlemcc)
continue; // MCC was wrong
if (!name3 && needle.length == 6 && needlemnc == mccmnc.mnc)
name3 = provider.name;
if (!name2 && needlemnc.substring(0, 2) == mccmnc.mnc.substring(0, 2))
name2 = provider.name;
if (name2 && name3)
break;
}
}
}
return name3 || name2 || null;
return findProviderForMCCMNC(table, needle);
}
});
Signals.addSignalMethods(ModemGsm.prototype);
@ -189,39 +216,14 @@ const ModemCdma = new Lang.Class({
this.operator_name = null;
} else {
let [bandClass, band, id] = result;
if (name.length > 0)
this.operator_name = this._findProviderForSid(id);
else
if (name.length > 0) {
let table = _getProvidersTable();
this.operator_name = findProviderForSid(table, id);
} else
this.operator_name = null;
}
this.emit('notify::operator-name');
}));
},
_findProviderForSid: function(sid) {
if (sid == 0)
return null;
let table = _getProvidersTable();
// Search through each country
for (let iter in table) {
let providers = table[iter];
// Search through each country's providers
for (let i = 0; i < providers.length; i++) {
let provider = providers[i];
let cdma_sid = provider.get_cdma_sid();
// Search through CDMA SID list
for (let j = 0; j < cdma_sid.length; j++) {
if (cdma_sid[j] == sid)
return provider.name;
}
}
}
return null;
}
});
Signals.addSignalMethods(ModemCdma.prototype);

View File

@ -159,86 +159,6 @@ function killall(processName) {
}
}
// This was ported from network-manager-applet
// Copyright 2007 - 2011 Red Hat, Inc.
// Author: Dan Williams <dcbw@redhat.com>
const _IGNORED_WORDS = [
'Semiconductor',
'Components',
'Corporation',
'Communications',
'Company',
'Corp.',
'Corp',
'Co.',
'Inc.',
'Inc',
'Incorporated',
'Ltd.',
'Limited.',
'Intel',
'chipset',
'adapter',
'[hex]',
'NDIS',
'Module'
];
const _IGNORED_PHRASES = [
'Multiprotocol MAC/baseband processor',
'Wireless LAN Controller',
'Wireless LAN Adapter',
'Wireless Adapter',
'Network Connection',
'Wireless Cardbus Adapter',
'Wireless CardBus Adapter',
'54 Mbps Wireless PC Card',
'Wireless PC Card',
'Wireless PC',
'PC Card with XJACK(r) Antenna',
'Wireless cardbus',
'Wireless LAN PC Card',
'Technology Group Ltd.',
'Communication S.p.A.',
'Business Mobile Networks BV',
'Mobile Broadband Minicard Composite Device',
'Mobile Communications AB',
'(PC-Suite Mode)'
];
function fixupPCIDescription(desc) {
desc = desc.replace(/[_,]/, ' ');
/* Attempt to shorten ID by ignoring certain phrases */
for (let i = 0; i < _IGNORED_PHRASES.length; i++) {
let item = _IGNORED_PHRASES[i];
let pos = desc.indexOf(item);
if (pos != -1) {
let before = desc.substring(0, pos);
let after = desc.substring(pos + item.length, desc.length);
desc = before + after;
}
}
/* Attmept to shorten ID by ignoring certain individual words */
let words = desc.split(' ');
let out = [ ];
for (let i = 0; i < words.length; i++) {
let item = words[i];
// skip empty items (that come out from consecutive spaces)
if (item.length == 0)
continue;
if (_IGNORED_WORDS.indexOf(item) == -1) {
out.push(item);
}
}
return out.join(' ');
}
// lowerBound:
// @array: an array or array-like object, already sorted
// according to @cmp

View File

@ -172,7 +172,7 @@ const AltTabPopup = new Lang.Class({
if (!Main.pushModal(this.actor)) {
// Probably someone else has a pointer grab, try again with keyboard only
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
if (!Main.pushModal(this.actor, { options: Meta.ModalOptions.POINTER_ALREADY_GRABBED })) {
return false;
}
}

View File

@ -479,7 +479,6 @@ const AppWellIcon = new Lang.Class({
Lang.bind(this,
this._onStateChanged));
this._onStateChanged();
this.isMenuUp = false;
},
_onDestroy: function() {
@ -561,7 +560,8 @@ const AppWellIcon = new Lang.Class({
this._menuManager.addMenu(this._menu);
}
this.isMenuUp = true;
this.emit('menu-state-changed', true);
this.actor.set_hover(true);
this._menu.popup();
@ -578,7 +578,7 @@ const AppWellIcon = new Lang.Class({
_onMenuPoppedDown: function() {
this.actor.sync_hover();
this.isMenuUp = false;
this.emit('menu-state-changed', false);
},
_onActivate: function (event) {

View File

@ -84,9 +84,12 @@ const AppFavorites = new Lang.Class({
let app = Shell.AppSystem.get_default().lookup_app(appId);
Main.overview.setMessage(_("%s has been added to your favorites.").format(app.get_name()), Lang.bind(this, function () {
this._removeFavorite(appId);
}));
Main.overview.setMessage(_("%s has been added to your favorites.").format(app.get_name()),
{ forFeedback: true,
undoCallback: Lang.bind(this, function () {
this._removeFavorite(appId);
})
});
},
addFavorite: function(appId) {
@ -116,9 +119,11 @@ const AppFavorites = new Lang.Class({
return;
Main.overview.setMessage(_("%s has been removed from your favorites.").format(app.get_name()),
Lang.bind(this, function () {
this._addFavorite(appId, pos);
}));
{ forFeedback: true,
undoCallback: Lang.bind(this, function () {
this._addFavorite(appId, pos);
})
});
}
});
Signals.addSignalMethods(AppFavorites.prototype);

View File

@ -270,8 +270,9 @@ const DBusEventSource = new Lang.Class({
this._loadEvents(false);
},
_onEventsReceived: function([appointments]) {
_onEventsReceived: function(results, error) {
let newEvents = [];
let appointments = results ? results[0] : null;
if (appointments != null) {
for (let n = 0; n < appointments.length; n++) {
let a = appointments[n];

View File

@ -45,14 +45,12 @@ function isMountRootHidden(root) {
}
function isMountNonLocal(mount) {
// If the mount doesn't have an associated volume, that means it could
// be a remote filesystem. For certain kinds of local filesystems,
// like digital cameras and music players, there's no associated
// gvfs volume, so err on the side of caution and assume it's a local
// filesystem to allow the prompt.
// If the mount doesn't have an associated volume, that means it's
// an uninteresting filesystem. Most devices that we care about will
// have a mount, like media players and USB sticks.
let volume = mount.get_volume();
if (volume == null)
return false;
return true;
return (volume.get_identifier("class") == "network");
}
@ -546,9 +544,8 @@ const AutorunTransientSource = new Lang.Class({
this.notify(this._notification);
},
createIcon: function(size) {
return new St.Icon({ gicon: this.mount.get_icon(),
icon_size: size });
getIcon: function() {
return this.mount.get_icon();
}
});

View File

@ -1,5 +1,6 @@
const Lang = imports.lang;
const Main = imports.ui.main;
const Gio = imports.gi.Gio;
const Meta = imports.gi.Meta;
@ -16,13 +17,16 @@ const Recorder = new Lang.Class({
},
enable: function() {
global.display.add_keybinding('toggle-recording',
this._bindingSettings,
Meta.KeyBindingFlags.NONE, Lang.bind(this, this._toggleRecorder));
Main.wm.addKeybinding('toggle-recording',
this._bindingSettings,
Meta.KeyBindingFlags.NONE,
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._toggleRecorder));
},
disable: function() {
global.display.remove_keybinding('toggle-recording');
Main.wm.removeKeybinding('toggle-recording');
},
_ensureRecorder: function() {
@ -41,7 +45,7 @@ const Recorder = new Lang.Class({
recorder.set_framerate(this._recorderSettings.get_int('framerate'));
/* Translators: this is a filename used for screencast recording */
// xgettext:no-c-format
recorder.set_filename(_("Screencast from %d %t") + '.' + this._recorderSettings.get_string('file-extension'));
recorder.set_file_template(_("Screencast from %d %t") + '.' + this._recorderSettings.get_string('file-extension'));
let pipeline = this._recorderSettings.get_string('pipeline');
if (!pipeline.match(/^\s*$/))

View File

@ -509,51 +509,42 @@ const ChatSource = new Lang.Class({
this._notification.appendAliasChange(oldAlias, newAlias);
},
createIcon: function(size) {
this._iconBox = new St.Bin({ style_class: 'avatar-box' });
this._iconBox._size = size;
let textureCache = St.TextureCache.get_default();
getIcon: function() {
let file = this._contact.get_avatar_file();
if (file) {
let uri = file.get_uri();
this._iconBox.child = textureCache.load_uri_async(uri, this._iconBox._size, this._iconBox._size);
return new Gio.FileIcon({ file: file });
} else {
this._iconBox.child = new St.Icon({ icon_name: 'avatar-default',
icon_size: this._iconBox._size });
return new Gio.ThemedIcon({ name: 'avatar-default' });
}
return this._iconBox;
},
createSecondaryIcon: function() {
let iconBox = new St.Bin();
iconBox.child = new St.Icon({ style_class: 'secondary-icon' });
getSecondaryIcon: function() {
let iconName;
let presenceType = this._contact.get_presence_type();
switch (presenceType) {
case Tp.ConnectionPresenceType.AVAILABLE:
iconBox.child.icon_name = 'user-available';
iconName = 'user-available';
break;
case Tp.ConnectionPresenceType.BUSY:
iconBox.child.icon_name = 'user-busy';
iconName = 'user-busy';
break;
case Tp.ConnectionPresenceType.OFFLINE:
iconBox.child.icon_name = 'user-offline';
iconName = 'user-offline';
break;
case Tp.ConnectionPresenceType.HIDDEN:
iconBox.child.icon_name = 'user-invisible';
iconName = 'user-invisible';
break;
case Tp.ConnectionPresenceType.AWAY:
iconBox.child.icon_name = 'user-away';
iconName = 'user-away';
break;
case Tp.ConnectionPresenceType.EXTENDED_AWAY:
iconBox.child.icon_name = 'user-idle';
iconName = 'user-idle';
break;
default:
iconBox.child.icon_name = 'user-offline';
iconName = 'user-offline';
}
return iconBox;
return new Gio.ThemedIcon({ name: iconName });
},
_updateAvatarIcon: function() {
@ -735,7 +726,7 @@ const ChatSource = new Lang.Class({
title = GLib.markup_escape_text(this.title, -1);
this._notification.update(this._notification.title, null, { customContent: true, secondaryIcon: this.createSecondaryIcon() });
this._notification.update(this._notification.title, null, { customContent: true, secondaryGIcon: this.getSecondaryIcon() });
if (message)
msg += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
@ -763,7 +754,7 @@ const ChatNotification = new Lang.Class({
Extends: MessageTray.Notification,
_init: function(source) {
this.parent(source, source.title, null, { customContent: true, secondaryIcon: source.createSecondaryIcon() });
this.parent(source, source.title, null, { customContent: true, secondaryGIcon: source.getSecondaryIcon() });
this.setResident(true);
this._responseEntry = new St.Entry({ style_class: 'chat-response',
@ -788,6 +779,7 @@ const ChatNotification = new Lang.Class({
// force a scroll to the bottom if things change while we were at the
// bottom
this._oldMaxScrollValue = this._scrollArea.vscroll.adjustment.value;
this._scrollArea.add_style_class_name('chat-notification-scrollview');
this._scrollArea.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) {
if (adjustment.value == this._oldMaxScrollValue)
this.scrollTo(St.Side.BOTTOM);
@ -943,24 +935,32 @@ const ChatNotification = new Lang.Class({
let format;
// Show a week day and time if date is in the last week
if (daysAgo < 1 || (daysAgo < 7 && now.getDay() != date.getDay())) {
/* Translators: this is a time format string followed by a date.
If applicable, replace %X with a strftime format valid for your
locale, without seconds. */
// Show only the hour if date is on today
if(daysAgo < 1){
format = "<b>%H:%M</b>";
}
// Show the word "Yesterday" and time if date is on yesterday
else if(daysAgo <2){
/* Translators: this is a time format string followed by the word "Yesterday". i.e. "14:30 on Yesterday"*/
// xgettext:no-c-format
format = _("Sent at <b>%X</b> on <b>%A</b>");
format = _("<b>%H:%M</b> on Yesterday");
}
// Show a week day and time if date is in the last week
else if (daysAgo < 7) {
/* Translators: this is a time format string followed by a week day name. i.e. "14:30 on Monday*/
// xgettext:no-c-format
format = _("<b>%H:%M</b> on <b>%A</b>");
} else if (date.getYear() == now.getYear()) {
/* Translators: this is a time format in the style of "Wednesday, May 25",
shown when you get a chat message in the same year. */
/* Translators: this is a time format in the style of "14:30 on Wednesday, May 25",
shown when you get a chat message in the same year */
// xgettext:no-c-format
format = _("Sent on <b>%A</b>, <b>%B %d</b>");
format = _("<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>");
} else {
/* Translators: this is a time format in the style of "Wednesday, May 25, 2012",
shown when you get a chat message in a different year. */
/* Translators: this is a time format in the style of "14:30 on Wednesday, May 25, 2012",
shown when you get a chat message in a different year */
// xgettext:no-c-format
format = _("Sent on <b>%A</b>, <b>%B %d</b>, %Y");
format = _("<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>, %Y");
}
return date.toLocaleFormat(format);
@ -973,8 +973,7 @@ const ChatNotification = new Lang.Class({
let timeLabel = this._append({ body: this._formatTimestamp(lastMessageDate),
group: 'meta',
styles: ['chat-meta-message'],
childProps: { expand: true, x_fill: false,
x_align: St.Align.END },
childProps: { expand: true, x_fill: false },
noTimestamp: true,
timestamp: lastMessageTime });
@ -1075,9 +1074,8 @@ const ApproverSource = new Lang.Class({
this.parent();
},
createIcon: function(size) {
return new St.Icon({ gicon: this._gicon,
icon_size: size });
getIcon: function() {
return this._gicon;
}
});
@ -1138,7 +1136,7 @@ const AudioVideoNotification = new Lang.Class({
this.parent(source, title, null, { customContent: true });
this.setResident(true);
this.addButton('reject', _("Reject"));
this.addButton('reject', _("Decline"));
/* translators: this is a button label (verb), not a noun */
this.addButton('answer', _("Answer"));

View File

@ -23,8 +23,7 @@ const DASH_ITEM_HOVER_TIMEOUT = 300;
function getAppFromSource(source) {
if (source instanceof AppDisplay.AppWellIcon) {
let appSystem = Shell.AppSystem.get_default();
return appSystem.lookup_app(source.getId());
return source.app;
} else if (source.metaWindow) {
let tracker = Shell.WindowTracker.get_default();
return tracker.get_window_app(source.metaWindow);
@ -492,34 +491,51 @@ const Dash = new Lang.Class({
},
_createAppItem: function(app) {
let display = new AppDisplay.AppWellIcon(app,
let appIcon = new AppDisplay.AppWellIcon(app,
{ setSizeManually: true,
showLabel: false });
display._draggable.connect('drag-begin',
appIcon._draggable.connect('drag-begin',
Lang.bind(this, function() {
display.actor.opacity = 50;
appIcon.actor.opacity = 50;
}));
display._draggable.connect('drag-end',
appIcon._draggable.connect('drag-end',
Lang.bind(this, function() {
display.actor.opacity = 255;
appIcon.actor.opacity = 255;
}));
appIcon.connect('menu-state-changed',
Lang.bind(this, function(appIcon, opened) {
this._itemMenuStateChanged(item, opened);
}));
let item = new DashItemContainer();
item.setChild(display.actor);
item.setChild(appIcon.actor);
// Override default AppWellIcon label_actor, now the
// accessible_name is set at DashItemContainer.setLabelText
display.actor.label_actor = null;
appIcon.actor.label_actor = null;
item.setLabelText(app.get_name());
display.icon.setIconSize(this.iconSize);
appIcon.icon.setIconSize(this.iconSize);
this._hookUpLabel(item);
return item;
},
_itemMenuStateChanged: function(item, opened) {
// When the menu closes, it calls sync_hover, which means
// that the notify::hover handler does everything we need to.
if (opened) {
if (this._showLabelTimeoutId > 0) {
Mainloop.source_remove(this._showLabelTimeoutId);
this._showLabelTimeoutId = 0;
}
item.hideLabel();
}
},
_onHover: function (item) {
if (item.child.get_hover() && !item.child._delegate.isMenuUp) {
if (item.child.get_hover()) {
if (this._showLabelTimeoutId == 0) {
let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT;
this._showLabelTimeoutId = Mainloop.timeout_add(timeout,

View File

@ -105,7 +105,7 @@ const restartDialogContent = {
endDescription: _("Restarting the system."),
confirmButtons: [{ signal: 'ConfirmedReboot',
label: C_("button", "Restart") }],
iconName: 'system-shutdown-symbolic',
iconName: 'view-refresh-symbolic',
iconStyleClass: 'end-session-dialog-shutdown-icon'
};

View File

@ -23,6 +23,7 @@ function _navigateActor(actor) {
// GrabHelper:
// @owner: the actor that owns the GrabHelper
// @params: optional parameters to pass to Main.pushModal()
//
// Creates a new GrabHelper object, for dealing with keyboard and pointer grabs
// associated with a set of actors.
@ -34,8 +35,9 @@ function _navigateActor(actor) {
const GrabHelper = new Lang.Class({
Name: 'GrabHelper',
_init: function(owner) {
_init: function(owner, params) {
this._owner = owner;
this._modalParams = params;
this._grabStack = [];
@ -165,7 +167,7 @@ const GrabHelper = new Lang.Class({
_takeModalGrab: function() {
let firstGrab = (this._modalCount == 0);
if (firstGrab) {
if (!Main.pushModal(this._owner))
if (!Main.pushModal(this._owner, this._modalParams))
return false;
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));

View File

@ -20,25 +20,6 @@ const KEYBOARD_TYPE = 'keyboard-type';
const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
const SHOW_KEYBOARD = 'screen-keyboard-enabled';
// Key constants taken from Antler
// FIXME: ought to be moved into libcaribou
const PRETTY_KEYS = {
'BackSpace': '\u232b',
'space': ' ',
'Return': '\u23ce',
'Caribou_Prefs': '\u2328',
'Caribou_ShiftUp': '\u2b06',
'Caribou_ShiftDown': '\u2b07',
'Caribou_Emoticons': '\u263a',
'Caribou_Symbols': '123',
'Caribou_Symbols_More': '{#*',
'Caribou_Alpha': 'Abc',
'Tab': 'Tab',
'Escape': 'Esc',
'Control_L': 'Ctrl',
'Alt_L': 'Alt'
};
const CaribouKeyboardIface = <interface name='org.gnome.Caribou.Keyboard'>
<method name='Show'>
<arg type='u' direction='in' />
@ -98,17 +79,7 @@ const Key = new Lang.Class({
},
_makeKey: function () {
let label = this._key.name;
if (label.length > 1) {
let pretty = PRETTY_KEYS[label];
if (pretty)
label = pretty;
else
label = this._getUnichar(this._key);
}
label = GLib.markup_escape_text(label, -1);
let label = GLib.markup_escape_text(this._key.label, -1);
let button = new St.Button ({ label: label,
style_class: 'keyboard-key' });

View File

@ -104,7 +104,7 @@ const LayoutManager = new Lang.Class({
this.primaryMonitor = null;
this.primaryIndex = -1;
this._hotCorners = [];
this._rootPixmap = null;
this._background = null;
this._leftPanelBarrier = 0;
this._rightPanelBarrier = 0;
this._trayBarrier = 0;
@ -128,8 +128,6 @@ const LayoutManager = new Lang.Class({
this.trayBox = new St.Widget({ name: 'trayBox',
layout_manager: new Clutter.BinLayout() });
this.addChrome(this.trayBox);
this.trayBox.connect('allocation-changed',
Lang.bind(this, this._updateTrayBarrier));
this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox',
reactive: true,
@ -280,22 +278,6 @@ const LayoutManager = new Lang.Class({
}
},
_updateTrayBarrier: function() {
let monitor = this.bottomMonitor;
if (this._trayBarrier)
global.destroy_pointer_barrier(this._trayBarrier);
if (Main.messageTray) {
this._trayBarrier =
global.create_pointer_barrier(monitor.x + monitor.width, monitor.y + monitor.height - Main.messageTray.actor.height,
monitor.x + monitor.width, monitor.y + monitor.height,
4 /* BarrierNegativeX */);
} else {
this._trayBarrier = 0;
}
},
_monitorsChanged: function() {
this._updateMonitors();
this._updateBoxes();
@ -333,30 +315,30 @@ const LayoutManager = new Lang.Class({
// to the greeter. Otherwise, we'll just animate the panel,
// as usual.
if (Main.sessionMode.isGreeter) {
this._rootPixmap = global.create_xrootpmap_texture();
if (this._rootPixmap != null) {
Main.uiGroup.add_actor(this._rootPixmap);
Tweener.addTween(this._rootPixmap,
this._background = Meta.BackgroundActor.new_for_screen(global.screen);
if (this._background != null) {
Main.uiGroup.add_actor(this._background);
Tweener.addTween(this._background,
{ opacity: 0,
time: PLYMOUTH_TRANSITION_TIME,
transition: 'linear',
onComplete: this._fadeRootpmapComplete,
onComplete: this._fadeBackgroundComplete,
onCompleteScope: this });
plymouthTransitionRunning = true;
}
}
if (!plymouthTransitionRunning)
this._fadeRootpmapComplete();
this._fadeBackgroundComplete();
},
_fadeRootpmapComplete: function() {
_fadeBackgroundComplete: function() {
// Don't animate the strut
this._chrome.freezeUpdateRegions();
if (this._rootPixmap != null) {
this._rootPixmap.destroy();
this._rootPixmap = null;
if (this._background != null) {
this._background.destroy();
this._background = null;
}
Tweener.addTween(this.panelBox,

View File

@ -1129,7 +1129,7 @@ const LookingGlass = new Lang.Class({
if (this._open)
return;
if (!Main.pushModal(this._entry))
if (!Main.pushModal(this._entry, { keybindingMode: Main.KeybindingMode.LOOKING_GLASS }))
return;
this._notebook.selectIndex(0);

View File

@ -20,6 +20,7 @@ const Keyboard = imports.ui.keyboard;
const MessageTray = imports.ui.messageTray;
const Overview = imports.ui.overview;
const Panel = imports.ui.panel;
const Params = imports.misc.params;
const RunDialog = imports.ui.runDialog;
const Layout = imports.ui.layout;
const LookingGlass = imports.ui.lookingGlass;
@ -39,6 +40,18 @@ const Util = imports.misc.util;
const OVERRIDES_SCHEMA = 'org.gnome.shell.overrides';
const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff);
const KeybindingMode = {
NONE: 0, // block all keybindings
NORMAL: 1 << 0, // window mode
OVERVIEW: 1 << 1,
LOCK_SCREEN: 1 << 2,
UNLOCK_SCREEN: 1 << 3,
LOGIN_SCREEN: 1 << 4,
MESSAGE_TRAY: 1 << 5,
SYSTEM_MODAL: 1 << 6,
LOOKING_GLASS: 1 << 7
};
let componentManager = null;
let panel = null;
let overview = null;
@ -55,6 +68,7 @@ let shellDBusService = null;
let shellMountOpDBusService = null;
let screenSaverDBus = null;
let modalCount = 0;
let keybindingMode = KeybindingMode.NORMAL;
let modalActorFocusStack = [];
let uiGroup = null;
let magnifier = null;
@ -69,7 +83,17 @@ let _overridesSettings = null;
let background = null;
function _sessionUpdated() {
Meta.keybindings_set_custom_handler('panel-run-dialog', sessionMode.hasRunDialog ? openRunDialog : null);
wm.setCustomKeybindingHandler('panel-main-menu',
KeybindingMode.NORMAL |
KeybindingMode.OVERVIEW,
sessionMode.hasOverview ? Lang.bind(overview, overview.toggle) : null);
wm.allowKeybinding('overlay-key', KeybindingMode.NORMAL |
KeybindingMode.OVERVIEW);
wm.setCustomKeybindingHandler('panel-run-dialog',
KeybindingMode.NORMAL |
KeybindingMode.OVERVIEW,
sessionMode.hasRunDialog ? openRunDialog : null);
if (sessionMode.isGreeter)
screenShield.showDialog();
}
@ -155,9 +179,7 @@ function start() {
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
false, -1, 1);
Meta.keybindings_set_custom_handler('panel-main-menu', Lang.bind(overview, overview.toggle));
global.display.connect('overlay-key', Lang.bind(overview, overview.toggle));
sessionMode.connect('update', _sessionUpdated);
_sessionUpdated();
@ -167,8 +189,6 @@ function start() {
_startDate = new Date();
global.stage.connect('captured-event', _globalKeyPressHandler);
log('GNOME Shell started at ' + _startDate);
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
@ -465,80 +485,6 @@ function getWindowActorsForWorkspace(workspaceIndex) {
});
}
// This function encapsulates hacks to make certain global keybindings
// work even when we are in one of our modes where global keybindings
// are disabled with a global grab. (When there is a global grab, then
// all key events will be delivered to the stage, so ::captured-event
// on the stage can be used for global keybindings.)
function _globalKeyPressHandler(actor, event) {
if (modalCount == 0)
return false;
if (event.type() != Clutter.EventType.KEY_PRESS)
return false;
if (!sessionMode.allowKeybindingsWhenModal) {
if (modalCount > (overview.visible ? 1 : 0))
return false;
}
let symbol = event.get_key_symbol();
let keyCode = event.get_key_code();
let ignoredModifiers = global.display.get_ignored_modifier_mask();
let modifierState = event.get_state() & ~ignoredModifiers;
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
let action = global.display.get_keybinding_action(keyCode, modifierState);
if (action == Meta.KeyBindingAction.SWITCH_PANELS) {
ctrlAltTabManager.popup(modifierState & Clutter.ModifierType.SHIFT_MASK,
modifierState);
return true;
}
switch (action) {
// left/right would effectively act as synonyms for up/down if we enabled them;
// but that could be considered confusing; we also disable them in the main view.
//
// case Meta.KeyBindingAction.WORKSPACE_LEFT:
// if (!sessionMode.hasWorkspaces)
// return false;
//
// wm.actionMoveWorkspaceLeft();
// return true;
// case Meta.KeyBindingAction.WORKSPACE_RIGHT:
// if (!sessionMode.hasWorkspaces)
// return false;
//
// wm.actionMoveWorkspaceRight();
// return true;
case Meta.KeyBindingAction.WORKSPACE_UP:
if (!sessionMode.hasWorkspaces)
return false;
wm.actionMoveWorkspace(Meta.MotionDirection.UP);
return true;
case Meta.KeyBindingAction.WORKSPACE_DOWN:
if (!sessionMode.hasWorkspaces)
return false;
wm.actionMoveWorkspace(Meta.MotionDirection.DOWN);
return true;
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
case Meta.KeyBindingAction.COMMAND_2:
if (!sessionMode.hasRunDialog)
return false;
openRunDialog();
return true;
case Meta.KeyBindingAction.PANEL_MAIN_MENU:
case Meta.KeyBindingAction.OVERLAY_KEY:
overview.hide();
return true;
}
return false;
}
function _findModal(actor) {
for (let i = 0; i < modalActorFocusStack.length; i++) {
if (modalActorFocusStack[i].actor == actor)
@ -554,7 +500,7 @@ function isInModalStack(actor) {
/**
* pushModal:
* @actor: #ClutterActor which will be given keyboard focus
* @timestamp: optional timestamp
* @params: optional parameters
*
* Ensure we are in a mode where all keyboard and mouse input goes to
* the stage, and focus @actor. Multiple calls to this function act in
@ -565,21 +511,27 @@ function isInModalStack(actor) {
* modal stack returns to this actor, reset the focus to the actor
* which was focused at the time pushModal() was invoked.
*
* @timestamp is optionally used to associate the call with a specific user
* initiated event. If not provided then the value of
* global.get_current_time() is assumed.
* @params may be used to provide the following parameters:
* - timestamp: used to associate the call with a specific user initiated
* event. If not provided then the value of
* global.get_current_time() is assumed.
*
* @options: optional Meta.ModalOptions flags to indicate that the
* pointer is alrady grabbed
* - options: Meta.ModalOptions flags to indicate that the pointer is
* already grabbed
*
* - keybindingMode: used to set the current Main.KeybindingMode to filter
* global keybindings; the default of NONE will filter
* out all keybindings
*
* Returns: true iff we successfully acquired a grab or already had one
*/
function pushModal(actor, timestamp, options) {
if (timestamp == undefined)
timestamp = global.get_current_time();
function pushModal(actor, params) {
params = Params.parse(params, { timestamp: global.get_current_time(),
options: 0,
keybindingMode: KeybindingMode.NONE });
if (modalCount == 0) {
if (!global.begin_modal(timestamp, options ? options : 0)) {
if (!global.begin_modal(params.timestamp, params.options)) {
log('pushModal: invocation of begin_modal failed');
return false;
}
@ -606,8 +558,10 @@ function pushModal(actor, timestamp, options) {
modalActorFocusStack.push({ actor: actor,
focus: curFocus,
destroyId: actorDestroyId,
focusDestroyId: curFocusDestroyId });
focusDestroyId: curFocusDestroyId,
keybindingMode: keybindingMode });
keybindingMode = params.keybindingMode;
global.stage.set_key_focus(actor);
return true;
}
@ -634,6 +588,7 @@ function popModal(actor, timestamp) {
global.stage.set_key_focus(null);
global.end_modal(timestamp);
global.set_stage_input_mode(Shell.StageInputMode.NORMAL);
keybindingMode = KeybindingMode.NORMAL;
throw new Error('incorrect pop');
}
@ -646,6 +601,7 @@ function popModal(actor, timestamp) {
if (focusIndex == modalActorFocusStack.length - 1) {
if (record.focus)
record.focus.disconnect(record.focusDestroyId);
keybindingMode = record.keybindingMode;
global.stage.set_key_focus(record.focus);
} else {
let t = modalActorFocusStack[modalActorFocusStack.length - 1];
@ -655,6 +611,7 @@ function popModal(actor, timestamp) {
for (let i = modalActorFocusStack.length - 1; i > focusIndex; i--) {
modalActorFocusStack[i].focus = modalActorFocusStack[i - 1].focus;
modalActorFocusStack[i].focusDestroyId = modalActorFocusStack[i - 1].focusDestroyId;
modalActorFocusStack[i].keybindingMode = modalActorFocusStack[i - 1].keybindingMode;
}
}
modalActorFocusStack.splice(focusIndex, 1);
@ -665,6 +622,7 @@ function popModal(actor, timestamp) {
global.end_modal(timestamp);
global.set_stage_input_mode(Shell.StageInputMode.NORMAL);
Meta.enable_unredirect_for_screen(global.screen);
keybindingMode = KeybindingMode.NORMAL;
}
function createLookingGlass() {

View File

@ -4,6 +4,7 @@ const Clutter = imports.gi.Clutter;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const GnomeDesktop = imports.gi.GnomeDesktop;
const Atk = imports.gi.Atk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
@ -35,8 +36,6 @@ const LONGER_SUMMARY_TIMEOUT = 4;
const HIDE_TIMEOUT = 0.2;
const LONGER_HIDE_TIMEOUT = 0.6;
const NOTIFICATION_ICON_SIZE = 24;
// We delay hiding of the tray if the mouse is within MOUSE_LEFT_ACTOR_THRESHOLD
// range from the point where it left the tray.
const MOUSE_LEFT_ACTOR_THRESHOLD = 20;
@ -143,14 +142,9 @@ const URLHighlighter = new Lang.Class({
let url = this._urls[urlId].url;
if (url.indexOf(':') == -1)
url = 'http://' + url;
try {
Gio.app_info_launch_default_for_uri(url, global.create_app_launch_context());
return true;
} catch (e) {
// TODO: remove this after gnome 3 release
Util.spawn(['gvfs-open', url]);
return true;
}
Gio.app_info_launch_default_for_uri(url, global.create_app_launch_context());
return true;
}
return false;
}));
@ -242,13 +236,8 @@ function makeCloseButton() {
closeButton.connect('style-changed', function() {
let themeNode = closeButton.get_theme_node();
// libcroco doesn't support negative units
let direction = closeButton.get_text_direction() == Clutter.TextDirection.RTL ? -1 : 1;
closeButton.translation_x = direction * themeNode.get_length('-shell-close-overlap-x');
// libcroco doesn't support negative units
closeButton.translation_y = -themeNode.get_length('-shell-close-overlap-y');
closeButton.translation_x = themeNode.get_length('-shell-close-overlap-x');
closeButton.translation_y = themeNode.get_length('-shell-close-overlap-y');
});
return closeButton;
@ -294,9 +283,12 @@ function makeCloseButton() {
// If @params contains a 'body' parameter, then that text will be added to
// the content area (as with addBody()).
//
// By default, the icon shown is created by calling
// source.createIcon(). However, if @params contains an 'icon'
// parameter, the passed in icon will be used.
// By default, the icon shown is the same as the source's.
// However, if @params contains a 'gicon' parameter, the passed in gicon
// will be used.
//
// You can add a secondary icon to the banner with 'secondaryGIcon'. There
// is no fallback for this icon.
//
// If @params contains a 'titleMarkup', 'bannerMarkup', or
// 'bodyMarkup' parameter with the value %true, then the corresponding
@ -311,6 +303,8 @@ function makeCloseButton() {
const Notification = new Lang.Class({
Name: 'Notification',
ICON_SIZE: 24,
IMAGE_SIZE: 125,
_init: function(source, title, banner, params) {
@ -320,6 +314,7 @@ const Notification = new Lang.Class({
this.resident = false;
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
this.isTransient = false;
this.forFeedback = false;
this.expanded = false;
this.focused = false;
this.acknowledged = false;
@ -394,8 +389,8 @@ const Notification = new Lang.Class({
update: function(title, banner, params) {
params = Params.parse(params, { customContent: false,
body: null,
icon: null,
secondaryIcon: null,
gicon: null,
secondaryGIcon: null,
titleMarkup: false,
bannerMarkup: false,
bodyMarkup: false,
@ -405,12 +400,12 @@ const Notification = new Lang.Class({
let oldFocus = global.stage.key_focus;
if (this._icon && (params.icon || params.clear)) {
if (this._icon && (params.gicon || params.clear)) {
this._icon.destroy();
this._icon = null;
}
if (this._secondaryIcon && (params.secondaryIcon || params.clear)) {
if (this._secondaryIcon && (params.secondaryGIcon || params.clear)) {
this._secondaryIcon.destroy();
this._secondaryIcon = null;
}
@ -440,8 +435,14 @@ const Notification = new Lang.Class({
if (!this._scrollArea && !this._actionArea && !this._imageBin)
this._table.remove_style_class_name('multi-line-notification');
if (!this._icon) {
this._icon = params.icon || this.source.createIcon(NOTIFICATION_ICON_SIZE);
if (params.gicon) {
this._icon = new St.Icon({ gicon: params.gicon,
icon_size: this.ICON_SIZE });
} else {
this._icon = this.source.createIcon(this.ICON_SIZE);
}
if (this._icon) {
this._table.add(this._icon, { row: 0,
col: 0,
x_expand: false,
@ -450,11 +451,10 @@ const Notification = new Lang.Class({
y_align: St.Align.START });
}
if (!this._secondaryIcon) {
this._secondaryIcon = params.secondaryIcon;
if (this._secondaryIcon)
this._bannerBox.add_actor(this._secondaryIcon);
if (params.secondaryGIcon) {
this._secondaryIcon = new St.Icon({ gicon: params.secondaryGIcon,
style_class: 'secondary-icon' });
this._bannerBox.add_actor(this._secondaryIcon);
}
this.title = title;
@ -714,6 +714,10 @@ const Notification = new Lang.Class({
this.isTransient = isTransient;
},
setForFeedback: function(forFeedback) {
this.forFeedback = forFeedback;
},
setUseActionIcons: function(useIcons) {
this._useActionIcons = useIcons;
},
@ -1117,10 +1121,14 @@ const Source = new Lang.Class({
// Provides a sane default implementation, override if you need
// something more fancy.
createIcon: function(size) {
return new St.Icon({ icon_name: this.iconName,
return new St.Icon({ gicon: this.getIcon(),
icon_size: size });
},
getIcon: function() {
return new Gio.ThemedIcon({ name: this.iconName });
},
_ensureMainIcon: function() {
if (this._mainIcon)
return;
@ -1386,6 +1394,8 @@ const MessageTray = new Lang.Class({
y_expand: true,
x_expand: true,
layout_manager: new Clutter.BinLayout() });
this._notificationWidget.connect('key-release-event', Lang.bind(this, this._onNotificationKeyRelease));
this.actor.add_actor(this._notificationWidget);
this._notificationBin = new St.Bin({ y_expand: true });
@ -1435,15 +1445,16 @@ const MessageTray = new Lang.Class({
this._closeButton = makeCloseButton();
this._closeButton.hide();
this._closeButton.connect('clicked', Lang.bind(this, this._onCloseClicked));
this._closeButton.connect('clicked', Lang.bind(this, this._closeNotification));
this._notificationWidget.add_actor(this._closeButton);
this._idleMonitorWatchId = 0;
this._idleMonitorBecameActiveId = 0;
this._userActiveWhileNotificationShown = false;
this.idleMonitor = Shell.IdleMonitor.get();
this.idleMonitor = new GnomeDesktop.IdleMonitor();
this._grabHelper = new GrabHelper.GrabHelper(this.actor);
this._grabHelper = new GrabHelper.GrabHelper(this.actor,
{ keybindingMode: Main.KeybindingMode.MESSAGE_TRAY });
this._grabHelper.addActor(this._summaryBoxPointer.actor);
this._grabHelper.addActor(this.actor);
if (Main.panel.statusArea.activities)
@ -1507,10 +1518,20 @@ const MessageTray = new Lang.Class({
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
global.display.add_keybinding('toggle-message-tray',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Lang.bind(this, this.toggleAndNavigate));
Main.wm.addKeybinding('toggle-message-tray',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.MESSAGE_TRAY |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this.toggleAndNavigate));
Main.wm.addKeybinding('focus-active-notification',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.MESSAGE_TRAY |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._expandActiveNotification));
this._summaryItems = [];
this._chatSummaryItemsCount = 0;
@ -1586,7 +1607,19 @@ const MessageTray = new Lang.Class({
return false;
},
_onCloseClicked: function() {
_onNotificationKeyRelease: function(actor, event) {
let ignoredModifiers = global.display.get_ignored_modifier_mask();
let modifierState = event.get_state() & ~ignoredModifiers;
if (event.get_key_symbol() == Clutter.KEY_Escape && modifierState == 0) {
this._closeNotification();
return true;
}
return false;
},
_closeNotification: function() {
if (this._notificationState == State.SHOWN) {
this._closeButton.hide();
this._notificationClosed = true;
@ -1946,8 +1979,9 @@ const MessageTray = new Lang.Class({
// Notifications
let notificationQueue = this._notificationQueue;
let notificationUrgent = notificationQueue.length > 0 && notificationQueue[0].urgency == Urgency.CRITICAL;
let notificationForFeedback = notificationQueue.length > 0 && notificationQueue[0].forFeedback;
let notificationsLimited = this._busy || this._inFullscreen;
let notificationsPending = notificationQueue.length > 0 && (!notificationsLimited || notificationUrgent) && Main.sessionMode.hasNotifications;
let notificationsPending = notificationQueue.length > 0 && (!notificationsLimited || notificationUrgent || notificationForFeedback) && Main.sessionMode.hasNotifications;
let nextNotification = notificationQueue.length > 0 ? notificationQueue[0] : null;
let notificationPinned = this._pointerInTray && !this._pointerInSummary && !this._notificationRemoved;
let notificationExpanded = this._notification && this._notification.expanded;
@ -2051,8 +2085,6 @@ const MessageTray = new Lang.Class({
params.onCompleteScope = this;
params.onCompleteParams = [statevar, value, onComplete, onCompleteScope, onCompleteParams];
// Remove other tweens that could mess with the state machine
Tweener.removeTweens(actor);
Tweener.addTween(actor, params);
let valuing = (value == State.SHOWN) ? State.SHOWING : State.HIDING;
@ -2155,23 +2187,29 @@ const MessageTray = new Lang.Class({
});
},
_onIdleMonitorWatch: function(monitor, id, userBecameIdle) {
this.idleMonitor.remove_watch(this._idleMonitorWatchId);
this._idleMonitorWatchId = 0;
if (!userBecameIdle)
this._updateNotificationTimeout(2000);
_onIdleMonitorBecameActive: function() {
this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
this._idleMonitorBecameActiveId = 0;
this._userActiveWhileNotificationShown = true;
this._updateNotificationTimeout(2000);
this._updateState();
},
_showNotification: function() {
this._notification = this._notificationQueue.shift();
this._userActiveWhileNotificationShown = this.idleMonitor.get_idletime() <= IDLE_TIME;
this._idleMonitorWatchId = this.idleMonitor.add_watch(IDLE_TIME,
Lang.bind(this, this._onIdleMonitorWatch));
let userIdle = this.idleMonitor.get_idletime() > IDLE_TIME;
if (userIdle) {
this._userActiveWhileNotificationShown = false;
this._idleMonitorBecameActiveId = this.idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
} else {
this._userActiveWhileNotificationShown = true;
}
this._notificationClickedId = this._notification.connect('done-displaying',
Lang.bind(this, this._escapeTray));
this._notificationUnfocusedId = this._notification.connect('unfocused', Lang.bind(this, function() {
this._notification.connect('unfocused', Lang.bind(this, function() {
this._updateState();
}));
this._notificationBin.child = this._notification.actor;
@ -2200,28 +2238,40 @@ const MessageTray = new Lang.Class({
_updateShowingNotification: function() {
this._notification.acknowledged = true;
Tweener.removeTweens(this._notificationWidget);
// We auto-expand notifications with CRITICAL urgency.
if (this._notification.urgency == Urgency.CRITICAL)
// We use Tweener.removeTweens() to remove a tween that was hiding the notification we are
// updating, in case that notification was in the process of being hidden. However,
// Tweener.removeTweens() would also remove a tween that was updating the position of the
// notification we are updating, in case that notification was already expanded and its height
// changed. Therefore we need to call this._expandNotification() for expanded notifications
// to make sure their position is updated.
if (this._notification.urgency == Urgency.CRITICAL || this._notification.expanded)
this._expandNotification(true);
// We tween all notifications to full opacity. This ensures that both new notifications and
// notifications that might have been in the process of hiding get full opacity.
//
// We tween any notification showing in the banner mode to the appropriate height
// (which is banner height or expanded height, depending on the notification state)
// We tween any notification showing in the banner mode to banner height
// (this._notificationWidget.y = -this._notificationWidget.height).
// This ensures that both new notifications and notifications in the banner mode that might
// have been in the process of hiding are shown with the correct height.
// have been in the process of hiding are shown with the banner height.
//
// We use this._showNotificationCompleted() onComplete callback to extend the time the updated
// notification is being shown.
//
// We don't set the y parameter for the tween for expanded notifications because
// this._expandNotification() will result in getting this._notificationWidget.y set to the appropriate
// fully expanded value.
let tweenParams = { opacity: 255,
y: -this._notificationWidget.height,
time: ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._showNotificationCompleted,
onCompleteScope: this
};
if (!this._notification.expanded)
tweenParams.y = -this._notificationWidget.height;
this._tween(this._notificationWidget, '_notificationState', State.SHOWN, tweenParams);
},
@ -2281,6 +2331,11 @@ const MessageTray = new Lang.Class({
this._grabHelper.ungrab({ actor: this._notification.actor });
if (this._idleMonitorBecameActiveId) {
this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
this._idleMonitorBecameActiveId = 0;
}
if (this._notificationExpandedId) {
this._notification.disconnect(this._notificationExpandedId);
this._notificationExpandedId = 0;
@ -2305,22 +2360,26 @@ const MessageTray = new Lang.Class({
},
_hideNotificationCompleted: function() {
this._notification.collapseCompleted();
this._notification.disconnect(this._notificationClickedId);
this._notificationClickedId = 0;
this._notification.disconnect(this._notificationUnfocusedId);
this._notificationUnfocusedId = 0;
let notification = this._notification;
this._notification = null;
if (notification.isTransient)
notification.destroy(NotificationDestroyedReason.EXPIRED);
this._notificationRemoved = false;
this._notificationWidget.hide();
this._closeButton.hide();
this._pointerInTray = false;
this.actor.hover = false; // Clutter doesn't emit notify::hover when actors move
this._notificationBin.child = null;
this._notificationWidget.hide();
this._notification.collapseCompleted();
this._notification.disconnect(this._notificationClickedId);
this._notificationClickedId = 0;
let notification = this._notification;
this._notification = null;
if (notification.isTransient)
notification.destroy(NotificationDestroyedReason.EXPIRED);
},
_expandActiveNotification: function() {
if (!this._notification)
return;
this._expandNotification(false);
},
_expandNotification: function(autoExpanding) {

View File

@ -20,7 +20,6 @@ const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const OPEN_AND_CLOSE_TIME = 0.1;
const FADE_IN_BUTTONS_TIME = 0.33;
const FADE_OUT_DIALOG_TIME = 1.0;
const State = {
@ -38,10 +37,12 @@ const ModalDialog = new Lang.Class({
params = Params.parse(params, { shellReactive: false,
styleClass: null,
parentActor: Main.uiGroup,
keybindingMode: Main.KeybindingMode.SYSTEM_MODAL,
shouldFadeIn: true });
this.state = State.CLOSED;
this._hasModal = false;
this._keybindingMode = params.keybindingMode;
this._shellReactive = params.shellReactive;
this._shouldFadeIn = params.shouldFadeIn;
@ -117,8 +118,6 @@ const ModalDialog = new Lang.Class({
},
setButtons: function(buttons) {
let hadChildren = this._buttonLayout.get_children() > 0;
this._buttonLayout.destroy_all_children();
this._actionKeys = {};
@ -169,21 +168,7 @@ const ModalDialog = new Lang.Class({
this._actionKeys[key] = action;
}
// Fade in buttons if there weren't any before
if (!hadChildren && buttons.length > 0) {
this._buttonLayout.opacity = 0;
Tweener.addTween(this._buttonLayout,
{ opacity: 255,
time: FADE_IN_BUTTONS_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, function() {
this.emit('buttons-set');
})
});
} else {
this.emit('buttons-set');
}
this.emit('buttons-set');
},
_onKeyReleaseEvent: function(object, event) {
@ -243,7 +228,7 @@ const ModalDialog = new Lang.Class({
if (this.state == State.OPENED || this.state == State.OPENING)
return true;
if (!this.pushModal(timestamp))
if (!this.pushModal({ timestamp: timestamp }))
return false;
this._fadeOpen(onPrimary);
@ -293,7 +278,8 @@ const ModalDialog = new Lang.Class({
pushModal: function (timestamp) {
if (this._hasModal)
return true;
if (!Main.pushModal(this._group, timestamp))
if (!Main.pushModal(this._group, { timestamp: timestamp,
keybindingMode: this._keybindingMode }))
return false;
this._hasModal = true;

View File

@ -356,12 +356,10 @@ const NotificationDaemon = new Lang.Class({
ndata.actions, ndata.hints, ndata.notification];
let gicon = this._iconForNotificationData(icon, hints);
let iconActor = new St.Icon({ gicon: gicon,
icon_size: MessageTray.NOTIFICATION_ICON_SIZE });
if (notification == null) {
notification = new MessageTray.Notification(source, summary, body,
{ icon: iconActor,
{ gicon: gicon,
bannerMarkup: true });
ndata.notification = notification;
notification.connect('destroy', Lang.bind(this,
@ -386,7 +384,7 @@ const NotificationDaemon = new Lang.Class({
this._emitActionInvoked(ndata.id, actionId);
}));
} else {
notification.update(summary, body, { icon: iconActor,
notification.update(summary, body, { gicon: gicon,
bannerMarkup: true,
clear: true });
}

View File

@ -23,11 +23,29 @@ const WorkspaceThumbnail = imports.ui.workspaceThumbnail;
// Time for initial animation going into Overview mode
const ANIMATION_TIME = 0.25;
// We split the screen vertically between the dash and the view selector.
const DASH_SPLIT_FRACTION = 0.1;
// XXX -- grab this automatically. Hard to do.
const DASH_MAX_WIDTH = 96;
const DND_WINDOW_SWITCH_TIMEOUT = 1250;
const GLSL_DIM_EFFECT_DECLARATIONS = '';
const GLSL_DIM_EFFECT_CODE = '\
vec2 dist = cogl_tex_coord_in[0].xy - vec2(0.5, 0.5); \
float elipse_radius = 0.5; \
/* from https://bugzilla.gnome.org/show_bug.cgi?id=669798: \
the alpha on the gradient goes from 165 at its darkest to 98 at its most transparent. */ \
float y = 165.0 / 255.0; \
float x = 98.0 / 255.0; \
/* interpolate darkening value, based on distance from screen center */ \
float val = min(length(dist), elipse_radius); \
float a = mix(x, y, val / elipse_radius); \
/* dim_factor varies from [1.0 -> 0.5] when overview is showing \
We use it to smooth value, then we clamp it to valid color interval */ \
a = clamp(a - cogl_color_in.r + 0.5, 0.0, 1.0); \
/* We\'re blending between: color and black color (obviously omitted in the equation) */ \
cogl_color_out.xyz = cogl_color_out.xyz * (1.0 - a); \
cogl_color_out.a = 1.0;';
const SwipeScrollDirection = {
NONE: 0,
HORIZONTAL: 1,
@ -57,7 +75,14 @@ const ShellInfo = new Lang.Class({
this._source.destroy();
},
setMessage: function(text, undoCallback, undoLabel) {
setMessage: function(text, options) {
options = Params.parse(options, { undoCallback: null,
forFeedback: false
});
let undoCallback = options.undoCallback;
let forFeedback = options.forFeedback;
if (this._source == null) {
this._source = new MessageTray.SystemNotificationSource();
this._source.connect('destroy', Lang.bind(this,
@ -71,6 +96,7 @@ const ShellInfo = new Lang.Class({
if (this._source.notifications.length == 0) {
notification = new MessageTray.Notification(this._source, text, null);
notification.setTransient(true);
notification.setForFeedback(forFeedback);
} else {
notification = this._source.notifications[0];
notification.update(text, null, { clear: true });
@ -78,10 +104,8 @@ const ShellInfo = new Lang.Class({
this._undoCallback = undoCallback;
if (undoCallback) {
notification.addButton('system-undo',
undoLabel ? undoLabel : _("Undo"));
notification.connect('action-invoked',
Lang.bind(this, this._onUndoClicked));
notification.addButton('system-undo', _("Undo"));
notification.connect('action-invoked', Lang.bind(this, this._onUndoClicked));
}
this._source.notify(notification);
@ -113,6 +137,10 @@ const Overview = new Lang.Class({
// scenes which allows us to show the background with different
// rendering options without duplicating the texture data.
this._background = Meta.BackgroundActor.new_for_screen(global.screen);
this._background.add_glsl_snippet(Meta.SnippetHook.FRAGMENT,
GLSL_DIM_EFFECT_DECLARATIONS,
GLSL_DIM_EFFECT_CODE,
false);
this._background.hide();
global.overlay_group.add_actor(this._background);
@ -233,11 +261,16 @@ const Overview = new Lang.Class({
this._viewSelector.removeSearchProvider(provider);
},
setMessage: function(text, undoCallback, undoLabel) {
//
// options:
// - undoCallback (function): the callback to be called if undo support is needed
// - forFeedback (boolean): whether the message is for direct feedback of a user action
//
setMessage: function(text, options) {
if (this.isDummy)
return;
this._shellInfo.setMessage(text, undoCallback, undoLabel);
this._shellInfo.setMessage(text, options);
},
_onDragBegin: function() {
@ -502,7 +535,7 @@ const Overview = new Lang.Class({
let searchX = (primary.width - searchWidth) / 2;
let searchY = contentY + this._spacing;
let dashWidth = Math.round(DASH_SPLIT_FRACTION * primary.width);
let dashWidth = DASH_MAX_WIDTH;
let dashY = searchY + searchHeight + this._spacing;
let dashX;
if (rtl) {
@ -558,7 +591,7 @@ const Overview = new Lang.Class({
if (this._shown)
return;
// Do this manually instead of using _syncInputMode, to handle failure
if (!Main.pushModal(this._group))
if (!Main.pushModal(this._group, { keybindingMode: Main.KeybindingMode.OVERVIEW }))
return;
this._modal = true;
this._animateVisible();
@ -622,7 +655,7 @@ const Overview = new Lang.Class({
});
Tweener.addTween(this._background,
{ dim_factor: 0.4,
{ dim_factor: 0.8,
time: ANIMATION_TIME,
transition: 'easeOutQuad'
});
@ -709,7 +742,8 @@ const Overview = new Lang.Class({
if (this._shown) {
if (!this._modal) {
if (Main.pushModal(this._group))
if (Main.pushModal(this._group,
{ keybindingMode: Main.KeybindingMode.OVERVIEW }))
this._modal = true;
else
this.hide();

View File

@ -82,26 +82,34 @@ const AnimatedIcon = new Lang.Class({
_init: function(name, size) {
this.actor = new St.Bin({ visible: false });
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.connect('notify::visible', Lang.bind(this, this._onVisibleNotify));
this._isLoaded = false;
this._isPlaying = false;
this._timeoutId = 0;
this._frame = 0;
this._animations = St.TextureCache.get_default().load_sliced_image (global.datadir + '/theme/' + name, size, size);
this._animations = St.TextureCache.get_default().load_sliced_image (global.datadir + '/theme/' + name, size, size,
Lang.bind(this, this._animationsLoaded));
this.actor.set_child(this._animations);
},
_disconnectTimeout: function() {
play: function() {
if (this._isLoaded && this._timeoutId == 0) {
if (this._frame == 0)
this._showFrame(0);
this._timeoutId = Mainloop.timeout_add(ANIMATED_ICON_UPDATE_TIMEOUT, Lang.bind(this, this._update));
}
this._isPlaying = true;
},
stop: function() {
if (this._timeoutId > 0) {
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
},
_onVisibleNotify: function() {
if (this.actor.visible)
this._timeoutId = Mainloop.timeout_add(ANIMATED_ICON_UPDATE_TIMEOUT, Lang.bind(this, this._update));
else
this._disconnectTimeout();
this._isPlaying = false;
},
_showFrame: function(frame) {
@ -121,8 +129,17 @@ const AnimatedIcon = new Lang.Class({
return true;
},
_animationsLoaded: function() {
this._isLoaded = true;
if (this._isPlaying) {
this._showFrame(0);
this._timeoutId = Mainloop.timeout_add(ANIMATED_ICON_UPDATE_TIMEOUT, Lang.bind(this, this._update));
}
},
_onDestroy: function() {
this._disconnectTimeout();
this.stop();
}
});
@ -247,6 +264,10 @@ const AppMenuButton = new Lang.Class({
this._container.connect('get-preferred-height', Lang.bind(this, this._getContentPreferredHeight));
this._container.connect('allocate', Lang.bind(this, this._contentAllocate));
let textureCache = St.TextureCache.get_default();
textureCache.connect('icon-theme-changed',
Lang.bind(this, this._onIconThemeChanged));
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
this._iconBox.connect('style-changed',
Lang.bind(this, this._onIconBoxStyleChanged));
@ -332,6 +353,15 @@ const AppMenuButton = new Lang.Class({
this._updateIconBoxClip();
},
_onIconThemeChanged: function() {
if (this._iconBox.child == null)
return;
this._iconBox.child.destroy();
let icon = this._targetApp.get_faded_icon(2 * PANEL_ICON_SIZE);
this._iconBox.set_child(icon);
},
_updateIconBoxClip: function() {
let allocation = this._iconBox.allocation;
if (this._iconBottomClip > 0)
@ -354,6 +384,7 @@ const AppMenuButton = new Lang.Class({
transition: "easeOutQuad",
onCompleteScope: this,
onComplete: function() {
this._spinner.stop();
this._spinner.actor.opacity = 255;
this._spinner.actor.hide();
}
@ -363,6 +394,7 @@ const AppMenuButton = new Lang.Class({
startAnimation: function() {
this._stop = false;
this.actor.reactive = false;
this._spinner.play();
this._spinner.actor.show();
},
@ -901,6 +933,7 @@ const PANEL_ITEM_IMPLEMENTATIONS = {
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
'lockScreen': imports.ui.status.lockScreenMenu.Indicator,
'logo': imports.gdm.loginDialog.LogoMenuButton,
'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
'powerMenu': imports.gdm.powerMenu.PowerMenuButton,
'userMenu': imports.ui.userMenu.UserMenuButton

View File

@ -2,6 +2,7 @@
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const GnomeDesktop = imports.gi.GnomeDesktop;
const Shell = imports.gi.Shell;
// We stop polling if the user is idle for more than this amount of time
@ -40,9 +41,9 @@ const PointerWatcher = new Lang.Class({
Name: 'PointerWatcher',
_init: function() {
let idleMonitor = Shell.IdleMonitor.get();
idleMonitor.add_watch(IDLE_TIME,
Lang.bind(this, this._onIdleMonitorWatch));
let idleMonitor = new GnomeDesktop.IdleMonitor();
idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
this._idle = idleMonitor.get_idletime() > IDLE_TIME;
this._watches = [];
this.pointerX = null;
@ -78,11 +79,14 @@ const PointerWatcher = new Lang.Class({
}
},
_onIdleMonitorWatch: function(monitor, id, userBecameIdle) {
this._idle = userBecameIdle;
if (!userBecameIdle)
this._updatePointer();
_onIdleMonitorBecameActive: function(monitor) {
this._idle = false;
this._updatePointer();
this._updateTimeout();
},
_onIdleMonitorBecameIdle: function(monitor) {
this._idle = true;
this._updateTimeout();
},

View File

@ -31,20 +31,37 @@ const SearchProviderIface = <interface name="org.gnome.Shell.SearchProvider">
var SearchProviderProxy = Gio.DBusProxy.makeProxyWrapper(SearchProviderIface);
function loadRemoteSearchProviders(addProviderCallback) {
let loadState = { loadedProviders: [],
objectPaths: {},
numLoading: 0,
addProviderCallback: addProviderCallback };
let dataDirs = GLib.get_system_data_dirs();
let loadedProviders = {};
for (let i = 0; i < dataDirs.length; i++) {
let path = GLib.build_filenamev([dataDirs[i], 'gnome-shell', 'search-providers']);
let dir = Gio.file_new_for_path(path);
if (!dir.query_exists(null))
continue;
loadRemoteSearchProvidersFromDir(dir, loadedProviders, addProviderCallback);
dir.query_info_async('standard:type', Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_DEFAULT, null,
function(object, res) {
let exists = false;
try {
object.query_info_finish(res);
exists = true;
} catch (e) {
}
if (!exists)
return;
loadState.numLoading++;
loadRemoteSearchProvidersFromDir(dir, loadState);
});
}
};
function loadRemoteSearchProvidersFromDir(dir, loadedProviders, addProviderCallback) {
function loadRemoteSearchProvidersFromDir(dir, loadState) {
let dirPath = dir.get_path();
FileUtils.listDirAsync(dir, Lang.bind(this, function(files) {
for (let i = 0; i < files.length; i++) {
@ -60,13 +77,13 @@ function loadRemoteSearchProvidersFromDir(dir, loadedProviders, addProviderCallb
if (!keyfile.has_group(KEY_FILE_GROUP))
continue;
let remoteProvider, title;
let remoteProvider;
try {
let group = KEY_FILE_GROUP;
let busName = keyfile.get_string(group, 'BusName');
let objectPath = keyfile.get_string(group, 'ObjectPath');
if (loadedProviders[objectPath])
if (loadState.objectPaths[objectPath])
continue;
let appInfo = null;
@ -74,46 +91,93 @@ function loadRemoteSearchProvidersFromDir(dir, loadedProviders, addProviderCallb
let desktopId = keyfile.get_string(group, 'DesktopId');
appInfo = Gio.DesktopAppInfo.new(desktopId);
} catch (e) {
log('Ignoring search provider ' + path + ': missing DesktopId');
continue;
}
let icon;
if (appInfo) {
icon = appInfo.get_icon();
title = appInfo.get_name();
} else {
let iconName = keyfile.get_string(group, 'Icon');
icon = new Gio.ThemedIcon({ name: iconName });
title = keyfile.get_locale_string(group, 'Title', null);
}
remoteProvider = new RemoteSearchProvider(title,
icon,
remoteProvider = new RemoteSearchProvider(appInfo,
busName,
objectPath);
loadedProviders[objectPath] = remoteProvider;
loadState.objectPaths[objectPath] = remoteProvider;
loadState.loadedProviders.push(remoteProvider);
} catch(e) {
log('Failed to add search provider "%s": %s'.format(title, e.toString()));
log('Failed to add search provider %s: %s'.format(path, e.toString()));
continue;
}
addProviderCallback(remoteProvider);
}
remoteProvidersDirLoaded(loadState);
}));
};
function remoteProvidersDirLoaded(loadState) {
loadState.numLoading--;
if (loadState.numLoading > 0)
return;
let searchSettings = new Gio.Settings({ schema: Search.SEARCH_PROVIDERS_SCHEMA });
let sortOrder = searchSettings.get_strv('sort-order');
let numSorted = sortOrder.length;
loadState.loadedProviders.sort(
function(providerA, providerB) {
let idxA, idxB;
let appIdA, appIdB;
appIdA = providerA.appInfo.get_id();
appIdB = providerB.appInfo.get_id();
idxA = sortOrder.indexOf(appIdA);
idxB = sortOrder.indexOf(appIdB);
// if no provider is found in the order, use alphabetical order
if ((idxA == -1) && (idxB == -1))
return GLib.utf8_collate(providerA.title, providerB.title);
if (numSorted > 1) {
// if providerA is the last, it goes after everything
if ((idxA + 1) == numSorted)
return 1;
// if providerB is the last, it goes after everything
else if ((idxB + 1) == numSorted)
return -1;
}
// if providerA isn't found, it's sorted after providerB
if (idxA == -1)
return 1;
// if providerB isn't found, it's sorted after providerA
if (idxB == -1)
return -1;
// finally, if both providers are found, return their order in the list
return (idxA - idxB);
});
loadState.loadedProviders.forEach(
function(provider) {
loadState.addProviderCallback(provider);
});
}
const RemoteSearchProvider = new Lang.Class({
Name: 'RemoteSearchProvider',
Extends: Search.SearchProvider,
_init: function(title, icon, dbusName, dbusPath) {
_init: function(appInfo, dbusName, dbusPath) {
this._proxy = new SearchProviderProxy(Gio.DBus.session,
dbusName, dbusPath);
dbusName, dbusPath, Lang.bind(this, this._onProxyConstructed));
this.parent(title.toUpperCase());
this.parent(appInfo.get_name().toUpperCase(), appInfo, true);
this._cancellable = new Gio.Cancellable();
},
_onProxyConstructed: function(proxy) {
// Do nothing
},
createIcon: function(size, meta) {
if (meta['gicon']) {
return new St.Icon({ gicon: Gio.icon_new_for_string(meta['gicon']),

View File

@ -202,11 +202,12 @@ const RunDialog = new Lang.Class({
let label = new St.Label({ style_class: 'run-dialog-label',
text: _("Please enter a command:") });
text: _("Enter a Command") });
this.contentLayout.add(label, { y_align: St.Align.START });
let entry = new St.Entry({ style_class: 'run-dialog-entry' });
let entry = new St.Entry({ style_class: 'run-dialog-entry',
can_focus: true });
ShellEntry.addContextMenu(entry);
entry.label_actor = label;
@ -236,6 +237,10 @@ const RunDialog = new Lang.Class({
this._errorBox.hide();
this.setButtons([{ action: Lang.bind(this, this.close),
label: _("Close"),
key: Clutter.Escape }]);
this._pathCompleter = new Gio.FilenameCompleter();
this._commandCompleter = new CommandCompleter();
this._group.connect('notify::visible', Lang.bind(this._commandCompleter, this._commandCompleter.update));
@ -246,20 +251,12 @@ const RunDialog = new Lang.Class({
let symbol = e.get_key_symbol();
if (symbol == Clutter.Return || symbol == Clutter.KP_Enter) {
this.popModal();
if (e.get_state() & Clutter.ModifierType.CONTROL_MASK)
this._run(o.get_text(), true);
else
this._run(o.get_text(), false);
if (!this._commandError)
this._run(o.get_text(),
e.get_state() & Clutter.ModifierType.CONTROL_MASK);
if (!this._commandError ||
!this.pushModal())
this.close();
else {
if (!this.pushModal())
this.close();
}
return true;
}
if (symbol == Clutter.Escape) {
this.close();
return true;
}
if (symbol == Clutter.slash) {

View File

@ -9,7 +9,6 @@ const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Signals = imports.signals;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const TweenerEquations = imports.tweener.equations;
@ -26,7 +25,6 @@ const Util = imports.misc.util;
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
const LOCK_ENABLED_KEY = 'lock-enabled';
const LOCK_DELAY_KEY = 'lock-delay';
const CURTAIN_SLIDE_TIME = 0.3;
// fraction of screen height the arrow must reach before completing
@ -51,6 +49,38 @@ const SUMMARY_ICON_SIZE = 48;
const STANDARD_FADE_TIME = 10;
const SHORT_FADE_TIME = 0.3;
function sample(offx, offy) {
return 'texel += texture2D (sampler, tex_coord.st + pixel_step * ' +
'vec2 (' + offx + ',' + offy + '));\n'
}
const GLSL_BLUR_EFFECT_DECLARATIONS = ' \
uniform vec2 pixel_step;\n \
uniform float desaturation;\n \
vec4 apply_blur(in sampler2D sampler, in vec2 tex_coord) {\n \
vec4 texel;\n \
texel = texture2D (sampler, tex_coord.st);\n'
+ sample(-1.0, -1.0)
+ sample( 0.0, -1.0)
+ sample(+1.0, -1.0)
+ sample(-1.0, 0.0)
+ sample(+1.0, 0.0)
+ sample(-1.0, +1.0)
+ sample( 0.0, +1.0)
+ sample(+1.0, +1.0) + ' \
texel /= 9.0;\n \
return texel;\n \
}\n \
vec3 desaturate (const vec3 color)\n \
{\n \
const vec3 gray_conv = vec3 (0.299, 0.587, 0.114);\n \
vec3 gray = vec3 (dot (gray_conv, color));\n \
return vec3 (mix (color.rgb, gray, desaturation));\n \
}';
const GLSL_BLUR_EFFECT_CODE = ' \
cogl_texel = apply_blur(cogl_sampler, cogl_tex_coord.st);\n \
cogl_texel.rgb = desaturate(cogl_texel.rgb);\n';
const Clock = new Lang.Class({
Name: 'ScreenShieldClock',
@ -337,6 +367,10 @@ const Arrow = new Lang.Class({
}
});
function clamp(value, min, max) {
return Math.max(min, Math.min(max, value));
}
/**
* To test screen shield, make sure to kill gnome-screensaver.
*
@ -364,13 +398,25 @@ const ScreenShield = new Lang.Class({
Lang.bind(this, this._onLockScreenKeyRelease));
this._lockScreenGroup.connect('scroll-event',
Lang.bind(this, this._onLockScreenScroll));
Main.ctrlAltTabManager.addGroup(this._lockScreenGroup, _("Lock"), 'changes-prevent-symbolic');
this._lockScreenContents = new St.Widget({ layout_manager: new Clutter.BinLayout(),
name: 'lockScreenContents' });
this._lockScreenContents.add_constraint(new Layout.MonitorConstraint({ primary: true }));
let backgroundActor = Meta.BackgroundActor.new_for_screen(global.screen);
backgroundActor.add_glsl_snippet(Meta.SnippetHook.TEXTURE_LOOKUP,
GLSL_BLUR_EFFECT_DECLARATIONS,
GLSL_BLUR_EFFECT_CODE,
true);
backgroundActor.set_uniform_float('desaturation',
1, 1, [0.6]);
backgroundActor.connect('notify::size', function(actor) {
actor.set_uniform_float('pixel_step', 2, 1, [1/actor.width, 1/actor.height]);
});
this._background = new St.Bin({ style_class: 'screen-shield-background',
child: Meta.BackgroundActor.new_for_screen(global.screen) });
child: backgroundActor });
this._lockScreenGroup.add_actor(this._background);
this._lockScreenGroup.add_actor(this._lockScreenContents);
@ -389,14 +435,11 @@ const ScreenShield = new Lang.Class({
}
this._lockScreenContents.add_actor(this._arrowContainer);
let dragArea = new Clutter.Rect({ origin: new Clutter.Point({ x: 0, y: -global.screen_height, }),
size: new Clutter.Size({ width: global.screen_width,
height: global.screen_height }) });
let action = new Clutter.DragAction({ drag_axis: Clutter.DragAxis.Y_AXIS,
drag_area: dragArea });
action.connect('drag-begin', Lang.bind(this, this._onDragBegin));
action.connect('drag-end', Lang.bind(this, this._onDragEnd));
this._lockScreenGroup.add_action(action);
this._dragAction = new Clutter.GestureAction();
this._dragAction.connect('gesture-begin', Lang.bind(this, this._onDragBegin));
this._dragAction.connect('gesture-progress', Lang.bind(this, this._onDragMotion));
this._dragAction.connect('gesture-end', Lang.bind(this, this._onDragEnd));
this._lockScreenGroup.add_action(this._dragAction);
this._lockDialogGroup = new St.Widget({ x_expand: true,
y_expand: true,
@ -439,21 +482,7 @@ const ScreenShield = new Lang.Class({
fadeInTime: STANDARD_FADE_TIME,
fadeFactor: 1 });
this.idleMonitor = Shell.IdleMonitor.get();
},
_becomeModal: function() {
if (this._isModal)
return true;
this._isModal = Main.pushModal(this.actor);
if (this._isModal)
return true;
// We failed to get a pointer grab, it means that
// something else has it. Try with a keyboard grab only
this._isModal = Main.pushModal(this.actor, { options: Meta.ModalOptions.POINTER_ALREADY_GRABBED });
return this._isModal;
this.idleMonitor = new GnomeDesktop.IdleMonitor();
},
_onLockScreenKeyRelease: function(actor, event) {
@ -473,8 +502,8 @@ const ScreenShield = new Lang.Class({
if (symbol == Clutter.KEY_Escape ||
symbol == Clutter.KEY_Return ||
symbol == Clutter.KEY_KP_Enter) {
this._ensureUnlockDialog(true, true);
this._hideLockScreen(true);
this._ensureUnlockDialog(true);
this._hideLockScreen(true, 0);
return true;
}
@ -496,8 +525,8 @@ const ScreenShield = new Lang.Class({
// 7 standard scrolls to lift up
if (this._lockScreenScrollCounter > 35) {
this._ensureUnlockDialog(false, true);
this._hideLockScreen(true);
this._ensureUnlockDialog(false);
this._hideLockScreen(true, 0);
}
return true;
@ -528,14 +557,28 @@ const ScreenShield = new Lang.Class({
_onDragBegin: function() {
Tweener.removeTweens(this._lockScreenGroup);
this._lockScreenState = MessageTray.State.HIDING;
this._ensureUnlockDialog(false, false);
this._ensureUnlockDialog(false);
return true;
},
_onDragMotion: function() {
let [origX, origY] = this._dragAction.get_press_coords(0);
let [currentX, currentY] = this._dragAction.get_motion_coords(0);
let newY = currentY - origY;
newY = clamp(newY, -global.stage.height, 0);
this._lockScreenGroup.y = newY;
return true;
},
_onDragEnd: function(action, actor, eventX, eventY, modifiers) {
if (this._lockScreenGroup.y < -(ARROW_DRAG_THRESHOLD * global.stage.height)) {
// Complete motion automatically
this._hideLockScreen(true);
this._ensureUnlockDialog(false, true);
let [velocity, velocityX, velocityY] = this._dragAction.get_velocity(0);
this._hideLockScreen(true, -velocityY);
} else {
// restore the lock screen to its original place
// try to use the same speed as the normal animation
@ -574,17 +617,9 @@ const ScreenShield = new Lang.Class({
}
}
if (!this._becomeModal()) {
// We could not become modal, so we can't activate the
// screenshield. The user is probably very upset at this
// point, but any application using global grabs is broken
// Just tell him to stop using this app
//
// XXX: another option is to kick the user into the gdm login
// screen, where we're not affected by grabs
Main.notifyError("Unable to lock",
"Lock was blocked by an application");
return;
if (!this._isModal) {
Main.pushModal(this.actor, { keybindingMode: Main.KeybindingMode.LOCK_SCREEN });
this._isModal = true;
}
if (!this._isActive) {
@ -593,23 +628,13 @@ const ScreenShield = new Lang.Class({
if (this._activationTime == 0)
this._activationTime = GLib.get_monotonic_time();
// What we want is a negative transition to 0, so we install a watch for
// 1 second and trigger it if the idle_time becomes lower than that
// The correct fix will come in GNOME 3.8 with GnomeDesktop.IdleMonitor
this._becameActiveId = this.idleMonitor.add_watch(1000, Lang.bind(this, function() {
if (this.idleMonitor.get_idletime() >= 1000)
return;
this.idleMonitor.remove_watch(this._becameActiveId);
this._becameActiveId = this.idleMonitor.connect('became-active', Lang.bind(this, function() {
this.idleMonitor.disconnect(this._becameActiveId);
let lightboxWasShown = this._lightbox.shown;
this._lightbox.hide();
// GLib.get_monotonic_time() returns microseconds, convert to seconds
let elapsedTime = (GLib.get_monotonic_time() - this._activationTime) / 1000000;
let shouldLock = lightboxWasShown &&
this._settings.get_boolean(LOCK_ENABLED_KEY) &&
(elapsedTime >= this._settings.get_uint(LOCK_DELAY_KEY));
let shouldLock = lightboxWasShown && this._settings.get_boolean(LOCK_ENABLED_KEY);
if (shouldLock || this._isLocked) {
this.lock(false);
} else if (this._isActive) {
@ -626,10 +651,9 @@ const ScreenShield = new Lang.Class({
// Ensure that the stage window is mapped, before taking a grab
// otherwise X errors out
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
if (!this._becomeModal()) {
// In the login screen, this is a hard error. Fail-whale
log('Could not acquire modal grab for the login screen. Aborting login process.');
Meta.quit(Meta.ExitCode.ERROR);
if (!this._isModal) {
Main.pushModal(this.actor);
this._isModal = true;
}
return false;
@ -637,8 +661,8 @@ const ScreenShield = new Lang.Class({
this.actor.show();
this._isGreeter = Main.sessionMode.isGreeter;
this._ensureUnlockDialog(true, true);
this._hideLockScreen(false);
this._ensureUnlockDialog(true);
this._hideLockScreen(false, 0);
},
_bumpLockScreen: function() {
@ -656,14 +680,21 @@ const ScreenShield = new Lang.Class({
});
},
_hideLockScreen: function(animate) {
_hideLockScreen: function(animate, velocity) {
this._lockScreenState = MessageTray.State.HIDING;
if (animate) {
// Tween the lock screen out of screen
// try to use the same speed regardless of original position
// if velocity is not specified (i.e. we come here from pressing ESC),
// use the same speed regardless of original position
// if velocity is specified, it's in pixels per milliseconds
let h = global.stage.height;
let time = CURTAIN_SLIDE_TIME * (h + this._lockScreenGroup.y) / h;
let delta = (h + this._lockScreenGroup.y);
let min_velocity = global.stage.height / (CURTAIN_SLIDE_TIME * 1000);
velocity = Math.max(min_velocity, velocity);
let time = (delta / velocity) / 1000;
Tweener.removeTweens(this._lockScreenGroup);
Tweener.addTween(this._lockScreenGroup,
{ y: -h,
@ -680,11 +711,13 @@ const ScreenShield = new Lang.Class({
this._lockScreenGroup.hide();
}
global.stage.show_cursor();
if (Main.sessionMode.currentMode == 'lock-screen')
Main.sessionMode.popMode('lock-screen');
},
_ensureUnlockDialog: function(onPrimary, allowCancel) {
_ensureUnlockDialog: function(onPrimary) {
if (!this._dialog) {
let constructor = Main.sessionMode.unlockDialog;
if (!constructor) {
@ -707,8 +740,6 @@ const ScreenShield = new Lang.Class({
this._dialog.connect('failed', Lang.bind(this, this._onUnlockFailed));
this._dialog.connect('unlocked', Lang.bind(this, this._onUnlockSucceded));
}
this._dialog.allowCancel = allowCancel;
},
_onUnlockFailed: function() {
@ -772,6 +803,16 @@ const ScreenShield = new Lang.Class({
this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows));
this._animateArrows();
let motionId = global.stage.connect('captured-event', function(stage, event) {
if (event.type() == Clutter.EventType.MOTION) {
global.stage.show_cursor();
global.stage.disconnect(motionId);
}
return false;
});
global.stage.hide_cursor();
this._lockScreenState = MessageTray.State.SHOWN;
this._lockScreenGroup.fixed_position_set = false;
this._lockScreenScrollCounter = 0;
@ -885,11 +926,9 @@ const ScreenShield = new Lang.Class({
},
lock: function(animate) {
// Warn the user if we can't become modal
if (!this._becomeModal()) {
Main.notifyError("Unable to lock",
"Lock was blocked by an application");
return;
if (!this._isModal) {
Main.pushModal(this.actor, { keybindingMode: Main.KeybindingMode.LOCK_SCREEN });
this._isModal = true;
}
if (this._activationTime == 0)

View File

@ -10,6 +10,8 @@ const Util = imports.misc.util;
const FileUtils = imports.misc.fileUtils;
const Main = imports.ui.main;
const SEARCH_PROVIDERS_SCHEMA = 'org.gnome.desktop.search-providers';
// Not currently referenced by the search API, but
// this enumeration can be useful for provider
// implementations.
@ -74,9 +76,11 @@ const SearchResultDisplay = new Lang.Class({
const SearchProvider = new Lang.Class({
Name: 'SearchProvider',
_init: function(title) {
_init: function(title, appInfo, isRemoteProvider) {
this.title = title;
this.appInfo = appInfo;
this.searchSystem = null;
this.isRemoteProvider = !!isRemoteProvider;
},
/**
@ -172,12 +176,16 @@ const SearchSystem = new Lang.Class({
_init: function() {
this._providers = [];
this._remoteProviders = [];
this.reset();
},
registerProvider: function (provider) {
provider.searchSystem = this;
this._providers.push(provider);
if (provider.isRemoteProvider)
this._remoteProviders.push(provider);
},
unregisterProvider: function (provider) {
@ -186,12 +194,20 @@ const SearchSystem = new Lang.Class({
return;
provider.searchSystem = null;
this._providers.splice(index, 1);
let remoteIndex = this._remoteProviders.indexOf(provider);
if (remoteIndex != -1)
this._remoteProviders.splice(index, 1);
},
getProviders: function() {
return this._providers;
},
getRemoteProviders: function() {
return this._remoteProviders;
},
getTerms: function() {
return this._previousTerms;
},

View File

@ -14,7 +14,6 @@ const _modes = {
showCalendarEvents: false,
allowSettings: false,
allowExtensions: false,
allowKeybindingsWhenModal: false,
hasRunDialog: false,
hasWorkspaces: false,
hasWindows: false,
@ -32,14 +31,13 @@ const _modes = {
},
'gdm': {
allowKeybindingsWhenModal: true,
hasNotifications: true,
isGreeter: true,
isPrimary: true,
unlockDialog: imports.gdm.loginDialog.LoginDialog,
components: ['polkitAgent'],
panel: {
left: [],
left: ['logo'],
center: ['dateMenu'],
right: ['a11y', 'display', 'keyboard',
'volume', 'battery', 'powerMenu']

View File

@ -27,6 +27,7 @@ const KEY_VISUAL_BELL = 'visual-bell';
const DESKTOP_INTERFACE_SCHEMA = 'org.gnome.desktop.interface';
const KEY_GTK_THEME = 'gtk-theme';
const KEY_ICON_THEME = 'icon-theme';
const KEY_WM_THEME = 'theme';
const KEY_TEXT_SCALING_FACTOR = 'text-scaling-factor';
const HIGH_CONTRAST_THEME = 'HighContrast';
@ -101,28 +102,35 @@ const ATIndicator = new Lang.Class({
},
_buildHCItem: function() {
let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA });
let gtkTheme = settings.get_string(KEY_GTK_THEME);
let iconTheme = settings.get_string(KEY_ICON_THEME);
let interfaceSettings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA });
let wmSettings = new Gio.Settings({ schema: WM_SCHEMA });
let gtkTheme = interfaceSettings.get_string(KEY_GTK_THEME);
let iconTheme = interfaceSettings.get_string(KEY_ICON_THEME);
let wmTheme = wmSettings.get_string(KEY_WM_THEME);
let hasHC = (gtkTheme == HIGH_CONTRAST_THEME);
let highContrast = this._buildItemExtended(
_("High Contrast"),
hasHC,
settings.is_writable(KEY_GTK_THEME) && settings.is_writable(KEY_ICON_THEME),
interfaceSettings.is_writable(KEY_GTK_THEME) &&
interfaceSettings.is_writable(KEY_ICON_THEME) &&
wmSettings.is_writable(KEY_WM_THEME),
function (enabled) {
if (enabled) {
settings.set_string(KEY_GTK_THEME, HIGH_CONTRAST_THEME);
settings.set_string(KEY_ICON_THEME, HIGH_CONTRAST_THEME);
interfaceSettings.set_string(KEY_GTK_THEME, HIGH_CONTRAST_THEME);
interfaceSettings.set_string(KEY_ICON_THEME, HIGH_CONTRAST_THEME);
wmSettings.set_string(KEY_WM_THEME, HIGH_CONTRAST_THEME);
} else if(!hasHC) {
settings.set_string(KEY_GTK_THEME, gtkTheme);
settings.set_string(KEY_ICON_THEME, iconTheme);
interfaceSettings.set_string(KEY_GTK_THEME, gtkTheme);
interfaceSettings.set_string(KEY_ICON_THEME, iconTheme);
wmSettings.set_string(KEY_WM_THEME, wmTheme);
} else {
settings.reset(KEY_GTK_THEME);
settings.reset(KEY_ICON_THEME);
interfaceSettings.reset(KEY_GTK_THEME);
interfaceSettings.reset(KEY_ICON_THEME);
wmSettings.reset(KEY_WM_THEME);
}
});
settings.connect('changed::' + KEY_GTK_THEME, function() {
let value = settings.get_string(KEY_GTK_THEME);
interfaceSettings.connect('changed::' + KEY_GTK_THEME, function() {
let value = interfaceSettings.get_string(KEY_GTK_THEME);
if (value == HIGH_CONTRAST_THEME) {
highContrast.setToggleState(true);
} else {
@ -130,11 +138,16 @@ const ATIndicator = new Lang.Class({
gtkTheme = value;
}
});
settings.connect('changed::' + KEY_ICON_THEME, function() {
let value = settings.get_string(KEY_ICON_THEME);
interfaceSettings.connect('changed::' + KEY_ICON_THEME, function() {
let value = interfaceSettings.get_string(KEY_ICON_THEME);
if (value != HIGH_CONTRAST_THEME)
iconTheme = value;
});
wmSettings.connect('changed::' + KEY_WM_THEME, function() {
let value = wmSettings.get_string(KEY_WM_THEME);
if (value != HIGH_CONTRAST_THEME)
wmTheme = value;
});
return highContrast;
},

View File

@ -239,22 +239,6 @@ const Indicator = new Lang.Class({
this._applet.send_to_address(device.bdaddr, device.alias);
}));
}
if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_FILE_TRANSFER) {
item.menu.addAction(_("Browse Files..."), Lang.bind(this, function(event) {
this._applet.browse_address(device.bdaddr, event.get_time(),
Lang.bind(this, function(applet, result) {
try {
applet.browse_address_finish(result);
} catch (e) {
this._ensureSource();
this._source.notify(new MessageTray.Notification(this._source,
_("Bluetooth"),
_("Error browsing device"),
{ body: _("The requested device cannot be browsed, error is '%s'").format(e) }));
}
}));
}));
}
switch (device.type) {
case GnomeBluetoothApplet.Type.KEYBOARD:
@ -369,6 +353,7 @@ const ConfirmNotification = new Lang.Class({
_init: function(source, applet, device_path, name, long_name, pin) {
this.parent(source,
_("Bluetooth"),
/* Translators: argument is the device short name */
_("Pairing confirmation for %s").format(name),
{ customContent: true });
this.setResident(true);
@ -378,6 +363,7 @@ const ConfirmNotification = new Lang.Class({
this.addBody(_("Device %s wants to pair with this computer").format(long_name));
this.addBody(_("Please confirm whether the PIN '%06d' matches the one on the device.").format(pin));
/* Translators: this is the verb, not the noun */
this.addButton('matches', _("Matches"));
this.addButton('does-not-match', _("Does not match"));

View File

@ -5,6 +5,7 @@ const Gio = imports.gi.Gio;
const Lang = imports.lang;
const NetworkManager = imports.gi.NetworkManager;
const NMClient = imports.gi.NMClient;
const NMGtk = imports.gi.NMGtk;
const Signals = imports.signals;
const St = imports.gi.St;
@ -139,46 +140,6 @@ const NMNetworkMenuItem = new Lang.Class({
}
});
const NMWiredSectionTitleMenuItem = new Lang.Class({
Name: 'NMWiredSectionTitleMenuItem',
Extends: PopupMenu.PopupSwitchMenuItem,
_init: function(label, params) {
params = params || { };
params.style_class = 'popup-subtitle-menu-item';
this.parent(label, false, params);
},
updateForDevice: function(device) {
if (device) {
this._device = device;
this.setStatus(device.getStatusLabel());
this.setToggleState(device.connected);
} else
this.setStatus('');
},
activate: function(event) {
this.parent(event);
if (!this._device) {
log('Section title activated when there is more than one device, should be non reactive');
return;
}
let newState = this._switch.state;
let ok;
if (newState)
ok = this._device.activate();
else
ok = this._device.deactivate();
if (!ok)
this._switch.setToggleState(false);
}
});
const NMWirelessSectionTitleMenuItem = new Lang.Class({
Name: 'NMWirelessSectionTitleMenuItem',
Extends: PopupMenu.PopupSwitchMenuItem,
@ -233,20 +194,11 @@ const NMWirelessSectionTitleMenuItem = new Lang.Class({
}
});
const NMDevice = new Lang.Class({
Name: 'NMDevice',
const NMConnectionBased = new Lang.Class({
Name: 'NMConnectionBased',
Abstract: true,
_init: function(client, device, connections) {
this.device = device;
if (device) {
this.device._delegate = this;
this._stateChangedId = this.device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
} else
this._stateChangedId = 0;
// protected
this._client = client;
_init: function(connections) {
this._connections = [ ];
for (let i = 0; i < connections.length; i++) {
if (!connections[i].get_uuid())
@ -264,26 +216,115 @@ const NMDevice = new Lang.Class({
this._connections.push(obj);
}
this._connections.sort(this._connectionSortFunction);
},
checkConnection: function(connection) {
let pos = this._findConnection(connection.get_uuid());
let exists = pos != -1;
let valid = this.connectionValid(connection);
let similar = false;
if (exists) {
let existing = this._connections[pos];
// Check if connection changed name or id
similar = existing.name == connection.get_id() &&
existing.timestamp == connection._timestamp;
}
if (exists && valid && similar) {
// Nothing to do
return;
}
if (exists)
this.removeConnection(connection);
if (valid)
this.addConnection(connection);
},
addConnection: function(connection) {
// record the connection
let obj = {
connection: connection,
name: connection.get_id(),
uuid: connection.get_uuid(),
timestamp: connection._timestamp,
item: null,
};
Util.insertSorted(this._connections, obj, this._connectionSortFunction);
this._queueCreateSection();
},
removeConnection: function(connection) {
let pos = this._findConnection(connection.get_uuid());
if (pos == -1) {
// this connection was never added, nothing to do here
return;
}
let obj = this._connections[pos];
if (obj.item)
obj.item.destroy();
this._connections.splice(pos, 1);
if (this._connections.length <= 1) {
// We need to show the automatic connection again
// (or in the case of NMDeviceWired, we want to hide
// the only explicit connection)
this._queueCreateSection();
}
},
_findConnection: function(uuid) {
for (let i = 0; i < this._connections.length; i++) {
let obj = this._connections[i];
if (obj.uuid == uuid)
return i;
}
return -1;
},
_connectionSortFunction: function(one, two) {
if (one.timestamp == two.timestamp)
return GLib.utf8_collate(one.name, two.name);
return two.timestamp - one.timestamp;
},
});
Signals.addSignalMethods(NMConnectionBased.prototype);
const NMDevice = new Lang.Class({
Name: 'NMDevice',
Abstract: true,
Extends: NMConnectionBased,
_init: function(client, device, connections) {
this.device = device;
this.device._delegate = this;
this._stateChangedId = this.device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
// protected
this._client = client;
this.parent(connections);
this._activeConnection = null;
this._activeConnectionItem = null;
this._autoConnectionItem = null;
this._overflowItem = null;
if (this.device) {
this.statusItem = new PopupMenu.PopupSwitchMenuItem(this._getDescription(), this.connected, { style_class: 'popup-subtitle-menu-item' });
this._statusChanged = this.statusItem.connect('toggled', Lang.bind(this, function(item, state) {
let ok;
if (state)
ok = this.activate();
else
ok = this.deactivate();
this.statusItem = new PopupMenu.PopupSwitchMenuItem('', this.connected, { style_class: 'popup-subtitle-menu-item' });
this._statusChanged = this.statusItem.connect('toggled', Lang.bind(this, function(item, state) {
let ok;
if (state)
ok = this.activate();
else
ok = this.deactivate();
if (!ok)
item.setToggleState(!state);
}));
if (!ok)
item.setToggleState(!state);
}));
this._updateStatusItem();
}
this._updateStatusItem();
this.section = new PopupMenu.PopupMenuSection();
this._deferredWorkId = Main.initializeDeferredWork(this.section.actor, Lang.bind(this, this._createSection));
@ -352,6 +393,10 @@ const NMDevice = new Lang.Class({
return this.device.state == NetworkManager.DeviceState.ACTIVATED;
},
clearActiveConnection: function(activeConnection) {
this.setActiveConnection(null);
},
setActiveConnection: function(activeConnection) {
if (activeConnection == this._activeConnection)
// nothing to do
@ -369,80 +414,13 @@ const NMDevice = new Lang.Class({
this._queueCreateSection();
},
checkConnection: function(connection) {
let pos = this._findConnection(connection.get_uuid());
let exists = pos != -1;
let valid = this.connectionValid(connection);
let similar = false;
if (exists) {
let existing = this._connections[pos];
// Check if connection changed name or id
similar = existing.name == connection.get_id() &&
existing.timestamp == connection._timestamp;
}
if (exists && valid && similar) {
// Nothing to do
return;
}
if (exists)
this.removeConnection(connection);
if (valid)
this.addConnection(connection);
},
addConnection: function(connection) {
// record the connection
let obj = {
connection: connection,
name: connection.get_id(),
uuid: connection.get_uuid(),
timestamp: connection._timestamp,
item: null,
};
Util.insertSorted(this._connections, obj, this._connectionSortFunction);
this._clearSection();
this._queueCreateSection();
},
removeConnection: function(connection) {
let pos = this._findConnection(connection.get_uuid());
if (pos == -1) {
// this connection was never added, nothing to do here
return;
}
let obj = this._connections[pos];
if (obj.item)
obj.item.destroy();
this._connections.splice(pos, 1);
if (this._connections.length <= 1) {
// We need to show the automatic connection again
// (or in the case of NMDeviceWired, we want to hide
// the only explicit connection)
this._clearSection();
this._queueCreateSection();
}
},
connectionValid: function(connection) {
return this.device.connection_valid(connection);
},
_connectionSortFunction: function(one, two) {
if (one.timestamp == two.timestamp)
return GLib.utf8_collate(one.name, two.name);
return two.timestamp - one.timestamp;
},
setEnabled: function(enabled) {
// do nothing by default, we want to keep the conneciton list visible
// in the majority of cases (wired, wwan, vpn)
// in the majority of cases (wired, wwan)
},
getStatusLabel: function() {
@ -495,20 +473,15 @@ const NMDevice = new Lang.Class({
}
},
syncDescription: function() {
this.statusItem.label.text = this.device._description;
},
// protected
_createAutomaticConnection: function() {
throw new TypeError('Invoking pure virtual function NMDevice.createAutomaticConnection');
},
_findConnection: function(uuid) {
for (let i = 0; i < this._connections.length; i++) {
let obj = this._connections[i];
if (obj.uuid == uuid)
return i;
}
return -1;
},
_queueCreateSection: function() {
this._clearSection();
Main.queueDeferredWork(this._deferredWorkId);
@ -631,29 +604,8 @@ const NMDevice = new Lang.Class({
this.statusItem.setStatus(this.getStatusLabel());
this.emit('state-changed');
},
_getDescription: function() {
let dev_product = this.device.get_product();
let dev_vendor = this.device.get_vendor();
if (!dev_product || !dev_vendor)
return '';
let product = Util.fixupPCIDescription(dev_product);
let vendor = Util.fixupPCIDescription(dev_vendor);
let out = '';
// Another quick hack; if all of the fixed up vendor string
// is found in product, ignore the vendor.
if (product.indexOf(vendor) == -1)
out += vendor + ' ';
out += product;
return out;
}
});
Signals.addSignalMethods(NMDevice.prototype);
const NMDeviceWired = new Lang.Class({
Name: 'NMDeviceWired',
@ -861,99 +813,6 @@ const NMDeviceBluetooth = new Lang.Class({
this._clearSection();
this._queueCreateSection();
this._updateStatusItem();
},
_getDescription: function() {
return this.device.name || _("Bluetooth");
}
});
// Not a real device, but I save a lot code this way
const NMDeviceVPN = new Lang.Class({
Name: 'NMDeviceVPN',
Extends: NMDevice,
_init: function(client, device, connections) {
// Disable autoconnections
this._autoConnectionName = null;
this.category = NMConnectionCategory.VPN;
this.parent(client, null, connections);
},
connectionValid: function(connection) {
return connection._type == NetworkManager.SETTING_VPN_SETTING_NAME;
},
get empty() {
return this._connections.length == 0;
},
get connected() {
if (!this._activeConnection)
return false;
return this._activeConnection.vpn_state == NetworkManager.VPNConnectionState.ACTIVATED;
},
setActiveConnection: function(activeConnection) {
if (this._stateChangeId)
this._activeConnection.disconnect(this._stateChangeId);
this._stateChangeId = 0;
this.parent(activeConnection);
if (this._activeConnection)
this._stateChangeId = this._activeConnection.connect('vpn-state-changed',
Lang.bind(this, this._connectionStateChanged));
this.emit('state-changed');
},
_shouldShowConnectionList: function() {
return true;
},
deactivate: function() {
if (this._activeConnection)
this._client.deactivate_connection(this._activeConnection);
},
getStatusLabel: function() {
if (!this._activeConnection) // Same as DISCONNECTED
return null;
switch(this._activeConnection.vpn_state) {
case NetworkManager.VPNConnectionState.DISCONNECTED:
case NetworkManager.VPNConnectionState.ACTIVATED:
return null;
case NetworkManager.VPNConnectionState.PREPARE:
case NetworkManager.VPNConnectionState.CONNECT:
case NetworkManager.VPNConnectionState.IP_CONFIG_GET:
return _("connecting...");
case NetworkManager.VPNConnectionState.NEED_AUTH:
/* Translators: this is for network connections that require some kind of key or password */
return _("authentication required");
case NetworkManager.VPNConnectionState.FAILED:
return _("connection failed");
default:
log('VPN connection state invalid, is %d'.format(this.device.state));
return 'invalid';
}
},
_connectionStateChanged: function(connection, newstate, reason) {
if (newstate == NetworkManager.VPNConnectionState.FAILED) {
// FIXME: if we ever want to show something based on reason,
// we need to convert from NetworkManager.VPNConnectionStateReason
// to NetworkManager.DeviceStateReason
this.emit('activation-failed', reason);
}
// Differently from real NMDevices, there is no need to queue
// an update of the menu section, contents wouldn't change anyway
this.emit('state-changed');
}
});
@ -1557,6 +1416,151 @@ const NMDeviceWireless = new Lang.Class({
},
});
const NMVPNSection = new Lang.Class({
Name: 'NMVPNSection',
Extends: NMConnectionBased,
category: NMConnectionCategory.VPN,
_init: function(client, connections) {
this.parent(connections);
this._client = client;
this.section = new PopupMenu.PopupMenuSection();
this._deferredWorkId = Main.initializeDeferredWork(this.section.actor, Lang.bind(this, this._createSection));
},
get empty() {
return this._connections.length == 0;
},
connectionValid: function(connection) {
// filtering is done by NMApplet code
return true;
},
getStatusLabel: function(activeConnection) {
switch(activeConnection.vpn_state) {
case NetworkManager.VPNConnectionState.DISCONNECTED:
case NetworkManager.VPNConnectionState.ACTIVATED:
return null;
case NetworkManager.VPNConnectionState.PREPARE:
case NetworkManager.VPNConnectionState.CONNECT:
case NetworkManager.VPNConnectionState.IP_CONFIG_GET:
return _("connecting...");
case NetworkManager.VPNConnectionState.NEED_AUTH:
/* Translators: this is for network connections that require some kind of key or password */
return _("authentication required");
case NetworkManager.VPNConnectionState.FAILED:
return _("connection failed");
default:
log('VPN connection state invalid, is %d'.format(this.device.state));
return 'invalid';
}
},
clearActiveConnection: function(activeConnection) {
let pos = this._findConnection(activeConnection.uuid);
if (pos < 0)
return;
let obj = this._connections[pos];
obj.active.disconnect(obj.stateChangedId);
obj.active = null;
if (obj.item) {
obj.item.setToggleState(false);
obj.item.setStatus(null);
}
},
setActiveConnection: function(activeConnection) {
let pos = this._findConnection(activeConnection.uuid);
if (pos < 0)
return;
let obj = this._connections[pos];
obj.active = activeConnection;
obj.stateChangedId = obj.active.connect('vpn-state-changed',
Lang.bind(this, this._connectionStateChanged));
if (obj.item) {
obj.item.setToggleState(obj.active.vpn_state ==
NetworkManager.VPNConnectionState.ACTIVATED);
obj.item.setStatus(this.getStatusLabel(obj.active));
}
},
_queueCreateSection: function() {
this.section.removeAll();
Main.queueDeferredWork(this._deferredWorkId);
},
_createConnectionItem: function(obj) {
let menuItem = new PopupMenu.PopupSwitchMenuItem(obj.name, false,
{ style_class: 'popup-subtitle-menu-item' });
menuItem.connect('toggled', Lang.bind(this, function(menuItem) {
if (menuItem.state) {
this._client.activate_connection(obj.connection, null, null, null);
// Immediately go back to disconnected, until NM tells us to change
menuItem.setToggleState(false);
} else if (obj.active) {
this._client.deactivate_connection(obj.active);
}
}));
if (obj.active) {
menuItem.setToggleState(obj.active.vpn_state ==
NetworkManager.VPNConnectionState.ACTIVATED);
menuItem.setStatus(this.getStatusLabel(obj.active));
}
return menuItem;
},
_createSection: function() {
if (this._connections.length > 0) {
this.section.actor.show();
for(let j = 0; j < this._connections.length; ++j) {
let obj = this._connections[j];
obj.item = this._createConnectionItem(obj);
if (j >= NUM_VISIBLE_NETWORKS) {
if (!this._overflowItem) {
this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More..."));
this.section.addMenuItem(this._overflowItem);
}
this._overflowItem.menu.addMenuItem(obj.item);
} else
this.section.addMenuItem(obj.item);
}
} else {
this.section.actor.hide()
}
},
_connectionStateChanged: function(vpnConnection, newstate, reason) {
if (newstate == NetworkManager.VPNConnectionState.FAILED) {
// FIXME: if we ever want to show something based on reason,
// we need to convert from NetworkManager.VPNConnectionStateReason
// to NetworkManager.DeviceStateReason
this.emit('activation-failed', reason);
}
let pos = this._findConnection(vpnConnection.uuid);
if (pos >= 0) {
let obj = this._connections[pos];
if (obj.item) {
obj.item.setToggleState(vpnConnection.vpn_state ==
NetworkManager.VPNConnectionState.ACTIVATED);
obj.item.setStatus(this.getStatusLabel(vpnConnection));
}
} else {
log('Could not find connection for vpn-state-changed handler');
}
},
});
const NMApplet = new Lang.Class({
Name: 'NMApplet',
Extends: PanelMenu.SystemStatusButton,
@ -1589,15 +1593,14 @@ const NMApplet = new Lang.Class({
this._mobileUpdateId = 0;
this._mobileUpdateDevice = null;
this._nmDevices = [];
this._devices = { };
this._devices.wired = {
section: new PopupMenu.PopupMenuSection(),
devices: [ ],
item: new NMWiredSectionTitleMenuItem(_("Wired"))
};
this._devices.wired.section.addMenuItem(this._devices.wired.item);
this._devices.wired.section.actor.hide();
this.menu.addMenuItem(this._devices.wired.section);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
@ -1605,7 +1608,7 @@ const NMApplet = new Lang.Class({
this._devices.wireless = {
section: new PopupMenu.PopupMenuSection(),
devices: [ ],
item: this._makeToggleItem('wireless', _("Wireless"))
item: this._makeToggleItem('wireless', _("Wi-Fi"))
};
this._devices.wireless.section.addMenuItem(this._devices.wireless.item);
this._devices.wireless.section.actor.hide();
@ -1615,22 +1618,14 @@ const NMApplet = new Lang.Class({
this._devices.wwan = {
section: new PopupMenu.PopupMenuSection(),
devices: [ ],
item: this._makeToggleItem('wwan', _("Mobile broadband"))
};
this._devices.wwan.section.addMenuItem(this._devices.wwan.item);
this._devices.wwan.section.actor.hide();
this.menu.addMenuItem(this._devices.wwan.section);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this._devices.vpn = {
section: new PopupMenu.PopupMenuSection(),
device: this._makeWrapperDevice(NMDeviceVPN, null),
item: new NMWiredSectionTitleMenuItem(_("VPN Connections"))
};
this._devices.vpn.section.addMenuItem(this._devices.vpn.item);
this._devices.vpn.section.addMenuItem(this._devices.vpn.device.section);
this._devices.vpn.section.actor.hide();
this.menu.addMenuItem(this._devices.vpn.section);
this._vpnSection = new NMVPNSection(this._client, this._connections);
this._vpnSection.connect('activation-failed', Lang.bind(this, this._onActivationFailed));
this.menu.addMenuItem(this._vpnSection.section);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
@ -1699,18 +1694,6 @@ const NMApplet = new Lang.Class({
},
_syncSectionTitle: function(category) {
if (category == NMConnectionCategory.VPN) {
// Special case VPN: it's only one device (and a fake one
// actually), and we don't show it if empty
let device = this._devices.vpn.device;
let section = this._devices.vpn.section;
let item = this._devices.vpn.item;
section.actor.visible = !device.empty;
item.updateForDevice(device);
return;
}
let devices = this._devices[category].devices;
let item = this._devices[category].item;
let section = this._devices[category].section;
@ -1718,16 +1701,23 @@ const NMApplet = new Lang.Class({
section.actor.hide();
else {
section.actor.show();
if (devices.length == 1) {
let dev = devices[0];
dev.statusItem.actor.hide();
item.updateForDevice(dev);
} else {
devices.forEach(function(dev) {
dev.statusItem.actor.show();
});
// remove status text from the section title item
item.updateForDevice(null);
// Sync the relation between the section title
// item (the one with the airplane mode switch)
// and the individual device switches
if (item) {
if (devices.length == 1) {
let dev = devices[0];
dev.statusItem.actor.hide();
item.updateForDevice(dev);
} else {
devices.forEach(function(dev) {
dev.statusItem.actor.show();
});
// remove status text from the section title item
item.updateForDevice(null);
}
}
}
},
@ -1735,8 +1725,9 @@ const NMApplet = new Lang.Class({
_readDevices: function() {
let devices = this._client.get_devices() || [ ];
for (let i = 0; i < devices.length; ++i) {
this._deviceAdded(this._client, devices[i]);
this._deviceAdded(this._client, devices[i], true);
}
this._syncDeviceNames();
},
_notifyForDevice: function(device, iconName, title, text, urgency) {
@ -1747,10 +1738,9 @@ const NMApplet = new Lang.Class({
or this._source will be cleared */
this._ensureSource();
let icon = new St.Icon({ icon_name: iconName,
icon_size: MessageTray.NOTIFICATION_ICON_SIZE });
let gicon = new Gio.ThemedIcon({ name: iconName });
device._notification = new MessageTray.Notification(this._source, title, text,
{ icon: icon });
{ gicon: gicon });
device._notification.setUrgency(urgency);
device._notification.setTransient(true);
device._notification.connect('destroy', function() {
@ -1759,17 +1749,20 @@ const NMApplet = new Lang.Class({
this._source.notify(device._notification);
},
_onActivationFailed: function(device, reason) {
// XXX: nm-applet has no special text depending on reason
// but I'm not sure of this generic message
this._notifyForDevice(device, 'network-error-symbolic',
_("Connection failed"),
_("Activation of network connection failed"),
MessageTray.Urgency.HIGH);
},
_makeWrapperDevice: function(wrapperClass, device) {
let wrapper = new wrapperClass(this._client, device, this._connections);
wrapper._activationFailedId = wrapper.connect('activation-failed', Lang.bind(this, function(device, reason) {
// XXX: nm-applet has no special text depending on reason
// but I'm not sure of this generic message
this._notifyForDevice(device, 'network-error-symbolic',
_("Connection failed"),
_("Activation of network connection failed"),
MessageTray.Urgency.HIGH);
}));
wrapper._activationFailedId = wrapper.connect('activation-failed',
Lang.bind(this, this._onActivationFailed));
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
this._syncSectionTitle(dev.category);
}));
@ -1782,7 +1775,18 @@ const NMApplet = new Lang.Class({
return wrapper;
},
_deviceAdded: function(client, device) {
_syncDeviceNames: function() {
let names = NMGtk.utils_disambiguate_device_names(this._nmDevices);
for (let i = 0; i < this._nmDevices.length; i++) {
let device = this._nmDevices[i];
if (device._description != names[i]) {
device._description = names[i];
device._delegate.syncDescription();
}
}
},
_deviceAdded: function(client, device, skipSyncDeviceNames) {
if (device._delegate) {
// already seen, not adding again
return;
@ -1793,10 +1797,14 @@ const NMApplet = new Lang.Class({
let section = this._devices[wrapper.category].section;
let devices = this._devices[wrapper.category].devices;
section.addMenuItem(wrapper.section, 1);
section.addMenuItem(wrapper.statusItem, 1);
section.addMenuItem(wrapper.statusItem);
section.addMenuItem(wrapper.section);
devices.push(wrapper);
this._nmDevices.push(device);
if (!skipSyncDeviceNames)
this._syncDeviceNames();
this._syncSectionTitle(wrapper.category);
}
},
@ -1814,6 +1822,10 @@ const NMApplet = new Lang.Class({
let pos = devices.indexOf(wrapper);
devices.splice(pos, 1);
pos = this._nmDevices.indexOf(device);
this._nmDevices.splice(pos, 1);
this._syncDeviceNames();
this._syncSectionTitle(wrapper.category)
},
@ -1852,7 +1864,7 @@ const NMApplet = new Lang.Class({
for (let i = 0; i < closedConnections.length; i++) {
let active = closedConnections[i];
if (active._primaryDevice) {
active._primaryDevice.setActiveConnection(null);
active._primaryDevice.clearActiveConnection(active);
active._primaryDevice = null;
}
if (active._inited) {
@ -1919,7 +1931,7 @@ const NMApplet = new Lang.Class({
}
}
} else
a._primaryDevice = this._devices.vpn.device
a._primaryDevice = this._vpnSection;
if (a._primaryDevice)
a._primaryDevice.setActiveConnection(a);
@ -2001,8 +2013,7 @@ const NMApplet = new Lang.Class({
let section = connection._section;
if (section == NMConnectionCategory.VPN) {
this._devices.vpn.device.removeConnection(connection);
this._syncSectionTitle(section);
this._vpnSection.removeConnection(connection);
} else if (section != NMConnectionCategory.INVALID) {
let devices = this._devices[section].devices;
for (let i = 0; i < devices.length; i++)
@ -2025,8 +2036,7 @@ const NMApplet = new Lang.Class({
if (section == NMConnectionCategory.INVALID)
return;
if (section == NMConnectionCategory.VPN) {
this._devices.vpn.device.checkConnection(connection);
this._syncSectionTitle(section);
this._vpnSection.checkConnection(connection);
} else {
let devices = this._devices[section].devices;
for (let i = 0; i < devices.length; i++) {
@ -2052,7 +2062,6 @@ const NMApplet = new Lang.Class({
this._syncSectionTitle(NMConnectionCategory.WIRED);
this._syncSectionTitle(NMConnectionCategory.WIRELESS);
this._syncSectionTitle(NMConnectionCategory.WWAN);
this._syncSectionTitle(NMConnectionCategory.VPN);
},
_syncNMState: function() {

View File

@ -5,6 +5,7 @@ const Clutter = imports.gi.Clutter;
const Gdm = imports.gi.Gdm;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const GnomeDesktop = imports.gi.GnomeDesktop;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Signals = imports.signals;
@ -112,6 +113,7 @@ const UnlockDialog = new Lang.Class({
_init: function(parentActor) {
this.parent({ shellReactive: true,
styleClass: 'login-dialog',
keybindingMode: Main.KeybindingMode.UNLOCK_SCREEN,
parentActor: parentActor
});
@ -150,6 +152,9 @@ const UnlockDialog = new Lang.Class({
ShellEntry.addContextMenu(this._promptEntry, { isPassword: true });
this.setInitialKeyFocus(this._promptEntry);
this._promptEntry.clutter_text.connect('activate', Lang.bind(this, this._doUnlock));
this._promptEntry.clutter_text.connect('text-changed', Lang.bind(this, function() {
this._updateOkButtonSensitivity(this._promptEntry.text.length > 0);
}));
this._promptLayout.add(this._promptEntry,
{ expand: true,
@ -164,7 +169,6 @@ const UnlockDialog = new Lang.Class({
this._promptLoginHint.hide();
this.contentLayout.add_actor(this._promptLoginHint);
this.allowCancel = false;
let cancelButton = { label: _("Cancel"),
action: Lang.bind(this, this._escape),
key: Clutter.KEY_Escape };
@ -196,15 +200,19 @@ const UnlockDialog = new Lang.Class({
return false;
}));
this._idleMonitor = Shell.IdleMonitor.get();
// this dialog is only created after user activity (curtain drag or
// escape key press), so the timeout will fire after IDLE_TIMEOUT seconds of inactivity
Main.ctrlAltTabManager.addGroup(this.dialogLayout, _("Unlock Window"), 'dialog-password-symbolic');
this._idleMonitor = new GnomeDesktop.IdleMonitor();
this._idleWatchId = this._idleMonitor.add_watch(IDLE_TIMEOUT * 1000, Lang.bind(this, this._escape));
},
_updateSensitivity: function(sensitive) {
this._promptEntry.reactive = sensitive;
this._promptEntry.clutter_text.editable = sensitive;
this._updateOkButtonSensitivity(sensitive && this._promptEntry.text.length > 0);
},
_updateOkButtonSensitivity: function(sensitive) {
this._okButton.button.reactive = sensitive;
this._okButton.button.can_focus = sensitive;
},
@ -292,10 +300,8 @@ const UnlockDialog = new Lang.Class({
},
_escape: function() {
if (this.allowCancel) {
this._userVerifier.cancel();
this.emit('failed');
}
this._userVerifier.cancel();
this.emit('failed');
},
_otherUserClicked: function(button, event) {

View File

@ -9,11 +9,11 @@ const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Tp = imports.gi.TelepathyGLib;
const UPowerGlib = imports.gi.UPowerGlib;
const Atk = imports.gi.Atk;
const BoxPointer = imports.ui.boxpointer;
const GnomeSession = imports.misc.gnomeSession;
const LoginManager = imports.misc.loginManager;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@ -74,11 +74,6 @@ const UserAvatarWidget = new Lang.Class({
let file = Gio.File.new_for_path(iconFile);
this.actor.child = null;
this.actor.style = 'background-image: url("%s");'.format(iconFile);
// AccountsService uses a fixed location for avatar images, so
// we need to clear out all cached data to pick up image changes,
// see https://bugzilla.gnome.org/show_bug.cgi?id=679268
this.actor.clear_background_image();
} else {
this.actor.style = null;
this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
@ -193,7 +188,7 @@ const IMStatusChooserItem = new Lang.Class({
item = new IMStatusItem(_("Idle"), 'user-idle-symbolic');
this._combo.addMenuItem(item, IMStatus.IDLE);
item = new IMStatusItem(_("Unavailable"), 'user-offline-symbolic');
item = new IMStatusItem(_("Offline"), 'user-offline-symbolic');
this._combo.addMenuItem(item, IMStatus.OFFLINE);
this._combo.connect('active-item-changed',
@ -488,10 +483,11 @@ const UserMenuButton = new Lang.Class({
this._presence = new GnomeSession.Presence();
this._session = new GnomeSession.SessionManager();
this._haveShutdown = true;
this._haveSuspend = true;
this._accountMgr = Tp.AccountManager.dup();
this._upClient = new UPowerGlib.Client();
this._loginManager = LoginManager.getLoginManager();
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._iconBox = new St.Bin();
@ -571,14 +567,15 @@ const UserMenuButton = new Lang.Class({
// the lockdown setting changes, which should be close enough.
this.menu.connect('open-state-changed', Lang.bind(this,
function(menu, open) {
if (open)
this._updateHaveShutdown();
if (!open)
return;
this._updateHaveShutdown();
this._updateHaveSuspend();
}));
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
Lang.bind(this, this._updateHaveShutdown));
this._upClient.connect('notify::can-suspend', Lang.bind(this, this._updateSuspendOrPowerOff));
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
this._sessionUpdated();
},
@ -650,9 +647,15 @@ const UserMenuButton = new Lang.Class({
}));
},
_updateSuspendOrPowerOff: function() {
this._haveSuspend = this._upClient.get_can_suspend();
_updateHaveSuspend: function() {
this._loginManager.canSuspend(Lang.bind(this,
function(result) {
this._haveSuspend = result;
this._updateSuspendOrPowerOff();
}));
},
_updateSuspendOrPowerOff: function() {
if (!this._suspendOrPowerOffItem)
return;
@ -749,7 +752,7 @@ const UserMenuButton = new Lang.Class({
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("System Settings"));
item = new PopupMenu.PopupMenuItem(_("Settings"));
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
this.menu.addMenuItem(item);
this._systemSettings = item;
@ -855,13 +858,13 @@ const UserMenuButton = new Lang.Class({
let tmpId = Main.screenShield.connect('lock-screen-shown', Lang.bind(this, function() {
Main.screenShield.disconnect(tmpId);
this._upClient.suspend_sync(null);
this._loginManager.suspend();
}));
this.menu.close(BoxPointer.PopupAnimation.NONE);
Main.screenShield.lock(true);
} else {
this._upClient.suspend_sync(null);
this._loginManager.suspend();
}
}
}

View File

@ -1,6 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
@ -19,6 +20,7 @@ const Tweener = imports.ui.tweener;
const Wanda = imports.ui.wanda;
const WorkspacesView = imports.ui.workspacesView;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const FocusTrap = new Lang.Class({
Name: 'FocusTrap',
@ -92,6 +94,11 @@ const ViewSelector = new Lang.Class({
this._searchPage = this._addPage(this._searchResults.actor, this._entry,
_("Search"), 'edit-find-symbolic');
this._searchSettings = new Gio.Settings({ schema: Search.SEARCH_PROVIDERS_SCHEMA });
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::sort-order', Lang.bind(this, this._reloadRemoteProviders));
// Default search providers
// Wanda comes obviously first
this.addSearchProvider(new Wanda.WandaSearchProvider());
@ -141,6 +148,18 @@ const ViewSelector = new Lang.Class({
// accessing the properties.
this.constrainHeight = new Clutter.BindConstraint({ source: this._pageArea,
coordinate: Clutter.BindCoordinate.HEIGHT });
Main.wm.addKeybinding('toggle-application-view',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._toggleAppsPage));
},
_toggleAppsPage: function() {
Main.overview.show();
this._showAppsButton.checked = !this._showAppsButton.checked;
},
show: function() {
@ -184,7 +203,7 @@ const ViewSelector = new Lang.Class({
})
});;
this._pageArea.add_actor(page);
return page
return page;
},
_showPage: function(page) {
@ -421,7 +440,32 @@ const ViewSelector = new Lang.Class({
this._showPage(this._searchPage);
},
_shouldUseSearchProvider: function(provider) {
// the disable-external GSetting only affects remote providers
if (!provider.isRemoteProvider)
return true;
if (this._searchSettings.get_boolean('disable-external'))
return false;
let appId = provider.appInfo.get_id();
let disable = this._searchSettings.get_strv('disabled');
return disable.indexOf(appId) == -1;
},
_reloadRemoteProviders: function() {
// removeSearchProvider() modifies the provider list we iterate on,
// so make a copy first
let remoteProviders = this._searchSystem.getRemoteProviders().slice(0);
remoteProviders.forEach(Lang.bind(this, this.removeSearchProvider));
RemoteSearch.loadRemoteSearchProviders(Lang.bind(this, this.addSearchProvider));
},
addSearchProvider: function(provider) {
if (!this._shouldUseSearchProvider(provider))
return;
this._searchSystem.registerProvider(provider);
this._searchResults.createProviderMeta(provider);
},

View File

@ -39,6 +39,8 @@ const WindowAttentionHandler = new Lang.Class({
let [title, banner] = this._getTitleAndBanner(app, window);
let notification = new MessageTray.Notification(source, title, banner);
notification.setForFeedback(true);
source.notify(notification);
source.signalIDs.push(window.connect('notify::title', Lang.bind(this, function() {

View File

@ -83,6 +83,8 @@ const WindowManager = new Lang.Class({
this._animationBlockCount = 0;
this._allowedKeybindings = {};
this._switchData = null;
this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone));
this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) {
@ -99,38 +101,66 @@ const WindowManager = new Lang.Class({
this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow));
this._shellwm.connect('map', Lang.bind(this, this._mapWindow));
this._shellwm.connect('destroy', Lang.bind(this, this._destroyWindow));
this._shellwm.connect('filter-keybinding', Lang.bind(this, this._filterKeybinding));
this._workspaceSwitcherPopup = null;
Meta.keybindings_set_custom_handler('switch-to-workspace-left',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('switch-to-workspace-right',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('switch-to-workspace-up',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('switch-to-workspace-down',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('move-to-workspace-left',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('move-to-workspace-right',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('move-to-workspace-up',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('move-to-workspace-down',
Lang.bind(this, this._showWorkspaceSwitcher));
Meta.keybindings_set_custom_handler('switch-windows',
Lang.bind(this, this._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group',
Lang.bind(this, this._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-windows-backward',
Lang.bind(this, this._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group-backward',
Lang.bind(this, this._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-panels',
Lang.bind(this, this._startA11ySwitcher));
global.display.add_keybinding('open-application-menu',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Lang.bind(this, this._openAppMenu));
this.setCustomKeybindingHandler('switch-to-workspace-left',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-to-workspace-right',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-to-workspace-up',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-to-workspace-down',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-left',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-right',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-up',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('move-to-workspace-down',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW,
Lang.bind(this, this._showWorkspaceSwitcher));
this.setCustomKeybindingHandler('switch-windows',
Main.KeybindingMode.NORMAL,
Lang.bind(this, this._startAppSwitcher));
this.setCustomKeybindingHandler('switch-group',
Main.KeybindingMode.NORMAL,
Lang.bind(this, this._startAppSwitcher));
this.setCustomKeybindingHandler('switch-windows-backward',
Main.KeybindingMode.NORMAL,
Lang.bind(this, this._startAppSwitcher));
this.setCustomKeybindingHandler('switch-group-backward',
Main.KeybindingMode.NORMAL,
Lang.bind(this, this._startAppSwitcher));
this.setCustomKeybindingHandler('switch-panels',
Main.KeybindingMode.NORMAL |
Main.KeybindingMode.OVERVIEW |
Main.KeybindingMode.LOCK_SCREEN |
Main.KeybindingMode.UNLOCK_SCREEN |
Main.KeybindingMode.LOGIN_SCREEN,
Lang.bind(this, this._startA11ySwitcher));
this.addKeybinding('open-application-menu',
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
Meta.KeyBindingFlags.NONE,
Main.KeybindingMode.NORMAL,
Lang.bind(this, this._openAppMenu));
Main.overview.connect('showing', Lang.bind(this, function() {
for (let i = 0; i < this._dimmedWindows.length; i++)
@ -142,6 +172,25 @@ const WindowManager = new Lang.Class({
}));
},
setCustomKeybindingHandler: function(name, modes, handler) {
if (Meta.keybindings_set_custom_handler(name, handler))
this.allowKeybinding(name, modes);
},
addKeybinding: function(name, settings, flags, modes, handler) {
if (global.display.add_keybinding(name, settings, flags, handler))
this.allowKeybinding(name, modes);
},
removeKeybinding: function(name) {
if (global.display.remove_keybinding(name))
this.allowKeybinding(name, Main.KeybindingMode.NONE);
},
allowKeybinding: function(name, modes) {
this._allowedKeybindings[name] = modes;
},
blockAnimations: function() {
this._animationBlockCount++;
},
@ -424,6 +473,21 @@ const WindowManager = new Lang.Class({
}
},
_filterKeybinding: function(shellwm, binding) {
if (Main.keybindingMode == Main.KeybindingMode.NONE)
return true;
// There's little sense in implementing a keybinding in mutter and
// not having it work in NORMAL mode; handle this case generically
// so we don't have to explicitly allow all builtin keybindings in
// NORMAL mode.
if (Main.keybindingMode == Main.KeybindingMode.NORMAL &&
binding.is_builtin())
return false;
return !(this._allowedKeybindings[binding.get_name()] & Main.keybindingMode);
},
_switchWorkspace : function(shellwm, from, to, direction) {
if (!this._shouldAnimate()) {
shellwm.completed_switch_workspace();

View File

@ -33,21 +33,13 @@ const DRAGGING_WINDOW_OPACITY = 100;
const BUTTON_LAYOUT_SCHEMA = 'org.gnome.shell.overrides';
const BUTTON_LAYOUT_KEY = 'button-layout';
// Define a layout scheme for small window counts. For larger
// counts we fall back to an algorithm. We need more schemes here
// unless we have a really good algorithm.
// Each triplet is [xCenter, yCenter, scale] where the scale
// is relative to the width of the workspace.
const POSITIONS = {
1: [[0.5, 0.5, 0.95]],
2: [[0.25, 0.5, 0.48], [0.75, 0.5, 0.48]],
3: [[0.25, 0.25, 0.48], [0.75, 0.25, 0.48], [0.5, 0.75, 0.48]],
4: [[0.25, 0.25, 0.47], [0.75, 0.25, 0.47], [0.75, 0.75, 0.47], [0.25, 0.75, 0.47]],
5: [[0.165, 0.25, 0.32], [0.495, 0.25, 0.32], [0.825, 0.25, 0.32], [0.25, 0.75, 0.32], [0.75, 0.75, 0.32]]
};
// Used in _orderWindowsPermutations, 5! = 120 which is probably the highest we can go
const POSITIONING_PERMUTATIONS_MAX = 5;
// When calculating a layout, we calculate the scale of windows and the percent
// of the available area the new layout uses. If the values for the new layout,
// when weighted with the values as below, are worse than the previous layout's,
// we stop looking for a new layout and use the previous layout.
// Otherwise, we keep looking for a new layout.
const LAYOUT_SCALE_WEIGHT = 1;
const LAYOUT_SPACE_WEIGHT = 0.1;
function _interpolate(start, end, step) {
return start + (end - start) * step;
@ -167,6 +159,24 @@ const WindowClone = new Lang.Class({
this._selected = false;
},
get slot() {
let x, y, w, h;
if (this.inDrag) {
x = this.dragOrigX;
y = this.dragOrigY;
w = this.actor.width * this.dragOrigScale;
h = this.actor.height * this.dragOrigScale;
} else {
x = this.actor.x;
y = this.actor.y;
w = this.actor.width * this.actor.scale_x;
h = this.actor.height * this.actor.scale_y;
}
return [x, y, w, h];
},
setStackAbove: function (actor) {
this._stackAbove = actor;
if (this.inDrag || this._zooming)
@ -443,6 +453,11 @@ const WindowOverlay = new Lang.Class({
this._updateCaptionId = metaWindow.connect('notify::title',
Lang.bind(this, function(w) {
this.title.text = w.title;
// we need this for the next call to get_preferred_width
// to return useful results
this.title.set_size(-1, -1);
this._repositionSelf();
}));
let button = new St.Button({ style_class: 'window-close' });
@ -504,15 +519,16 @@ const WindowOverlay = new Lang.Class({
transition: 'easeOutQuad' });
},
chromeWidth: function () {
return this.closeButton.width - this.closeButton._overlap;
},
chromeHeights: function () {
return [this.closeButton.height - this.closeButton._overlap,
this.title.height + this.title._spacing];
},
_repositionSelf: function() {
let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot;
this.updatePositions(cloneX, cloneY, cloneWidth, cloneHeight, false);
},
/**
* @cloneX: x position of windowClone
* @cloneY: y position of windowClone
@ -550,9 +566,8 @@ const WindowOverlay = new Lang.Class({
else
button.set_position(Math.floor(buttonX), Math.floor(buttonY));
if (!title.fullWidth)
title.fullWidth = title.width;
let titleWidth = Math.min(title.fullWidth, cloneWidth);
let [titleMinWidth, titleNatWidth] = title.get_preferred_width(-1);
let titleWidth = Math.max(titleMinWidth, Math.min(titleNatWidth, cloneWidth));
let titleX = cloneX + (cloneWidth - titleWidth) / 2;
let titleY = cloneY + cloneHeight + title._spacing;
@ -668,6 +683,280 @@ const WindowPositionFlags = {
ANIMATE: 1 << 1
};
const LayoutStrategy = new Lang.Class({
Name: 'LayoutStrategy',
Abstract: true,
_init: function(monitor, rowSpacing, columnSpacing, bottomPadding) {
this._monitor = monitor;
this._rowSpacing = rowSpacing;
this._columnSpacing = columnSpacing;
this._bottomPadding = bottomPadding;
},
_newRow: function() {
// Row properties:
//
// * x, y are the position of row, relative to area
//
// * width, height are the scaled versions of fullWidth, fullHeight
//
// * width also has the spacing in between windows. It's not in
// fullWidth, as the spacing is constant, whereas fullWidth is
// meant to be scaled
//
// * neither height/fullHeight have any sort of spacing or padding
//
// * if cellWidth is present, all windows in the row will occupy
// the space of cellWidth, centered.
return { x: 0, y: 0,
width: 0, height: 0,
fullWidth: 0, fullHeight: 0,
cellWidth: 0,
windows: [] };
},
// Compute the size and fancy scale for @window using the
// base scale, @scale.
//
// Returns a list structure: [ scaledWidth, scaledHeight, fancyScale ]
// where scaledWidth and scaledHeight are the window's
// width and height, scaled by fancyScale for convenience.
_computeWindowSizeAndScale: function(window, scale) {
let width = window.actor.width;
let height = window.actor.height;
let ratio;
if (width > height)
ratio = width / this._monitor.width;
else
ratio = height / this._monitor.height;
let fancyScale = (2 / (1 + ratio)) * scale;
return [width * fancyScale, height * fancyScale, fancyScale];
},
// Compute the size of each row, by assigning to the properties
// row.width, row.height, row.fullWidth, row.fullHeight, and
// (optionally) row.cellWidth, for each row in @layout.rows.
// This method is intended to be called by subclasses.
_computeRowSizes: function(layout) {
throw new Error('_computeRowSizes not implemented');
},
// Compute strategy-specific window slots for each window in
// @windows, given the @layout. The strategy may also use @layout
// as strategy-specific storage.
//
// This must calculate:
// * maxColumns - The maximum number of columns used by the layout.
// * gridWidth - The total width used by the grid, unscaled, unspaced.
// * gridHeight - The totial height used by the grid, unscaled, unspaced.
// * rows - A list of rows, which should be instantiated by _newRow.
computeLayout: function(windows, layout) {
throw new Error('computeLayout not implemented');
},
// Given @layout, compute the overall scale and space of the layout.
// The scale is the individual, non-fancy scale of each window, and
// the space is the percentage of the available area eventually
// used by the layout.
// This method does not return anything, but instead installs
// the properties "scale" and "space" on @layout directly.
//
// Make sure to call this methods before calling computeWindowSlots(),
// as it depends on the scale property installed in @layout here.
computeScaleAndSpace: function(layout) {
let area = layout.area;
let hspacing = (layout.maxColumns - 1) * this._columnSpacing;
let vspacing = (layout.numRows - 1) * this._rowSpacing + this._bottomPadding;
let spacedWidth = area.width - hspacing;
let spacedHeight = area.height - vspacing;
let horizontalScale = spacedWidth / layout.gridWidth;
let verticalScale = spacedHeight / layout.gridHeight;
// Thumbnails should be less than 70% of the original size
let scale = Math.min(horizontalScale, verticalScale, WINDOW_CLONE_MAXIMUM_SCALE);
let scaledLayoutWidth = layout.gridWidth * scale + hspacing;
let scaledLayoutHeight = layout.gridHeight * scale + vspacing;
let space = (scaledLayoutWidth * scaledLayoutHeight) / (area.width * area.height);
layout.scale = scale;
layout.space = space;
},
computeWindowSlots: function(layout, area) {
this._computeRowSizes(layout);
let { rows: rows, scale: scale, state: state } = layout;
let slots = [];
let y = 0;
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
row.x = area.x + (area.width - row.width) / 2;
row.y = area.y + y;
y += row.height + this._rowSpacing;
}
let height = y - this._rowSpacing + this._bottomPadding;
let baseY = (area.height - height) / 2;
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
row.y += baseY;
let baseX = row.x;
for (let j = 0; j < row.windows.length; j++) {
let window = row.windows[j];
let [width, height, s] = this._computeWindowSizeAndScale(window, scale);
let y = row.y + row.height - height;
let x = baseX;
if (row.cellWidth) {
x += (row.cellWidth - width) / 2;
width = row.cellWidth;
}
slots.push([x, y, s]);
baseX += width + this._columnSpacing;
}
}
return slots;
}
});
const UnalignedLayoutStrategy = new Lang.Class({
Name: 'UnalignedLayoutStrategy',
Extends: LayoutStrategy,
_computeRowSizes: function(layout) {
let { rows: rows, scale: scale } = layout;
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
row.width = row.fullWidth * scale + (row.windows.length - 1) * this._columnSpacing;
row.height = row.fullHeight * scale;
}
},
_keepSameRow: function(row, window, width, idealRowWidth) {
if (row.fullWidth + width <= idealRowWidth)
return true;
let oldRatio = row.fullWidth / idealRowWidth;
let newRatio = (row.fullWidth + width) / idealRowWidth;
if (Math.abs(1 - newRatio) < Math.abs(1 - oldRatio))
return true;
return false;
},
computeLayout: function(windows, layout) {
let numRows = layout.numRows;
let rows = [];
let totalWidth = 0;
for (let i = 0; i < windows.length; i++) {
totalWidth += windows[i].actor.width;
}
let idealRowWidth = totalWidth / numRows;
let windowIdx = 0;
for (let i = 0; i < numRows; i++) {
let col = 0;
let row = this._newRow();
rows.push(row);
for (; windowIdx < windows.length; windowIdx++) {
let window = windows[windowIdx];
let [width, height] = this._computeWindowSizeAndScale(window, 1);
row.fullHeight = Math.max(row.fullHeight, height);
// either new width is < idealWidth or new width is nearer from idealWidth then oldWidth
if (this._keepSameRow(row, window, width, idealRowWidth) || (i == numRows - 1)) {
row.windows.push(window);
row.fullWidth += width;
} else {
break;
}
}
}
let gridHeight = 0;
let maxRow;
for (let i = 0; i < numRows; i++) {
let row = rows[i];
if (!maxRow || row.fullWidth > maxRow.fullWidth)
maxRow = row;
gridHeight += row.fullHeight;
}
layout.rows = rows;
layout.maxColumns = maxRow.windows.length;
layout.gridWidth = maxRow.fullWidth;
layout.gridHeight = gridHeight;
}
});
const GridLayoutStrategy = new Lang.Class({
Name: 'GridLayoutStrategy',
Extends: LayoutStrategy,
_computeRowSizes: function(layout) {
let { rows: rows, scale: scale } = layout;
let gridWidth = layout.numColumns * layout.maxWindowWidth;
let hspacing = (layout.numColumns - 1) * this._columnSpacing;
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
row.fullWidth = layout.gridWidth;
row.fullHeight = layout.maxWindowHeight;
row.width = row.fullWidth * scale + hspacing;
row.height = row.fullHeight * scale;
row.cellWidth = layout.maxWindowWidth * scale;
}
},
computeLayout: function(windows, layout) {
let { numRows: numRows, numColumns: numColumns } = layout;
let rows = [];
let windowIdx = 0;
let maxWindowWidth = 0;
let maxWindowHeight = 0;
for (let i = 0; i < numRows; i++) {
let row = this._newRow();
rows.push(row);
for (; windowIdx < windows.length; windowIdx++) {
if (row.windows.length >= numColumns)
break;
let window = windows[windowIdx];
row.windows.push(window);
let [width, height] = this._computeWindowSizeAndScale(window, 1);
maxWindowWidth = Math.max(maxWindowWidth, width);
maxWindowHeight = Math.max(maxWindowHeight, height);
}
}
layout.rows = rows;
layout.maxColumns = numColumns;
layout.gridWidth = numColumns * maxWindowWidth;
layout.gridHeight = numRows * maxWindowHeight;
layout.maxWindowWidth = maxWindowWidth;
layout.maxWindowHeight = maxWindowHeight;
}
});
/**
* @metaWorkspace: a #Meta.Workspace, or null
*/
@ -689,7 +978,7 @@ const Workspace = new Lang.Class({
// Without this the drop area will be overlapped.
this._windowOverlaysGroup.set_size(0, 0);
this.actor = new Clutter.Group();
this.actor = new St.Widget({ style_class: 'window-picker' });
this.actor.set_size(0, 0);
this._dropRect = new Clutter.Rectangle({ opacity: 0 });
@ -729,6 +1018,8 @@ const Workspace = new Lang.Class({
this._positionWindowsFlags = 0;
this._positionWindowsId = 0;
this._currentLayout = null;
},
setGeometry: function(x, y, width, height) {
@ -763,225 +1054,6 @@ const Workspace = new Lang.Class({
return this._windows.length == 0;
},
// Only use this for n <= 20 say
_factorial: function(n) {
let result = 1;
for (let i = 2; i <= n; i++)
result *= i;
return result;
},
/**
* _permutation:
* @permutationIndex: An integer from [0, list.length!)
* @list: (inout): Array of objects to permute; will be modified in place
*
* Given an integer between 0 and length of array, re-order the array in-place
* into a permutation denoted by the index.
*/
_permutation: function(permutationIndex, list) {
for (let j = 2; j <= list.length; j++) {
let firstIndex = (permutationIndex % j);
let secondIndex = j - 1;
// Swap
let tmp = list[firstIndex];
list[firstIndex] = list[secondIndex];
list[secondIndex] = tmp;
permutationIndex = Math.floor(permutationIndex / j);
}
},
/**
* _forEachPermutations:
* @list: Array
* @func: Function which takes a single array argument
*
* Call @func with each permutation of @list as an argument.
*/
_forEachPermutations: function(list, func) {
let nCombinations = this._factorial(list.length);
for (let i = 0; i < nCombinations; i++) {
let listCopy = list.concat();
this._permutation(i, listCopy);
func(listCopy);
}
},
/**
* _computeWindowMotion:
* @actor: A #WindowClone's #ClutterActor
* @slot: An element of #POSITIONS
* @slotGeometry: Layout of @slot
*
* Returns a number corresponding to how much perceived motion
* would be involved in moving the window to the given slot.
* Currently this is the square of the distance between the
* centers.
*/
_computeWindowMotion: function (actor, slot) {
let [xCenter, yCenter, fraction] = slot;
let xDelta, yDelta, distanceSquared;
let actorWidth, actorHeight;
let x = actor.x;
let y = actor.y;
let scale = actor.scale_x;
if (actor._delegate.inDrag) {
x = actor._delegate.dragOrigX;
y = actor._delegate.dragOrigY;
scale = actor._delegate.dragOrigScale;
}
actorWidth = actor.width * scale;
actorHeight = actor.height * scale;
xDelta = x + actorWidth / 2.0 - xCenter * this._width - this._x;
yDelta = y + actorHeight / 2.0 - yCenter * this._height - this._y;
distanceSquared = xDelta * xDelta + yDelta * yDelta;
return distanceSquared;
},
/**
* _orderWindowsPermutations:
*
* Iterate over all permutations of the windows, and determine the
* permutation which has the least total motion.
*/
_orderWindowsPermutations: function (clones, slots) {
let minimumMotionPermutation = null;
let minimumMotion = -1;
let permIndex = 0;
this._forEachPermutations(clones, Lang.bind(this, function (permutation) {
let motion = 0;
for (let i = 0; i < permutation.length; i++) {
let cloneActor = permutation[i].actor;
let slot = slots[i];
let delta = this._computeWindowMotion(cloneActor, slot);
motion += delta;
// Bail out early if we're already larger than the
// previous best
if (minimumMotionPermutation != null &&
motion > minimumMotion)
continue;
}
if (minimumMotionPermutation == null || motion < minimumMotion) {
minimumMotionPermutation = permutation;
minimumMotion = motion;
}
permIndex++;
}));
return minimumMotionPermutation;
},
/**
* _orderWindowsGreedy:
*
* Iterate over available slots in order, placing into each one the window
* we find with the smallest motion to that slot.
*/
_orderWindowsGreedy: function(clones, slots) {
let result = [];
let slotIndex = 0;
// Copy since we mutate below
let clonesCopy = clones.concat();
for (let i = 0; i < slots.length; i++) {
let slot = slots[i];
let minimumMotionIndex = -1;
let minimumMotion = -1;
for (let j = 0; j < clonesCopy.length; j++) {
let cloneActor = clonesCopy[j].actor;
let delta = this._computeWindowMotion(cloneActor, slot);
if (minimumMotionIndex == -1 || delta < minimumMotion) {
minimumMotionIndex = j;
minimumMotion = delta;
}
}
result.push(clonesCopy[minimumMotionIndex]);
clonesCopy.splice(minimumMotionIndex, 1);
}
return result;
},
/**
* _orderWindowsByMotionAndStartup:
* @windows: Array of #MetaWindow
* @slots: Array of slots
*
* Returns a copy of @windows, ordered in such a way that they require least motion
* to move to the final screen coordinates of @slots. Ties are broken in a stable
* fashion by the order in which the windows were created.
*/
_orderWindowsByMotionAndStartup: function(clones, slots) {
clones.sort(function(w1, w2) {
return w2.metaWindow.get_stable_sequence() - w1.metaWindow.get_stable_sequence();
});
if (clones.length <= POSITIONING_PERMUTATIONS_MAX)
return this._orderWindowsPermutations(clones, slots);
else
return this._orderWindowsGreedy(clones, slots);
},
/**
* _getSlotGeometry:
* @slot: A layout slot
*
* Returns: the screen-relative [x, y, width, height]
* of a given window layout slot.
*/
_getSlotGeometry: function(slot) {
let [xCenter, yCenter, fraction] = slot;
let width = this._width * fraction;
let height = this._height * fraction;
let x = this._x + xCenter * this._width - width / 2 ;
let y = this._y + yCenter * this._height - height / 2;
return [x, y, width, height];
},
/**
* _computeWindowLayout:
* @metaWindow: A #MetaWindow
* @slot: A layout slot
*
* Given a window and slot to fit it in, compute its
* screen-relative [x, y, scale] where scale applies
* to both X and Y directions.
*/
_computeWindowLayout: function(metaWindow, slot) {
let [x, y, width, height] = this._getSlotGeometry(slot);
let rect = metaWindow.get_outer_rect();
let buttonOuterHeight, captionHeight;
let buttonOuterWidth = 0;
if (this._windowOverlays[0]) {
[buttonOuterHeight, captionHeight] = this._windowOverlays[0].chromeHeights();
buttonOuterWidth = this._windowOverlays[0].chromeWidth();
} else
[buttonOuterHeight, captionHeight] = [0, 0];
let scale = Math.min((width - buttonOuterWidth) / rect.width,
(height - buttonOuterHeight - captionHeight) / rect.height,
WINDOW_CLONE_MAXIMUM_SCALE);
x = Math.floor(x + (width - scale * rect.width) / 2);
// We want to center the window in case we have just one
if (metaWindow.get_workspace().n_windows == 1)
y = Math.floor(y + (height - scale * rect.height) / 2);
else
y = Math.floor(y + height - rect.height * scale - captionHeight);
return [x, y, scale];
},
setReservedSlot: function(clone) {
if (this._reservedSlot == clone)
return;
@ -990,6 +1062,7 @@ const Workspace = new Lang.Class({
clone = null;
this._reservedSlot = clone;
this._currentLayout = null;
this.positionWindows(WindowPositionFlags.ANIMATE);
},
@ -1020,6 +1093,11 @@ const Workspace = new Lang.Class({
}
let clones = this._windows.slice();
clones.sort(function(a, b) {
return a.metaWindow.get_stable_sequence() - b.metaWindow.get_stable_sequence();
});
if (this._reservedSlot)
clones.push(this._reservedSlot);
@ -1027,8 +1105,7 @@ const Workspace = new Lang.Class({
let animate = flags & WindowPositionFlags.ANIMATE;
// Start the animations
let slots = this._computeAllWindowSlots(clones.length);
clones = this._orderWindowsByMotionAndStartup(clones, slots);
let slots = this._computeAllWindowSlots(clones);
let currentWorkspace = global.screen.get_active_workspace();
let isOnCurrentWorkspace = this.metaWorkspace == null || this.metaWorkspace == currentWorkspace;
@ -1045,10 +1122,11 @@ const Workspace = new Lang.Class({
if (clone.inDrag)
continue;
let [x, y, scale] = this._computeWindowLayout(metaWindow, slot);
let [x, y, scale] = slot;
if (overlay && initialPositioning)
overlay.hide();
if (animate && isOnCurrentWorkspace) {
if (!metaWindow.showing_on_its_workspace()) {
/* Hidden windows should fade in and grow
@ -1072,6 +1150,8 @@ const Workspace = new Lang.Class({
this._animateClone(clone, overlay, x, y, scale, initialPositioning);
} else {
// cancel any active tweens (otherwise they might override our changes)
Tweener.removeTweens(clone.actor);
clone.actor.set_position(x, y);
clone.actor.set_scale(scale, scale);
this._updateWindowOverlayPositions(clone, overlay, x, y, scale, false);
@ -1113,11 +1193,11 @@ const Workspace = new Lang.Class({
},
_updateWindowOverlayPositions: function(clone, overlay, x, y, scale, animate) {
if (!overlay)
return;
let [cloneWidth, cloneHeight] = clone.actor.get_size();
cloneWidth = scale * cloneWidth;
cloneHeight = scale * cloneHeight;
if (overlay)
overlay.updatePositions(x, y, cloneWidth, cloneHeight, animate);
overlay.updatePositions(x, y, cloneWidth * scale, cloneHeight * scale, animate);
},
_showWindowOverlay: function(clone, overlay, fade) {
@ -1211,6 +1291,7 @@ const Workspace = new Lang.Class({
this._cursorX = x;
this._cursorY = y;
this._currentLayout = null;
this._repositionWindowsId = Mainloop.timeout_add(750,
Lang.bind(this, this._delayedWindowRepositioning));
},
@ -1263,6 +1344,7 @@ const Workspace = new Lang.Class({
clone.actor.set_position (this._x, this._y);
}
this._currentLayout = null;
this.positionWindows(WindowPositionFlags.ANIMATE);
},
@ -1300,6 +1382,8 @@ const Workspace = new Lang.Class({
// Animate the full-screen to Overview transition.
zoomToOverview : function() {
this._currentLayout = null;
// Position and scale the windows.
if (Main.overview.animationInProgress)
this.positionWindows(WindowPositionFlags.ANIMATE | WindowPositionFlags.INITIAL);
@ -1464,29 +1548,108 @@ const Workspace = new Lang.Class({
}
},
_computeWindowSlot : function(windowIndex, numberOfWindows) {
if (numberOfWindows in POSITIONS)
return POSITIONS[numberOfWindows][windowIndex];
_isBetterLayout: function(oldLayout, newLayout) {
if (oldLayout.scale === undefined)
return true;
// If we don't have a predefined scheme for this window count,
// arrange the windows in a grid pattern.
let gridWidth = Math.ceil(Math.sqrt(numberOfWindows));
let gridHeight = Math.ceil(numberOfWindows / gridWidth);
let spacePower = (newLayout.space - oldLayout.space) * LAYOUT_SPACE_WEIGHT;
let scalePower = (newLayout.scale - oldLayout.scale) * LAYOUT_SCALE_WEIGHT;
let fraction = 0.95 * (1. / gridWidth);
let xCenter = (.5 / gridWidth) + ((windowIndex) % gridWidth) / gridWidth;
let yCenter = (.5 / gridHeight) + Math.floor((windowIndex / gridWidth)) / gridHeight;
return [xCenter, yCenter, fraction];
if (newLayout.scale > oldLayout.scale && newLayout.space > oldLayout.space) {
// Win win -- better scale and better space
return true;
} else if (newLayout.scale > oldLayout.scale && newLayout.space <= oldLayout.space) {
// Keep new layout only if scale gain outweights aspect space loss
return scalePower > spacePower;
} else if (newLayout.scale <= oldLayout.scale && newLayout.space > oldLayout.space) {
// Keep new layout only if aspect space gain outweights scale loss
return spacePower > scalePower;
} else {
// Lose -- worse scale and space
return false;
}
},
_computeAllWindowSlots: function(totalWindows) {
let slots = [];
for (let i = 0; i < totalWindows; i++) {
slots.push(this._computeWindowSlot(i, totalWindows));
_computeLayout: function(windows, area, rowSpacing, columnSpacing, bottomPadding) {
// We look for the largest scale that allows us to fit the
// largest row/tallest column on the workspace.
let lastLayout = {};
for (let numRows = 1; ; numRows++) {
let numColumns = Math.ceil(windows.length / numRows);
// If adding a new row does not change column count just stop
// (for instance: 9 windows, with 3 rows -> 3 columns, 4 rows ->
// 3 columns as well => just use 3 rows then)
if (numColumns == lastLayout.numColumns)
break;
let strategyClass = numRows > 2 ? GridLayoutStrategy : UnalignedLayoutStrategy;
let strategy = new strategyClass(this._monitor, rowSpacing, columnSpacing, bottomPadding);
let layout = { area: area, strategy: strategy, numRows: numRows, numColumns: numColumns };
strategy.computeLayout(windows, layout);
strategy.computeScaleAndSpace(layout);
if (!this._isBetterLayout(lastLayout, layout))
break;
lastLayout = layout;
}
return slots;
return lastLayout;
},
_rectEqual: function(one, two) {
if (one == two)
return true;
return (one.x == two.x &&
one.y == two.y &&
one.width == two.width &&
one.height == two.height);
},
_computeAllWindowSlots: function(windows) {
let totalWindows = windows.length;
let node = this.actor.get_theme_node();
// Window grid spacing
let columnSpacing = node.get_length('-horizontal-spacing');
let rowSpacing = node.get_length('-vertical-spacing');
if (!totalWindows)
return [];
let closeButtonHeight, captionHeight;
if (this._windowOverlays.length) {
// All of the overlays have the same chrome sizes,
// so just pick the first one.
let overlay = this._windowOverlays[0];
[closeButtonHeight, captionHeight] = overlay.chromeHeights();
} else {
[closeButtonHeight, captionHeight] = [0, 0];
}
rowSpacing += captionHeight;
let area = { x: this._x, y: this._y, width: this._width, height: this._height };
area.y += closeButtonHeight;
area.height -= closeButtonHeight;
if (!this._currentLayout)
this._currentLayout = this._computeLayout(windows, area, rowSpacing, columnSpacing, captionHeight);
let layout = this._currentLayout;
let strategy = layout.strategy;
if (!this._rectEqual(area, layout.area)) {
layout.area = area;
strategy.computeScaleAndSpace(layout);
}
return strategy.computeWindowSlots(layout, area);
},
_onCloneSelected : function (clone, time) {

View File

@ -51,7 +51,6 @@ const WorkspacesView = new Lang.Class({
this._clipY = 0;
this._clipWidth = 0;
this._clipHeight = 0;
this._workspaceRatioSpacing = 0;
this._spacing = 0;
this._animating = false; // tweening
this._scrolling = false; // swipe-scrolling
@ -72,6 +71,7 @@ const WorkspacesView = new Lang.Class({
this._workspaces[w].actor.reparent(this.actor);
this._workspaces[activeWorkspaceIndex].actor.raise_top();
this._extraWorkspaces = [];
this._updateExtraWorkspaces();
// Position/scale the desktop windows and their children after the
@ -83,8 +83,6 @@ const WorkspacesView = new Lang.Class({
Lang.bind(this, function() {
for (let w = 0; w < this._workspaces.length; w++)
this._workspaces[w].zoomToOverview();
if (!this._extraWorkspaces)
return;
for (let w = 0; w < this._extraWorkspaces.length; w++)
this._extraWorkspaces[w].zoomToOverview();
}));
@ -124,7 +122,6 @@ const WorkspacesView = new Lang.Class({
if (!this._settings.get_boolean('workspaces-only-on-primary'))
return;
this._extraWorkspaces = [];
let monitors = Main.layoutManager.monitors;
for (let i = 0; i < monitors.length; i++) {
if (i == Main.layoutManager.primaryIndex)
@ -139,23 +136,20 @@ const WorkspacesView = new Lang.Class({
},
_destroyExtraWorkspaces: function() {
if (!this._extraWorkspaces)
return;
for (let m = 0; m < this._extraWorkspaces.length; m++)
this._extraWorkspaces[m].destroy();
this._extraWorkspaces = null;
this._extraWorkspaces = [];
},
setGeometry: function(x, y, width, height, spacing) {
setGeometry: function(x, y, width, height) {
if (this._x == x && this._y == y &&
this._width == width && this._height == height)
return;
this._width = width;
this._height = height;
this._x = x;
this._y = y;
this._workspaceRatioSpacing = spacing;
for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].setGeometry(x, y, width, height);
@ -191,8 +185,6 @@ const WorkspacesView = new Lang.Class({
for (let w = 0; w < this._workspaces.length; w++)
this._workspaces[w].zoomFromOverview();
if (!this._extraWorkspaces)
return;
for (let w = 0; w < this._extraWorkspaces.length; w++)
this._extraWorkspaces[w].zoomFromOverview();
},
@ -204,8 +196,6 @@ const WorkspacesView = new Lang.Class({
syncStacking: function(stackIndices) {
for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].syncStacking(stackIndices);
if (!this._extraWorkspaces)
return;
for (let i = 0; i < this._extraWorkspaces.length; i++)
this._extraWorkspaces[i].syncStacking(stackIndices);
},
@ -234,7 +224,7 @@ const WorkspacesView = new Lang.Class({
Tweener.removeTweens(workspace.actor);
let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing);
let y = (w - active) * (this._height + this._spacing);
if (showAnimation) {
let params = { y: y,
@ -376,9 +366,6 @@ const WorkspacesView = new Lang.Class({
this._firstDragMotion = false;
for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].setReservedSlot(dragEvent.dragActor._delegate);
if (!this._extraWorkspaces)
return DND.DragMotionResult.CONTINUE;
for (let i = 0; i < this._extraWorkspaces.length; i++)
this._extraWorkspaces[i].setReservedSlot(dragEvent.dragActor._delegate);
}
@ -392,9 +379,6 @@ const WorkspacesView = new Lang.Class({
for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].setReservedSlot(null);
if (!this._extraWorkspaces)
return;
for (let i = 0; i < this._extraWorkspaces.length; i++)
this._extraWorkspaces[i].setReservedSlot(null);
},
@ -541,6 +525,16 @@ const WorkspacesDisplay = new Lang.Class({
this._notifyOpacityId = 0;
this._swipeScrollBeginId = 0;
this._swipeScrollEndId = 0;
this._settings = new Gio.Settings({ schema: OVERRIDE_SCHEMA });
this._settings.connect('changed::dynamic-workspaces',
Lang.bind(this, this._updateSwitcherVisibility));
},
_updateSwitcherVisibility: function() {
this._thumbnailsBox.actor.visible =
this._settings.get_boolean('dynamic-workspaces') ||
global.screen.n_workspaces > 1;
},
show: function() {
@ -563,6 +557,7 @@ const WorkspacesDisplay = new Lang.Class({
this._controls.show();
this._thumbnailsBox.show();
this._updateSwitcherVisibility();
this._updateWorkspacesViews();
@ -864,28 +859,23 @@ const WorkspacesDisplay = new Lang.Class({
let rtl = (Clutter.get_default_text_direction () == Clutter.TextDirection.RTL);
let clipWidth = width - controlsVisible;
let clipHeight = (fullHeight / fullWidth) * clipWidth;
let clipHeight = fullHeight;
let clipX = rtl ? x + controlsVisible : x;
let clipY = y + (fullHeight - clipHeight) / 2;
let widthAdjust = this._zoomOut ? controlsNatural : controlsVisible;
widthAdjust += Main.overview._spacing;
width -= widthAdjust;
if (rtl)
x += widthAdjust;
height = (fullHeight / fullWidth) * width;
let difference = fullHeight - height;
y += difference / 2;
let monitors = Main.layoutManager.monitors;
let m = 0;
for (let i = 0; i < monitors.length; i++) {
if (i == this._primaryIndex) {
this._workspacesViews[m].setClipRect(clipX, clipY,
clipWidth, clipHeight);
this._workspacesViews[m].setGeometry(x, y, width, height,
difference);
this._workspacesViews[m].setGeometry(x, y, width, height);
m++;
} else if (!this._workspacesOnlyOnPrimary) {
this._workspacesViews[m].setClipRect(monitors[i].x,
@ -895,7 +885,7 @@ const WorkspacesDisplay = new Lang.Class({
this._workspacesViews[m].setGeometry(monitors[i].x,
monitors[i].y,
monitors[i].width,
monitors[i].height, 0);
monitors[i].height);
m++;
}
}
@ -975,6 +965,7 @@ const WorkspacesDisplay = new Lang.Class({
for (let i = 0; i < this._workspacesViews.length; i++)
this._workspacesViews[i].updateWorkspaces(oldNumWorkspaces,
newNumWorkspaces);
this._updateSwitcherVisibility();
},
_updateZoom : function() {

331
po/as.po
View File

@ -7,18 +7,18 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-11-23 17:21+0530\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-09-25 12:18+0530\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: as_IN <kde-i18n-doc@kde.org>\n"
"Language: as_IN\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.0\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
@ -56,8 +56,7 @@ msgstr "GNOME শ্বেল সম্প্ৰসাৰনসমূহ সং
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Alt-F2 ৰ পৰা উন্নয়নকাৰী আৰু পৰীক্ষকসমূহৰ কাৰণে লাভদায়ক অভ্যন্তৰীক সঁজুলিসমূহ "
"সামৰ্থবান "
"Alt-F2 ৰ পৰা উন্নয়নকাৰী আৰু পৰীক্ষকসমূহৰ কাৰণে লাভদায়ক অভ্যন্তৰীক সঁজুলিসমূহ সামৰ্থবান "
"কৰক"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
@ -65,8 +64,7 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Alt-F2 ডাইলগ ব্যৱহাৰ কৰি অভ্যন্তৰীক ডিবাগিং আৰু মনিটৰিং সঁজুলিসমূহলে অভিগমৰ "
"অনুমতি "
"Alt-F2 ডাইলগ ব্যৱহাৰ কৰি অভ্যন্তৰীক ডিবাগিং আৰু মনিটৰিং সঁজুলিসমূহলে অভিগমৰ অনুমতি "
"দিয়ে।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
@ -81,10 +79,8 @@ msgid ""
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"GNOME শ্বেল সম্প্ৰসাৰণসমূহৰ এটা uuid বৈশিষ্ট আছে; এই কি'য়ে ল'ড হব লগিয়া "
"সমপ্ৰসাৰণসমূহ তালিকাভুক্ত কৰে। যিকোনো সম্প্ৰসাৰন যি ল'ড হব বিচাৰে এই তালিকাত "
"থাকিব "
"লাগিব। আপুনি এই তালিকাক org.gnome.Shell ত EnableExtension আৰু "
"DisableExtension "
"সমপ্ৰসাৰণসমূহ তালিকাভুক্ত কৰে। যিকোনো সম্প্ৰসাৰন যি ল'ড হব বিচাৰে এই তালিকাত থাকিব "
"লাগিব। আপুনি এই তালিকাক org.gnome.Shell ত EnableExtension আৰু DisableExtension "
"DBus পদ্ধতিসমূহৰ সৈতে সলনি কৰিব পাৰিব।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
@ -99,8 +95,7 @@ msgid ""
"remove already saved data."
msgstr ""
"শ্বেলে সাধাৰণত সক্ৰিয় এপ্লিকেচনসমূহ মনিটৰ কৰে যাতে সকলোতকৈ অধিক ব্যৱহৃতসমূহ "
"(উদাহৰনস্বৰুপে লঞ্চাৰসমূহত) ক দেখুৱাব পাৰে। যত এই তথ্য গোপন ৰখা হব, আপুনি "
"ইয়াক "
"(উদাহৰনস্বৰুপে লঞ্চাৰসমূহত) ক দেখুৱাব পাৰে। যত এই তথ্য গোপন ৰখা হব, আপুনি ইয়াক "
"গোপনীয়তা কাৰণসমূহৰ কাৰণে অসামৰ্থবান কৰিব পাৰে। অনুগ্ৰহ কৰি মন কৰিব যে এনেকুৱা "
"কৰাত ইতিমধ্যে সংৰক্ষীত তথ্য আতৰি নাযায়।"
@ -112,8 +107,7 @@ msgstr "পছন্দৰ এপ্লিকেচনসমূহৰ কাৰ
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"এই পৰিচয়কসমূহৰ লগত আনুষংগিক এপ্লিকেচনসমূহ পছন্দৰ স্থানত প্ৰদৰ্শীত কৰা হব।"
msgstr "এই পৰিচয়কসমূহৰ লগত আনুষংগিক এপ্লিকেচনসমূহ পছন্দৰ স্থানত প্ৰদৰ্শীত কৰা হব।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@ -136,68 +130,54 @@ msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"ব্যৱহাৰকাৰীৰ বাবে সৰ্বশেষ অধিবেশন উপস্থিতি অৱস্থা সংৰক্ষণ কৰাৰ বাবে "
"অভ্যন্তৰীয়ভাৱে "
"ব্যৱহাৰকাৰীৰ বাবে সৰ্বশেষ অধিবেশন উপস্থিতি অৱস্থা সংৰক্ষণ কৰাৰ বাবে অভ্যন্তৰীয়ভাৱে "
"ব্যৱহৃত। ইয়াত থকা মান GsmPresenceStatus ইনুমাৰেষণৰ পৰা উপলব্ধ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "ব্যৱহাৰকাৰী মেনুত 'Log out' মেনুআইটেম সদায় দেখুৱাব।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"এই কি'য়ে এটা-ব্যৱহাৰকাৰী, এটা-অধিবেশন অৱস্থাবোৰত 'Log out' মেনুআইটেম "
"স্বচালিতভাৱে "
"লুকুৱা অভাৰৰাইড কৰে।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "কেলেন্ডাৰত সপ্তাহৰ তাৰিখ দেখুৱাওক"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "যদি সত্য, ISO সপ্তাহ তাৰিখক কেলেণ্ডাৰত দেখুৱাওক।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "এপ্লিকেচন মেনু খোলিবলে Keybinding"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "এপ্লিকেচন মেনু খোলিবলে Keybinding।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "বাৰ্তা ট্ৰেৰ দৃশ্যমানতা টগ'ল কৰিবলে Keybinding"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "বাৰ্তা ট্ৰেৰ দৃশ্যমানতা টগ'ল কৰিবলে Keybinding।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "পৰ্দা ৰেকৰ্ডাৰ অদল বদল কৰিবলে Keybinding"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "বিল্টইন পৰ্দা ৰেকৰ্ডাৰ আৰম্ভ/বন্ধ কৰিবলে Keybinding।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "কোনটো কিবৰ্ড ব্যৱহাৰ কৰা হব"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "ব্যৱহাৰ কৰিব লগিয়া কিবৰ্ডৰ ধৰণ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "screencasts ৰেকৰ্ড কৰাৰ কাৰণে ব্যৱহৃত Framerate"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -205,11 +185,11 @@ msgstr ""
"GNOME শ্বেলৰ screencast ৰেকৰ্ডাৰে ফ্ৰেইম-প্ৰতি ছেকেণ্ডত ৰেকৰ্ড কৰা পৰিণাম "
"screencast ৰ framerate।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "screencast এনক'ড কৰিবলে ব্যৱহাৰ কৰা gstreamer পাইপলাইন"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -224,32 +204,28 @@ msgid ""
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"ৰেকৰ্ডিংসমূহ এনক'ড কৰোতে ব্যৱহৃত GStreamer পাইপলাইন সংহতি কৰে। ই gst-launch ৰ "
"কাৰণে ব্যৱহৃত বাক্যবিন্যাস অনুকৰন কৰে। পাইপলাইনৰ এটা অসংযোগিত চিঙ্ক পেড থাকিব "
"লাগে "
"কাৰণে ব্যৱহৃত বাক্যবিন্যাস অনুকৰন কৰে। পাইপলাইনৰ এটা অসংযোগিত চিঙ্ক পেড থাকিব লাগে "
"যত ৰেকৰ্ড কৰা ভিডিঅ' ৰেকৰ্ড কৰা হয়। ইয়াৰ সাধাৰণত এটা অসংযোগিত উৎস পেড থাকিব; "
"সেই পেডৰ পৰা আউটপুট এটা আউটপুট ফাইললে লিখা হব। যি কি নহওক পাইপলাইনে নিজৰ "
"আউটপুটৰ যত্ন লব পাৰে - ইয়াৰ হওতো আউটপুটক shout2send অথবা সমসাময়িকৰে এটা "
"icecast "
"আউটপুটৰ যত্ন লব পাৰে - ইয়াৰ হওতো আউটপুটক shout2send অথবা সমসাময়িকৰে এটা icecast "
"চাৰ্ভাৰত পঠাবলে ব্যৱহাৰ হব পাৰে। যেতিয়া এটা ৰিক্ত মানলে অসংহিত বা সংহিত, "
"অবিকল্পিত পাইপলাইন ব্যৱহাৰ কৰা হব। এইটো বৰ্তমানত 'vp8enc min_quantizer=13 "
"max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' "
"আৰু VP8 কডেক ব্যৱহাৰ কৰি WEBM ত ৰেকৰ্ড কৰে। %T ক চিস্টেমত অনুকূলিত থ্ৰেড "
"কাওন্টত এটা "
"অনুমানৰ প্লেইচহল্ডাৰ হিচাপে ব্যৱহাৰ কৰা হয়।"
"আৰু VP8 কডেক ব্যৱহাৰ কৰি WEBM ত ৰেকৰ্ড কৰে। %T ক চিস্টেমত অনুকূলিত থ্ৰেড কাওন্টত "
"এটা অনুমানৰ প্লেইচহল্ডাৰ হিচাপে ব্যৱহাৰ কৰা হয়।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "screencast সংৰক্ষণ কৰাৰ কাৰণে লথিপত্ৰ সম্প্ৰসাৰন"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"ৰেকৰ্ড কৰা screencasts ৰ কাৰণে ফাইল নাম বৰ্তমান তাৰিখৰ উপৰত ভিত্তি কৰি এটা "
"অবিকল্প ফাইল নাম হব, আৰু এই সম্প্ৰসাৰন ব্যৱহাৰ কৰিব। ইয়াক এটা ভিন্ন "
"অন্তৰ্ভুক্তক "
"অবিকল্প ফাইল নাম হব, আৰু এই সম্প্ৰসাৰন ব্যৱহাৰ কৰিব। ইয়াক এটা ভিন্ন অন্তৰ্ভুক্তক "
"বিন্যাসত ৰেকৰ্ড কৰোতে পৰিবৰ্তন কৰিব লাগিব।"
#: ../js/extensionPrefs/main.js:124
@ -265,11 +241,11 @@ msgstr "প্ৰসাৰন"
msgid "Select an extension to configure using the combobox above."
msgstr "উপৰত দিয়া কম্বোবাকচ ব্যৱহাৰ কৰি সংৰূপণ কৰিবলে এটা সম্প্ৰসাৰন বাছক।"
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "অধিবেশন..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "ছাইন ইন কৰক"
@ -277,33 +253,34 @@ msgstr "ছাইন ইন কৰক"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "তালিকাভুক্ত নহয়?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "বাতিল কৰক"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "ছাইন ইন কৰক"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "লগিন উইন্ডো"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "শক্তি"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "বাতিল কৰক"
@ -311,8 +288,8 @@ msgstr "বাতিল কৰক"
msgid "Restart"
msgstr "পুনৰাম্ভ কৰক"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "বন্ধ কৰক"
@ -363,7 +340,7 @@ msgstr "SETTINGS"
msgid "New Window"
msgstr "নতুন উইন্ডো"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "পছন্দৰ পৰা আতৰাওক"
@ -527,16 +504,16 @@ msgstr "এই সপ্তাহ"
msgid "Next week"
msgstr "অহা সপ্তাহ"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "আতৰাব পৰা ডিভাইচসমূহ"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s ৰ সৈতে খোলক"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "উলিৱাওক"
@ -595,9 +572,7 @@ msgstr "বেতাঁৰ নেটৱাৰ্কৰ দ্বাৰা প্
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr ""
"বেতাঁৰ নেটৱাৰ্ক '%s' অভিগম কৰিবলে পাছৱাৰ্ডসমূহ অথবা ইনক্ৰিপষণ কি'সমূহৰ "
"প্ৰয়োজন।"
msgstr "বেতাঁৰ নেটৱাৰ্ক '%s' অভিগম কৰিবলে পাছৱাৰ্ডসমূহ অথবা ইনক্ৰিপষণ কি'সমূহৰ প্ৰয়োজন।"
#: ../js/ui/components/networkAgent.js:314
msgid "Wired 802.1X authentication"
@ -693,35 +668,35 @@ msgstr "মোন কৰক"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%X</b> on <b>%A</b> ত পঠোৱা হৈছে"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b> ত পঠোৱা হৈছে, <b>%B %d</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b> ত পঠোৱা হৈছে, <b>%B %d</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s এতিয়া %s হিচাপে জনাজাত"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s লে নিমন্ত্ৰণ"
@ -729,42 +704,42 @@ msgstr "%s লে নিমন্ত্ৰণ"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s এ আপোনাক %s ত অংশগ্ৰহণ কৰিবলে আমন্ত্ৰণ জনাইছে"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "নাকচ কৰক"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "গ্ৰহন কৰক"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s ৰ পৰা ভিডিঅ' কল"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s ৰ পৰা কল"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "নাকচ কৰক"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "উত্তৰ দিয়ক"
@ -773,142 +748,138 @@ msgstr "উত্তৰ দিয়ক"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s এ আপোনাক %s পঠাই আছে"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "আপুনি কেতিয়া অনলাইন আছে চাবলে %s এ অনুমতি বিচাৰিব"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "নেটৱাৰ্ক ত্ৰুটি"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "প্ৰমাণীকৰণ ব্যৰ্থ"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "ইনক্ৰিপষণ ত্ৰুটি"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "প্ৰমাণপত্ৰ প্ৰদান কৰা হোৱা নাই"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "প্ৰমাণপত্ৰক ভৰষা কৰিব নোৱাৰি"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "প্ৰমাণপত্ৰৰ অৱসান ঘটিছে"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "প্ৰমাণপত্ৰ সক্ৰিয় কৰা হোৱা নাই"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "প্ৰমাণপত্ৰ হস্টনাম অমিল"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "প্ৰমাণপত্ৰ ফিংগাৰপ্ৰিন্ট অমিল"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "প্ৰমাণপত্ৰ স্ব-স্বাক্ষৰীত"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "অৱস্থা অফলাইনলে সংহতি কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "ইনক্ৰিপষণ উপলব্ধ নহয়"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "প্ৰমাণপত্ৰ অবৈধ"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "সংযোগ নাকচ কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "সংযোগ স্থাপন কৰিব নোৱাৰি"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "সংযোগ হেৰাইছে"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "এই একাওন্ট ইতিমধ্যে চাৰ্ভাৰৰ সৈতে সংযোগিত"
#: ../js/ui/components/telepathyClient.js:1334
msgid ""
"Connection has been replaced by a new connection using the same resource"
#: ../js/ui/components/telepathyClient.js:1332
msgid "Connection has been replaced by a new connection using the same resource"
msgstr "সংযোগক একে সম্পদ ব্যৱহাৰ কৰি এটা নতুন সংযোগৰে প্ৰতিস্থাপন কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "একাওন্ট ইতিমধ্যে চাৰ্ভাৰত উপস্থিত"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "চাৰ্ভাৰ সংযোগ ব্যৱস্থাপনা কৰিবলে বৰ্তমানে অতি ব্যস্ত"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "প্ৰমাণপত্ৰ প্ৰত্যাহাৰ কৰা হৈছে"
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
#: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"প্ৰমাণপত্ৰয় এটা অসুৰক্ষিত চিফাৰ এলগৰিথম ব্যৱহাৰ কৰে অথবা ক্ৰিপ্টোগ্ৰাফিয়ভাৱে "
"দুৰ্বল"
"প্ৰমাণপত্ৰয় এটা অসুৰক্ষিত চিফাৰ এলগৰিথম ব্যৱহাৰ কৰে অথবা ক্ৰিপ্টোগ্ৰাফিয়ভাৱে দুৰ্বল"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"চাৰ্ভাৰ প্ৰমাণপত্ৰৰ দৈৰ্ঘ, অথবা চাৰ্ভাৰ প্ৰমাণপত্ৰ শৃংখলৰ গভীৰতা, "
"ক্ৰিপ্টোগ্ৰাফী "
"চাৰ্ভাৰ প্ৰমাণপত্ৰৰ দৈৰ্ঘ, অথবা চাৰ্ভাৰ প্ৰমাণপত্ৰ শৃংখলৰ গভীৰতা, ক্ৰিপ্টোগ্ৰাফী "
"লাইব্ৰেৰীয়ে প্ৰণয়ন কৰা সীমাসমূহত অতিক্ৰম কৰে"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "অভ্যন্তৰীক ত্ৰুটি"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s লে সংযোগ ব্যৰ্থ"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "পুনৰ সংযোগ কৰক"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "একাওন্ট সম্পাদন কৰক"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "অজ্ঞাত কাৰণ"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "এপ্লিকেচনসমূহ দেখুৱাওক"
@ -916,14 +887,14 @@ msgstr "এপ্লিকেচনসমূহ দেখুৱাওক"
msgid "Date and Time Settings"
msgstr "তাৰিখ আৰু সময সংহতিসমূহ"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "কেলেন্ডাৰ খোলক"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -940,8 +911,7 @@ msgstr "লগ আউট কৰক"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr ""
"এই এপ্লিকেচনসমূহ প্ৰস্থান কৰি চিস্টেমৰ পৰা লগ আউট হবলে লগ আউট ক্লিক কৰক।"
msgstr "এই এপ্লিকেচনসমূহ প্ৰস্থান কৰি চিস্টেমৰ পৰা লগ আউট হবলে লগ আউট ক্লিক কৰক।"
#: ../js/ui/endSessionDialog.js:65
#, c-format
@ -1003,8 +973,7 @@ msgstr "পুনৰাম্ভ কৰক"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr ""
"এই এপ্লিকেচনসমূহক প্ৰস্থান কৰি চিস্টেম পুনৰাম্ভ কৰিবলে পুনৰাম্ভ ক্লিক কৰক।"
msgstr "এই এপ্লিকেচনসমূহক প্ৰস্থান কৰি চিস্টেম পুনৰাম্ভ কৰিবলে পুনৰাম্ভ ক্লিক কৰক।"
#: ../js/ui/endSessionDialog.js:101
#, c-format
@ -1026,11 +995,11 @@ msgstr "ইনস্টল কৰক"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org ৰ পৰা '%s' ক ডাউনল'ড আৰু ইনস্টল কৰিব নে?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ট্ৰে"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "কিবৰ্ড"
@ -1083,23 +1052,23 @@ msgstr "উৎস দৰ্শন কৰক"
msgid "Web Page"
msgstr "ৱেব পৃষ্ঠা"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "খোলক"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "আতৰাওক"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "বাৰ্তা ট্ৰে"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "চিস্টেম তথ্য"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "অজ্ঞাত"
@ -1155,7 +1124,7 @@ msgstr "অনুগ্ৰহ কৰি এটা কমান্ড সুম
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d"
@ -1205,7 +1174,7 @@ msgstr "পাছৱাৰ্ড"
msgid "Remember Password"
msgstr "পাছৱাৰ্ড মনত ৰাখক"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "আনলক কৰক"
@ -1323,7 +1292,7 @@ msgstr "কিবৰ্ড সংহতিসমূহ"
msgid "Mouse Settings"
msgstr "মাউছ আৰু টাচপেড সংহতিসমূহ"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "শব্দ সংহতিসমূহ"
@ -1608,7 +1577,7 @@ msgid "Unknown"
msgstr "অজ্ঞাত"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "ভলিউম"
@ -1616,69 +1585,72 @@ msgstr "ভলিউম"
msgid "Microphone"
msgstr "মাইক্ৰোফোন"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "অন্য ব্যৱহাৰকাৰী হিচাপে লগিন কৰক"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "উপলব্ধ"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "ব্যস্থ"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "অদৃশ্য"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "আতৰত"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "অলস"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "উপলব্ধ নাই"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "অধিসূচনাসমূহ"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "চিস্টেম সংহতিসমূহ"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "অধিবেশন পৰিবৰ্তন কৰক"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "অধিসূচনাসমূহ"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "চিস্টেম সংহতিসমূহ"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "লগ আউট কৰক"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "লক কৰক"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "আপডেইটসমূহ ইনস্টল কৰক আৰু পুনাৰম্ভ কৰক"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "আপোনাৰ চেট অৱস্থা ব্যস্থলে সংহতি কৰা হব"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
msgstr ""
"অধিসূচনাসমূহ এতিয়া অসামৰ্থবান কৰা হৈছে, চেট বাৰ্তাসমূহ অন্তৰ্ভুক্ত কৰাকৈ। "
"আপোনাৰ "
"অধিসূচনাসমূহ এতিয়া অসামৰ্থবান কৰা হৈছে, চেট বাৰ্তাসমূহ অন্তৰ্ভুক্ত কৰাকৈ। আপোনাৰ "
"অনলাইন অৱস্থা ঠিক কৰা হৈছে যাতে আনে জানিব পাৰে যে আপুনি সিহতৰ বাৰ্তা চাব "
"নোৱাৰিবও পাৰে।"
@ -1694,7 +1666,7 @@ msgstr "এপ্লিকেচনসমূহ"
msgid "Search"
msgstr "সন্ধান কৰক"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1703,12 +1675,12 @@ msgstr ""
"ক্ষমা কৰিব, আপোনাৰ বাবে আজি কোনো জ্ঞান নাই:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s Oracle এ ক'য়"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "আপোনাৰ পছন্দৰ Easter Egg"
@ -1743,23 +1715,23 @@ msgstr[1] "%u ইনপুটসমূহ"
msgid "System Sounds"
msgstr "চিস্টেম শব্দসমূহ"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "প্ৰিন্ট সংস্কৰণ"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "লগিন স্ক্ৰিনৰ বাবে GDM দ্বাৰা ব্যৱহাৰ কৰা অৱস্থা"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "লগিন পৰ্দাৰ বাবে এটা বিশেষ অৱস্থা, উদাহৰণস্বৰূপ \"gdm\" ব্যৱহাৰ কৰক"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "সম্ভাব্য অৱস্থাসমূহ তালিকাভুক্ত কৰক"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' লঞ্চ কৰিবলে ব্যৰ্থ"
@ -1784,9 +1756,6 @@ msgstr "অবিকল্পিত"
msgid "Authentication dialog was dismissed by the user"
msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰকাৰী দ্বাৰা নাকচ কৰা হৈছিল"
#~ msgid "Switch Session"
#~ msgstr "অধিবেশন পৰিবৰ্তন কৰক"
#~ msgid "Failed to unmount '%s'"
#~ msgstr "'%s' আনমাউন্ট কৰিবলে ব্যৰ্থ"

192
po/be.po
View File

@ -5,8 +5,8 @@ msgstr ""
"Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-02 07:11+0000\n"
"PO-Revision-Date: 2012-11-02 15:12+0300\n"
"POT-Creation-Date: 2012-10-15 23:38+0000\n"
"PO-Revision-Date: 2012-10-16 12:05+0300\n"
"Last-Translator: Kasia Bondarava <kasia.bondarava@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n"
@ -34,6 +34,14 @@ msgstr "Сістэма"
msgid "Show the message tray"
msgstr "Паказаць абшар апавяшчэнняў"
#: ../data/50-gnome-shell-system.xml.in.h:3
msgid "Show all applications"
msgstr "Паказаць усе праграмы"
#: ../data/50-gnome-shell-system.xml.in.h:4
msgid "Open the application menu"
msgstr "Адкрыць праграмнае меню"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Абалонка GNOME"
@ -136,33 +144,30 @@ msgstr ""
"камунікатара карыстальніка. Гэта значэнне - з пераліку GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Заўсёды паказваць элемент для выхаду з сеанса ў карыстальніцкім меню."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Гэта настройка дазваляе выключыць аўтаматычнае хаванне элемента для выхаду "
"з сеанса ў аднакарыстальніцкім, аднасеансавым рэжыме."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Паказваць тыдзень у календары"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Калі ўключана, паказваць тыдзень у календары ў ISO-фармаце."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Клавіятурны скарот для адкрыцця праграмнага меню"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Клавіятурны скарот для адкрыцця праграмнага меню."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Клавіятурны скарот для рэжыму \"Паказаць праграмы\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Клавіятурны скарот для рэжыму \"Паказаць праграмы\" у Аглядзе Заняткаў."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Клавіятурны скарот для ўключэння/выключэння абшару апавяшчэнняў"
@ -295,8 +300,8 @@ msgstr "Акно ўваходу"
msgid "Power"
msgstr "Праца сістэмы"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Прыпыніць камп'ютар"
@ -304,8 +309,8 @@ msgstr "Прыпыніць камп'ютар"
msgid "Restart"
msgstr "Перазапусціць сістэму"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:662 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Выключыць камп'ютар"
@ -688,35 +693,35 @@ msgstr "Абязгучыць"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Адпраўлена ў <b>%X</b>, <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Адпраўлена ў <b>%A</b>, <b>%d %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Адпраўлена ў <b>%A</b>, <b>%d %B</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s змяніў імя на %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Запрашэнне ў %s"
@ -724,42 +729,42 @@ msgstr "Запрашэнне ў %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "Удзельнік %s запрашае вас далучыцца да %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Адмовіцца"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Прыняць"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Відэазванок ад %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Званок ад %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Адмовіць"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Адказаць"
@ -768,108 +773,108 @@ msgstr "Адказаць"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s пасылае вам %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s просіць дазволу на прагляд вашага сеткавага стану"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Сеткавая памылка"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Няўдалая ідэнтыфікацыя"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Памылка шыфравання"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Сертыфікат не пададзены"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Сертыфікат не заслугоўвае даверу"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Сертыфікат састарэў"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Сертыфікат не актывізаваны"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Назва камп'ютара ў сертыфікаце не адпавядае патрэбнай"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Адбітак сертыфіката не адпавядае патрэбнаму"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Сертыфікат уласнаручна падпісаны"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Уключаны рэжым па-за сеткай"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Шыфраванне недаступнае"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Хібны сертыфікат"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Адмоўлена ў злучэнні"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "Не ўдалося ўсталяваць злучэнне"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Злучэнне страчана"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Гэты конт ужо злучаны з серверам"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Злучэнне заменена новым для таго ж самага рэсурсу"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Такі конт ужо існуе на серверы"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Сервер надта заняты і не можа абслужыць гэта злучэнне"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Сертыфікат быў адкліканы"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "Для сертыфіката выкарыстаны слабы або небяспечны алгарытм шыфравання"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -877,26 +882,26 @@ msgstr ""
"Даўжыня сертыфіката сервера або глыбіня яго ланцуга перавышае абмежаванне, "
"выстаўленае крыптаграфічнай бібліятэкай"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Унутраная памылка"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "не ўдалося злучыцца з %s"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Перазлучыцца"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Рэдагаваць конт"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Невядомая прычына"
@ -1083,23 +1088,23 @@ msgstr "Паглядзець выточны код"
msgid "Web Page"
msgstr "Сеціўная старонка"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Адкрыць"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Выдаліць"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Абшар апавяшчэнняў"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Сістэмная інфармацыя"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Невядомая"
@ -1155,11 +1160,11 @@ msgstr "Увядзіце загад:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1167,7 +1172,7 @@ msgstr[0] "%d новае паведамленне"
msgstr[1] "%d новыя паведамленні"
msgstr[2] "%d новых паведамленняў"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1627,59 +1632,59 @@ msgstr "Мікрафон"
msgid "Log in as another user"
msgstr "Увайсці іншым карыстальнікам"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Даступны"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Заняты"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Нябачны"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Адсутны"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Бяздзейны"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Недаступны"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Апавяшчэнні"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Сістэмныя настройкі"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Перамяніць карыстальніка"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Выйсці з сеанса"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Заблакіраваць"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Усталяваць абнаўленні і перазагрузіць камп'ютар"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Вам прызначаны стан занятасці для чату"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1688,15 +1693,15 @@ msgstr ""
"сеціўны стан абноўлены інфармацыяй аб тым, што вы можаце не ўбачыць чужых "
"паведамленняў у час."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Вокны"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Праграмы"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Пошук"
@ -1767,7 +1772,7 @@ msgstr "Ужыць асаблівы рэжым, напрыклад, \"gdm\" дл
msgid "List possible modes"
msgstr "Вывесці спіс магчымых рэжымаў"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Не ўдалося запусціць \"%s\""
@ -1791,4 +1796,3 @@ msgstr "Прадвызначана"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Карыстальнік праігнараваў дыялогавае акенца ідэнтыфікацыі"

File diff suppressed because it is too large Load Diff

256
po/ca.po
View File

@ -10,14 +10,14 @@ msgstr ""
"Project-Id-Version: HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-11-03 16:22+0100\n"
"POT-Creation-Date: 2012-09-25 10:59+0000\n"
"PO-Revision-Date: 2012-09-25 07:47+0100\n"
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bits\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Gtranslator 2.91.5\n"
@ -141,63 +141,50 @@ msgstr ""
"l'usuari. El valor prové de l'enumeració «GsmPresenceStatus»."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Mostra sempre l'element de menú «Surt» en el menú d'usuari."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Aquesta clau sobreescriu l'ocultació automàtica de l'element de menú «Surt» "
"en el menú d'usuari en el cas que només hi hagi un sol usuari i una sola "
"sessió."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Mostra el número de la setmana en el calendari"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Si és «true» (cert) es mostra el número de la setmana en el calendari."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Vinculació per obrir el menú d'aplicació"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "La vinculació per obrir el menú d'aplicació."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "La vinculació per commutar la visibilitat de la safata de missatges"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "La vinculació per commutar la visibilitat de la safata de missatges."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "La vinculació per commutar l'enregistrador de pantalla"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "La vinculació per iniciar/aturar l'enregistrador de pantalla."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "Quin tipus de teclat s'ha d'utilitzar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "El tipus de teclat que s'utilitzarà."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "Imatges per segon per enregistrar els screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -205,11 +192,11 @@ msgstr ""
"Les imatges per segon, en fotogrames per segon, de l'screencast enregistrat "
"per l'eina d'enregistrament del GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "El conducte GStreamer per enregistrar els screencasts"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -236,11 +223,11 @@ msgstr ""
"WEBM i utilitza el còdec VP8. El %T és una variable per estimar el nombre de "
"fils d'execució paral·lels òptims del sistema."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "Extensió de fitxer per desar l'screencast"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -263,11 +250,11 @@ msgstr "Extensió"
msgid "Select an extension to configure using the combobox above."
msgstr "Seleccioneu una extensió amb el quadre combinat per configurar-la."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:528
msgid "Session..."
msgstr "Sessió..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:676
msgctxt "title"
msgid "Sign In"
msgstr "Entrada"
@ -275,23 +262,23 @@ msgstr "Entrada"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:743
msgid "Not listed?"
msgstr "No esteu llistat?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:896 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "Cancel·la"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:901
msgctxt "button"
msgid "Sign In"
msgstr "Entra"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1240
msgid "Login Window"
msgstr "Finestra d'entrada"
@ -300,8 +287,8 @@ msgstr "Finestra d'entrada"
msgid "Power"
msgstr "Apaga"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "Atura temporalment"
@ -309,8 +296,8 @@ msgstr "Atura temporalment"
msgid "Restart"
msgstr "Reinicia"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "Apaga"
@ -361,7 +348,7 @@ msgstr "CONFIGURACIÓ"
msgid "New Window"
msgstr "Finestra nova"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "Suprimeix dels preferits"
@ -525,16 +512,16 @@ msgstr "Aquesta setmana"
msgid "Next week"
msgstr "La setmana que ve"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "Dispositius extraïbles"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "Obre amb %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "Expulsa"
@ -691,35 +678,35 @@ msgstr "Silencia"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Enviat a les <b>%X</b> del <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Enviat el <b>%A %d de %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Enviat el <b>%A %d de %B</b> de %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "En/na %s ara es diu %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Us han convidat a entrar a %s"
@ -727,42 +714,42 @@ msgstr "Us han convidat a entrar a %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "En/na %s us convida a entrar a %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Declina"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Accepta"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Videotrucada de %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Trucada de %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Rebutja"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Contesta"
@ -771,112 +758,112 @@ msgstr "Contesta"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "En/na %s us envia %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s vol poder saber quan esteu en línia"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Error de la xarxa"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Ha fallat l'autenticació"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Error d'encriptació"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "No s'ha proporcionat el certificat"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "El certificat no és de confiança"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "El certificat ha vençut"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "El certificat no està activat"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "No coincideix el nom de la màquina del certificat"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "No coincideix l'empremta digital del certificat"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Certificat signat per un mateix"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "S'ha establert l'estat a fora de línia"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "L'encriptació no està disponible"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "El certificat no és vàlid"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "S'ha rebutjat la connexió"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "No es pot establir la connexió"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "S'ha perdut la connexió"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Aquest compte ja està connectat al servidor"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"S'ha reemplaçat la connexió per una altra de nova fent servir el mateix "
"recurs"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Ja existeix aquest compte al servidor"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "El servidor està massa ocupat per gestionar la connexió"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "S'ha revocat el certificat"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"El certificat utilitza un algorisme criptògraf no segur o la seva fortalesa "
"criptogràfica és feble"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -884,30 +871,30 @@ msgstr ""
"La llargada del certificat del servidor o la profunditat de la cadena de "
"certificació excedeix els límits de la biblioteca criptogràfica"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "S'ha produït un error intern"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Ha fallat la connexió a %s"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Torna a connectar"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Edita el compte"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Motiu desconegut"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "Mostra les aplicacions"
@ -915,14 +902,14 @@ msgstr "Mostra les aplicacions"
msgid "Date and Time Settings"
msgstr "Configuració de la data i l'hora"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "Obre el calendari"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %d de %B, %Y"
@ -1081,23 +1068,23 @@ msgstr "Mostra el codi font"
msgid "Web Page"
msgstr "Pàgina web"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Obre"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Suprimeix"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2088
msgid "Message Tray"
msgstr "Safata de missatges"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2551
msgid "System Information"
msgstr "Informació de l'ordinador"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Desconegut"
@ -1153,7 +1140,7 @@ msgstr "Introduïu una ordre:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A %d de %B"
@ -1203,7 +1190,7 @@ msgstr "Contrasenya"
msgid "Remember Password"
msgstr "Recorda la contrasenya"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "Desbloqueja"
@ -1614,63 +1601,67 @@ msgstr "Volum"
msgid "Microphone"
msgstr "Micròfon"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "Entra amb un altre usuari"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Disponible"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Ocupat"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Absent"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Inactiu"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "No disponible"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "Notificacions"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "Paràmetres del sistema"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "Canvia d'usuari"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "Canvia de sessió"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "Notificacions"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "Paràmetres del sistema"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "Surt"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "Bloqueja"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "Instal·la les actualitzacions i reinicia"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "L'estat del xat s'establirà a ocupat"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1691,7 +1682,7 @@ msgstr "Aplicacions"
msgid "Search"
msgstr "Cerca"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1700,12 +1691,12 @@ msgstr ""
"No hi ha cap consell per avui:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "L'oracle diu %s"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "El vostre ou de pasqua preferit"
@ -1740,23 +1731,23 @@ msgstr[1] "%u entrades"
msgid "System Sounds"
msgstr "Sons del sistema"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "Mostra la versió"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Utilitza un mode específic, p. ex. «gdm» per la pantalla d'entrada"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "Llista els modes possibles"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "No s'ha pogut iniciar «%s»"
@ -1781,9 +1772,6 @@ msgstr "Predeterminat"
msgid "Authentication dialog was dismissed by the user"
msgstr "L'usuari ha descartat el diàleg d'autenticació"
#~ msgid "Switch Session"
#~ msgstr "Canvia de sessió"
#~ msgid "Failed to unmount '%s'"
#~ msgstr "No s'ha pogut desmuntar «%s»"

377
po/cs.po
View File

@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"POT-Creation-Date: 2012-10-31 16:46+0000\n"
"PO-Revision-Date: 2012-11-04 17:40+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
@ -40,6 +40,14 @@ msgstr "Systém"
msgid "Show the message tray"
msgstr "Zobrazit lištu zpráv"
#: ../data/50-gnome-shell-system.xml.in.h:3
msgid "Show all applications"
msgstr "Zobrazit všechny aplikace"
#: ../data/50-gnome-shell-system.xml.in.h:4
msgid "Open the application menu"
msgstr "Otevřít nabídku aplikací"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Prostředí GNOME Shell"
@ -167,34 +175,47 @@ msgid "Keybinding to open the application menu."
msgstr "Klávesová zkratka na otevření nabídky aplikace."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Klávesová zkratka na otevření nabídky aplikace"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#, fuzzy
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Klávesová zkratka na otevření nabídky aplikace."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Klávesová zkratka k přepnutí viditelnosti lišty zpráv"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Klávesová zkratka k přepnutí viditelnosti lišty zpráv."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to toggle the screen recorder"
msgstr "Klávesová zkratka k záznamu obrazovky"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "Klávesová zkratka k započnutí nebo ukončení záznamu dění na obrazovce."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Which keyboard to use"
msgstr "Která klávesnice se má používat"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "The type of keyboard to use."
msgstr "Typ klávesnice, který se má používat."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Framerate used for recording screencasts."
msgstr "Frekvence snímků při nahrávání dění na obrazovce."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -202,11 +223,11 @@ msgstr ""
"Frekvence snímků za sekundu výsledné nahrávky dění na obrazovce, která byla "
"nahrána záznamovým programem GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Roura systému gstreamer určená ke kódování nahrávky dění na obrazovce"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -231,11 +252,11 @@ msgstr ""
"nahráváním do WEBM s kodekem VP8. %T je použito jako zástupný symbol odhadu "
"nejvhodnějšího počtu vláken na systému."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "File extension used for storing the screencast"
msgstr "Přípona souboru s nahrávkou dění na obrazovce"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -245,6 +266,39 @@ msgstr ""
"názvu vycházejícího z aktuálního data a bude používat tuto příponu. Při "
"nahrávání do jiného formátu kontejneru by měla být provedena úprava pravidel."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "Attach modal dialog to the parent window"
msgstr "Připojovat modální dialogová okna k rodičovským oknům"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Tento kíč přepisuje klíč v org.gnome.mutter, když běží GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Arrangement of buttons on the titlebar"
msgstr "Uspořádání tlačítek v záhlaví"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"Tento kíč přepisuje klíč v org.gnome.desktop.wm.preferences, když běží GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid "Workspaces are managed dynamically"
msgstr "Pracovní plochy jsou spravovány dynamicky"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Workspaces only on primary monitor"
msgstr "Pracovní plochy pouze na hlavním monitoru"
#: ../js/extensionPrefs/main.js:124
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@ -260,11 +314,11 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:560
msgid "Session..."
msgstr "Sezení…"
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:704
msgctxt "title"
msgid "Sign In"
msgstr "Přihlášení"
@ -272,56 +326,56 @@ msgstr "Přihlášení"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:763
msgid "Not listed?"
msgstr "Nejste na seznamu?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:905 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
msgid "Cancel"
msgstr "Zrušit"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:910
msgctxt "button"
msgid "Sign In"
msgstr "Přihlásit se"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1221
msgid "Login Window"
msgstr "Přihlašovací okno"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#: ../js/gdm/powerMenu.js:36
msgid "Power"
msgstr "Vypnout"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:667 ../js/ui/userMenu.js:671
#: ../js/ui/userMenu.js:782
msgid "Suspend"
msgstr "Uspat do paměti"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:98
msgid "Restart"
msgstr "Restartovat"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:669
#: ../js/ui/userMenu.js:671 ../js/ui/userMenu.js:781
msgid "Power Off"
msgstr "Vypnout"
#: ../js/gdm/util.js:148
#: ../js/gdm/util.js:151
msgid "Authentication error"
msgstr "Chyba ověření"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:265
#: ../js/gdm/util.js:268
msgid "(or swipe finger)"
msgstr "(nebo otiskněte prst)"
#: ../js/gdm/util.js:290
#: ../js/gdm/util.js:293
#, c-format
msgid "(e.g., user or %s)"
msgstr "(např. uživatel nebo %s)"
@ -491,48 +545,48 @@ msgid "S"
msgstr "So"
#. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:699
#: ../js/ui/calendar.js:700
msgid "Nothing Scheduled"
msgstr "Nic nenaplánováno"
#. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:715
#: ../js/ui/calendar.js:716
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:718
#: ../js/ui/calendar.js:719
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:728
#: ../js/ui/calendar.js:729
msgid "Today"
msgstr "Dnes"
#: ../js/ui/calendar.js:732
#: ../js/ui/calendar.js:733
msgid "Tomorrow"
msgstr "Zítra"
#: ../js/ui/calendar.js:743
#: ../js/ui/calendar.js:744
msgid "This week"
msgstr "Tento týden"
#: ../js/ui/calendar.js:751
#: ../js/ui/calendar.js:752
msgid "Next week"
msgstr "Následující týden"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:295
msgid "Removable Devices"
msgstr "Výměnná zařízení"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:591
#, c-format
msgid "Open with %s"
msgstr "Otevřít s %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:617
msgid "Eject"
msgstr "Vysunout"
@ -686,38 +740,42 @@ msgstr "Zrušit ztlumení"
msgid "Mute"
msgstr "Ztlumit"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#. Translators: this is a time format string followed by the word "Yesterday". i.e. "14:30 on Yesterday"
#: ../js/ui/components/telepathyClient.js:943
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Čas odeslání: <b>%X</b>, den odeslání: <b>%A</b>"
msgid "<b>%H:%M</b> on Yesterday"
msgstr ""
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#. Translators: this is a time format string followed by a week day name. i.e. "14:30 on Monday
#: ../js/ui/components/telepathyClient.js:949
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Den odeslání: <b>%A</b>, <b>%e. %B</b>"
msgid "<b>%H:%M</b> on <b>%A</b>"
msgstr "<b>%H:%M</b> v <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25",
#. shown when you get a chat message in the same year
#: ../js/ui/components/telepathyClient.js:955
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Den odeslání: <b>%A</b>, <b>%e. %B</b> %Y"
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>"
msgstr "<b>%H:%M</b> v <b>%A</b>, <b>%e. %B</b>"
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year
#: ../js/ui/components/telepathyClient.js:960
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>, %Y"
msgstr "<b>%H:%M</b> v <b>%A</b>, <b>%e. %B</b> %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s je teď znám jako %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1087
#, c-format
msgid "Invitation to %s"
msgstr "Pozvánka na připojení k %s"
@ -725,42 +783,42 @@ msgstr "Pozvánka na připojení k %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1095
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s vás zve do %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1097
#: ../js/ui/components/telepathyClient.js:1176
#: ../js/ui/components/telepathyClient.js:1239
msgid "Decline"
msgstr "Odmítnout"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Accept"
msgstr "Přijmout"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1128
#, c-format
msgid "Video call from %s"
msgstr "Videohovor od %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1131
#, c-format
msgid "Call from %s"
msgstr "Hovor od %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Odmítnout"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1138
msgid "Answer"
msgstr "Zvednout"
@ -769,110 +827,110 @@ msgstr "Zvednout"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1170
#, c-format
msgid "%s is sending you %s"
msgstr "%s vám posílá %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1205
#, c-format
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í"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1297
msgid "Network error"
msgstr "Chyba sítě"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1299
msgid "Authentication failed"
msgstr "Ověření selhalo"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1301
msgid "Encryption error"
msgstr "Chyba šifrování"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1303
msgid "Certificate not provided"
msgstr "Certifikát neposkytnut"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1305
msgid "Certificate untrusted"
msgstr "Nedůvěryhodný certifikát"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1307
msgid "Certificate expired"
msgstr "Platnost certifikátu vypršela"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1309
msgid "Certificate not activated"
msgstr "Certifikát není aktivován"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1311
msgid "Certificate hostname mismatch"
msgstr "Název počítače certifikátu nesouhlasí"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1313
msgid "Certificate fingerprint mismatch"
msgstr "Otisk prstu certifikátu nesouhlasí"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1315
msgid "Certificate self-signed"
msgstr "Certifikát je podepsán sám sebou"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1317
msgid "Status is set to offline"
msgstr "Stav nastaven na „Odhlášen“"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1319
msgid "Encryption is not available"
msgstr "Šifrování není dostupné"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1321
msgid "Certificate is invalid"
msgstr "Certifikát je neplatný"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1323
msgid "Connection has been refused"
msgstr "Spojení bylo odmítnuto"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1325
msgid "Connection can't be established"
msgstr "Spojení nemohlo bát navázáno"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1327
msgid "Connection has been lost"
msgstr "Spojení bylo ztraceno"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1329
msgid "This account is already connected to the server"
msgstr "Tento účet je již připojen k serveru"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1331
msgid ""
"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"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1333
msgid "The account already exists on the server"
msgstr "Takový účet již na serveru existuje"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1335
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í"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1337
msgid "Certificate has been revoked"
msgstr "Certifikát byl odvolán"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1339
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Certifikát používá nepříliš bezpečný šifrovací algoritmus nebo je z "
"kryptografického hlediska slabý"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1341
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -880,26 +938,26 @@ msgstr ""
"Délka certifikátu serveru nebo délka zřetězených certifikátů serveru "
"přesáhla omezení dané kryptografickou knihovnou"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1343
msgid "Internal error"
msgstr "Vnitřní chyba"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1353
#, c-format
msgid "Connection to %s failed"
msgstr "Připojení k „%s“ selhalo"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1362
msgid "Reconnect"
msgstr "Znovu připojit"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1363
msgid "Edit account"
msgstr "Upravit účet"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1408
msgid "Unknown reason"
msgstr "Neznámý důvod"
@ -1082,23 +1140,23 @@ msgstr "Zobrazit zdroj"
msgid "Web Page"
msgstr "Webová stránka"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1083
msgid "Open"
msgstr "Otevřít"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1090
msgid "Remove"
msgstr "Odstranit"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1534
msgid "Message Tray"
msgstr "Lišta zpráv"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2557
msgid "System Information"
msgstr "Informace o systému"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:504 ../src/shell-app.c:374
msgctxt "program"
msgid "Unknown"
msgstr "Neznámé"
@ -1125,17 +1183,17 @@ msgstr "Vyhledávejte psaním…"
msgid "Dash"
msgstr "Oblíbené"
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:580
msgid "Quit"
msgstr "Ukončit"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:599
#: ../js/ui/panel.js:612
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/panel.js:965
#: ../js/ui/panel.js:979
msgid "Top Bar"
msgstr "Horní lišta"
@ -1149,8 +1207,12 @@ msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:205
msgid "Please enter a command:"
msgstr "Zadejte prosím příkaz:"
msgid "Enter a Command"
msgstr "Zadejte příkaz:"
#: ../js/ui/runDialog.js:241
msgid "Close"
msgstr ""
#. Translators: This is a time format for a date in
#. long format
@ -1206,7 +1268,7 @@ msgstr "Heslo"
msgid "Remember Password"
msgstr "Pamatovat si heslo"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
msgid "Unlock"
msgstr "Odemknout"
@ -1261,7 +1323,7 @@ msgstr "Styl velkého textu"
#: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:31
#: ../js/ui/status/bluetooth.js:251 ../js/ui/status/bluetooth.js:304
#: ../js/ui/status/bluetooth.js:335 ../js/ui/status/bluetooth.js:371
#: ../js/ui/status/bluetooth.js:400 ../js/ui/status/network.js:867
#: ../js/ui/status/bluetooth.js:400 ../js/ui/status/network.js:873
msgid "Bluetooth"
msgstr "Bluetooth"
@ -1290,12 +1352,12 @@ msgstr "zařízení zakázáno"
msgid "Connection"
msgstr "Připojení"
#: ../js/ui/status/bluetooth.js:207 ../js/ui/status/network.js:458
#: ../js/ui/status/bluetooth.js:207 ../js/ui/status/network.js:475
msgid "disconnecting..."
msgstr "odpojování…"
#: ../js/ui/status/bluetooth.js:220 ../js/ui/status/network.js:464
#: ../js/ui/status/network.js:934
#: ../js/ui/status/bluetooth.js:220 ../js/ui/status/network.js:481
#: ../js/ui/status/network.js:1507
msgid "connecting..."
msgstr "připojování…"
@ -1405,109 +1467,106 @@ msgstr "zakázáno"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:456
#: ../js/ui/status/network.js:473
msgid "unmanaged"
msgstr "nespravováno"
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:467 ../js/ui/status/network.js:937
#: ../js/ui/status/network.js:484 ../js/ui/status/network.js:1510
msgid "authentication required"
msgstr "je vyžadováno ověření"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
#: ../js/ui/status/network.js:477
#: ../js/ui/status/network.js:494
msgid "firmware missing"
msgstr "nedostupný firmware"
#. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:484
#: ../js/ui/status/network.js:501
msgid "cable unplugged"
msgstr "kabel byl odpojen"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:489
#: ../js/ui/status/network.js:506
msgid "unavailable"
msgstr "nedostupné"
#: ../js/ui/status/network.js:491 ../js/ui/status/network.js:939
#: ../js/ui/status/network.js:508 ../js/ui/status/network.js:1512
msgid "connection failed"
msgstr "připojení selhalo"
#: ../js/ui/status/network.js:552 ../js/ui/status/network.js:1529
#: ../js/ui/status/network.js:560 ../js/ui/status/network.js:1446
#: ../js/ui/status/network.js:1588
msgid "More..."
msgstr "Více…"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1459
#: ../js/ui/status/network.js:596 ../js/ui/status/network.js:1376
msgid "Connected (private)"
msgstr "Připojení (soukromé)"
#: ../js/ui/status/network.js:663
#: ../js/ui/status/network.js:669
msgid "Auto Ethernet"
msgstr "Automatické Ethernet"
#: ../js/ui/status/network.js:721
#: ../js/ui/status/network.js:727
msgid "Auto broadband"
msgstr "Automatické širokopásmové"
#: ../js/ui/status/network.js:724
#: ../js/ui/status/network.js:730
msgid "Auto dial-up"
msgstr "Automatické vytáčené"
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:853 ../js/ui/status/network.js:1476
#: ../js/ui/status/network.js:859 ../js/ui/status/network.js:1393
#, c-format
msgid "Auto %s"
msgstr "Automatické %s"
#: ../js/ui/status/network.js:855
#: ../js/ui/status/network.js:861
msgid "Auto bluetooth"
msgstr "Automatické Bluetooth"
#: ../js/ui/status/network.js:1478
#: ../js/ui/status/network.js:1395
msgid "Auto wireless"
msgstr "Automatické bezdrátové"
#: ../js/ui/status/network.js:1575
#: ../js/ui/status/network.js:1637
msgid "Enable networking"
msgstr "Povolit síť"
#: ../js/ui/status/network.js:1597
#: ../js/ui/status/network.js:1659
msgid "Wired"
msgstr "Drátová"
#: ../js/ui/status/network.js:1608
#: ../js/ui/status/network.js:1670
msgid "Wireless"
msgstr "Bezdrátová"
#: ../js/ui/status/network.js:1618
#: ../js/ui/status/network.js:1680
msgid "Mobile broadband"
msgstr "Mobilní širokopásmová"
#: ../js/ui/status/network.js:1628
msgid "VPN Connections"
msgstr "Připojení k VPN"
#: ../js/ui/status/network.js:1635
#: ../js/ui/status/network.js:1691
msgid "Network Settings"
msgstr "Nastavení sítě"
#: ../js/ui/status/network.js:1679
#: ../js/ui/status/network.js:1735
msgid "Network Manager"
msgstr "Network Manager"
#: ../js/ui/status/network.js:1769
#: ../js/ui/status/network.js:1809
msgid "Connection failed"
msgstr "Připojení selhalo"
#: ../js/ui/status/network.js:1770
#: ../js/ui/status/network.js:1810
msgid "Activation of network connection failed"
msgstr "Aktivace síťového připojení selhala"
#: ../js/ui/status/network.js:2065
#: ../js/ui/status/network.js:2108
msgid "Networking is disabled"
msgstr "Síť je zakázána"
@ -1621,63 +1680,63 @@ msgstr "Hlasitost"
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:178
msgid "Log in as another user"
msgstr "Přihlásit se jako jiný uživatel"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:176
msgid "Available"
msgstr "Přítomen"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:179
msgid "Busy"
msgstr "Zaneprázdněn"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:182
msgid "Invisible"
msgstr "Neviditelný"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:185
msgid "Away"
msgstr "Nepřítomen"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:188
msgid "Idle"
msgstr "Nečinný"
#: ../js/ui/userMenu.js:196
msgid "Unavailable"
msgstr "Nedostupný"
#: ../js/ui/userMenu.js:191
msgid "Offline"
msgstr "Odpojen"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:747
msgid "Notifications"
msgstr "Upozornění"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:755
msgid "System Settings"
msgstr "Nastavení systému"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:763
msgid "Switch User"
msgstr "Přepnout uživatele"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:768
msgid "Log Out"
msgstr "Odhlásit se"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:773
msgid "Lock"
msgstr "Uzamknout"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:788
msgid "Install Updates & Restart"
msgstr "Nainstalovat aktualizace a restartovat"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:806
msgid "Your chat status will be set to busy"
msgstr "Váš stav v konverzacích byl nastaven na „Zaneprázdněn“"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:807
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1685,15 +1744,15 @@ msgstr ""
"Upozornění jsou nyní vypnuta, včetně zpráv v konverzacích. Váš stav on-line "
"byl změněn tak, aby ostatní věděli, že si jejich zprávy nemusíte přečíst."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Okna"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Aplikace"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Hledat"

257
po/es.po
View File

@ -10,15 +10,15 @@ msgstr ""
"Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-06 19:11+0000\n"
"PO-Revision-Date: 2012-11-08 12:31+0100\n"
"POT-Creation-Date: 2012-10-15 23:38+0000\n"
"PO-Revision-Date: 2012-10-16 11:06+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Gtranslator 2.91.5\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
@ -37,6 +37,16 @@ msgstr "Sistema"
msgid "Show the message tray"
msgstr "Mostrar la bandeja de mensajes"
#: ../data/50-gnome-shell-system.xml.in.h:3
#| msgid "Show Applications"
msgid "Show all applications"
msgstr "Mostrar todas las aplicaciones"
#: ../data/50-gnome-shell-system.xml.in.h:4
#| msgid "Keybinding to open the application menu"
msgid "Open the application menu"
msgstr "Abrir el menú de la aplicación"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
@ -139,34 +149,34 @@ msgstr ""
"del usuario. El valor aquí es de la GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr ""
"Mostrar siempre el elemento de menú «Cerrar sesión» en el menú del usuario."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Esta clave omite la ocultación automática del elemento de menú «Cerrar "
"sesión» en situación de un único usuario o una única sesión."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Mostrar la fecha de la semana en el calendario"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Si es cierta, muestra la fecha de semana ISO en el calendario."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Asociación de teclas para abrir el menú de la aplicación"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Asociación de teclas para abrir el menú de la aplicación."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Asociación de teclas para la vista «Mostrar aplicaciones»"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Asociación de teclas para abrir la vista «Mostrar aplicaciones» de la vista "
"de actividades."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Asociación de teclas cambiar la visibilidad de la bandeja de mensajes"
@ -222,17 +232,16 @@ msgid ""
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
"sintaxis usada para gst-launch. La tubería debería tener un sumidero "
"(«sink») desconectado donde grabar el vídeo que se está grabando. "
"Generalmente tendrá un punto de origen desconectado; la salida de ese punto "
"se escribirá en el archivo de salida. Sin embargo, la tubería también puede "
"tomar parte en su propia salida; esto se puede usar para enviar la salida a "
"un servidor «icecast» a través de shout2send o similar. Cuando no está "
"establecido o lo está a un valor vacío, se usará la tubería predeterminada. "
"Actualmente es «'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 "
"deadline=1000000 threads=%T ! queue ! webmmux» y graba en WEBM usando el "
"códec VP8. Se usa %T como marcador de posición para el número de hilos "
"óptimos en el sistema."
"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») "
"desconectado donde grabar el vídeo que se está grabando. Generalmente tendrá "
"un punto de origen desconectado; la salida de ese punto se escribirá en el "
"archivo de salida. Sin embargo, la tubería también puede tomar parte en su "
"propia salida; esto se puede usar para enviar la salida a un servidor "
"«icecast» a través de shout2send o similar. Cuando no está establecido o lo "
"está a un valor vacío, se usará la tubería predeterminada. Actualmente es "
"«'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 "
"threads=%T ! queue ! webmmux» y graba en WEBM usando el códec VP8. Se usa %T "
"como marcador de posición para el número de hilos óptimos en el sistema."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "File extension used for storing the screencast"
@ -299,8 +308,8 @@ msgstr "Ventana de inicio de sesión"
msgid "Power"
msgstr "Energía"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Suspender"
@ -308,8 +317,8 @@ msgstr "Suspender"
msgid "Restart"
msgstr "Reiniciar"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:662 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Apagar"
@ -590,8 +599,8 @@ msgstr "La red inalámbrica requiere autenticación"
#: ../js/ui/components/networkAgent.js:310
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
"Passwords or encryption keys are required to access the wireless network '%"
"s'."
msgstr ""
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
"inalámbrica «%s»."
@ -690,35 +699,35 @@ msgstr "Silenciar"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Enviado el <b>%A</b> a las <b>%H:%M</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Enviado el <b>%A</b>, <b>%d de %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Enviado el <b>%A</b>, <b>%d de %B</b> de %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "Ahora %s se llama %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Invitación a %s"
@ -726,42 +735,42 @@ msgstr "Invitación a %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s le está invitando a unirse a %s"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Rechazar"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Aceptar"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Videollamada de %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Llamada de %s"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Rechazar"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Responder"
@ -770,112 +779,112 @@ msgstr "Responder"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s le está enviando %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s solicita permiso para ver cuándo está en línea"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Error de la red"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Falló la autenticación"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Error de cifrado"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Certificado no proporcionado"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "No se confía en el certificado"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Certificado caducado"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Certificado no activado"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "El nombre del servidor dle certificado no coincide"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "La huella del certificado no coincide"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Certificado autofirmado"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "El estado está establecido a «desconectado»"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "El cifrado no está disponible"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "El certificado no es válido"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Se ha rechazado la conexión"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "No se puede establecer la conexión"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Se ha perdido la conexión"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Esta cuenta ya está conectada al servidor"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "La cuenta ya existe en el servidor"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr ""
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Se ha revocado el certificado"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
"débil"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -884,30 +893,30 @@ msgstr ""
"certificado del servidor exceden los límites impuestos por la biblioteca de "
"criptografía"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Error interno"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Falló la conexión a %s"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Reconectar"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Editar cuenta"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Razón desconocida"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
msgid "Show Applications"
msgstr "Mostrar aplicaciones"
@ -1083,23 +1092,23 @@ msgstr "Ver fuente"
msgid "Web Page"
msgstr "Página web"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Abrir"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Quitar"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Bandeja de mensajes"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Información del sistema"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Desconocido"
@ -1155,18 +1164,18 @@ msgstr "Introduzca un comando:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d de %B"
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d mensaje nuevo"
msgstr[1] "%d mensajes nuevos"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1358,8 +1367,7 @@ msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
#: ../js/ui/status/bluetooth.js:379
#, c-format
msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgstr ""
"Confirme que el PIN mostrado en «%06d» coincide con el del dispositivo."
msgstr "Confirme que el PIN mostrado en «%06d» coincide con el del dispositivo."
#: ../js/ui/status/bluetooth.js:381
msgid "Matches"
@ -1621,59 +1629,59 @@ msgstr "Micrófono"
msgid "Log in as another user"
msgstr "Iniciar sesión como otro usuario"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Disponible"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Ausente"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Inactivo"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "No disponible"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Notificaciones"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Configuración del sistema"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Cambiar de usuario"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Cerrar la sesión"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Instalar actualizaciones y reiniciar"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Su estado del chat se establecerá a «ocupado»"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1682,15 +1690,15 @@ msgstr ""
"chat. Su estado en línea se ha ajustado para que otros sepan que puede no "
"leer sus mensajes."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Ventanas"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Aplicaciones"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Buscar"
@ -1761,7 +1769,7 @@ msgstr ""
msgid "List possible modes"
msgstr "Listar los modos posibles"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Falló al lanzar «%s»"
@ -2161,8 +2169,8 @@ msgstr "El usuario rechazó el diálogo de autenticación"
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
#~ "in time."
#~ msgstr ""
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los "
#~ "segundos en la hora."
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos "
#~ "en la hora."
#~ msgid ""
#~ "This key specifies the format used by the panel clock when the format key "
@ -2179,19 +2187,18 @@ msgstr "El usuario rechazó el diálogo de autenticación"
#~ msgid ""
#~ "This key specifies the hour format used by the panel clock. Possible "
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
#~ "to the format specified in the custom_format key. Note that if set to "
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
#~ "ignored."
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
#~ "01-01. If set to \"custom\", the clock will display time according to the "
#~ "format specified in the custom_format key. Note that if set to either "
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
#~ msgstr ""
#~ "Esta clave especifica el formato de la hora especificado por el reloj del "
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 "
#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el "
#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). "
#~ "Si se establece a «custom» el reloj mostrará la hora según el formato "
#~ "especificado en la clave «custom_format». Note que si se establece a "
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece "
#~ "a «custom» el reloj mostrará la hora según el formato especificado en la "
#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se "
#~ "ignoran las claves «show_date» y «show_seconds»."
#~ msgid "Clock Format"
#~ msgstr "Formato del reloj"

146
po/et.po
View File

@ -13,8 +13,8 @@ msgstr ""
"Project-Id-Version: gnome-shell MASTER\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-16 18:26+0000\n"
"PO-Revision-Date: 2012-11-16 20:49+0300\n"
"POT-Creation-Date: 2012-11-16 18:27+0000\n"
"PO-Revision-Date: 2012-11-16 20:40+0300\n"
"Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n"
"Language-Team: Estonian <>\n"
"Language: et\n"
@ -37,6 +37,15 @@ msgstr "Arvuti"
msgid "Show the message tray"
msgstr "Teateala näitamine"
msgid "Focus the active notification"
msgstr "Aktiivse märguande fokuseerimine"
msgid "Show all applications"
msgstr "Kõigi rakenduste kuvamine"
msgid "Open the application menu"
msgstr "Rakenduste menüü avamine"
msgid "GNOME Shell"
msgstr "GNOME Shell"
@ -138,12 +147,25 @@ msgstr "Rakenduste menüü avamise kiirklahv"
msgid "Keybinding to open the application menu."
msgstr "Kiirklahv rakenduste menüü avamiseks."
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "\"Rakenduste vaate\" avamise kiirklahv"
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "\"Rakenduste vaate\" avamise kiirklahv tegevuste ülevaates."
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Teateala nähtavuse muutmise kiirklahv"
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Kiirklahv teateala nähtavuse muutmiseks."
msgid "Keybinding to focus the active notification"
msgstr "Aktiivse teate fokuseerimise kiirklahv"
msgid "Keybinding to focus the active notification."
msgstr "Aktiivse teate fokuseerimise kiirklahv."
msgid "Keybinding to toggle the screen recorder"
msgstr "Erkaanilindistaja lülitamise kiirklahv"
@ -205,6 +227,34 @@ msgstr ""
"konteinervormingusse salvestades tuleks ka sellele vormingule vastav laiend "
"määrata."
msgid "Attach modal dialog to the parent window"
msgstr "Modaaldialoog kuulub vanemakna juurde"
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"See võti on ülimuslik võtme org.gnome.mutter suhtes, kui kasutatakse GNOME "
"Shelli."
msgid "Arrangement of buttons on the titlebar"
msgstr "Nuppude järjekord tiitliribal"
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"See võti on ülimuslik võtme org.gnome.desktop.wm.preferences suhtes, kui "
"kasutatakse GNOME Shelli."
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Akende lohistamisel ekraani serva lubatakse serva paigutamine"
msgid "Workspaces are managed dynamically"
msgstr "Tööalasid hallatakse dünaamiliselt"
msgid "Workspaces only on primary monitor"
msgstr "Tööalad peamisel monitoril"
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "%s jaoks eelistuste dialoogi laadimisel esines viga:"
@ -235,6 +285,9 @@ msgctxt "button"
msgid "Sign In"
msgstr "Logi sisse"
msgid "Next"
msgstr "Järgmine"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
@ -547,24 +600,27 @@ msgstr "Heli peale"
msgid "Mute"
msgstr "Heli maha"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#. Translators: this is a time format string followed by the word "Yesterday". i.e. "14:30 on Yesterday"
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Saadeti: <b>%a</b>, <b>%X</b>"
msgid "<b>%H:%M</b> on Yesterday"
msgstr "Eile <b>%H:%M</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#. Translators: this is a time format string followed by a week day name. i.e. "14:30 on Monday
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Saadeti: <b>%a</b>, <b>d. %B</b>"
msgid "<b>%H:%M</b> on <b>%A</b>"
msgstr "<b>%H:%M</b>, <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25",
#. shown when you get a chat message in the same year
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Saadeti: <b>%a</b>, <b>d. %B</b>, %Y"
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>"
msgstr "<b>%H:%M</b>, <b>%A</b>, <b>%d. %B</b>"
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>, %Y"
msgstr "<b>%H:%M</b>, <b>%A</b>, <b>%d. %B</b> %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
@ -601,9 +657,6 @@ msgstr "%s tahab alustada videokõnet"
msgid "Call from %s"
msgstr "%s helistab"
msgid "Reject"
msgstr "Lükka tagasi"
#. translators: this is a button label (verb), not a noun
msgid "Answer"
msgstr "Vasta"
@ -911,8 +964,11 @@ msgstr "Ülemine riba"
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Palun sisesta käsk:"
msgid "Enter a Command"
msgstr "Palun sisesta käsk"
msgid "Close"
msgstr "Sulge"
#. Translators: This is a time format for a date in
#. long format
@ -1025,16 +1081,6 @@ msgstr "ühendumine..."
msgid "Send Files..."
msgstr "Failide saatmine..."
msgid "Browse Files..."
msgstr "Failide sirvimine..."
msgid "Error browsing device"
msgstr "Viga seadme sirvimisel"
#, c-format
msgid "The requested device cannot be browsed, error is '%s'"
msgstr "Küsitud seadet pole võimalik sirvida, viga on '%s'"
msgid "Keyboard Settings"
msgstr "Klaviatuurisätted"
@ -1058,6 +1104,9 @@ msgstr "Luba alati"
msgid "Grant this time only"
msgstr "Luba ainult seekord"
msgid "Reject"
msgstr "Lükka tagasi"
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Paardumise kinnitus seadmele %s"
@ -1168,9 +1217,6 @@ msgstr "Juhtmeta"
msgid "Mobile broadband"
msgstr "Mobiiliühendus"
msgid "VPN Connections"
msgstr "VPN-ühendused"
msgid "Network Settings"
msgstr "Võrgusätted"
@ -1288,20 +1334,20 @@ msgstr "Eemal"
msgid "Idle"
msgstr "Jõude"
msgid "Unavailable"
msgstr "Pole saadaval"
msgid "Offline"
msgstr "Ühendamata"
msgid "Notifications"
msgstr "Märguanded"
msgid "System Settings"
msgstr "Süsteemi sätted"
msgid "Settings"
msgstr "Sätted"
msgid "Switch User"
msgstr "Vaheta kasutajat"
msgid "Log Out"
msgstr "Väljalogimine"
msgstr "Logi välja"
msgid "Lock"
msgstr "Lukusta"
@ -1400,27 +1446,6 @@ msgstr "Vaikimisi"
msgid "Authentication dialog was dismissed by the user"
msgstr "Kasutaja katkestas autentimisdialoogi"
#, fuzzy
#~ msgid "Show all applications"
#~ msgstr "Rakenduste kuvamine"
#, fuzzy
#~ msgid "Open the application menu"
#~ msgstr "Rakenduste menüü avamise kiirklahv"
#, fuzzy
#~ msgid "Keybinding to open the \"Show Applications\" view"
#~ msgstr "Rakenduste menüü avamise kiirklahv"
#, fuzzy
#~ msgid ""
#~ "Keybinding to open the \"Show Applications\" view of the Activities "
#~ "Overview."
#~ msgstr "Kiirklahv rakenduste menüü avamiseks."
#~ msgid "Switch Session"
#~ msgstr "Vaheta seanssi"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "keelatud OpenSearch pakkujad"
@ -1436,9 +1461,6 @@ msgstr "Kasutaja katkestas autentimisdialoogi"
#~ msgid "If true, display date in the clock, in addition to time."
#~ msgstr "Kui määratud, siis kuvatakse kellaaja kõrval ka kuupäeva."
#~ msgid "Offline"
#~ msgstr "Ühendamata"
#~ msgid "CONTACTS"
#~ msgstr "KONTAKTID"

263
po/fr.po
View File

@ -17,8 +17,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master fr\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2013-02-08 17:20+0100\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-10-04 15:34+0200\n"
"Last-Translator: Alexandre Franke <alexandre.franke@gmail.com>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: \n"
@ -148,68 +148,54 @@ msgstr ""
"GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr ""
"Toujours afficher l'élément « Se déconnecter » dans le menu utilisateur."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Cette clé affiche l'élément « Se déconnecter » du menu utilisateur "
"normalement caché automatiquement dans le cas d'une session et d'un "
"utilisateur uniques."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Afficher la numérotation des semaines dans le calendrier"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Si vrai, afficher le numéro de semaine ISO dans le calendrier."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Combinaison de touches pour ouvrir le menu de l'application"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Combinaison de touches pour ouvrir le menu de l'application."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr ""
"Combinaison de touches pour basculer la visibilité du tiroir de messagerie"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr ""
"Combinaison de touches pour basculer la visibilité du tiroir de messagerie."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "Combinaison de touches pour basculer l'enregistreur d'écran"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr ""
"Combinaison de touches pour démarrer/arrêter l'enregistreur d'écran intégré."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "Le clavier utilisé"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "Le type de clavier utilisé."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr ""
"Nombre d'images par seconde pour l'enregistrement des animations d'écran."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -217,11 +203,11 @@ msgstr ""
"Le nombre d'images par seconde des animations d'écran enregistrées par "
"l'outil idoine de GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Le pipeline GStreamer utilisé pour coder l'animation d'écran"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -249,11 +235,11 @@ msgstr ""
"comme paramètre pour une supposition quant au nombre optimal de threads à "
"utiliser sur le système."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "Extension de fichier à utiliser pour enregistrer l'animation d'écran"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -280,11 +266,11 @@ msgstr ""
"Sélectionnez une extension à configurer en utilisant la boîte combinée ci-"
"dessus."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "Session..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "Connexion"
@ -292,23 +278,23 @@ msgstr "Connexion"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "Absent de la liste ?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "Annuler"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "Se connecter"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "Fenêtre de connexion"
@ -317,8 +303,8 @@ msgstr "Fenêtre de connexion"
msgid "Power"
msgstr "Énergie"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "Mettre en veille"
@ -326,8 +312,8 @@ msgstr "Mettre en veille"
msgid "Restart"
msgstr "Redémarrer"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "Éteindre"
@ -378,7 +364,7 @@ msgstr "PARAMÈTRES"
msgid "New Window"
msgstr "Nouvelle fenêtre"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "Enlever des favoris"
@ -565,16 +551,16 @@ msgstr "Cette semaine"
msgid "Next week"
msgstr "La semaine prochaine"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "Périphériques amovibles"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "Ouvrir avec %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "Éjecter"
@ -733,35 +719,35 @@ msgstr "Muet"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Envoyé <b>%A</b> à <b>%X</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Envoyé le <b>%A %-d %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Envoyé le <b>%A %-d %B %Y</b>"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s est maintenant connu sous le nom de %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Invitation vers %s"
@ -769,42 +755,42 @@ msgstr "Invitation vers %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s vous invite à rejoindre %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Refuser"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Accepter"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Appel vidéo de %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Appel provenant de %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Refuser"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Répondre"
@ -813,112 +799,112 @@ msgstr "Répondre"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s vous envoie %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s aimerait être autorisé à savoir lorsque vous êtes en ligne"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Erreur réseau"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "L'authentification a échoué"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Erreur de chiffrement"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Certificat non fourni"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Certificat non validé"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Certificat expiré"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Certificat non activé"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Le nom de l'hôte du certificat ne correspond pas"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "L'empreinte du certificat ne correspond pas"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Certificat auto-signé"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Le statut est hors ligne"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Chiffrement non disponible"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Certificat non valide"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "La connexion a été refusée"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "La connexion ne peut pas être établie"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "La connexion a été perdue"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Ce compte est déjà connectée au serveur"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"La connexion a été remplacée par une nouvelle connexion utilisant la même "
"ressource"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Ce compte existe déjà sur le serveur"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Le serveur est actuellement trop chargé pour traiter la connexion"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Le certificat a été révoqué"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Le certificat utilise un algorithme de chiffrement douteux, ou est faible "
"cryptographiquement"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -926,30 +912,30 @@ msgstr ""
"La longueur du certificat du serveur, ou la taille de sa chaîne de "
"certification, dépasse les limites de la bibliothèque de cryptographie"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Erreur interne"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "La connexion à %s a échoué"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Se reconnecter"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Modifier le compte"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Raison inconnue"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "Montrer les applications"
@ -957,7 +943,7 @@ msgstr "Montrer les applications"
msgid "Date and Time Settings"
msgstr "Paramètres de date et heure"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "Ouvrir l'agenda"
@ -970,7 +956,7 @@ msgstr "Ouvrir l'agenda"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %e %B %Y"
@ -1077,11 +1063,11 @@ msgstr "Installer"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "tiroir de messagerie"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "Clavier"
@ -1134,23 +1120,23 @@ msgstr "Afficher la source"
msgid "Web Page"
msgstr "Page Web"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "Ouvrir"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "Enlever"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "Tiroir de messagerie"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "Informations du système"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Inconnu"
@ -1206,7 +1192,7 @@ msgstr "Veuillez saisir une commande :"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A %d %B"
@ -1256,7 +1242,7 @@ msgstr "Mot de passe"
msgid "Remember Password"
msgstr "Se souvenir du mot de passe"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "Déverrouiller"
@ -1374,7 +1360,7 @@ msgstr "Paramètres du clavier"
msgid "Mouse Settings"
msgstr "Paramètres de la souris"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "Paramètres du son"
@ -1663,7 +1649,7 @@ msgid "Unknown"
msgstr "Inconnu"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "Volume"
@ -1671,63 +1657,67 @@ msgstr "Volume"
msgid "Microphone"
msgstr "Microphone"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "Se connecter en tant qu'un autre utilisateur"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Disponible"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Occupé"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Absent"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Inactif"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Non disponible"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "Notifications"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "Paramètres système"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "Changer d'utilisateur"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "Changer de session"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "Notifications"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "Paramètres système"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "Fermer la session"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "Verrouiller"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "Installer les mises à jour et redémarrer"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "Votre statut pour les discussions sera défini à occupé"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1748,7 +1738,7 @@ msgstr "Applications"
msgid "Search"
msgstr "Recherche"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1757,12 +1747,12 @@ msgstr ""
"Désolé, aucune sagesse pour vous aujourd'hui :\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "L'Oracle %s déclare"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "Votre œuf de Pâques favori"
@ -1797,24 +1787,24 @@ msgstr[1] "%u entrées"
msgid "System Sounds"
msgstr "Sons système"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "Affiche la version"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "Mode utilisé par GDM pour l'écran de connexion"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Utiliser un mode particulier, par ex. « gdm » pour l'écran de connexion"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "Lister les modes possibles"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Impossible de lancer « %s »"
@ -1838,6 +1828,3 @@ msgstr "Défaut"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
#~ msgid "Switch Session"
#~ msgstr "Changer de session"

464
po/gl.po

File diff suppressed because it is too large Load Diff

383
po/gu.po
View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gu\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-04 19:00+0000\n"
"PO-Revision-Date: 2012-11-05 12:23+0530\n"
"POT-Creation-Date: 2012-09-18 04:20+0000\n"
"PO-Revision-Date: 2012-09-18 16:59+0530\n"
"Last-Translator: \n"
"Language-Team: gu_IN <kde-i18n-doc@kde.org>\n"
"Language: \n"
@ -20,22 +20,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 1.0\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
msgstr "સ્ક્રીનશોટ"
#: ../data/50-gnome-shell-screenshot.xml.in.h:2
msgid "Record a screencast"
msgstr "સ્ક્રીનકાસ્ટ રેકોર્ડ કરો"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
msgstr "સિસ્ટમ"
#: ../data/50-gnome-shell-system.xml.in.h:2
msgid "Show the message tray"
msgstr "સંદેશો ટ્રેને બતાવો"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME શેલ"
@ -61,7 +45,7 @@ msgstr "Alt-F2 માંથી ડેવલપર અને ટેસ્ટર
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "Alt-F2 સંવાદની મદદથી આંતરિક ડિબગીંગ અને મોનિટરીંગ સાધનોને વાપરવા પરવાનગી આપે છે."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
msgid "Uuids of extensions to enable"
@ -74,13 +58,10 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"GNOME Shell ઍક્સટેન્શન પાસે uuid ગુણધર્મ છે; આ કી ઍક્સટેન્શનની યાદી કરે છે કે જેને લાવેલ "
"હોવુ જોઇએ. કોઇપણ ઍક્સટેન્શન કે જેને આ યાદીમાં લાવવાની જરૂર છે. તમે પણ org.gnome.Shell પર "
"EnableExtension અને DisableExtension DBus પદ્દતિઓ સાથે આ યાદીને કુશળતાપૂર્વક વાપરી શકો છો."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "Whether to collect stats about applications usage"
msgstr "શું કાર્યક્રમ વપરાશ વિશે આંકડા એકત્ર કરવા જોઇએ"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
msgid ""
@ -89,10 +70,6 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"શેલ સામાન્ય રીતે મોટાભાગનાં એકને હાજર રાખવા માટે ક્રમમાં સક્રિય કાર્યક્રમોને મોનિટર કરવામાં "
"આવે છે (દા.ત. લૉન્ચર). જ્યારે આ માહિતીને ખાનગી રાખવામાં આવશે, તમે ખાનગી કારણો માટે આને "
"નિષ્ક્રિય કરવા માંગી શકો છો. મહેરબાની કરીને આવુ કરવાનું નોંધો તેથી પહેલેથી સંગ્રહેલ "
"માહિતીને દૂર કરાતુ નથી."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of desktop file IDs for favorite applications"
@ -102,7 +79,7 @@ msgstr "પસંદીદા કાર્યક્રમો માટે ડે
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "કાર્યક્રમો આ ઓળખકર્તાઓ સાથે સંકળાયેલ છે તે પસંદીદા વિસ્તારમાં દેખાશે."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@ -117,87 +94,75 @@ msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
"વપરાશકર્તા દ્દારા છેલ્લુ IM સુયોજનને સંગ્રહવા આંતરિક રીતે વાપરેલ છે. અહિંયા કિંમત "
"TpConnectionPresenceType ઍન્યુમરેશનમાંથી છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"વપરાશકર્તા માટે છેલ્લી સત્રની હાજર પરિસ્થિતિને સંગ્રહવા આંતરિક રીતે વાપરેલ છે. કિંમત અહિંયા "
"GsmPresenceStatus ઍન્યુમરેશનમાંથી છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "હંમેશા વપરાશકર્તા મેનુમાં 'બહાર નીકળો' મેનુવસ્તુને બતાવે છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"આ કી એકજ વપરાશકર્તામાં 'બહાર નીકળો' મેનુવસ્તુને આપમેળે છુપાવવા આ કીને ઓવરરાઇડ કરવામાં આવી "
"છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "કૅલેન્ડરમાં અઠવાડિયા તારીખને બતાવો"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "જો true હોય તો, કૅલેન્ડરમાં ISO અઠવાડિયાની તારીખને દર્શાવો."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "સંદેશા ટ્રેની દૃશ્યતાને ટૉગલ કરવા માટે કબાઇન્ડીંગ"
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to toggle the screen recorder"
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "સંદેશા ટ્રેની દૃશ્યતાને ટૉગલ કરવા માટે કીબાઇન્ડીંગ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the screen recorder"
msgstr "સ્ક્રીન રેકોર્ડરને ટૉગલ કરવા માટે કીબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Keybinding to open the application menu."
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "બિલ્ટઇન સ્ક્રીન રેકોર્ડરને શરૂ/બંધ કરવા માટે કfબાઇન્ડીંગ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "ક્યુ કિબોર્ડ વાપરવુ છે"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "વાપરવા માટે કિબોર્ડનો પ્રકાર."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "રેકોર્ડીંગ સ્ક્રીનકાસ્ટ માટે વાપરેલ ફ્રેમરેટ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"પરિણામી સ્ક્રીનકાસ્ટની framerate એ દરેક સેકંડે ફ્રેમમાં GNOME Shell નાં સ્ક્રીનકાસ્ટ "
"રેકોર્ડર દ્દારા અહેવાલ થયેલ છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "સ્ક્રીનકાસ્ટને એનકોડ કરવા માટે વાપરેલ gstreamer પાઇપલાઇન"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -211,28 +176,17 @@ msgid ""
"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is "
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"રેકોર્ડીંગ ને એનકોડ કરવા માટે વાપરેલ GStreamer પાઇપલાઇનને સુયોજિત કરે છે. તે gst-launch "
"માટે વાપરેલ બંધારણને અનુસરે છે. પાઇપલાઇન પાસે બિનજોડાયેલ સીંક પેડ હોય છે જ્યાં રેકોર્ડ થયેલ "
"વિડિયો રેકોર્ડ થયેલ છે. સામાન્ય રીતે તેમની પાસે બિનજોડાયેલ સ્ત્રોત પેડ હશે; તે પેડમાંથી "
"આઉટપુટ એ આઉટપુટ ફાઇલમાં લખાયેલ હશે. છતાંપણ પાઇપલાઇન પણ તેનાં પોતાના આઉટપુટની સંભાળ લઇ શકે "
"છે - આ shout2send મારફતે અથવા તેનાં જેવા મારફતે icecast સર્વરમાં આઉટપુટને મોકલવા વાપરી "
"શકાય છે. જ્યારે ખાલી ફાઇલને સુયોજિત અથવા અસુયોજિત કરો, મૂળભૂત પાઇપલાઇન વાપરેલ હે. આ હાલમાં "
"'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 "
"threads=%T ! queue ! webmmux' છે અને VP8 કોડેકની મદદતી WEBM માં રેકોર્ડ થાય છે. %T એ સિસ્ટમ "
"પર ઓપ્ટીમલ થ્રેડ ગણતરી પર ધારવા માટે પ્લેસહોલ્ડરને વાપરેલ છે."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "સ્ક્રીનકાસ્ટને સંગ્રહ કરવા માટે વાપરેલ ફાઇલ ઍક્સટેન્શન"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"રેકોર્ડ થયેલ સ્ક્રીનકાસ્ટ માટે ફાઇલનામ વર્તમાન તારીખ પર આધારિત અનન્ય ફાઇલનામ હશે, અને આ "
"ઍક્સટેન્શનને વાપરો. તેને બદલેલ હોવુ જોઇએ જ્યારે વિવિધ પાત્ર બંધારણમાં રેકોર્ડ કરી રહ્યા છે."
#: ../js/extensionPrefs/main.js:124
#, c-format
@ -247,11 +201,11 @@ msgstr "ઍક્સટેન્શન"
msgid "Select an extension to configure using the combobox above."
msgstr "ઉપર કોમ્બોબોક્સની મદદથી રૂપરેખાંકિત કરવા માટે ઍક્સટેન્શનને પસંદ કરો."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:526
msgid "Session..."
msgstr "સત્ર..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "પ્રવેશો"
@ -259,56 +213,47 @@ msgstr "પ્રવેશો"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "શું યાદી થયેલ નથી?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:137
msgid "Cancel"
msgstr "રદ કરો"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "પ્રવેશો"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "પ્રવેશ વિન્ડો"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
msgid "Power"
msgstr "પાવર"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:88 ../js/ui/userMenu.js:657 ../js/ui/userMenu.js:661
#: ../js/ui/userMenu.js:772
msgid "Suspend"
msgstr "અટકાવો"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:93
msgid "Restart"
msgstr "પુન:શરૂ કરો"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:98 ../js/ui/userMenu.js:659 ../js/ui/userMenu.js:661
#: ../js/ui/userMenu.js:771
msgid "Power Off"
msgstr "પાવર બંધ"
#: ../js/gdm/util.js:148
msgid "Authentication error"
msgstr "સત્તાધિકરણ ભૂલ"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:265
#: ../js/gdm/util.js:247
msgid "(or swipe finger)"
msgstr "(અથવા સ્વાઇપ આંગળી)"
#: ../js/gdm/util.js:290
#: ../js/gdm/util.js:272
#, c-format
msgid "(e.g., user or %s)"
msgstr "(દા.ત., વપરાશકર્તા અથવા %s)"
@ -345,7 +290,7 @@ msgstr "SETTINGS"
msgid "New Window"
msgstr "નવી વિન્ડો"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "પસંદીદાઓ માંથી દૂર કરો"
@ -509,16 +454,16 @@ msgstr "આ અઠવાડિયે"
msgid "Next week"
msgstr "આગળનું અઠવાડિયું"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "દૂર કરી શકાય તેવા ઉપકરણો"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s સાથે ખોલો"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "રદ કરો"
@ -673,35 +618,35 @@ msgstr "મૂંગુ"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%A</b> પર <b>%X</b> અહિંયા મોકલેલ છે"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b> પર મોકલેલ છે, <b>%B %d</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b> પર મોકલેલ છે, <b>%B %d</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s એ હવે %s તરીકે જાણીતુ છે"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s માં આમંત્રણ"
@ -709,42 +654,42 @@ msgstr "%s માં આમંત્રણ"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s એ તમને %s માં જોડાવા માટે આમંત્રણ આપી રહ્યા છે"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "ના પાડવી"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "સ્વીકારો"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s માંથી વિડીયો કોલ"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s માંથી કોલ"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "રદ કરો"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "જવાબ"
@ -753,137 +698,136 @@ msgstr "જવાબ"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s એ %s માં મોકલી રહ્યા છે"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s ને જોવા માટે પરવાનગી આપવાનું ગમે થે જ્યારે તમે ઓનલાઇન હોય"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "નેટવર્ક ભૂલ"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "સત્તાધિકરણ નિષ્ક્રિય"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "એનક્રિપ્શન ભૂલ"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "પ્રમાણપત્ર પૂરુ પાડેલ નથી"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "પ્રમાણપત્ર વિશ્ર્વાસપાત્ર નથી"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "પ્રમાણપત્ર નિવૃત્ત થયેલ છે"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "પ્રમાણપત્ર સક્રિય થયેલ નથી"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "પ્રમાણપત્ર યજમાનનામ બંધબેસતુ નથી"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "પ્રમાણપજ્ઞ ફિંગરપ્રિન્ટ બંધબેસતુ નથી"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "જાતે હસ્તાક્ષર થયેલ પ્રમાણપત્ર"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "સ્થિતિ ઓફલાઇન તરીકે સુયોજિત છે"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "એનક્રિપ્શન ઉપલબ્ધ નથી"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "પ્રમાણપત્ર અમાન્ય છે"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "જોડાણને નામંજૂર કરી દેવામાં આવ્યુ છે"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "જોડાણ સ્થાપિત કરી શકાતુ નથી"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "જોડાણ ખોવાઈ ગયેલ છે"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "આ ખાતુ પહેલેથી જ સર્વર સાથે જોડાયેલ છે"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid "Connection has been replaced by a new connection using the same resource"
msgstr "સરખા સ્ત્રોતની મદદથી જોડાણને નવાં જોડાણ દ્દારા બદલી દેવામાં આવ્યુ છે"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "ખાતુ પહેલેથી સર્વર પર અસ્તિત્વ ધરાવે છે"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "સર્વર એ જોડાણને સંચાલિત કરવા માટે હાલમાં વ્યસ્ત છે"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "પ્રમાણપત્રને રદ કરી દેવામાં આવ્યુ છે"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "પ્રમાણપત્ર અસુરક્ષિત સાઇફર અલ્ગોરિધમને વાપરે છે અથવા ક્રિપ્ટોગ્રાફિકલી નબળુ છે"
msgstr ""
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"સર્વર પ્રમાણપત્રની લંબાઇ, સર્વર પ્રમાણપત્ર કતારની ઊંચાઇ, ક્રિપ્ટોગ્રાફી લાઇબ્રેરી દ્દારા "
"બનાવેલ મર્યાદાને વધારે છે"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "આંતરિક ભૂલ"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s માટે જોડાણ નિષ્ફળ"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "પુન:જોડાવો"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "ખાતામાં ફેરફાર કરો"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "અજ્ઞાત કારણ"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
#| msgid "Applications"
msgid "Show Applications"
msgstr "કાર્યક્રમો બતાવો"
@ -891,14 +835,14 @@ msgstr "કાર્યક્રમો બતાવો"
msgid "Date and Time Settings"
msgstr "તારીખ અને સમય સુયોજનો"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "કૅલેન્ડરને ખોલો"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -915,7 +859,8 @@ msgstr "બહાર નીકળો"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr "આ કાર્યક્રમોને બહાર નીકળવા માટે બહાર નીકળો પર ક્લિક કરો અને સિસ્ટમમાંથી બહાર નીકળો."
msgstr ""
"આ કાર્યક્રમોને બહાર નીકળવા માટે બહાર નીકળો પર ક્લિક કરો અને સિસ્ટમમાંથી બહાર નીકળો."
#: ../js/ui/endSessionDialog.js:65
#, c-format
@ -947,7 +892,8 @@ msgstr "પાવર બંધ"
#: ../js/ui/endSessionDialog.js:82
msgid "Click Power Off to quit these applications and power off the system."
msgstr "આ કાર્યક્રમોને બહાર નીકાળવા માટે પાવર બંધ કરો પર ક્લિક કરો અને સિસ્ટમનો પાવર બંધ કરો"
msgstr ""
"આ કાર્યક્રમોને બહાર નીકાળવા માટે પાવર બંધ કરો પર ક્લિક કરો અને સિસ્ટમનો પાવર બંધ કરો"
#: ../js/ui/endSessionDialog.js:84
#, c-format
@ -977,7 +923,8 @@ msgstr "પુન:શરૂ કરો"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr "આ કાર્યક્રમોમાંથી બહાર નીકળવા માટે પુન:શરૂ કરો પર ક્લિક કરો અને સિસ્ટમને પુન:શરૂ કરો."
msgstr ""
"આ કાર્યક્રમોમાંથી બહાર નીકળવા માટે પુન:શરૂ કરો પર ક્લિક કરો અને સિસ્ટમને પુન:શરૂ કરો."
#: ../js/ui/endSessionDialog.js:101
#, c-format
@ -999,11 +946,11 @@ msgstr "સ્થાપિત કરો"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org માંથી '%s' ને સ્થાપિત અને ડાઉનલોડ કરો?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ટ્રે"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:146
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "કિબોર્ડ"
@ -1056,23 +1003,23 @@ msgstr "સ્ત્રોત દર્શાવો"
msgid "Web Page"
msgstr "વેબ પાનું"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "ખોલો"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "દૂર કરો"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2041
msgid "Message Tray"
msgstr "સંદેશો ટ્રે"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2483
msgid "System Information"
msgstr "સિસ્ટમ જાણકારી"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "અજ્ઞાત"
@ -1128,19 +1075,22 @@ msgstr "મહેરબાની કરીને આદેશને દાખલ
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:78
#| msgctxt "calendar heading"
#| msgid "%A, %B %d"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d નવો સંદેશો"
msgstr[1] "%d નવા સંદેશા"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
#| msgid "Notifications"
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d નવી સૂચના"
@ -1151,6 +1101,7 @@ msgid "Searching..."
msgstr "શોધી રહ્યા છે..."
#: ../js/ui/searchDisplay.js:323
#| msgid "No matching results."
msgid "No results."
msgstr "પરિણામો નથી."
@ -1171,14 +1122,16 @@ msgid "Hide Text"
msgstr "લખાણ છુપાડો"
#: ../js/ui/shellMountOperation.js:368
#| msgid "Password:"
msgid "Password"
msgstr "પાસવર્ડ"
#: ../js/ui/shellMountOperation.js:389
#| msgid "Remember Passphrase"
msgid "Remember Password"
msgstr "પાસવર્ડને યાદ રાખો"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:140
msgid "Unlock"
msgstr "તાળું ખોલો"
@ -1296,7 +1249,7 @@ msgstr "કીબોર્ડ સુયોજનો"
msgid "Mouse Settings"
msgstr "માઉસ સુયોજનો"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "સાઇન્ડ સુયોજનો"
@ -1329,9 +1282,10 @@ msgid "Device %s wants to pair with this computer"
msgstr "ઉપકરણ %s આ કમ્પ્યૂટર સાથે જોડી કરવા માંગે છે"
#: ../js/ui/status/bluetooth.js:379
#, c-format
#, fuzzy, c-format
#| msgid "Please confirm whether the PIN '%s' matches the one on the device."
msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgstr "મહેરબાની કરીને ખાતરી કરો કે શું PIN '%06d' એ ઉપકરણ પર એક સાથે બંધબેસે છે."
msgstr "મહેરબાની કરીને ખાતરી કરો કે શું PIN '%s' એ ઉપકરણ પર એક સાથે બંધબેસે છે."
#: ../js/ui/status/bluetooth.js:381
msgid "Matches"
@ -1354,11 +1308,11 @@ msgstr "મહેરબાની કરીને ઉપકરણ પર દર
msgid "OK"
msgstr "બરાબર"
#: ../js/ui/status/keyboard.js:228
#: ../js/ui/status/keyboard.js:170
msgid "Show Keyboard Layout"
msgstr "કીબોર્ડ લેઆઉટને બતાવો"
#: ../js/ui/status/keyboard.js:233
#: ../js/ui/status/keyboard.js:175
msgid "Region and Language Settings"
msgstr "વિસ્તાર અને ભાષા સુયોજનો"
@ -1581,7 +1535,7 @@ msgid "Unknown"
msgstr "અજ્ઞાત"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "વોલ્યુમ"
@ -1589,69 +1543,72 @@ msgstr "વોલ્યુમ"
msgid "Microphone"
msgstr "માઇક્રોફોન"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:147
#| msgid "Login as another user"
msgid "Log in as another user"
msgstr "બીજા વપરાશકર્તા તરીકે પ્રવેશો"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:174
msgid "Available"
msgstr "ઉપલબ્ધ"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:177
msgid "Busy"
msgstr "વ્યસ્ત"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:180
msgid "Invisible"
msgstr "અદૃશ્ય"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:183
msgid "Away"
msgstr "દૂર"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:186
msgid "Idle"
msgstr "નિષ્ક્રિય"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:189
msgid "Unavailable"
msgstr "બિનઉપલબ્ધ"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "સૂચનાઓ"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "સિસ્ટમ સુયોજનો"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:612 ../js/ui/userMenu.js:753
msgid "Switch User"
msgstr "વપરાશકર્તાને બદલો"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:613
msgid "Switch Session"
msgstr "સત્ર બદલો"
#: ../js/ui/userMenu.js:737
msgid "Notifications"
msgstr "સૂચનાઓ"
#: ../js/ui/userMenu.js:745
msgid "System Settings"
msgstr "સિસ્ટમ સુયોજનો"
#: ../js/ui/userMenu.js:758
msgid "Log Out"
msgstr "બહાર નીકળો"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:763
msgid "Lock"
msgstr "તાળુ"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:778
msgid "Install Updates & Restart"
msgstr "સુધારા સ્થાપિત કરો અને પુન:શરૂ કરો"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:796
msgid "Your chat status will be set to busy"
msgstr "તમારી વાર્તાલાપ પરિસ્થિતિ વ્યસ્ત તરીકે સુયોજિત હશે"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:797
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
msgstr ""
"સૂચનાઓ હવે નિષ્ક્રિય થયેલ છે, વાર્તાલાપ સંદેશાને સમાવી રહ્યા છે, બીજાને જણાવવા માટે તમારી "
"ઓનલાઇન સ્થિતિને ગોઠવી દેવામાં આવી છે કે જે તમે તેનાં સંદેશાને જોઇ શકશો નહિં."
#: ../js/ui/viewSelector.js:85
msgid "Windows"
@ -1665,7 +1622,7 @@ msgstr "કાર્યક્રમો"
msgid "Search"
msgstr "શોધો"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1674,12 +1631,12 @@ msgstr ""
"માફ કરો, આજે તમારા માટે શાણપણ નથી:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s એ એવી કિંમત છે જે Oracle કહે છે"
msgstr ""
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "તમારા મનગમતા ઇસ્ટર ઇંડા"
@ -1714,23 +1671,23 @@ msgstr[1] "%u ઇનપુટો"
msgid "System Sounds"
msgstr "સિસ્ટમ અવાજો"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "ા"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "લૉગિન સ્ક્રીન માટે GDM દ્દારા વાપરેલ સ્થિતિ"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "ખાસ સ્થિતિને વાપરો, દા.ત. પ્રવેશ સ્ક્રીન માટે \"gdm\""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "શક્ય સ્થિતિઓની યાદી કરો"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' ને શરૂ કરવામાં નિષ્ફળતા"
@ -1753,10 +1710,7 @@ msgstr "મૂળભૂત"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "સત્તાધિકરણ વપરાશકર્તા દ્દારા અસ્વીકાર થયેલ છે"
#~ msgid "Switch Session"
#~ msgstr "સત્ર બદલો"
msgstr ""
#~ msgid "disabled OpenSearch providers"
#~ msgstr "નિષ્ક્રિય થયેલ OpenSearch પ્રબંધક"
@ -1779,6 +1733,9 @@ msgstr "સત્તાધિકરણ વપરાશકર્તા દ્દ
#~ msgid "Home"
#~ msgstr "ઘર"
#~ msgid "File System"
#~ msgstr "ફાઇલ સિસ્ટમ"
#~ msgid "%1$s: %2$s"
#~ msgstr "%1$s: %2$s"

697
po/he.po

File diff suppressed because it is too large Load Diff

380
po/hi.po
View File

@ -11,16 +11,16 @@ msgstr ""
"Project-Id-Version: gnome-shell.master.hi\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-28 11:02+0000\n"
"PO-Revision-Date: 2012-11-23 14:08+0530\n"
"Last-Translator: Rajesh Ranjan <rajesh>\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-09-25 14:38+0530\n"
"Last-Translator: rajesh <rajeshkajha@yahoo.com>\n"
"Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.2\n"
"X-DamnedLies-Scope: partial\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
@ -58,13 +58,15 @@ msgstr "गनोम शेल एक्सटेंशन विन्यस्
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Alt-F2 से डेवलपर्स और परीक्षकों के लिए उपयोगी आंतरिक उपकरण को सक्षम करें"
msgstr ""
"Alt-F2 से डेवलपर्स और परीक्षकों के लिए उपयोगी आंतरिक उपकरण को सक्षम करें"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "Alt-F2 संवाद का उपयोग करके आंतरिक डिबगिंग और निगरानी उपकरण तक पहुँच पायें."
msgstr ""
"Alt-F2 संवाद का उपयोग करके आंतरिक डिबगिंग और निगरानी उपकरण तक पहुँच पायें."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
msgid "Uuids of extensions to enable"
@ -77,9 +79,12 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"गनोम शैल एक्सटेंशन का एक uuid गुण है, इस कुंजी एक्सटेंशन जो लोड किया जाना चाहिए की सूची "
"दिखाता हैं. किसी भी विस्तारक जिसे लोड करने के लिए चाहता है को इस सूची में होने की जरूरत "
"है. आप भी इस सूची में EnableExtension और DisableExtension डिबस तरीकों के साथ org."
"गनोम शैल एक्सटेंशन का एक uuid गुण है, इस कुंजी एक्सटेंशन जो लोड किया जाना "
"चाहिए की सूची "
"दिखाता है. किसी भी विस्तारक जिसे लोड करने के लिए चाहता है को इस सूची में "
"होने की जरूरत "
"है. आप भी इस सूची में EnableExtension और DisableExtension डिबस तरीकों के "
"साथ org."
"gnome.Shell पर हेरफेर कर सकते हैं."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
@ -93,9 +98,12 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"सबसे अधिक इस्तेमाल किया जाने वाले सक्रिय अनुप्रयोगों (जैसे लांचरों में ) पर शेल सामान्य रूप से "
"नज़र रखता है. हालांकि इस डेटा को निजी रखा जाएगा, आप गोपनीयता कारणों के लिए इसे अक्षम "
"कर सकते है. कृपया ध्यान दें कि ऐसा करने से पहले से सहेजे गए डेटा को हटाया नहीं जायेगा."
"सबसे अधिक इस्तेमाल किया जाने वाले सक्रिय अनुप्रयोगों (जैसे लांचरों में ) पर "
"शेल सामान्य रूप से "
"नज़र रखता है. हालांकि इस डेटा को निजी रखा जाएगा, आप गोपनीयता कारणों के लिए "
"इसे अक्षम "
"कर सकते हैं. कृपया ध्यान दें कि ऐसा करने से पहले से सहेजे गए डेटा को हटाया "
"नहीं जायेगा."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of desktop file IDs for favorite applications"
@ -105,7 +113,8 @@ msgstr "पसंदीदा अनुप्रयोगों के लिए
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "इन पहचानकर्ता के लिए अनुप्रयोगों को पसंदीदा क्षेत्र में प्रदर्शित किया जाएगा."
msgstr ""
"इन पहचानकर्ता के लिए अनुप्रयोगों को पसंदीदा क्षेत्र में प्रदर्शित किया जाएगा."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@ -120,86 +129,78 @@ msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
"स्पष्ट रूप से उपयोगकर्ता द्वारा निर्धारित की गई आंतरिक रूप से पिछले आईएम उपस्थिति का "
"इस्तेमाल किया किया जाता हैं. यह TpConnectionPresenceType गणन से मान लिया गया हैं "
"स्पष्ट रूप से उपयोगकर्ता द्वारा निर्धारित की गई आंतरिक रूप से पिछले आईएम "
"उपस्थिति का "
"इस्तेमाल किया किया जाता हैं. यह TpConnectionPresenceType गणन से मान लिया गया "
"हैं "
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"आंतरिक रूप से उपयोगकर्ता के लिए पिछले सत्र उपस्थिति स्थिति को संग्रहीत करने के लिए उपयोग "
"आंतरिक रूप से उपयोगकर्ता के लिए पिछले सत्र उपस्थिति स्थिति को संग्रहीत करने "
"के लिए उपयोग "
"किया जाता हैं. यह GsmPresenceStatus गणन से मान लिया गया हैं "
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "हमेशा 'लॉग आउट' मेन्यू मद को उपयोक्ता मेन्यू में दिखाएँ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"यह कुँजी 'लॉग आउट' मेन्यू मद का एकल उपयोक्ता, एकल सत्र स्थिति में स्वचालित छिपाने को "
"अधिरोहित करती है."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "अगर सही है, पंचांग में सप्ताह संख्या दिखाएँ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "अगर सही है, तो पंचांग में ISO सप्ताह तिथि दिखाएँ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "अनुप्रयोग मेनू को खोलने के लिए कीबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "अनुप्रयोग मेनू को खोलने के लिए कीबाइंडिंग."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "संदेश ट्रे की दृश्यता को टॉगल करने के लिए कीबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "संदेश ट्रे की दृश्यता को टॉगल करने के लिए कीबाइंडिंग."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "स्क्रीन रिकॉर्डर को टॉगल करने के लिए कीबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr " निर्मित स्क्रीन रिकॉर्डर को रोकने/शुरू करने के लिए कीबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "उपयोग करने के लिए कुंजीपटल"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "उपयोग करने के लिए कीबोर्ड के प्रकार"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "screencasts के लिए फ्रेमरेट रिकॉर्डिंग इस्तेमाल किया."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
" गनोम शैल के स्क्रीनकास्ट रिकॉर्डर द्वारा परिणामस्वरूप रिकॉर्ड किये गए स्क्रीनकास्ट का "
" गनोम शैल के स्क्रीनकास्ट रिकॉर्डर द्वारा परिणामस्वरूप रिकॉर्ड किये गए "
"स्क्रीनकास्ट का "
"फ्रेमरेट फ्रेम प्रति सेकंड में."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstreamer पाइपलाइन स्क्रीनकास्ट एनकोड करने के लिए प्रयोग किया जाता है."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -213,29 +214,37 @@ msgid ""
"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is "
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"रिकॉर्डिंग को इनकोड करने के लिए GStreamer पाइपलाइन सेट करें. पाइपलाइन के पास एक "
"असंबद्ध सिंक पैड है जहाँ रिकॉर्ड की गई वीडियो दर्ज की गई है.यह सामान्य रूप से एक असंबद्ध "
"स्रोत पैड होगा, इस पैड के उत्पादन को आउटपुट फाइल में लिखा जाएगा. लेकिन पाइप लाइन भी "
"अपने स्वयं केआउटपुट की देखभाल ले सकते हैं- इस shout2send या इसी तरह के माध्यम से एक "
"Icecast सर्वर से आउटपुट को भेजने के लिए इस्तेमाल किया जा सकता है. रिक्त मान को "
"निर्धारित या अनिर्धारित करने के दौरान, डिफ़ॉल्ट पाइपलाइन का इस्तेमाल किया जाएगा. VP8 "
"रिकॉर्डिंग को इनकोड करने के लिए GStreamer पाइपलाइन सेट करें. पाइपलाइन के पास "
"एक "
"असंबद्ध सिंक पैड है जहाँ रिकॉर्ड की गई वीडियो दर्ज की गई है.यह सामान्य रूप से "
"एक असंबद्ध "
"स्रोत पैड होगा, इस पैड के उत्पादन को आउटपुट फाइल में लिखा जाएगा. लेकिन पाइप "
"लाइन भी "
"अपने स्वयं केआउटपुट की देखभाल ले सकते हैं- इस shout2send या इसी तरह के "
"माध्यम से एक "
"Icecast सर्वर से आउटपुट को भेजने के लिए इस्तेमाल किया जा सकता है. रिक्त मान "
"को "
"निर्धारित या अनिर्धारित करने के दौरान, डिफ़ॉल्ट पाइपलाइन का इस्तेमाल किया "
"जाएगा. VP8 "
"कोडेक का उपयोग करके को WEBM रिकॉर्ड कर सकते हैं और यह वर्त्तमान में 'vp8enc "
"min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! "
"queue ! webmmux' हैं. %T सिस्टम पर इष्टतम धागा गिनती में एक अनुमान के लिए एक "
"प्लेसहोल्डर के रूप में प्रयोग किया जाता है."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr " स्क्रीनकास्ट के भंडारण के लिए इस्तेमाल किया जाने वाला फ़ाइल एक्सटेंशन"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"रिकॉर्ड किये गए स्क्रीनकास्ट के लिए फ़ाइल का नाम अद्वितीय वर्तमान दिनांक के आधार पर "
"फ़ाइलनाम होगा और इस विस्तारक का उपयोग करेगा. एक अलग कंटेनर प्रारूप के साथ रिकॉर्डिंग "
"रिकॉर्ड किये गए स्क्रीनकास्ट के लिए फ़ाइल का नाम अद्वितीय वर्तमान दिनांक के "
"आधार पर "
"फ़ाइलनाम होगा और इस विस्तारक का उपयोग करेगा. एक अलग कंटेनर प्रारूप के साथ "
"रिकॉर्डिंग "
"करने के दौरान बदला जाना चाहिए."
#: ../js/extensionPrefs/main.js:124
@ -249,13 +258,14 @@ msgstr "एक्सटेंशन"
#: ../js/extensionPrefs/main.js:188
msgid "Select an extension to configure using the combobox above."
msgstr "उपर्युक्त कोंबोबॉक्स के उपयोग को विन्यस्त करने के लिए किसी विस्तार को चुनें."
msgstr ""
"उपर्युक्त कोंबोबॉक्स के उपयोग को विन्यस्त करने के लिए किसी विस्तार को चुनें."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "सत्र..."
#: ../js/gdm/loginDialog.js:680
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "साइन इन"
@ -263,41 +273,34 @@ msgstr "साइन इन"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:740
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "सूचीबद्ध नहीं?"
#: ../js/gdm/loginDialog.js:898 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "रद्द करें"
#: ../js/gdm/loginDialog.js:903
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "साइन इन"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:962 ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "उपयोक्तानाम: "
#: ../js/gdm/loginDialog.js:1269
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "लॉगिन विंडो"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "पावर"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "स्थगित"
@ -305,22 +308,22 @@ msgstr "स्थगित"
msgid "Restart"
msgstr "फिर आरंभ करें"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "बंद करें"
#: ../js/gdm/util.js:152
#: ../js/gdm/util.js:148
msgid "Authentication error"
msgstr "प्रमाणीकरण त्रुटि"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:269
#: ../js/gdm/util.js:265
msgid "(or swipe finger)"
msgstr "(या स्वाइप फिंगर)"
#: ../js/gdm/util.js:294
#: ../js/gdm/util.js:290
#, c-format
msgid "(e.g., user or %s)"
msgstr "(उदाहरण के लिए, उपयोक्ता या %s)"
@ -357,7 +360,7 @@ msgstr "सेटिंग्स"
msgid "New Window"
msgstr "नया विंडो"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "पसंदीदा से हटाएँ"
@ -521,16 +524,16 @@ msgstr "इस सप्ताह"
msgid "Next week"
msgstr "अगला सप्ताह"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "हटाने योग्य युक्तियाँ"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s के साथ खोलें"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "बाहर निकालें"
@ -560,6 +563,14 @@ msgstr "कूटशब्द: "
msgid "Key: "
msgstr "कुंजी: "
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "उपयोक्तानाम: "
#: ../js/ui/components/networkAgent.js:266
msgid "Identity: "
msgstr "पहचान : "
@ -677,35 +688,35 @@ msgstr "मूक करें"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%X</b> पर प्रेषित <b>%A</b> पर"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b> पर प्रेषित, <b>%B %d</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b> पर प्रेषित, <b>%B %d</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s अब %s रूप में जाना जाता है"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s में आमंत्रण"
@ -713,42 +724,42 @@ msgstr "%s में आमंत्रण"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s आपको %s में शामिल होने के लिए आमंत्रित कर रहा है"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "मना करें"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "स्वीकारें"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s से वीडियो कॉल"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s से कॉल"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "अस्वीकारें"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "जवाब"
@ -757,139 +768,142 @@ msgstr "जवाब"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s आपको %s भेज रहा है"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s यह देखने के लिए आपकी अनुमति चाहेगा कि आप कब ऑनलाइन हैं"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "संजाल त्रुटि"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "सत्यापन विफल"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "गोपन त्रुटि"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "प्रमाणपत्र नहीं दिया हुआ"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "प्रमाणपत्र गैर भरोसेमंद"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "प्रमाणपत्र समाप्त"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "प्रमाणपत्र निष्क्रिय"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "प्रमाणपत्र मेजबाननाम बेमेल"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "प्रमाणपत्र फिंगरप्रिंट बेमेल"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "प्रमाणपत्र स्वहस्ताक्षरित"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "प्रस्थिति ऑफ़लाइन पर सेट है"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "गोपन उपलब्ध नहीं है"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "प्रमाणपत्र अवैध है"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "कनेक्शन अस्वीकृत किया गया है"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "कनेक्शन स्थापित नहीं किया जा सकता है"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "कनेक्शन गुम हो गया है"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "यह खाता पहले ही सर्वर से कनेक्टेड है"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "समान संसाधन के उपयोग से नए कनेक्शन के द्वारा कनेक्शन को प्रतिस्थापित किया गया है"
msgstr ""
"समान संसाधन के उपयोग से नए कनेक्शन के द्वारा कनेक्शन को प्रतिस्थापित किया गया "
"है"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "खाता पहले ही सर्वर पर मौजूद है"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "सर्वर कनेक्शन नियंत्रित करने के लिए अभी काफी व्यस्त है"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "प्रमाणपत्र वापस लिया गया है"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "प्रमाणपत्र असुरक्षित साइफर अल्गोरिथम या गोपन की दृष्टि से कमजोर है"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"सर्वर प्रमाणपत्र की लंबाई या सर्वर प्रमाणपत्र की शृंखला की गहराई कूटलेखन लाइब्रेरी के "
"सर्वर प्रमाणपत्र की लंबाई या सर्वर प्रमाणपत्र की शृंखला की गहराई कूटलेखन "
"लाइब्रेरी के "
"द्वारा लगायी गई सीमा से आगे है"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "आंतरिक त्रुटि"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s में कनेक्शन असफल"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "फिर कनेक्ट करें"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "खाता संपादित करें"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "अज्ञात कारण"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "अनुप्रयोग दिखाएँ"
@ -897,14 +911,14 @@ msgstr "अनुप्रयोग दिखाएँ"
msgid "Date and Time Settings"
msgstr "तिथि व समय सेटिंग्स"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "पंचांग खोलें"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -922,7 +936,8 @@ msgstr "लॉग आउट"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr ""
"इन अनुप्रयोगों से बाहर निकलने के लिए और तंत्र से लॉग आउट होने के लिए लॉग आउट पर क्लिक करें."
"इन अनुप्रयोगों से बाहर निकलने के लिए और तंत्र से लॉग आउट होने के लिए लॉग आउट "
"पर क्लिक करें."
#: ../js/ui/endSessionDialog.js:65
#, c-format
@ -955,7 +970,8 @@ msgstr "बंद करें"
#: ../js/ui/endSessionDialog.js:82
msgid "Click Power Off to quit these applications and power off the system."
msgstr ""
"इन अनुप्रयोगों से बाहर निकलने या तंत्र की बिजली बंद करने के लिए बंद करें पर क्लिक करें."
"इन अनुप्रयोगों से बाहर निकलने या तंत्र की बिजली बंद करने के लिए बंद करें पर "
"क्लिक करें."
#: ../js/ui/endSessionDialog.js:84
#, c-format
@ -986,7 +1002,8 @@ msgstr "फिर आरंभ करें"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr ""
"इन अनुप्रयोगों से बाहर निकलने और तंत्र को फिर चालू करने के लिए फिर आरंभ करें क्लिक करें."
"इन अनुप्रयोगों से बाहर निकलने और तंत्र को फिर चालू करने के लिए फिर आरंभ करें "
"क्लिक करें."
#: ../js/ui/endSessionDialog.js:101
#, c-format
@ -1008,11 +1025,11 @@ msgstr "संस्थापित करें"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "'%s' को extensions.gnome.org से डाउनलोड कर संस्थापित करें?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "तश्तरी"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "कुंजीपटल"
@ -1065,23 +1082,23 @@ msgstr "श्रोत दिखाएँ"
msgid "Web Page"
msgstr "वेब पृष्ठ"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "खोलें"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "हटाएँ"
#: ../js/ui/messageTray.js:1531
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "संदेश तश्तरी"
#: ../js/ui/messageTray.js:2543
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "तंत्र जानकारी"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "अज्ञात"
@ -1137,18 +1154,18 @@ msgstr "कृपया कमांड दर्ज करें:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:81
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:145
#: ../js/ui/screenShield.js:144
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d नया संदेश"
msgstr[1] "%d नए संदेश"
#: ../js/ui/screenShield.js:147
#: ../js/ui/screenShield.js:146
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1187,7 +1204,7 @@ msgstr "कूटशब्द:"
msgid "Remember Password"
msgstr "कूटशब्द याद रखें"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "ताला खोलें"
@ -1305,7 +1322,7 @@ msgstr "कुंजीपट सेंटिग्स"
msgid "Mouse Settings"
msgstr "माउस सेटिंग"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "ध्वनि सेटिंग्स"
@ -1340,7 +1357,8 @@ msgstr "युक्ति %s इस कंप्यूटर के साथ
#: ../js/ui/status/bluetooth.js:379
#, c-format
msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgstr "कृपया पुष्टि करें कि क्या पिन '%06d' युक्ति पर स्थिति किसी के साथ मेल खाता है."
msgstr ""
"कृपया पुष्टि करें कि क्या पिन '%06d' युक्ति पर स्थिति किसी के साथ मेल खाता है."
#: ../js/ui/status/bluetooth.js:381
msgid "Matches"
@ -1590,7 +1608,7 @@ msgid "Unknown"
msgstr "अज्ञात"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "आवाज़"
@ -1598,68 +1616,73 @@ msgstr "आवाज़"
msgid "Microphone"
msgstr "माइक्रोफोन"
#: ../js/ui/unlockDialog.js:178
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "बतौर अन्य उपयोक्ता लॉगिन करें"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "उपलब्ध"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "व्यस्त"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "अदृश्य"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "दूर"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "निष्क्रिय"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "अनुपलब्ध"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "अधिसूचना"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "तंत्र सेटिंग"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "उपयोक्ता बदलें"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "सत्र बदलें"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "अधिसूचना"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "तंत्र विन्यास"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "लॉग आउट"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "तालाबंद"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "अद्यतन संस्थापित करें और फिर आरंभ करें"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "आपकी चैट स्थिति व्यस्त नियत की जाएगी"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
msgstr ""
"चैट संदेश सहित अधिसूचना अब निष्क्रिय है. आपकी ऑनलाइन स्थिति दूसरे को यह जानने के लिए "
"चैट संदेश सहित अधिसूचना अब निष्क्रिय है. आपकी ऑनलाइन स्थिति दूसरे को यह जानने "
"के लिए "
"समायोजित की जाएगी जिसे आप अपने संदेश में नहीं देख सकते हैं."
#: ../js/ui/viewSelector.js:85
@ -1674,7 +1697,7 @@ msgstr "अनुप्रयोग"
msgid "Search"
msgstr "ढूँढें"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1683,12 +1706,12 @@ msgstr ""
"माफ़ करें, आपके लिए आज कोई दृष्टि नहीं:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s ओरेकल कहती है"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "आपकी पसंदीदा ईस्टर एग"
@ -1723,23 +1746,23 @@ msgstr[1] "%u इनपुट"
msgid "System Sounds"
msgstr "तंत्र ध्वनि"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "छपाई संस्करण"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "लॉगिन स्क्रीन के लिए प्रयुक्त जीडीएम अवस्था"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "विशेष अवस्था का उपयोग करें, उदाहरण के लिए लॉगिन स्क्रीन के लिए \"gdm\""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "संभावित अवस्था सूचीबद्ध करें"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' लॉन्च करने में विफल"
@ -1764,9 +1787,6 @@ msgstr "तयशुदा"
msgid "Authentication dialog was dismissed by the user"
msgstr "सत्यापन संवाद को उपयोक्ता के द्वारा खारिज़ कर दिया गया"
#~ msgid "Switch Session"
#~ msgstr "सत्र बदलें"
#, fuzzy
#~| msgid "If true, display seconds in time."
#~ msgid "If true, display onscreen keyboard."

278
po/hu.po
View File

@ -4,22 +4,20 @@
#
# Gabor Kelemen <kelemeng at gnome dot hu>, 2009, 2010, 2011, 2012.
# Lukács Bence <lukacs.bence1 at gmail dot com>, 2012.
# Balázs Úr <urbalazs at gmail dot com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-12-31 18:12+0100\n"
"Last-Translator: Balázs Úr <urbalazs at gmail dot com>\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-26 16:11+0200\n"
"PO-Revision-Date: 2012-09-26 16:12+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.2\n"
"X-Generator: KBabel 1.11.4\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
@ -138,63 +136,50 @@ msgstr ""
"állapot. Az itteni érték a GsmPresenceStatus felsorolásból származik."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Mindig jelenjen meg a „Kijelentkezés” menüelem a felhasználói menüben."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Ez a kulcs felülbírálja a „Kijelentkezés” menüelem automatikus elrejtését "
"egyfelhasználós, egyedüli munkamenet esetén."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Hetek számának megjelenítése a naptárban"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Ha igazra van állítva, a naptárban megjelenik az ISO hétszám."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Billentyűtársítás az alkalmazásmenü megnyitásához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Billentyűtársítás az üzenettálca láthatóságának módosításához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Billentyűtársítás az üzenettálca láthatóságának módosításához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "Billentyűtársítás a képernyőfelvevő megnyitásához"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr ""
"Billentyűtársítás a beépített képernyőfelvevő elindításához/leállításához."
msgstr "Billentyűtársítás a beépített képernyőfelvevő elindításához/leállításához."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "A használandó billentyűzet"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "Használandó billentyűzet típusa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "A képernyővideók felvételéhez használt képkockasebesség."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -202,11 +187,11 @@ msgstr ""
"A GNOME Shell képernyőfelvevője által felvett eredményül kapott "
"képernyővideó képkockasebessége képkocka/másodpercben."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "A képernyővideó kódolására használt GStreamer adatcsatorna"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -233,11 +218,11 @@ msgstr ""
"és WEBM formátumba rögzít a VP8 kodek használatával. A %T egy helykitöltő, a "
"rendszeren optimális szálmennyiség megtippelésére."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "A képernyővideó tárolásához használt fájlkiterjesztés"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -260,11 +245,11 @@ msgstr "Kiterjesztés"
msgid "Select an extension to configure using the combobox above."
msgstr "Válasszon egy beállítandó kiterjesztést a fenti legördülő menüből."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:528
msgid "Session..."
msgstr "Munkamenet…"
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:676
msgctxt "title"
msgid "Sign In"
msgstr "Bejelentkezés"
@ -272,23 +257,23 @@ msgstr "Bejelentkezés"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:743
msgid "Not listed?"
msgstr "Nincs a listán?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:896 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "Mégse"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:901
msgctxt "button"
msgid "Sign In"
msgstr "Bejelentkezés"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1240
msgid "Login Window"
msgstr "Bejelentkezési ablak"
@ -297,8 +282,8 @@ msgstr "Bejelentkezési ablak"
msgid "Power"
msgstr "Kikapcsolás"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "Felfüggesztés"
@ -306,8 +291,8 @@ msgstr "Felfüggesztés"
msgid "Restart"
msgstr "Újraindítás"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "Kikapcsolás"
@ -358,7 +343,7 @@ msgstr "BEÁLLÍTÁSOK"
msgid "New Window"
msgstr "Új ablak"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "Eltávolítás a Kedvencek közül"
@ -522,16 +507,16 @@ msgstr "Ezen a héten"
msgid "Next week"
msgstr "Jövő héten"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "Cserélhető eszközök"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "Megnyitás ezzel: %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "Kiadás"
@ -688,35 +673,35 @@ msgstr "Némítás"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Elküldve: <b>%A</b>, <b>%k.%M</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Elküldve: <b>%A</b>, <b>%B %d.</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Elküldve: <b>%A</b>, %Y. <b>%B %d.</b>"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s mostantól %s néven ismert"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Meghívás ide: %s"
@ -724,42 +709,42 @@ msgstr "Meghívás ide: %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s kéri, hogy csatlakozzon ehhez: %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Elutasítás"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Elfogadás"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Videohívás tőle: %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Hívás tőle: %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Visszautasítás"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Válasz"
@ -768,111 +753,108 @@ msgstr "Válasz"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s a következőt küldi: %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s engedélyt kér, hogy láthassa az Ön elérhető állapotát"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Hálózati hiba"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "A hitelesítés meghiúsult"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Titkosítási hiba"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Nincs megadva tanúsítvány"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "A tanúsítvány nem megbízható"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "A tanúsítvány lejárt"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "A tanúsítvány nincs aktiválva"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "A tanúsítvány gépneve eltér"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "A tanúsítvány ujjlenyomata eltér"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "A tanúsítvány önaláírt"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Az állapot beállítva kilépettre"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "A titkosítás nem érhető el"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "A tanúsítvány érvénytelen"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "A kapcsolat visszautasítva"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "A kapcsolat nem hozható létre"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "A kapcsolat elveszett"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Ez a fiók már kapcsolódik a kiszolgálóhoz"
#: ../js/ui/components/telepathyClient.js:1334
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"A kapcsolatot leváltotta egy új, ugyanazt az erőforrást használó kapcsolat"
#: ../js/ui/components/telepathyClient.js:1332
msgid "Connection has been replaced by a new connection using the same resource"
msgstr "A kapcsolatot leváltotta egy új, ugyanazt az erőforrást használó kapcsolat"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "A fiók már létezik a kiszolgálón"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "A kiszolgáló pillanatnyilag túl elfoglalt a kapcsolat kezeléséhez"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "A tanúsítvány visszavonva"
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
#: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"A tanúsítvány nem biztonságos titkosító algoritmust használ, vagy "
"titkosításilag gyenge"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -880,30 +862,30 @@ msgstr ""
"A kiszolgáló tanúsítványának hossza, vagy a kiszolgáló tanúsítványláncának "
"mélysége túllépi a titkosítási programkönyvtár korlátozásait"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Belső hiba"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "A kapcsolódás meghiúsult ehhez: %s"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Újracsatlakozás"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Fiók szerkesztése"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Ismeretlen ok"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "Alkalmazások megjelenítése"
@ -911,14 +893,14 @@ msgstr "Alkalmazások megjelenítése"
msgid "Date and Time Settings"
msgstr "Dátum- és időbeállítások"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "Naptár megnyitása"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A, %Y. %B %d."
@ -1023,8 +1005,7 @@ msgstr "Telepítés"
#: ../js/ui/extensionDownloader.js:204
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr ""
"Letölti és telepíti a következőt az extensions.gnome.org webhelyről: „%s”?"
msgstr "Letölti és telepíti a következőt az extensions.gnome.org webhelyről: „%s”?"
#: ../js/ui/keyboard.js:337
msgid "tray"
@ -1083,23 +1064,23 @@ msgstr "Forrás megtekintése"
msgid "Web Page"
msgstr "Weblap"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Megnyitás"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Eltávolítás"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2088
msgid "Message Tray"
msgstr "Üzenettálca"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2551
msgid "System Information"
msgstr "Rendszerinformációk"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Ismeretlen"
@ -1156,7 +1137,7 @@ msgstr "Adjon meg egy parancsot:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d."
@ -1206,7 +1187,7 @@ msgstr "Jelszó"
msgid "Remember Password"
msgstr "Jelszó megjegyzése"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "Feloldás"
@ -1617,63 +1598,67 @@ msgstr "Hangerő"
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "Bejelentkezés másik felhasználóként"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Elérhető"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Elfoglalt"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Láthatatlan"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Távol"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Ráér"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Nem érhető el"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "Értesítések"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "Rendszerbeállítások"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "Felhasználóváltás"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "Felhasználóváltás"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "Értesítések"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "Rendszerbeállítások"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "Kijelentkezés"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "Lezárás"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "Frissítések telepítése és újraindítás"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "Csevegési állapota elfoglaltra lesz állítva"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1694,7 +1679,7 @@ msgstr "Alkalmazások"
msgid "Search"
msgstr "Oldalsáv"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1703,12 +1688,12 @@ msgstr ""
"Elnézést, mára nincs bölcsesség:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s az orákulum ezt mondja"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "Kedvenc easter egged"
@ -1743,24 +1728,23 @@ msgstr[1] "%u bemenet"
msgid "System Sounds"
msgstr "Rendszerhangok"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "Verzió kiírása"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "A GDM által a bejelentkezési képernyőhöz használt mód"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Használjon egy adott módot, például a „gdm”-et a bejelentkező képernyőn"
msgstr "Használjon egy adott módot, például a „gdm”-et a bejelentkező képernyőn"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "Lehetséges módok listázása"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "„%s” indítása meghiúsult"
@ -1785,5 +1769,3 @@ msgstr "Alapértelmezett"
msgid "Authentication dialog was dismissed by the user"
msgstr "A hitelesítési ablakot a felhasználó bezárta"
#~ msgid "Switch Session"
#~ msgstr "Felhasználóváltás"

236
po/id.po
View File

@ -7,11 +7,11 @@
# Wibiharto <wibinem@yahoo.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell gnome-3-6\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"
"POT-Creation-Date: 2012-11-26 09:33+0000\n"
"PO-Revision-Date: 2012-11-26 19:52+0700\n"
"POT-Creation-Date: 2012-10-15 23:38+0000\n"
"PO-Revision-Date: 2012-10-16 07:11+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
@ -38,6 +38,14 @@ msgstr "Sistem"
msgid "Show the message tray"
msgstr "Tampilkan baki pesan"
#: ../data/50-gnome-shell-system.xml.in.h:3
msgid "Show all applications"
msgstr "Tampilkan semua aplikasi"
#: ../data/50-gnome-shell-system.xml.in.h:4
msgid "Open the application menu"
msgstr "Buka menu aplikasi"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
@ -139,33 +147,32 @@ msgstr ""
"Nilainya berasal dari enumerasi GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Selalu tampilkan butir menu 'Log keluar' dalam menu pengguna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Kunci ini menimpa penyembunyian otomatis butir menu 'Log keluar' dalam "
"situasi pengguna tunggal, sesi tunggal."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Menampilkan tanggal pada kalender"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Jika \"true\", menampilkan tanggal berformat ISO pada kalender."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Kombinasi tombol untuk membuka menu aplikasi"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Kombinasi tombol untuk membuka menu aplikasi."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Kombinasi tombol untuk membuka tilikan \"Tampilkan Aplikasi\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Kombinasi tombol untuk membuka tilikan Ringkasan Aktivitas \"Tampilkan "
"Aplikasi\"."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Kombinasi tombol untuk kenampakan baki pesan"
@ -263,7 +270,7 @@ msgstr "Pilih ekstensi yang ingin dikonfigurasi pada kotak di atas."
msgid "Session..."
msgstr "Sesi..."
#: ../js/gdm/loginDialog.js:680
#: ../js/gdm/loginDialog.js:677
msgctxt "title"
msgid "Sign In"
msgstr "Masuk"
@ -271,31 +278,23 @@ msgstr "Masuk"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:740
#: ../js/gdm/loginDialog.js:736
msgid "Not listed?"
msgstr "Tak masuk daftar?"
#: ../js/gdm/loginDialog.js:898 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
msgid "Cancel"
msgstr "Batal"
#: ../js/gdm/loginDialog.js:903
#: ../js/gdm/loginDialog.js:894
msgctxt "button"
msgid "Sign In"
msgstr "Masuk"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:962 ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "Nama pengguna: "
#: ../js/gdm/loginDialog.js:1269
#: ../js/gdm/loginDialog.js:1215
msgid "Login Window"
msgstr "Jendela Log Masuk"
@ -304,8 +303,8 @@ msgstr "Jendela Log Masuk"
msgid "Power"
msgstr "Daya"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Suspensi"
@ -313,22 +312,22 @@ msgstr "Suspensi"
msgid "Restart"
msgstr "Nyalakan Ulang"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:662 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Matikan"
#: ../js/gdm/util.js:152
#: ../js/gdm/util.js:148
msgid "Authentication error"
msgstr "Galat otentikasi"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:269
#: ../js/gdm/util.js:265
msgid "(or swipe finger)"
msgstr "(atau gesekkan jari)"
#: ../js/gdm/util.js:294
#: ../js/gdm/util.js:290
#, c-format
msgid "(e.g., user or %s)"
msgstr "(cth., pengguna dari %s)"
@ -568,6 +567,14 @@ msgstr "Sandi: "
msgid "Key: "
msgstr "Tombol: "
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "Nama pengguna: "
#: ../js/ui/components/networkAgent.js:266
msgid "Identity: "
msgstr "Identitas: "
@ -687,35 +694,35 @@ msgstr "Bisu"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Dikirim pada <b>%X</b> hari <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Dikirim pada <b>%A</b>, <b>%d %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Dikirim pada <b>%A</b>, <b>%d %B</b> %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s sekarang dikenal sebagai %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Undangan ke %s"
@ -723,42 +730,42 @@ msgstr "Undangan ke %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s mengundang Anda untuk bergabung dengan %s"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Tolak"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Terima"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Panggilan video dari %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Panggilan dari %s"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Tolak"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Jawab"
@ -767,111 +774,111 @@ msgstr "Jawab"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s sedang mengirimi Anda %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s ingin minta ijin melihat Anda ketika Anda daring"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Galat jaringan"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Otentikasi gagal"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Galat enkripsi"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Sertifikat tidak disediakan"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Sertifikat tidak dipercaya"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Sertifikat kadaluarsa"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Sertifikat tidak diaktifkan"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Nama host sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Sidik jari sertifikat tidak cocok"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Sertifikat ditandatangani sendiri"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Status diatur ke luring"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Enkripsi tidak tersedia"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Sertifikat tidak valid"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Koneksi telah ditolak"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "Koneksi tak dapat dijalin"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Koneksi telah terputus"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Akun ini telah tersambung pada server"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"Koneksi telah digantikan oleh koneksi baru memakai sumberdaya yang sama"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Akun ini sudah ada di server"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Server kini terlalu sibuk untuk menangani koneksi"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Sertifikat telah dicabut"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Sertifikat memakai algorima cipher yang tak aman atau lemah secara "
"kriptografi"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -879,30 +886,30 @@ msgstr ""
"Panjang sertifikat server, atau kedalaman rantai sertifikat server, "
"melampaui batas yang diberlakukan oleh pustaka kriptografi"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Galat internal"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Sambungan ke %s gagal"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Hubungkan kembali"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Sunting Akun"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Alasan yang tidak diketahui"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
msgid "Show Applications"
msgstr "Tampilkan Aplikasi"
@ -1073,23 +1080,23 @@ msgstr "Tilik Sumber"
msgid "Web Page"
msgstr "Halaman Web"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Buka"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Hapus"
#: ../js/ui/messageTray.js:1531
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Baki Pesan"
#: ../js/ui/messageTray.js:2543
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Informasi Sistem"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Tak dikenal"
@ -1146,17 +1153,17 @@ msgstr "Ketikkan perintah:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:81
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/screenShield.js:145
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d pesan baru"
#: ../js/ui/screenShield.js:147
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1194,7 +1201,7 @@ msgstr "Sandi"
msgid "Remember Password"
msgstr "Ingat Sandi"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
msgid "Unlock"
msgstr "Buka Kunci"
@ -1601,63 +1608,63 @@ msgstr "Volume"
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:178
#: ../js/ui/unlockDialog.js:177
msgid "Log in as another user"
msgstr "Masuk sebagai pengguna lain"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Ada"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Sibuk"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Tak Terlihat"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Pergi"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Menganggur"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Tak tersedia"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Pemberitahuan"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Pengaturan Sistem"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Ganti Pengguna"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Keluar"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Kunci"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Pasang Pemutakhiran & Jalankan Ulang"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Status obrolan Anda akan ditata ke sibuk"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1666,15 +1673,15 @@ msgstr ""
"telah disesuaikan untuk memberitahu pihak lain bahwa Anda mungkin tak "
"melihat pesan mereka."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Jendela"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Aplikasi"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Cari"
@ -1741,7 +1748,7 @@ msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
msgid "List possible modes"
msgstr "Menampilkan mode yang mungkin"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Gagal meluncurkan '%s'"
@ -1765,3 +1772,4 @@ msgstr "Baku"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialog otentikasi ditolak oleh pengguna"

491
po/ja.po

File diff suppressed because it is too large Load Diff

418
po/kn.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-12-07 10:16+0000\n"
"PO-Revision-Date: 2012-12-07 16:11+0530\n"
"POT-Creation-Date: 2012-09-19 11:02+0000\n"
"PO-Revision-Date: 2012-09-26 16:05+0530\n"
"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
"Language-Team: Kannada <kn@li.org>\n"
"Language: kn\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.2\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
@ -25,15 +25,16 @@ msgstr "ತೆರೆಚಿತ್ರಗಳು"
#: ../data/50-gnome-shell-screenshot.xml.in.h:2
msgid "Record a screencast"
msgstr "ಒಂದು ಸ್ಕ್ರೀನ್‌ಕ್ಯಾಸ್ಟನ್ನು ರೆಕಾರ್ಡು ಮಾಡಿ"
msgstr ""
#: ../data/50-gnome-shell-system.xml.in.h:1
#| msgid "File System"
msgid "System"
msgstr "ವ್ಯವಸ್ಥೆ"
#: ../data/50-gnome-shell-system.xml.in.h:2
msgid "Show the message tray"
msgstr "ಸಂದೇಶ ಟ್ರೇ ಅನ್ನು ತೋರಿಸು"
msgstr ""
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -78,12 +79,6 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"GNOME ಶೆಲ್ ವಿಸ್ತರಣೆಗಳು ಒಂದು uuid ಗುಣವನ್ನು ಹೊಂದಿವೆ; ಈ ಕೀಲಿ ಪಟ್ಟಿಯು ಲೋಡ್ "
"ಮಾಡಬೇಕಿರುವ "
"ವಿಸ್ತರಣೆಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸುತ್ತದೆ. ಯಾವುದೆ ವಿಸ್ತರಣೆಗಳನ್ನು ಲೋಡ್‌ ಮಾಡಬೇಕಿದ್ದಲ್ಲಿ "
"ಅದು ಈ "
"ಪಟ್ಟಿಯಲ್ಲಿ ಇರುವುದು ಅತ್ಯಗತ್ಯ. org.gnome.Shell ನಲ್ಲಿ EnableExtension ಮತ್ತು "
"DisableExtension DBus ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡೂ ಸಹ ಈ ಪಟ್ಟಿಯನ್ನು ನಿರ್ವಹಿಸಬಹುದು."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "Whether to collect stats about applications usage"
@ -96,11 +91,6 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"ಶೆಲ್‌ ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾದ (ಉದಾ. ಆರಂಭಕಗಳಲ್ಲಿ) ಅನ್ವಯಗಳನ್ನು ತೋರಿಸಲು "
"ಸಕ್ರಿಯವಾದವುಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ನಡೆಸುತ್ತದೆ. ಈ ದತ್ತಾಂಶವನ್ನು ಗೌಪ್ಯವಾಗಿ "
"ಇರಿಸಲಾಗುತ್ತದೆ, "
"ಹಾಗೂ ಗೌಪ್ಯತಾ ಕಾರಣಗಳಿದ್ದಲ್ಲಿ ನೀವು ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು. ಹಾಗೆ ಮಾಡುವುದರಿಂದ "
"ಉಳಿಸಲಾದ ಯಾವದೆ ದತ್ತಾಂಶವು ತೆಗೆದುಹಾಕಲ್ಪಡುವುದಿಲ್ಲ ಎನ್ನುವುದನ್ನು ನೆನಪಿಡಿ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of desktop file IDs for favorite applications"
@ -126,75 +116,64 @@ msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
"ಆಂತರಿಕವಾಗಿ ಬಳಕೆದಾರರಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಲಾದ ಕೊನೆಯ IM ಅನ್ನು ಶೇಖರಿಸಿಡಸಲು "
"ಬಳಸಲಾಗುತ್ತದೆ. ಇಲ್ಲಿರುವ ಮೌಲ್ಯವು TpConnectionPresenceType ಎನ್ಯೂಮರೇಶನ್‌ನಿಂದ "
"ಬಂದಿರುತ್ತದೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"ಆಂತರಿಕವಾಗಿ ಬಳಕೆದಾರರಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಲಾದ ಕೊನೆಯ ಅಧಿವೇಶನವನ್ನು ಶೇಖರಿಸಿಡಸಲು "
"ಬಳಸಲಾಗುತ್ತದೆ. ಇಲ್ಲಿರುವ ಮೌಲ್ಯವು GsmPresenceStatus ಎನ್ಯೂಮರೇಶನ್‌ನಿಂದ ಬಂದಿರುತ್ತದೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "ಯಾವಾಗಲೂ 'ನಿರ್ಗಮಿಸು' ಪರಿವಿಡಿಅಂಶವನ್ನು ಬಳಕೆದಾರ ಪರಿವಿಡಿಯಲ್ಲಿ ತೋರಿಸು."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"ಈ ಕೀಲಿಯು ಏಕ-ಬಳಕೆದಾರ, ಏಕ-ಅಧಿವೇಶನ ಸಂದರ್ಭಗಳಲ್ಲಿ 'ನಿರ್ಗಮಿಸು' ಪರಿವಿಡಿಅಂಶವನ್ನು "
"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಡಗಿಸುವ ಆಯ್ಕೆಯನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "ಕ್ಯಾಲೆಂಡರಿನಲ್ಲಿ ವಾರದ ದಿನವನ್ನು ತೋರಿಸು"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "true ಆದಲ್ಲಿ, ಕ್ಯಾಲೆಂಡರಿನಲ್ಲಿ ISO ವಾರದ ದಿನವನ್ನು ತೋರಿಸುತ್ತದೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "ಅನ್ವಯಗಳ ಮೆನುವನ್ನು ತೆರೆಯಬೇಕಿರುವ ಕೀಲಿಬೈಂಡಿಂಗ್"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "ಅನ್ವಯಗಳ ಮೆನುವನ್ನು ತೆರೆಯಬೇಕಿರುವ ಕೀಲಿಬೈಂಡಿಂಗ್."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "ಸಂದೇಶ ಟ್ರೇಯ ಗೋಚರಿಕೆಯನ್ನು ಹೊರಳಿಸಲು ಕೀಬೈಂಡಿಂಗ್"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#, fuzzy
#| msgid "Keybinding to open the application menu."
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "ಅನ್ವಯಗಳ ಮೆನುವನ್ನು ತೆರೆಯಬೇಕಿರುವ ಕೀಲಿಬೈಂಡಿಂಗ್."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to toggle the screen recorder"
msgstr "ಅನ್ವಯಗಳ ಮೆನುವನ್ನು ತೆರೆಯಬೇಕಿರುವ ಕೀಲಿಬೈಂಡಿಂಗ್"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "ಸಂದೇಶ ಟ್ರೇಯ ಗೋಚರಿಕೆಯನ್ನು ಹೊರಳಿಸಲು ಕೀಬೈಂಡಿಂಗ್."
#, fuzzy
#| msgid "Keybinding to open the application menu."
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "ಅನ್ವಯಗಳ ಮೆನುವನ್ನು ತೆರೆಯಬೇಕಿರುವ ಕೀಲಿಬೈಂಡಿಂಗ್."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the screen recorder"
msgstr "ತೆರೆ ರೆಕಾರ್ಡರ್ ಅನ್ನು ಹೊರಳಿಸಲು ಕೀಬೈಂಡಿಂಗ್"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "ಒಳನಿರ್ಮಿತ ತೆರೆ ರೆಕಾರ್ಡರ್ ಅನ್ನು ಆರಂಭಿಸಲು/ನಿಲ್ಲಿಸಲು ಕೀಬೈಂಡಿಂಗ್."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Which keyboard to use"
msgstr "ಯಾವ ಕೀಲಿಮಣೆಯನ್ನು ಬಳಸಬೇಕಿದೆ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "ಬಳಸಬೇಕಿರುವ ಕೀಲಿಮಣೆಯ ಬಗೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "ಸ್ಕ್ರೀನ್‌ಕ್ಯಾಸ್ಟುಗಳನ್ನು ರೆಕಾರ್ಡು ಮಾಡಲು ಬಳಸಲಾಗುವ ಫ್ರೇಮ್‌ದರಗಳು."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -203,11 +182,11 @@ msgstr ""
"ರೆಕಾರ್ಡು ಮಾಡಲಾದ "
"ಸ್ಕ್ರೀನ್‌ಕ್ಯಾಸ್ಟಿನ ಫ್ರೇಮ್‌ದರ. "
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "ಸ್ಕ್ರೀನ್‌ಕ್ಯಾಸ್ಟ್‍ ಅನ್ನು ಎನ್ಕೋಡ್ ಮಾಡಲು ಬಳಸಲಾಗುವ gstreamer ಪೈಪ್‌ಲೈನ್"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -221,31 +200,12 @@ msgid ""
"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is "
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"ರೆಕಾರ್ಡಿಂಗ್‌ಗಳನ್ನು ಎನ್ಕೋಡ್ ಮಾಡಲು ಬಳಸಲಾದ GStreamer ಪೈಪ್‌ಲೈನ್‌ ಅನ್ನು "
"ಹೊಂದಿಸುತ್ತದೆ. ಇದು gst-"
"launch ನಲ್ಲಿ ಬಳಸಲಾದ ಸಿಂಟ್ಯಾಕ್ಸನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಪೈಪ್‌ಲೈನ್ ವಿಡಿಯೊವನ್ನು "
"ರೆಕಾರ್ಡು ಮಾಡಲು "
"ಒಂದು ನಿಯೋಜಿಸದೇ ಇರುವ ಸಿಂಕ್‌ಪ್ಯಾಡ್‌ಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿರಬೇಕು. ಇದು ಸಾಮಾನ್ಯವಾಗಿ "
"ಸಂಪರ್ಕಿತಗೊಂಡಿರದೆ ಇರುವ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ; ಆ ಪ್ಯಾಡ್‌ನಿಂದ ಔಟ್‌ಪುಟ್ "
"ಅನ್ನು ಔಟ್‌ಪುಟ್ "
"ಕಡತಕ್ಕೆ ಬರೆಯಲಾಗುತ್ತದೆ. ಆದರೆ ಪೈಪ್‌ಲೈನ್ ತನ್ನದೆ ಆದ ಔಟ್‌ಪುಟ್ ಅನ್ನು "
"ನೋಡಿಕೊಳ್ಳಬಲ್ಲದು - "
"shout2send ಅಥವ ಅದೇ ರೀತಿಯದರ ಮೂಲಕ icecast ಪೂರೈಕೆಗಣಕಕ್ಕೆ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಕಳುಹಿಸಲು "
"ಇದನ್ನು ಬಳಸಬಹುದಾಗಿರುತ್ತದೆ. ಇದರ ಹೊಂದಿಕೆಯನ್ನು ರದ್ದುಗೊಳಿಸಿದಲ್ಲಿ ಅಥವ ಒಂದು ಖಾಲಿ "
"ಮೌಲ್ಯಕ್ಕೆ "
"ಹೊಂದಿಸಿದಲ್ಲಿ, ಪೂರ್ವನಿಯೋಜಿತ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಪ್ರಸ್ತುತ 'vp8enc "
"min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! "
"queue ! webmmux' ಆಗಿರುತ್ತದೆ ಮತ್ತು VP8 ಕೋಡೆಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು WEBM ಅನ್ನು "
"ರೆಕಾರ್ಡು "
"ಮಾಡುತ್ತದೆ. %T ಎನ್ನು ವ್ಯವಸ್ತೆಯಲ್ಲಿನ ಸೂಕ್ತವಾದ ಎಳೆಯ ಎಣಿಕೆಯನ್ನು ಊಹಿಸಲು ಒಂದು "
"ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್ "
"ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "ಸ್ಕ್ರೀನ್‌ಕ್ಯಾಸ್ಟುಗಳನ್ನು ಶೇಖರಿಸಿಡಲು ಬಳಸಲಾಗುವ ಕಡತ ವಿಸ್ತರಣೆಗಳು"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -262,6 +222,7 @@ msgid "There was an error loading the preferences dialog for %s:"
msgstr "%s ಗಾಗಿ ಆದ್ಯತೆಗಳ ಸಂವಾದವನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ:"
#: ../js/extensionPrefs/main.js:164
#| msgid "<b>Extension</b>"
msgid "Extension"
msgstr "ವಿಸ್ತರಣೆ"
@ -270,11 +231,11 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"ಮೇಲಿನ ಸಂಯೋಜನಾಚೌಕವನ್ನು ಬಳಸಿಕೊಂಡು ಸಂರಚಿಸಬೇಕಿರುವ ಒಂದು ವಿಸ್ತರಣೆಯನ್ನು ಆರಿಸಿ."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:526
msgid "Session..."
msgstr "ಅಧಿವೇಶನ..."
#: ../js/gdm/loginDialog.js:680
#: ../js/gdm/loginDialog.js:674
msgctxt "title"
msgid "Sign In"
msgstr "ಒಳ ಪ್ರವೇಶಿಸಿ"
@ -282,68 +243,55 @@ msgstr "ಒಳ ಪ್ರವೇಶಿಸಿ"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:740
#: ../js/gdm/loginDialog.js:741
msgid "Not listed?"
msgstr "ಪಟ್ಟಿಯಲ್ಲಿಲ್ಲವೆ?"
#: ../js/gdm/loginDialog.js:898 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:894 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "ರದ್ದು ಮಾಡು"
#: ../js/gdm/loginDialog.js:903
#: ../js/gdm/loginDialog.js:899
msgctxt "button"
msgid "Sign In"
msgstr "ಒಳಗೆ ಪ್ರವೇಶಿಸು"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:962 ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "ಬಳಕೆದಾರ ಹೆಸರು: "
#: ../js/gdm/loginDialog.js:1269
#: ../js/gdm/loginDialog.js:1238
msgid "Login Window"
msgstr "ಪ್ರವೇಶದ ಕಿಟಕಿ"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "ವಿದ್ಯುಚ್ಛಕ್ತಿ"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:88 ../js/ui/userMenu.js:658 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:773
msgid "Suspend"
msgstr "ಅಮಾನತ್ತಿನಲ್ಲಿಡು"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:93
msgid "Restart"
msgstr "ಮರಳಿ ಆರಂಭಿಸು"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:98 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:772
msgid "Power Off"
msgstr "ಸ್ಥಗಿತಗೊಳಿಸು"
#: ../js/gdm/util.js:152
#: ../js/gdm/util.js:148
#| msgid "Authentication Required"
msgid "Authentication error"
msgstr "ದೃಢೀಕರಣ ದೋಷ"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:269
#: ../js/gdm/util.js:265
msgid "(or swipe finger)"
msgstr "(ಅಥವ ನಿಮ್ಮ ಬೆರಳನ್ನು ಉಜ್ಜಿ)"
#: ../js/gdm/util.js:294
#: ../js/gdm/util.js:290
#, c-format
msgid "(e.g., user or %s)"
msgstr "(ಉದಾ., ಬಳಕೆದಾರ ಅಥವ %s)"
msgstr ""
#: ../js/misc/util.js:92
msgid "Command not found"
@ -377,7 +325,7 @@ msgstr "SETTINGS"
msgid "New Window"
msgstr "ಹೊಸ ವಿಂಡೊ"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "ಎಲ್ಲಾ ಅಚ್ಚುಮೆಚ್ಚಿನವುಗಳನ್ನು ತೆಗೆದುಹಾಕು"
@ -541,16 +489,16 @@ msgstr "ಈ ವಾರ"
msgid "Next week"
msgstr "ಮುಂದಿನ ವಾರ"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "ತೆಗೆದುಹಾಕಬಹುದಾದ ಸಾಧನಗಳು"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s ನೊಂದಿಗೆ ತೆರೆ"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "ಹೊರತಳ್ಳು"
@ -580,6 +528,14 @@ msgstr "ದಾಟುಪದ: "
msgid "Key: "
msgstr "ಕೀಲಿ: "
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "ಬಳಕೆದಾರ ಹೆಸರು: "
#: ../js/ui/components/networkAgent.js:266
msgid "Identity: "
msgstr "ಗುರುತು: "
@ -690,7 +646,7 @@ msgstr "ಸಂಪರ್ಕ ದೋಷ"
#: ../js/ui/components/telepathyClient.js:491
msgid "Unmute"
msgstr "ಮಾತುಬರಿಸು"
msgstr ""
#: ../js/ui/components/telepathyClient.js:491
msgid "Mute"
@ -699,35 +655,35 @@ msgstr "ಮೂಕಗೊಳಿಸು"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%A</b> ರಂದು <b>%X</b> ಗೆ ಕಳುಹಿಸಲಾಗಿದೆ"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b>, <b>%B %d</b> ರಂದು ಕಳುಹಿಸಲಾಗಿದೆ"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "%A</b>, <b>%B %d</b>, %Y ರಂದು ಕಳುಹಿಸಲಾಗಿದೆ"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s ಈಗ %s ಆಗಿದ್ದಾರೆ"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s ಗಾಗಿನ ಆಹ್ವಾನ"
@ -735,42 +691,42 @@ msgstr "%s ಗಾಗಿನ ಆಹ್ವಾನ"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s ನಿಮ್ಮನ್ನು %s ಗೆ ಸೇರುವಂತೆ ಆಹ್ವಾನಿಸುತ್ತಿದ್ದಾರೆ"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "ತಿರಸ್ಕರಿಸು"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "ಅಂಗೀಕರಿಸು"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s ಇಂದ ವೀಡಿಯೊ ಕರೆ ಬಂದಿದೆ"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s ಇಂದ ಕರೆ ಬಂದಿದೆ"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "ತಿರಸ್ಕರಿಸು"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "ಉತ್ತರ"
@ -779,106 +735,106 @@ msgstr "ಉತ್ತರ"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s ರವರು ನಿಮಗೆ %s ಅನ್ನು ಕಳುಹಿಸುತ್ತಿದ್ದಾರೆ"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr ""
"ನೀವು ಯಾವಾಗ ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಇರುತ್ತೀರಿ ಎಂದು ತಿಳಿಯಲು %s ರವರು ನಿಮ್ಮ ಅನುಮತಿಯನ್ನು "
"ಕೋರಿದ್ದಾರೆ"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "ಜಾಲಬಂಧದ ದೋಷ"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "ದೃಢೀಕರಣವು ವಿಫಲಗೊಂಡಿದೆ"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "ಗೂಢಲಿಪೀಕರಣ ದೋಷ"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ನಂಬಲಾಗಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ಕಾಲಾವಧಿ ತೀರಿದೆ"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "ಪ್ರಮಾಣಪತ್ರವು ಸಕ್ರಿಯಗೊಂಡಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ಅತಿಥೇಯದ ಹೆಸರು ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "ಪ್ರಮಾಣಪತ್ರವು ಸ್ವತಃ ಸೈನ್ ಮಾಡಲ್ಪಟ್ಟಿದೆ"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "ಸ್ಥಿತಿಯನ್ನು ಆಫ್‌ಲೈನ್‌ ಎಂದು ಸೂಚಿಸಿದ್ದಾರೆ."
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "ಗೂಢಲಿಪೀಕರಣ ಲಭ್ಯವಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "ಪ್ರಮಾಣಪತ್ರವು ಅಮಾನ್ಯವಾಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "ಸಂಪರ್ಕವನ್ನು ಸಾಧಿಸಲಾಗಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "ಸಂಪರ್ಕವು ಕಡಿದು ಹೋಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "ಈ ಖಾತೆಯು ಈಗಾಗಲೆ ಪರಿಚಾರಕದೊಂದಿಗೆ ಸಂಪರ್ಕ ಜೋಡಿಸಲಾಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"ಒಂದು ಹೊಸ ಸಂಪರ್ಕದಿಂದ ಈ ಸಂಪರ್ಕವನ್ನು ಇದೇ ಸಂಪನ್ಮೂಲವನ್ನು ಬಳಸಿಕೊಂಡು ಬದಲಾಯಿಸಲಾಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "ಖಾತೆಯು ಈಗಾಗಲೆ ಪರಿಚಾರಕದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "ಪರಿಚಾರಕಕ್ಕೆ ಬಿಡುವಿಲ್ಲದ ಕಾರಣ ಸಂಪರ್ಕವನ್ನು ನಿಭಾಯಿಸಲಾಗುತ್ತಿಲ್ಲ"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹಿಂದಕ್ಕೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
@ -886,7 +842,7 @@ msgstr ""
"ಗೂಢಲಿಪೀಕರಣವನ್ನು "
"ಹೊಂದಿದೆ"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -895,30 +851,31 @@ msgstr ""
"ಲೈಬ್ರರಿಯಿಂದ "
"ನಿಗದಿ ಪಡಿಸಲಾದ ಮಿತಿಗಳನ್ನು ಮೀರಿದೆ."
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "ಆಂತರಿಕ ತಪ್ಪು"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s ಗಾಗಿನ ಸಂಪರ್ಕವು ವಿಫಲಗೊಂಡಿದೆ"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "ಮರಳಿ ಸಂಪರ್ಕ ಜೋಡಿಸು"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "ಖಾತೆಯನ್ನು ಸಂಪಾದಿಸು"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "ಅಜ್ಞಾತ ಕಾರಣ"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
#| msgid "Applications"
msgid "Show Applications"
msgstr "ಅನ್ವಯಗಳನ್ನು ತೋರಿಸು"
@ -926,14 +883,14 @@ msgstr "ಅನ್ವಯಗಳನ್ನು ತೋರಿಸು"
msgid "Date and Time Settings"
msgstr "ದಿನಾಂಕ ಹಾಗು ಸಮಯದ ಸಿದ್ಧತೆಗಳು"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "ಕ್ಯಾಲೆಂಡರನ್ನು ತೆರೆ"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -1038,11 +995,11 @@ msgid "Download and install '%s' from extensions.gnome.org?"
msgstr ""
"'%s' ಅನ್ನು extensions.gnome.org ಇಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿಕೊಂಡು ಅನುಸ್ಥಾಪಿಸಬೇಕೆ?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ಟ್ರೇ"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:194
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "ಕೀಲಿಮಣೆ"
@ -1095,23 +1052,24 @@ msgstr "ಆಕರವನ್ನು ನೋಡಿ"
msgid "Web Page"
msgstr "ಜಾಲ ಪುಟ"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "ತೆರೆ"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "ತೆಗೆದು ಹಾಕು"
#: ../js/ui/messageTray.js:1531
#: ../js/ui/messageTray.js:2052
msgid "Message Tray"
msgstr "ಸಂದೇಶ ಟ್ರೇ"
msgstr ""
#: ../js/ui/messageTray.js:2543
#: ../js/ui/messageTray.js:2508
msgid "System Information"
msgstr "ವ್ಯವಸ್ಥೆಯ ಮಾಹಿತಿ"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
#| msgid "Unknown"
msgctxt "program"
msgid "Unknown"
msgstr "ಗೊತ್ತಿಲ್ಲದ"
@ -1167,29 +1125,33 @@ msgstr "ದಯವಿಟ್ಟು ಒಂದು ಆಜ್ಞೆಯನ್ನು ನ
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:81
#: ../js/ui/screenShield.js:79
#| msgctxt "calendar heading"
#| msgid "%A, %B %d"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:145
#: ../js/ui/screenShield.js:144
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d ಹೊಸ ಸಂದೇಶ"
msgstr[1] "%d ಹೊಸ ಸಂದೇಶಗಳು"
msgstr[0] ""
msgstr[1] ""
#: ../js/ui/screenShield.js:147
#, c-format
#: ../js/ui/screenShield.js:146
#, fuzzy, c-format
#| msgid "Notifications"
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d ಹೊಸ ಸೂಚನೆ"
msgstr[1] "%d ಹೊಸ ಸೂಚನೆಗಳು"
msgstr[0] "ಸೂಚನೆಗಳು"
msgstr[1] "ಸೂಚನೆಗಳು"
#: ../js/ui/searchDisplay.js:275
msgid "Searching..."
msgstr "ಹುಡುಕಲಾಗುತ್ತಿದೆ..."
#: ../js/ui/searchDisplay.js:323
#| msgid "No matching results."
msgid "No results."
msgstr "ಯಾವುದೆ ಫಲಿತಾಂಶಗಳಿಲ್ಲ."
@ -1210,16 +1172,18 @@ msgid "Hide Text"
msgstr "ಪಠ್ಯವನ್ನು ಅಡಗಿಸು"
#: ../js/ui/shellMountOperation.js:368
#| msgid "Password:"
msgid "Password"
msgstr "ಗುಪ್ತಪದ"
#: ../js/ui/shellMountOperation.js:389
#| msgid "Password:"
msgid "Remember Password"
msgstr "ಈ ಗುಪ್ತಪದವನ್ನು ನೆನಪಿನಲ್ಲಿಡು"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "ಅನ್‌ಲಾಕ್ ಮಾಡು"
msgstr ""
#: ../js/ui/status/accessibility.js:39
msgid "Accessibility"
@ -1335,7 +1299,7 @@ msgstr "ಕೀಲಿಮಣೆ ಸಿದ್ಧತೆಗಳು"
msgid "Mouse Settings"
msgstr "ಮೌಸ್‌ನ ಸಿದ್ಧತೆಗಳು"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "ಧ್ವನಿಯ ಸಿದ್ಧತೆಗಳು"
@ -1368,10 +1332,10 @@ msgid "Device %s wants to pair with this computer"
msgstr "%s ಎನ್ನುವ ಸಾಧನದೊಂದಿಗೆ ಸಂಪರ್ಕ ಜೋಡಿಸಲು ಬಯಸುತ್ತಿದೆ"
#: ../js/ui/status/bluetooth.js:379
#, c-format
#, fuzzy, c-format
#| msgid "Please confirm whether the PIN '%s' matches the one on the device."
msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgstr ""
"'%06d' ಎಂಬ PIN ಸಾಧನದಲ್ಲಿರುವುದಕ್ಕೆ ತಾಳೆಯಾಗುತ್ತದೆಯೆ ಎಂದು ದಯವಿಟ್ಟು ಖಚಿತಪಡಿಸಿ."
msgstr "'%s' ಎನ್ನುವ PIN ಸಾಧನದಲ್ಲಿರುವುದಕ್ಕೆ ತಾಳೆಯಾಗುತ್ತದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸಿ."
#: ../js/ui/status/bluetooth.js:381
msgid "Matches"
@ -1394,17 +1358,17 @@ msgstr "ದಯವಿಟ್ಟು ಸಾಧನದಲ್ಲಿ ಸೂಚಿಸಿ
msgid "OK"
msgstr "ಸರಿ"
#: ../js/ui/status/keyboard.js:228
#: ../js/ui/status/keyboard.js:227
msgid "Show Keyboard Layout"
msgstr "ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸವನ್ನು ತೋರಿಸು"
#: ../js/ui/status/keyboard.js:233
#: ../js/ui/status/keyboard.js:232
msgid "Region and Language Settings"
msgstr "ಪ್ರದೇಶ ಮತ್ತು ಭಾಷೆ ಸಿದ್ಧತೆಗಳು"
#: ../js/ui/status/lockScreenMenu.js:18
msgid "Volume, network, battery"
msgstr "ಧ್ವನಿಪ್ರಮಾಣ, ಜಾಲಬಂಧ, ಬ್ಯಾಟರಿ"
msgstr ""
#: ../js/ui/status/network.js:94
msgid "<unknown>"
@ -1616,12 +1580,13 @@ msgid "Computer"
msgstr "ಗಣಕ"
#: ../js/ui/status/power.js:217
#| msgid "Unknown"
msgctxt "device"
msgid "Unknown"
msgstr "ಗೊತ್ತಿಲ್ಲದ"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "ಧ್ವನಿ ಪ್ರಮಾಣ"
@ -1629,71 +1594,75 @@ msgstr "ಧ್ವನಿ ಪ್ರಮಾಣ"
msgid "Microphone"
msgstr "ಮೈಕ್ರೊಫೋನ್"
#: ../js/ui/unlockDialog.js:178
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರನಾಗಿ ಪ್ರವೇಶಿಸಿ"
msgstr ""
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:175
msgid "Available"
msgstr "ಲಭ್ಯ"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:178
msgid "Busy"
msgstr "ಕಾರ್ಯನಿರತ"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:181
msgid "Invisible"
msgstr "ಅಗೋಚರ"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:184
msgid "Away"
msgstr "ಹೊರಗೆ ಹೋಗಿದ್ದೇನೆ"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:187
msgid "Idle"
msgstr "ಜಡ"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:190
msgid "Unavailable"
msgstr "ಅಲಭ್ಯ"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "ಸೂಚನೆಗಳು"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "ವ್ಯವಸ್ಥೆಯ ಸಿದ್ಧತೆಗಳು"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:613 ../js/ui/userMenu.js:754
msgid "Switch User"
msgstr "ಬಳಕೆದಾರನನ್ನು ಬದಲಿಸು"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:614
#, fuzzy
#| msgid "Switch User"
msgid "Switch Session"
msgstr "ಬಳಕೆದಾರನನ್ನು ಬದಲಿಸು"
#: ../js/ui/userMenu.js:738
msgid "Notifications"
msgstr "ಸೂಚನೆಗಳು"
#: ../js/ui/userMenu.js:746
msgid "System Settings"
msgstr "ವ್ಯವಸ್ಥೆಯ ಸಿದ್ಧತೆಗಳು"
#: ../js/ui/userMenu.js:759
#| msgctxt "title"
#| msgid "Log Out"
msgid "Log Out"
msgstr "ನಿರ್ಗಮಿಸು"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:764
msgid "Lock"
msgstr "ಲಾಕ್ ಮಾಡು"
msgstr ""
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:779
msgid "Install Updates & Restart"
msgstr "ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಅನುಸ್ಥಾಪಿಸು ಮತ್ತು ಮರಳಿಸ್ಥಾಪಿಸು"
msgstr ""
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:797
msgid "Your chat status will be set to busy"
msgstr "ನಿಮ್ಮ ಹರಟೆಯ ಸ್ಥಿತಿಯನ್ನು ಕಾರ್ಯನಿರತರಾಗಿದ್ದಾರೆ ಎಂದು ಬದಲಾಯಿಸಲಾಗಿದೆ."
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:798
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
msgstr ""
"ಸಂಭಾಷಣೆಯ ಸಂದೇಶಗಳೂ ಸಹ ಸೇರಿದಂತೆ ಸೂಚನೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ. ನೀವು "
"ಬೇರೆಯವರಿಂದ ಬಂದ ಸಂದೇಶಗಳನ್ನು ನೀವು ನೋಡಿಲ್ಲ ಎಂದು ಅವರಿಗೆ ಗೊತ್ತಾಗುವಂತೆ ನಿಮ್ಮ "
"ಆನ್‌ಲೈನ್ "
"ಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿಸಲಾಗಿರುತ್ತದೆ."
#: ../js/ui/viewSelector.js:85
msgid "Windows"
@ -1707,7 +1676,7 @@ msgstr "ಅನ್ವಯಗಳು"
msgid "Search"
msgstr "ಹುಡುಕು"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1716,12 +1685,12 @@ msgstr ""
"ಕ್ಷಮಿಸಿ, ನಿಮಗಾಗಿ ಯಾವುದೆ ವಿವೇಕವಾಣಿ ಇಲ್ಲ :\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s Oracle ಹೇಳುವಂತೆ"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಈಸ್ಟರ್ ಮೊಟ್ಟೆ"
@ -1731,6 +1700,7 @@ msgid "'%s' is ready"
msgstr "'%s' ಸಿದ್ಧಗೊಂಡಿದೆ"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
#| msgid "Open Calendar"
msgid "Evolution Calendar"
msgstr "Evolution ಕ್ಯಾಲೆಂಡರ್"
@ -1756,23 +1726,23 @@ msgstr[1] "%u ಇನ್‌ಪುಟ್‌ಗಳು"
msgid "System Sounds"
msgstr "ವ್ಯವಸ್ಥೆಯ ಧ್ವನಿಗಳು"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "ಮುದ್ರಿಸಬಹುದಾದ ಆವೃತ್ತಿ"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "ಪ್ರವೇಶದ ತೆರೆಗಾಗಿ GDM ಬಳಸಿದ ಪ್ರಕಾರ"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "ನಿಶ್ಚಿತ ಸ್ಥಿತಿಯನ್ನು ಬಳಸು, ಉದಾ. ಪ್ರವೇಶ ತೆರೆಗಾಗಿ \"gdm\""
msgstr ""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "ಸಾಧ್ಯವಿರುವ ಸ್ಥಿತಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡು"
msgstr ""
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ"
@ -1797,10 +1767,6 @@ msgstr "ಪೂರ್ವನಿಯೋಜಿತ"
msgid "Authentication dialog was dismissed by the user"
msgstr "ದೃಢೀಕರಣದ ಸಂವಾದವನ್ನು ಬಳಕೆದಾರರಿಂದ ತಿರಸ್ಕರಿಸಲಾಗಿದೆ"
#~| msgid "Switch User"
#~ msgid "Switch Session"
#~ msgstr "ಅಧಿವೇಶನವನ್ನು ಬದಲಿಸು"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "ಅಶಕ್ತಗೊಳಿಸಲಾದ OpenSearch ಒದಗಿಸುವವರು"

488
po/lt.po

File diff suppressed because it is too large Load Diff

404
po/ml.po
View File

@ -8,21 +8,22 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-11-26 14:54+0530\n"
"Last-Translator: Ani Peter <peter.ani@gmail.com>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-09-20 16:11+0000\n"
"PO-Revision-Date: 2012-09-20 22:56+0000\n"
"Last-Translator: Ani Peter <apeter@redhat.com>\n"
"Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
"Language: ml\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.0\n"
"X-DamnedLies-Scope: partial\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
#| msgid "Screen position"
msgid "Screenshots"
msgstr "സ്ക്രീന്‍ഷോട്ടുകള്‍"
@ -31,10 +32,12 @@ msgid "Record a screencast"
msgstr "ഒരു സ്ക്രീന്‍കാസ്റ്റ് റിക്കോര്‍ഡ് ചെയ്യുക"
#: ../data/50-gnome-shell-system.xml.in.h:1
#| msgid "File System"
msgid "System"
msgstr "സിസ്റ്റം"
#: ../data/50-gnome-shell-system.xml.in.h:2
#| msgid "Message Tray"
msgid "Show the message tray"
msgstr "സന്ദേശത്തിന്റെ ട്രേ കാണിയ്ക്കുക"
@ -58,8 +61,7 @@ msgstr "ഗ്നോം ഷെല്‍ എക്സ്റ്റെന്‍ഷ
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Alt-F2-ല്‍ ഡവലപ്പര്‍മാര്‍ക്കും ടെസ്റ്റേര്‍സിനും പ്രയോജനകരമായ ആന്തരിക "
"പ്രയോഗങ്ങള്‍ പ്രവര്‍ത്തന "
"Alt-F2-ല്‍ ഡവലപ്പര്‍മാര്‍ക്കും ടെസ്റ്റേര്‍സിനും പ്രയോജനകരമായ ആന്തരിക പ്രയോഗങ്ങള്‍ പ്രവര്‍ത്തന "
"സജ്ജമാക്കുന്നു"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
@ -67,8 +69,7 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Alt-F2 ഡയലോഗ് ഉപയോഗിച്ചു് ആന്തരിക ഡീബഗ്ഗിലേക്കും നീരീക്ഷണ പ്രയോഗങ്ങളിലേക്കും "
"പ്രവേശനം "
"Alt-F2 ഡയലോഗ് ഉപയോഗിച്ചു് ആന്തരിക ഡീബഗ്ഗിലേക്കും നീരീക്ഷണ പ്രയോഗങ്ങളിലേക്കും പ്രവേശനം "
"അനുവദിയ്ക്കുക."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
@ -82,19 +83,14 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"ഗ്നോം ഷെല്‍ എക്സ്റ്റെന്‍ഷനുകള്‍ക്കു് ഒരു യുയുഐഡി വിശേഷതയുണ്ടു്; ലഭ്യമാക്കേണ്ട "
"എക്സ്റ്റെന്‍ഷനുകള്‍ ഈ കീ പട്ടിക "
"ലഭ്യമാക്കുന്നു. ലഭ്യമാക്കേണ്ട ഏതു് എക്സ്റ്റെന്‍ഷനും ഈ പട്ടികയിലുണ്ടാവണം. "
"org.gnome.Shell-ല്‍ "
"നിങ്ങള്‍ക്കു് EnableExtension, DisableExtension എന്നീ ഡീബസ് രീതികളിലൂടെ ഈ "
"പട്ടിക "
"ഗ്നോം ഷെല്‍ എക്സ്റ്റെന്‍ഷനുകള്‍ക്കു് ഒരു യുയുഐഡി വിശേഷതയുണ്ടു്; ലഭ്യമാക്കേണ്ട എക്സ്റ്റെന്‍ഷനുകള്‍ ഈ കീ പട്ടിക "
"ലഭ്യമാക്കുന്നു. ലഭ്യമാക്കേണ്ട ഏതു് എക്സ്റ്റെന്‍ഷനും ഈ പട്ടികയിലുണ്ടാവണം. org.gnome.Shell-ല്‍ "
"നിങ്ങള്‍ക്കു് EnableExtension, DisableExtension എന്നീ ഡീബസ് രീതികളിലൂടെ ഈ പട്ടിക "
"കൈകാര്യം ചെയ്യുവാനും സാധിയ്ക്കുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "Whether to collect stats about applications usage"
msgstr ""
"പ്രയോഗങ്ങളുടെ ഉപയോഗത്തെപ്പറ്റിയുള്ള സ്ഥിതിവിവരക്കണക്കുകള്‍ ശേഖരിയ്ക്കണമോ "
"എന്നു്"
msgstr "പ്രയോഗങ്ങളുടെ ഉപയോഗത്തെപ്പറ്റിയുള്ള സ്ഥിതിവിവരക്കണക്കുകള്‍ ശേഖരിയ്ക്കണമോ എന്നു്"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
msgid ""
@ -103,12 +99,9 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"ഏറ്റവും കൂടുതല്‍ തവണ ഉപയോഗിയ്ക്കുന്ന പ്രയോഗങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി ഷെല്‍ "
"സാധാരണയായി സജീവമായ "
"പ്രയോഗങ്ങളെ നിരീക്ഷിയ്ക്കുന്നു. (ഉദാഹരണത്തിനു്, ലോഞ്ചേര്‍സ്). ഈ ഡേറ്റാ "
"സ്വകാര്യമായി "
"സൂക്ഷിയ്ക്കുന്നെങ്കിലും, ചില കാരണങ്ങളാല്‍ ഇതു് പ്രവര്‍ത്തന "
"രഹിതമാക്കേണ്ടതുണ്ടു്. ഇങ്ങനെ ചെയ്യുന്നതു് "
"ഏറ്റവും കൂടുതല്‍ തവണ ഉപയോഗിയ്ക്കുന്ന പ്രയോഗങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി ഷെല്‍ സാധാരണയായി സജീവമായ "
"പ്രയോഗങ്ങളെ നിരീക്ഷിയ്ക്കുന്നു. (ഉദാഹരണത്തിനു്, ലോഞ്ചേര്‍സ്). ഈ ഡേറ്റാ സ്വകാര്യമായി "
"സൂക്ഷിയ്ക്കുന്നെങ്കിലും, ചില കാരണങ്ങളാല്‍ ഇതു് പ്രവര്‍ത്തന രഹിതമാക്കേണ്ടതുണ്ടു്. ഇങ്ങനെ ചെയ്യുന്നതു് "
"നിങ്ങള്‍ സൂക്ഷിച്ച ഡേറ്റയെ ബാധിയ്ക്കുന്നതല്ല."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
@ -119,8 +112,7 @@ msgstr "ഇഷ്ടമുള്ള പ്രയോഗങ്ങള്‍ക്
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"ഈ ഐഡന്റിഫയറുകള്‍ക്കുള്ള പ്രയോഗങ്ങള്‍ ഉചിതമായ സ്ഥലങ്ങളില്‍ കാണിയ്ക്കുന്നു."
msgstr "ഈ ഐഡന്റിഫയറുകള്‍ക്കുള്ള പ്രയോഗങ്ങള്‍ ഉചിതമായ സ്ഥലങ്ങളില്‍ കാണിയ്ക്കുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@ -135,8 +127,7 @@ msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
"ഉപയോക്താവു് സജ്ജമാക്കിയ അവസാന ഐഎം ആന്തരികമായി സൂക്ഷിയ്ക്കുന്നതിനു് "
"ഉപയോഗിയ്ക്കുന്നു. മൂല്യം "
"ഉപയോക്താവു് സജ്ജമാക്കിയ അവസാന ഐഎം ആന്തരികമായി സൂക്ഷിയ്ക്കുന്നതിനു് ഉപയോഗിയ്ക്കുന്നു. മൂല്യം "
"TpConnectionPresenceType തരത്തിലുള്ളതാകുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
@ -144,84 +135,78 @@ msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"ഉപയോക്താവിനുള്ള അവസാന സെഷന്‍ അവസ്ഥ ആന്തരികമായി സൂക്ഷിയ്ക്കുന്നതിനു് "
"ഉപയോഗിയ്ക്കുന്നു. മൂല്യം "
"ഉപയോക്താവിനുള്ള അവസാന സെഷന്‍ അവസ്ഥ ആന്തരികമായി സൂക്ഷിയ്ക്കുന്നതിനു് ഉപയോഗിയ്ക്കുന്നു. മൂല്യം "
"GsmPresenceStatus തരത്തിലുള്ളതാകുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "ഉപയോക്താവിനുള്ള മെനുവില്‍ എപ്പോഴും 'പുറത്തു് പോകുക' കാണിയ്ക്കുക."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"സിംഗിള്‍ യൂസറാകുമ്പോള്‍ അല്ലെങ്കില്‍ സിംഗിള്‍-സെഷന്‍ സാഹചര്യങ്ങളില്‍ "
"'പുറത്തു് കടക്കുക' എന്ന ഐച്ഛികം "
"സ്വയം മറയ്ക്കുന്നതു് തിരുത്തിയെഴുതപ്പെടുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "കലണ്ടറിലുള്ള ആഴ്ച തീയിതി കാണിയ്ക്കുക"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "true എങ്കില്‍, കലണ്ടറില്‍ ഐഎസ്ഒ ആഴ്ച തീയതി കാണിയ്ക്കുക."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "പ്രയോഗത്തിന്റെ മെനു തുറക്കുന്നതിനുള്ള കീക്കൂട്ടം"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "പ്രയോഗത്തിന്റെ മെനു തുറക്കുന്നതിനുള്ള കീക്കൂട്ടം."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "സന്ദേശ ട്രേയുടെ ദൃശ്യത ടൊഗ്ഗിള്‍ ചെയ്യുന്നതിനുള്ള കീക്കൂട്ടം"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "സന്ദേശ ട്രേയുടെ ദൃശ്യത ടൊഗ്ഗിള്‍ ചെയ്യുന്നതിനുള്ള കീക്കൂട്ടം."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "സ്ക്രീന്‍ റിക്കോര്‍ഡര്‍ ടൊഗ്ഗിള്‍ ചെയ്യുന്നതിനുള്ള കീക്കൂട്ടം"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr ""
"ബിള്‍ട്ടിന്‍ സ്ക്രീന്‍ റിക്കോര്‍ഡര്‍ തുടങ്ങുവാന്‍/നിര്‍ത്തുന്നതിനുള്ള "
"കീക്കൂട്ടം."
msgstr "ബിള്‍ട്ടിന്‍ സ്ക്രീന്‍ റിക്കോര്‍ഡര്‍ തുടങ്ങുവാന്‍/നിര്‍ത്തുന്നതിനുള്ള കീക്കൂട്ടം."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "ഏതു് കീബോര്‍ഡ് ഉപയോഗിയ്ക്കണം"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "ഏതു് തരം കീബോര്‍ഡ് ഉപയോഗിയ്ക്കണം."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "സ്ക്രീന്‍കാസ്റ്റുകള്‍ റിക്കോര്‍ഡ് ചെയ്യുന്നതിനുള്ള ഫ്രെയിം റേറ്റ്."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"ഗ്നോം ഷെല്ലിന്റെ സ്ക്രീന്‍കാസ്റ്റ് റിക്കോര്‍ഡര്‍ റീക്കോര്‍ഡ് ചെയ്തിട്ടുള്ള "
"സ്ക്രീന്‍കാസ്റ്റിന്റെ "
"ഗ്നോം ഷെല്ലിന്റെ സ്ക്രീന്‍കാസ്റ്റ് റിക്കോര്‍ഡര്‍ റീക്കോര്‍ഡ് ചെയ്തിട്ടുള്ള സ്ക്രീന്‍കാസ്റ്റിന്റെ "
"ഫ്രെയിംറേറ്റ്, ഒരു സെക്കന്‍ഡില്‍ ഒരു ഫ്രെയിം."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "സ്ക്രീന്‍കാസ്റ്റ് എന്‍കോഡ് ചെയ്യുന്നതിനുള്ള gstreamer പൈപ്പ്‌ലൈന്‍"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
#| msgid ""
#| "Sets the GStreamer pipeline used to encode recordings. It follows the "
#| "syntax used for gst-launch. The pipeline should have an unconnected sink "
#| "pad where the recorded video is recorded. It will normally have a "
#| "unconnected source pad; output from that pad will be written into the "
#| "output file. However the pipeline can also take care of its own output - "
#| "this might be used to send the output to an icecast server via shout2send "
#| "or similar. When unset or set to an empty value, the default pipeline "
#| "will be used. This is currently 'vp8enc quality=8 speed=6 threads=%T ! "
#| "queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a "
#| "placeholder for a guess at the optimal thread count on the system."
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
"used for gst-launch. The pipeline should have an unconnected sink pad where "
@ -234,27 +219,24 @@ msgid ""
"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is "
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"റിക്കോര്‍ഡിങുകള്‍ എന്‍കോഡ് ചെയ്യുന്നതിനായി GStreamer പൈപ്പ് ലൈന്‍ "
"ഉപയോഗിയ്ക്കുന്നു. gst-launch-"
"നുള്ള സിന്റാക്സ് ഉപയോഗിയ്ക്കുന്നു. കാലിയായി സജ്ജമാക്കുമ്പോള്‍ "
"കാലിയാകുന്നു.ഇതു് നിലവില്‍ 'vp8enc "
"min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! "
"queue ! webmmux' ആകുന്നുസ WEBM VP8 കോഡ് ഉപയോഗിച്ചു് റിക്കോര്‍ഡ് ചെയ്യുന്നു."
"റിക്കോര്‍ഡിങുകള്‍ എന്‍കോഡ് ചെയ്യുന്നതിനായി GStreamer പൈപ്പ് ലൈന്‍ ഉപയോഗിയ്ക്കുന്നു. "
"gst-launch-നുള്ള സിന്റാക്സ് ഉപയോഗിയ്ക്കുന്നു. കാലിയായി സജ്ജമാക്കുമ്പോള്‍ കാലിയാകുന്നു."
"ഇതു് നിലവില്‍ 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 "
"threads=%T ! queue ! webmmux' ആകുന്നുസ WEBM VP8 കോഡ് ഉപയോഗിച്ചു് റിക്കോര്‍ഡ് "
"ചെയ്യുന്നു."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "സ്ക്രീന്‍കാസ്റ്റ് സൂക്ഷിയ്ക്കുന്നതിനുള്ള ഫയല്‍ എക്സ്റ്റെന്‍ഷന്‍"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"റിക്കോര്‍ഡ് ചെയ്ത സ്ക്രീന്‍കാസ്റ്റുകള്‍ക്കുള്ള ഫയല്‍നാമം നിലവിലുള്ള തീയതി, "
"എക്സ്റ്റെന്‍ഷന്‍ എന്നിവ "
"അനുസരിച്ചാകുന്നു. മറ്റൊരു ശൈലിയിലേക്കു് റിക്കോര്‍ഡ് ചെയ്യുമ്പോള്‍ ഇതു് "
"മാറ്റണം."
"റിക്കോര്‍ഡ് ചെയ്ത സ്ക്രീന്‍കാസ്റ്റുകള്‍ക്കുള്ള ഫയല്‍നാമം നിലവിലുള്ള തീയതി, എക്സ്റ്റെന്‍ഷന്‍ എന്നിവ "
"അനുസരിച്ചാകുന്നു. മറ്റൊരു ശൈലിയിലേക്കു് റിക്കോര്‍ഡ് ചെയ്യുമ്പോള്‍ ഇതു് മാറ്റണം."
#: ../js/extensionPrefs/main.js:124
#, c-format
@ -267,15 +249,13 @@ msgstr "എക്സ്റ്റെന്‍ഷന്‍"
#: ../js/extensionPrefs/main.js:188
msgid "Select an extension to configure using the combobox above."
msgstr ""
"മുകളിലുള്ള കോമ്പോ ബോക്സ് ഉപയോഗിച്ചു് ക്രമീകരിയ്ക്കുന്നതിനുള്ളൊരു "
"എക്സ്റ്റെന്‍ഷന്‍ തെര‍ഞ്ഞെടുക്കുക."
msgstr "മുകളിലുള്ള കോമ്പോ ബോക്സ് ഉപയോഗിച്ചു് ക്രമീകരിയ്ക്കുന്നതിനുള്ളൊരു എക്സ്റ്റെന്‍ഷന്‍ തെര‍ഞ്ഞെടുക്കുക."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:526
msgid "Session..."
msgstr "പ്രവര്‍ത്തനവേള"
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:674
msgctxt "title"
msgid "Sign In"
msgstr "അകത്തുകയറുക"
@ -283,47 +263,42 @@ msgstr "അകത്തുകയറുക"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:741
msgid "Not listed?"
msgstr "ലഭ്യമല്ലേ?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:894 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "വേണ്ട"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:899
msgctxt "button"
msgid "Sign In"
msgstr "അകത്തുകയറുക"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1238
msgid "Login Window"
msgstr "പ്രവേശന ജാലകം"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "പവര്‍"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:88 ../js/ui/userMenu.js:658 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:773
msgid "Suspend"
msgstr "താത്കാലികമായി നിര്‍ത്തുക"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:93
msgid "Restart"
msgstr "പുനരാരംഭിക്കുക"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:98 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:772
msgid "Power Off"
msgstr "നിര്‍ത്തുക"
#: ../js/gdm/util.js:148
#| msgid "Authentication Required"
msgid "Authentication error"
msgstr "തിരിച്ചറിയല്‍ പിശക്"
@ -370,7 +345,7 @@ msgstr "ക്രമീകരണങ്ങള്‍"
msgid "New Window"
msgstr "പുതിയ വിന്‍ഡോ"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "ഇഷ്ടപ്പെട്ടവയില്‍ നിന്നും നീക്കം ചെയ്യുക"
@ -534,16 +509,16 @@ msgstr "ഈ ആഴ്ച"
msgid "Next week"
msgstr "അടുത്ത ആഴ്ച"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "നീക്കം ചെയ്യാവുന്ന ഡിവൈസുകള്‍"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s ഉപയോഗിച്ചു തുറക്കുക"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "പുറന്തള്ളുക"
@ -603,8 +578,7 @@ msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr ""
"വയര്‍ലെസ് നെറ്റ്‌വര്‍ക്ക് '%s'-ലേക്ക് പ്രവേശിക്കുന്നതിനായി രഹസ്യവാക്കുകള്‍ "
"അല്ലെങ്കില്‍ എന്‍ക്രിപ്ഷന്‍ കീകള്‍ "
"വയര്‍ലെസ് നെറ്റ്‌വര്‍ക്ക് '%s'-ലേക്ക് പ്രവേശിക്കുന്നതിനായി രഹസ്യവാക്കുകള്‍ അല്ലെങ്കില്‍ എന്‍ക്രിപ്ഷന്‍ കീകള്‍ "
"ആവശ്യമുണ്ടു്."
#: ../js/ui/components/networkAgent.js:314
@ -701,35 +675,35 @@ msgstr "നിശബ്ദമാക്കുക"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%X</b>-നു് <b>%A</b>-ല്‍ അയച്ചിരിയ്ക്കുന്നു"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b>, <b>%B %d</b>-നു് അയച്ചിരിയ്ക്കുന്നു"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b>, <b>%B %d</b>, %Y-നു് അയച്ചിരിയ്ക്കുന്നു"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s ഇപ്പോള്‍ %s ആയിട്ടാണ് അറിയപ്പെടുന്നത്"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s ലേക്കുള്ള ക്ഷണം"
@ -737,42 +711,42 @@ msgstr "%s ലേക്കുള്ള ക്ഷണം"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s നിങ്ങളെ %sഇലേക്കു ചേരാന്‍ ക്ഷണിക്കുന്നുണ്ട്"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "നിരസിക്കുക"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "സ്വീകരിക്കുക"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s-ല്‍ നിന്നുള്ള വീഡിയോ കോള്‍"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s-ല്‍ നിന്നുള്ള കോള്‍"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "നിരസിക്കു"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "എടുക്കുക"
@ -781,145 +755,137 @@ msgstr "എടുക്കുക"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s നിങ്ങള്‍ക്കു് %s അയച്ചിരിയ്ക്കുന്നു"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr ""
"നിങ്ങള്‍ ഓണ്‍ലൈന്‍ ആകുമ്പോള്‍ കാണുന്നതിനുള്ള അനുമതി %s-നു് ആവശ്യമുണ്ടു്"
msgstr "നിങ്ങള്‍ ഓണ്‍ലൈന്‍ ആകുമ്പോള്‍ കാണുന്നതിനുള്ള അനുമതി %s-നു് ആവശ്യമുണ്ടു്"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "ശൃംഖലയില്‍ പിഴവു്"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "തിരിച്ചറിയല്‍ പ്രക്രിയ പരാജയപ്പെട്ടു"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "എന്‍ക്രിപ്ഷനില്‍ പിശകു്"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "സാക്ഷ്യപത്രം നല്‍കിയില്ല"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "സാക്ഷ്യംപത്രം വിശ്വാസമില്ലാത്തു്"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "സാക്ഷ്യപത്രം കാലാവധി തീര്‍ന്നതു്"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "സാക്ഷ്യപത്രം സജീകമാക്കാത്തതു്"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "സാക്ഷ്യപത്രത്തിലെ ഹോസ്റ്റിന്റെ പേരു് പൊരുത്തമില്ല"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "സാക്ഷ്യപത്രത്തിലെ ഒപ്പു് പൊരുത്തമില്ല"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "സാക്ഷ്യപത്രം സ്വയം ഒപ്പിട്ടതാണു്"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "അവസ്ഥ ഓഫ്‌ലൈന്‍ ആയി സജ്ജമാക്കിയിരിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "എന്‍ക്രിപ്ഷന്‍ ലഭ്യമല്ല"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "സാക്ഷ്യപത്രം തെറ്റാണു്"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "കണക്ഷന്‍ നിഷേധിച്ചിരിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "കണക്ഷന്‍ സ്ഥാപിയ്ക്കുവാന്‍ സാധ്യമല്ല"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "കണക്ഷന്‍ നഷ്ടമായിരിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "ഈ അക്കൌണ്ട് നിലവില്‍ സര്‍വറിലേക്കു് കണക്ട് ചെയ്തിരിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1334
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"അതേ ശ്രോതസ്സ് ഉപയോഗിച്ചു് ഒരു പുതിയ കണക്ഷന്‍ ഉപയോഗിച്ചു് ഈ കണക്ഷന്‍ "
"മാറ്റിസ്ഥാപിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1332
msgid "Connection has been replaced by a new connection using the same resource"
msgstr "അതേ ശ്രോതസ്സ് ഉപയോഗിച്ചു് ഒരു പുതിയ കണക്ഷന്‍ ഉപയോഗിച്ചു് ഈ കണക്ഷന്‍ മാറ്റിസ്ഥാപിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "അക്കൌണ്ട് സര്‍വറില്‍ നിലവിലുണ്ടു്"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "കണക്ഷന്‍ കൈകാര്യം ചെയ്യുന്നതിനായി സര്‍വറിനു് സാധ്യമല്ല, തിരക്കിലാണു്"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "സമ്മതപത്രം വീണ്ടും ആവശ്യപ്പെട്ടിരിയ്ക്കുന്നു"
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"സമ്മതപത്രം സുരക്ഷിതമല്ലാത്തൊരു സിഫര്‍ ആല്‍ഗോരിഥം ഉപയോഗിയ്ക്കുന്നു "
"അല്ലെങ്കില്‍ ഉചിതമല്ല"
#: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "സമ്മതപത്രം സുരക്ഷിതമല്ലാത്തൊരു സിഫര്‍ ആല്‍ഗോരിഥം ഉപയോഗിയ്ക്കുന്നു അല്ലെങ്കില്‍ ഉചിതമല്ല"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"സര്‍വറിന്റെ സമ്മതപത്രത്തിന്റെ വ്യാപ്തി, അല്ലെങ്കില്‍ സര്‍വര്‍ സമ്മതപത്ര "
"ചെയിന്റെ വ്യാപ്തി, എന്നിവ "
"സര്‍വറിന്റെ സമ്മതപത്രത്തിന്റെ വ്യാപ്തി, അല്ലെങ്കില്‍ സര്‍വര്‍ സമ്മതപത്ര ചെയിന്റെ വ്യാപ്തി, എന്നിവ "
"പരിധിയില്‍ കൂടുന്നു"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "ആന്തരിക പിശക്"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s-ലേക്കുള്ള കണക്ഷന്‍ പരാജയപ്പെട്ടു"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "വീണ്ടും കണക്ട് ചെയ്യുക"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "അക്കൌണ്ട് ചിട്ടപ്പെടുത്തുക"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "അജ്ഞാതമായ കാരണം"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "പ്രയോഗങ്ങള്‍ കാണിയ്ക്കുക"
@ -927,14 +893,14 @@ msgstr "പ്രയോഗങ്ങള്‍ കാണിയ്ക്കുക"
msgid "Date and Time Settings"
msgstr "തീയതി,സമയ ക്രമീകരണങ്ങള്‍"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "കലണ്ടര്‍ തുറക്കുക"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -952,8 +918,7 @@ msgstr "പുറത്ത് കടക്കുക"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr ""
"ഈ പ്രയോഗങ്ങളില്‍ നിന്നും പുറത്തു് കടക്കുന്നതിനായി പുറത്തു കടക്കുക ക്ലിക്ക് "
"ചെയ്തു് സിസ്റ്റത്തില്‍ നിന്നും "
"ഈ പ്രയോഗങ്ങളില്‍ നിന്നും പുറത്തു് കടക്കുന്നതിനായി പുറത്തു കടക്കുക ക്ലിക്ക് ചെയ്തു് സിസ്റ്റത്തില്‍ നിന്നും "
"പുറത്തു് കടക്കുക."
#: ../js/ui/endSessionDialog.js:65
@ -987,8 +952,7 @@ msgstr "നിര്‍ത്തുക"
#: ../js/ui/endSessionDialog.js:82
msgid "Click Power Off to quit these applications and power off the system."
msgstr ""
"ഈ പ്രയോഗങ്ങളില്‍ നിന്നും പുറത്തു് കടക്കുന്നതിനായി പവര്‍ ഓഫ് ചെയ്യുക ക്ലിക്ക് "
"ചെയ്തു സിസ്റ്റിന്റെ പവര്‍ "
"ഈ പ്രയോഗങ്ങളില്‍ നിന്നും പുറത്തു് കടക്കുന്നതിനായി പവര്‍ ഓഫ് ചെയ്യുക ക്ലിക്ക് ചെയ്തു സിസ്റ്റിന്റെ പവര്‍ "
"ഓഫ് ചെയ്യുക."
#: ../js/ui/endSessionDialog.js:84
@ -1019,8 +983,7 @@ msgstr "പുനരാരംഭിക്കുക"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr ""
"ഈ പ്രയോഗങ്ങള്‍ നിറുത്തി സിസ്റ്റം പുനരാരംഭിക്കുവാന്‍ പുനരാരംഭിക്കൂ അമര്‍ത്തുക"
msgstr "ഈ പ്രയോഗങ്ങള്‍ നിറുത്തി സിസ്റ്റം പുനരാരംഭിക്കുവാന്‍ പുനരാരംഭിക്കൂ അമര്‍ത്തുക"
#: ../js/ui/endSessionDialog.js:101
#, c-format
@ -1040,15 +1003,13 @@ msgstr "ഇന്‍സ്റ്റോള്‍"
#: ../js/ui/extensionDownloader.js:204
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr ""
"extensions.gnome.org ഇല്‍ നിന്നും '%s' ഡൗണ്‍ലോട് ചെയ്ത് ഇന്‍സ്റ്റോള്‍ "
"ചെയ്യേണമോ?"
msgstr "extensions.gnome.org ഇല്‍ നിന്നും '%s' ഡൗണ്‍ലോട് ചെയ്ത് ഇന്‍സ്റ്റോള്‍ ചെയ്യേണമോ?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ട്രേ"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:194
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "കീബോര്‍ഡ്"
@ -1101,23 +1062,23 @@ msgstr "സ്രോതസ്സ് കാണിക്കുക"
msgid "Web Page"
msgstr "വെബ് താള്‍"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "തുറക്കുക"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "നീക്കം ചെയ്യുക"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2050
msgid "Message Tray"
msgstr "സന്ദേശത്തിന്റെ ട്രേ"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2506
msgid "System Information"
msgstr "സിസ്റ്റത്തെക്കുറിച്ചുള്ള വിവരം"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "അജ്ഞാതം"
@ -1173,7 +1134,7 @@ msgstr "ദയവായി ഒരു കമാന്‍ഡ് നല്‍കു
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d"
@ -1223,7 +1184,7 @@ msgstr "രഹസ്യവാക്ക്"
msgid "Remember Password"
msgstr "രഹസ്യവാക്ക് ഓര്‍ത്തു് വയ്ക്കുക"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "പൂട്ട് തുറക്കുക"
@ -1341,7 +1302,7 @@ msgstr "കീബോര്‍ഡ് ക്രമീകരണങ്ങള്‍"
msgid "Mouse Settings"
msgstr "മൗസ് ക്രമീകരണങ്ങള്‍"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "ശബ്ദത്തിന്റെ ക്രമീകരണങ്ങള്‍"
@ -1399,11 +1360,11 @@ msgstr "ഉപകരണത്തില്‍ പറഞ്ഞിരിക്ക
msgid "OK"
msgstr "ശരി"
#: ../js/ui/status/keyboard.js:228
#: ../js/ui/status/keyboard.js:227
msgid "Show Keyboard Layout"
msgstr "കീബോര്‍ഡ് വിന്യാസ കാണിയ്ക്കുക"
#: ../js/ui/status/keyboard.js:233
#: ../js/ui/status/keyboard.js:232
msgid "Region and Language Settings"
msgstr "സ്ഥലവും ഭാഷ സജ്ജീകരണങ്ങളും"
@ -1626,7 +1587,7 @@ msgid "Unknown"
msgstr "അജ്ഞാതം"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "ഒച്ച"
@ -1634,71 +1595,73 @@ msgstr "ഒച്ച"
msgid "Microphone"
msgstr "മൈക്രോഫോണ്‍"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "മറ്റൊരു ഉപയോക്താവായി പ്രവേശിയ്ക്കുക"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:175
msgid "Available"
msgstr "ലഭ്യമാണ്"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:178
msgid "Busy"
msgstr "തിരക്കിലാണ്"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:181
msgid "Invisible"
msgstr "അദൃശ്യം"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:184
msgid "Away"
msgstr "വിദൂരെയാണ്"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:187
msgid "Idle"
msgstr "പ്രവര്‍ത്തനത്തിലല്ല"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:190
msgid "Unavailable"
msgstr "ലഭ്യമല്ല"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "അറിയിപ്പുകള്‍"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "സിസ്റ്റം ക്രമീകരണങ്ങള്‍"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:613 ../js/ui/userMenu.js:754
msgid "Switch User"
msgstr "ഉപയോക്താവിനെ മാറ്റുക"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:614
msgid "Switch Session"
msgstr "സെഷന്‍ മാറ്റുക"
#: ../js/ui/userMenu.js:738
msgid "Notifications"
msgstr "അറിയിപ്പുകള്‍"
#: ../js/ui/userMenu.js:746
msgid "System Settings"
msgstr "സിസ്റ്റം ക്രമീകരണങ്ങള്‍"
#: ../js/ui/userMenu.js:759
msgid "Log Out"
msgstr "പുറത്ത് കടക്കുക"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:764
msgid "Lock"
msgstr "പൂട്ടുക"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:779
msgid "Install Updates & Restart"
msgstr "പരിഷ്കരണങ്ങള്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്തു് വീണ്ടും ആരംഭിയ്ക്കുക"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:797
msgid "Your chat status will be set to busy"
msgstr "നിങ്ങളുടെ ചാറ്റ് അവസ്ഥ - തിരക്കില്‍"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:798
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
msgstr ""
"ചാറ്റ് സന്ദേശങ്ങള്‍ എന്ന പോലെ അറിയിപ്പുകള്‍ പ്രവര്‍ത്തന രഹിതമാക്കുന്നു. "
"മറ്റുള്ളവരുടെ ചാറ്റ് സന്ദേശങ്ങള്‍ "
"നിങ്ങള്‍ക്കു് കാണുവാന്‍ സാധ്യമല്ല എന്നു് നിങ്ങളുടെ ഓണ്‍ലൈന്‍ അവസ്ഥയില്‍ "
"വ്യക്തമാക്കുന്നു."
"ചാറ്റ് സന്ദേശങ്ങള്‍ എന്ന പോലെ അറിയിപ്പുകള്‍ പ്രവര്‍ത്തന രഹിതമാക്കുന്നു. മറ്റുള്ളവരുടെ ചാറ്റ് സന്ദേശങ്ങള്‍ "
"നിങ്ങള്‍ക്കു് കാണുവാന്‍ സാധ്യമല്ല എന്നു് നിങ്ങളുടെ ഓണ്‍ലൈന്‍ അവസ്ഥയില്‍ വ്യക്തമാക്കുന്നു."
#: ../js/ui/viewSelector.js:85
msgid "Windows"
@ -1712,7 +1675,7 @@ msgstr "പ്രയോഗങ്ങള്‍"
msgid "Search"
msgstr "തിരയല്‍"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1721,12 +1684,12 @@ msgstr ""
"ക്ഷമിയ്ക്കണം, ഇന്നത്തേക്കു് ഒന്നും ലഭ്യമല്ല:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s എന്ന ഒറക്കിള്‍ പറയുന്നു"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "നിങ്ങള്‍ക്കു് ഇഷ്ടമുള്ള ഈസ്റ്റര്‍ മുട്ട"
@ -1761,23 +1724,23 @@ msgstr[1] "%u ഇന്‍പുട്ടുകള്‍"
msgid "System Sounds"
msgstr "സിസ്റ്റം ശബ്ദങ്ങള്‍"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "പ്രിന്റ് ചെയ്യുവാന്‍ സാധിയ്ക്കുന്ന പതിപ്പു്"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "പ്രവേശന സ്ക്രീനില്‍ ജിഡിഎം ഉപയോഗിയ്ക്കുന്ന മോഡ്"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "ഒരു പ്രത്യേക മോഡ് ഉപയോഗിയ്ക്കുക, ഉദാ. പ്രവേശന സ്ക്രീനിനു് \"gdm\""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "സാധ്യമായ മോഡുകള്‍ ലഭ്യമാക്കുക"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' ലഭ്യമാക്കുന്നതില്‍ പരാജയം"
@ -1802,9 +1765,6 @@ msgstr "സഹജം"
msgid "Authentication dialog was dismissed by the user"
msgstr "ഉപയോക്താവു് ആധികാരികത ഉറപ്പാക്കല്‍ ഡയലോഗ് നിര്‍ത്തുന്നു"
#~ msgid "Switch Session"
#~ msgstr "സെഷന്‍ മാറ്റുക"
#, fuzzy
#~ msgid "disabled OpenSearch providers"
#~ msgstr "OpenSearch വെബ്സൈറ്റ് ചേര്‍ക്കുക"

264
po/mr.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: mr\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-11-22 13:33+0530\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-09-25 09:02+0530\n"
"Last-Translator: Sandeep Shedmake <sshedmak@redhat.com>\n"
"Language-Team: Marathi <maajhe-sanganak@freelists.org>\n"
"Language: mr\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Lokalize 1.4\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
@ -134,62 +134,50 @@ msgstr ""
"GsmPresenceStatus एन्युमरेशनपासूनचे आहे."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "वापरकर्ता मेन्युमध्ये नेहमी 'बाहेर पडा' मेन्युघटक दाखवा."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"हि कि सिंगल-युजर, सिंगल-सेशन स्थितीमध्ये 'बाहेर पडा' मेन्युघटकाला स्वयं "
"लपवण्यासाठी खोडून पुनः लिहण्याकरीता आहे."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "दिनदर्शिकामध्ये सप्ताह दिनांक दाखवा"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "खरे असल्यास, दिनदर्शिकमध्ये ISO सप्ताह दिनांक दाखवा."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "ॲप्लिकेशन मेन्यु उघडण्यासाठी किबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "ॲप्लिकेशन मेन्यु उघडण्यासाठी किबाइंडिंग."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "संदेश ट्रेचे अवलोकन बदलण्यासाठी वापरण्याजोगी किबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "संदेश ट्रेचे अवलोकन बदलण्यासाठी वापरण्याजोगी किबाइंडिंग."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "स्क्रीन रेकॉर्डरमधील बदलसाठी किबाइंडिंग"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "बिल्टइन स्क्रीन रेकॉर्डर सुरू किंवा थांबवण्यासाठी किबाइंडिंग."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "कुठले किबोर्ड वापरायचे"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "वापरण्याजोगी किबोर्डचे प्रकार."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "स्क्रिनकास्ट्स् रेकॉर्ड करण्यासाठी वापरलेले फ्रेमरेट."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -198,11 +186,11 @@ msgstr ""
"केलेल्या परिणामक "
"सक्रीनकास्टचा फ्रेमरेट."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "स्क्रीनकास्ट एंकोड करण्यासाठी वापरलेले gstreamer पाइपलाइन"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -231,11 +219,11 @@ msgstr ""
"चा "
"वापर प्रणालीवरील कमाल थ्रेड गणणा ओळखण्यासाठी प्लेसहोल्डर म्हणून केला जातो."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "स्क्रिनकास्ट साठवण्याकरीता वापरलेले फाइल एक्सटेंशन"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -259,11 +247,11 @@ msgstr "एक्सटेंशन"
msgid "Select an extension to configure using the combobox above."
msgstr "वरील कॉम्बोबॉक्सचा वापर करून संरचनाकरीता एक्सटेंशनचा वापर करा."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "सत्र..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "प्रवेश करा"
@ -271,33 +259,34 @@ msgstr "प्रवेश करा"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "सूचीत नाही?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "रद्द करा"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "प्रवेश करा"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "प्रवेश पटल"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "पावर"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "निलंबित"
@ -305,8 +294,8 @@ msgstr "निलंबित"
msgid "Restart"
msgstr "पुनः सुरू करा"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "बंद करा"
@ -357,7 +346,7 @@ msgstr "SETTINGS"
msgid "New Window"
msgstr "नविन पटल"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "पंसतीतून काढून टाका"
@ -521,16 +510,16 @@ msgstr "हा सप्ताह"
msgid "Next week"
msgstr "पुढचा सप्ताह"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "काढूनटाकण्याजोगी साधने"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s सह उघडा"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "बाहेर काढा"
@ -685,35 +674,35 @@ msgstr "बंद करा"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%X</b> वेळी, <b>%A</b> ला पाठवले"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b> वेळी, <b>%B %d</b> ला पाठवले"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b>, <b>%B %d</b>, %Y वेळी पाठवले"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s ला %s म्हणून ओळखले जाते"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s करीता आमंत्रण"
@ -721,42 +710,42 @@ msgstr "%s करीता आमंत्रण"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s तुम्हाला %s सह जोडणीकरीता आमंत्रण देत आहे"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "नकारा"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "स्वीकारा"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s पासून व्हिडीओ कॉल्स्"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s पासून कॉल"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "नकारा"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "उत्तर"
@ -765,110 +754,110 @@ msgstr "उत्तर"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s तुम्हाला %s पाठवत आहे"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "ऑनलाइन असल्यावर %s परवानगी दृष्यास्पद करायची"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "नेटवर्क त्रुटी"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "ओळख पटवणे अपयशी"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "एंक्रिप्शन त्रुटी"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "प्रमाणपत्र पुरवले नाही"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "प्रमाणपत्र अविश्वासर्ह आहे"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "प्रमाणपत्राची वेळसमाप्ति"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "प्रमाणपत्र सुरू केले नाही"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "प्रमाणपत्र यजमाननाव जुळत नाही"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "प्रमाणपत्र फिंग्ररप्रिंट जुळत नाही"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "प्रमाणपत्र स्वयं स्वाक्षरि"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "स्थिती ऑफलाइनकरीता ठरवली आहे"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "एंक्रिप्शन अनुपलब्ध"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "प्रमाणपत्र अवैध आहे"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "जोडणी नकारली गेली"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "जोडणी स्थापीत करणे अशक्य"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "जोडणी खंडीत झाली"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "हे खाते आधिपासूनच सर्व्हरसह जुळले आहे"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "समान स्रोतचा वापर करून जोडणीला नविन जोडणीसह बदलाबदल केले आहे"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "खाते आधिपासूनच सर्व्हरवर अस्तित्वात आहे"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "जोडणी हाताळण्यासाठी सर्व्हर सध्या खूप व्यस्थ आहे"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "प्रमाणपत्र रद्द केले"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"प्रमाणपत्र असुरक्षित सिफर अल्गोरिदमचा वापर करते किंवा क्रिप्टोग्राफिकरित्या "
"खूप कमजोर आहे"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -877,30 +866,30 @@ msgstr ""
"क्रिप्टोग्राफि "
"लाइब्ररितर्फे लादलेल्या मर्यादापेक्षा जास्त आहे"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "आंतरिक त्रुटी"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s सह जोडणी अपयशी"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "पुनःजोडणी करा"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "खाते संपादित करा"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "अपरिचीत कारण"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "ॲप्लिकेशन्स् दाखवा"
@ -908,14 +897,14 @@ msgstr "ॲप्लिकेशन्स् दाखवा"
msgid "Date and Time Settings"
msgstr "दिनांक व वेळ सेटिंग्स्"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "दिनदर्शिका उघडा"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -1018,11 +1007,11 @@ msgstr "प्रतिष्ठापीत करा"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr " extensions.gnome.org पासून '%s' डाऊनलोड व प्रतिष्ठापीत करा?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ट्रे"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "कळफलक"
@ -1075,23 +1064,23 @@ msgstr "स्त्रोत पहा"
msgid "Web Page"
msgstr "वेब पृष्ठ"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "उघडा"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "काढून टाका"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "संदेश ट्रे"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "प्रणाली माहिती"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "अपरिचीत"
@ -1147,7 +1136,7 @@ msgstr "कृपया आदेश द्या:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d"
@ -1197,7 +1186,7 @@ msgstr "पासवर्ड"
msgid "Remember Password"
msgstr "पासवर्ड लक्षात ठेवा"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "कुलूपबंद अशक्य करा"
@ -1315,7 +1304,7 @@ msgstr "कळफलक सेटिंग्स्"
msgid "Mouse Settings"
msgstr "माऊस सेटिंग्स्"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "आवाज सेटिंग्स्"
@ -1600,7 +1589,7 @@ msgid "Unknown"
msgstr "अपरिचीत"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "आवाज"
@ -1608,63 +1597,67 @@ msgstr "आवाज"
msgid "Microphone"
msgstr "माइक्रोफोन"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "इतर वापरकर्ता म्हणून प्रवेश करा"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "उपलब्ध"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "व्यस्त"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "अदृष्य"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "दूर आहे"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "रिकामे"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "अनुपलब्ध"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "सूचना"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "प्रणाली मांडणी"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "उपयोक्ता बदला"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "सत्र बदला"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "सूचना"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "प्रणाली मांडणी"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "बाहेर पडा"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "कुलूपबंद"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "सुधारणा प्रतिष्ठापीत करा व पुनः सुरू करा"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "तुमची चॅट स्थिती व्यस्थकरीता ठरवले जाईल"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1685,7 +1678,7 @@ msgstr "ॲप्लिकेशन्स्"
msgid "Search"
msgstr "शोधा"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1694,12 +1687,12 @@ msgstr ""
"माफ करा, चातुर्या आढळले नाही:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s ऑरॅकल म्हणतो"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "तुमच्या पसंतीचा इस्टर एग"
@ -1734,23 +1727,23 @@ msgstr[1] "%u इंपुट"
msgid "System Sounds"
msgstr "प्रणाली आवाज"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "छपाई आवृत्ती"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "प्रवेश पडद्याकरीता GDM तर्फे वापरण्याजोगी मोड"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "निर्देशीत मोडचा वापर करा, उ.दा. प्रवेश स्क्रीनकरीता \"gdm\""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "संभाव्य मोड्स्ची सूची दाखवा"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' सुरू करण्यास अपयशी"
@ -1775,9 +1768,6 @@ msgstr "मुलभूत"
msgid "Authentication dialog was dismissed by the user"
msgstr "ओळख पटवा संवाद वापरकर्त्याद्वारे वगळले"
#~ msgid "Switch Session"
#~ msgstr "सत्र बदला"
#~ msgid "Failed to unmount '%s'"
#~ msgstr "'%s' माऊंट अशक्य करण्यास अपयशी"

389
po/nb.po
View File

@ -6,10 +6,10 @@
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.6.x\n"
"Project-Id-Version: gnome-shell 3.7.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-02 08:10+0100\n"
"PO-Revision-Date: 2012-11-02 08:10+0100\n"
"POT-Creation-Date: 2012-11-05 19:06+0100\n"
"PO-Revision-Date: 2012-11-05 19:10+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: \n"
@ -34,6 +34,14 @@ msgstr "System"
msgid "Show the message tray"
msgstr "Vis meldingstrau"
#: ../data/50-gnome-shell-system.xml.in.h:3
msgid "Show all applications"
msgstr "Vis alle programmer"
#: ../data/50-gnome-shell-system.xml.in.h:4
msgid "Open the application menu"
msgstr "Åpne programmenyen"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
@ -154,34 +162,45 @@ msgid "Keybinding to open the application menu."
msgstr "Tastaturbinding som åpner programmenyen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#, fuzzy
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Tastaturbinding som åpner programmenyen"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#, fuzzy
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Tastaturbinding som åpner programmenyen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Tastaturbinding som slår av/på synlighet for meldingstrau"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "Tastaturbinding som slår av/på synlighet for meldingstrauet."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to toggle the screen recorder"
msgstr "Tastaturbinding som slår av/på skjermopptak"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "Tastaturbinding som starter/stopper innebygget opptak av skjerm."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Which keyboard to use"
msgstr "Tastatur som skal brukes"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "The type of keyboard to use."
msgstr "Type tastatur som skal brukes."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Framerate used for recording screencasts."
msgstr "Bildefrekvens i bruk ved lagring av skjermvideoer."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -189,11 +208,11 @@ msgstr ""
"Bildefrekvensen i den ferdige skjermvideoen tatt opp med GNOME Shells "
"skjermvideoopptaker i bilder per sekund."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstreamer-kommandokø brukt til å kode skjermvideoen"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#, fuzzy, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -210,11 +229,11 @@ msgstr ""
"Setter GStreamer-rør som brukes til å kode opptak. Den følger syntaksen som "
"brukes for gst-launch. Røret må ha en..."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "File extension used for storing the screencast"
msgstr "Filendelse i bruk ved lagring av skjermvideo"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -224,6 +243,37 @@ msgstr ""
"og bruke denne filendelsen. Den bør endres når du gjør opptak til et nytt "
"oppbevaringsformat."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "Attach modal dialog to the parent window"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Arrangement of buttons on the titlebar"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid "Workspaces are managed dynamically"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Workspaces only on primary monitor"
msgstr ""
#: ../js/extensionPrefs/main.js:124
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@ -237,11 +287,11 @@ msgstr "Utvidelse"
msgid "Select an extension to configure using the combobox above."
msgstr "Velg en utvidelse som skal konfigureres med komboboksen over."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:560
msgid "Session..."
msgstr "Økt …"
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:704
msgctxt "title"
msgid "Sign In"
msgstr "Logg inn"
@ -249,56 +299,56 @@ msgstr "Logg inn"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:764
msgid "Not listed?"
msgstr "Ikke listet?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:906 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:171
msgid "Cancel"
msgstr "Avbryt"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:911
msgctxt "button"
msgid "Sign In"
msgstr "Logg inn"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1237
msgid "Login Window"
msgstr "Innloggingsvindu"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#: ../js/gdm/powerMenu.js:36
msgid "Power"
msgstr "Strøm"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:667 ../js/ui/userMenu.js:671
#: ../js/ui/userMenu.js:782
msgid "Suspend"
msgstr "Hvilemodus"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:98
msgid "Restart"
msgstr "Start på nytt"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:669
#: ../js/ui/userMenu.js:671 ../js/ui/userMenu.js:781
msgid "Power Off"
msgstr "Slå av"
#: ../js/gdm/util.js:148
#: ../js/gdm/util.js:151
msgid "Authentication error"
msgstr "Autentiseringsfeil"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:265
#: ../js/gdm/util.js:268
msgid "(or swipe finger)"
msgstr "(eller dra finger)"
#: ../js/gdm/util.js:290
#: ../js/gdm/util.js:293
#, c-format
msgid "(e.g., user or %s)"
msgstr "(f.eks. bruker eller %s)"
@ -348,7 +398,7 @@ msgstr "Legg til i favoritter"
msgid "%s has been added to your favorites."
msgstr "%s ble lagt til i dine favoritter."
#: ../js/ui/appFavorites.js:118
#: ../js/ui/appFavorites.js:121
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra dine favoritter."
@ -467,48 +517,48 @@ msgid "S"
msgstr "Lø"
#. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:699
#: ../js/ui/calendar.js:700
msgid "Nothing Scheduled"
msgstr "Ingenting planlagt"
#. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:715
#: ../js/ui/calendar.js:716
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %B %d"
#. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:718
#: ../js/ui/calendar.js:719
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:728
#: ../js/ui/calendar.js:729
msgid "Today"
msgstr "I dag"
#: ../js/ui/calendar.js:732
#: ../js/ui/calendar.js:733
msgid "Tomorrow"
msgstr "I morgen"
#: ../js/ui/calendar.js:743
#: ../js/ui/calendar.js:744
msgid "This week"
msgstr "Denne uken"
#: ../js/ui/calendar.js:751
#: ../js/ui/calendar.js:752
msgid "Next week"
msgstr "Neste uke"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:295
msgid "Removable Devices"
msgstr "Avtagbare enheter"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:591
#, c-format
msgid "Open with %s"
msgstr "Åpne med %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:617
msgid "Eject"
msgstr "Løs ut"
@ -662,27 +712,31 @@ msgstr "Fjern demping"
msgid "Mute"
msgstr "Demp"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#. Translators: this is a time format string followed by the word "Yesterday". i.e. "14:30 on Yesterday"
#: ../js/ui/components/telepathyClient.js:945
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Sendt <b>%X</b> på <b>%A</b>"
msgid "<b>%H:%M</b> on Yesterday"
msgstr "<b>%H.%M</b> i går"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#. Translators: this is a time format string followed by a week day name. i.e. "14:30 on Monday
#: ../js/ui/components/telepathyClient.js:951
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Sendt <b>%A</b>, <b>%B %d</b>"
msgid "<b>%H:%M</b> on <b>%A</b>"
msgstr "<b>%H.%M</b> <b>%A</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25",
#. shown when you get a chat message in the same year
#: ../js/ui/components/telepathyClient.js:957
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Sendt <b>%A</b>, <b>%B %d</b>, %Y"
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>"
msgstr "<b>%H.%M</b>, <b>%A</b>, <b>%B</b> <b>%d</b>"
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year
#: ../js/ui/components/telepathyClient.js:962
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>, %Y"
msgstr "<b>%H.%M</b>, <b>%A</b>, <b>%B</b> <b>%d</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
@ -693,7 +747,7 @@ msgstr "%s er nå kjent som %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1089
#, c-format
msgid "Invitation to %s"
msgstr "Invitasjon til %s"
@ -701,42 +755,42 @@ msgstr "Invitasjon til %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1097
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s inviterer deg til å bli med i %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Decline"
msgstr "Avslå"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
msgid "Accept"
msgstr "Godta"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1130
#, c-format
msgid "Video call from %s"
msgstr "Videosamtale fra %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1133
#, c-format
msgid "Call from %s"
msgstr "Samtale fra %s"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1138
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Avvis"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1140
msgid "Answer"
msgstr "Svar"
@ -745,110 +799,110 @@ msgstr "Svar"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1172
#, c-format
msgid "%s is sending you %s"
msgstr "%s sender deg %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1207
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s vil ha rettigheter til å se når du er tilkoblet"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1299
msgid "Network error"
msgstr "Nettverksfeil"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1301
msgid "Authentication failed"
msgstr "Autentisering feilet"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1303
msgid "Encryption error"
msgstr "Feil ved kryptering"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1305
msgid "Certificate not provided"
msgstr "Sertifikat ikke oppgitt"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1307
msgid "Certificate untrusted"
msgstr "Stoler ikke på sertifikatet"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1309
msgid "Certificate expired"
msgstr "Sertifikatet er utløpt"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1311
msgid "Certificate not activated"
msgstr "Sertifikatet er ikke aktivert"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1313
msgid "Certificate hostname mismatch"
msgstr "Feil vertsnavn for sertifikat"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1315
msgid "Certificate fingerprint mismatch"
msgstr "Feil fingeravtrykk for sertifikat"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1317
msgid "Certificate self-signed"
msgstr "Sertifikatet er selvsignert"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1319
msgid "Status is set to offline"
msgstr "Status er satt til frakoblet"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1321
msgid "Encryption is not available"
msgstr "Kryptering er ikke tilgjengelig"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1323
msgid "Certificate is invalid"
msgstr "Sertifikatet er ugyldig"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1325
msgid "Connection has been refused"
msgstr "Tilkobling ble nektet"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1327
msgid "Connection can't be established"
msgstr "Tilkobling kan ikke etableres"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1329
msgid "Connection has been lost"
msgstr "Tilkobling tapt"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1331
msgid "This account is already connected to the server"
msgstr "Denne kontoen er allerede koblet til tjeneren"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1333
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"Tilkoblingen har blitt erstattet av en ny tilkobling som bruker samme ressurs"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1335
msgid "The account already exists on the server"
msgstr "Kontoen eksisterer allerede på tjeneren"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1337
msgid "Server is currently too busy to handle the connection"
msgstr "Tjener er for opptatt til å håndtere tilkoblingen"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1339
msgid "Certificate has been revoked"
msgstr "Sertifikatet er tilbaketrukket"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1341
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Sertifikatet bruker en usikker sifferalgoritme eller er krytografisk svakt"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1343
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -856,26 +910,26 @@ msgstr ""
"Lengden eller dybden på tjenersertifikatet oversteg grensen som er satt i "
"kryptografibiblioteket"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1345
msgid "Internal error"
msgstr "Intern feil"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1355
#, c-format
msgid "Connection to %s failed"
msgstr "Tilkobling til %s feilet"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1364
msgid "Reconnect"
msgstr "Koble til på nytt"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1365
msgid "Edit account"
msgstr "Rediger konto"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1410
msgid "Unknown reason"
msgstr "Ukjent årsak"
@ -999,11 +1053,11 @@ msgstr "Installer"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Last ned og installer «%s» fra extensions.gnome.org?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:308
msgid "tray"
msgstr "varslingsområde"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:555 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "Tastatur"
@ -1056,32 +1110,32 @@ msgstr "Vis kildekode"
msgid "Web Page"
msgstr "Nettside"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1088
msgid "Open"
msgstr "Åpne"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1095
msgid "Remove"
msgstr "Fjern"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1539
msgid "Message Tray"
msgstr "Meldingstrau"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2563
msgid "System Information"
msgstr "Systeminformasjon"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:504 ../src/shell-app.c:374
msgctxt "program"
msgid "Unknown"
msgstr "Ukjent"
#: ../js/ui/overview.js:82
#: ../js/ui/overview.js:89
msgid "Undo"
msgstr "Angre"
#: ../js/ui/overview.js:127
#: ../js/ui/overview.js:133
msgid "Overview"
msgstr "Oversikt"
@ -1089,27 +1143,27 @@ msgstr "Oversikt"
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters.
#: ../js/ui/overview.js:201
#: ../js/ui/overview.js:207
msgid "Type to search..."
msgstr "Skriv for å søke …"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:222
#: ../js/ui/overview.js:228
msgid "Dash"
msgstr "Favoritter"
#: ../js/ui/panel.js:567
#: ../js/ui/panel.js:581
msgid "Quit"
msgstr "Avslutt"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:599
#: ../js/ui/panel.js:613
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/panel.js:965
#: ../js/ui/panel.js:980
msgid "Top Bar"
msgstr "Topp-panel"
@ -1123,8 +1177,12 @@ msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:205
msgid "Please enter a command:"
msgstr "Oppgi en kommando:"
msgid "Enter a Command"
msgstr "Oppgi en kommando"
#: ../js/ui/runDialog.js:241
msgid "Close"
msgstr "Lukk"
#. Translators: This is a time format for a date in
#. long format
@ -1178,7 +1236,7 @@ msgstr "Passord"
msgid "Remember Password"
msgstr "Husk passord"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:174
msgid "Unlock"
msgstr "Lås opp"
@ -1233,7 +1291,7 @@ msgstr "Stor tekst"
#: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:31
#: ../js/ui/status/bluetooth.js:251 ../js/ui/status/bluetooth.js:304
#: ../js/ui/status/bluetooth.js:335 ../js/ui/status/bluetooth.js:371
#: ../js/ui/status/bluetooth.js:400 ../js/ui/status/network.js:867
#: ../js/ui/status/bluetooth.js:400 ../js/ui/status/network.js:873
msgid "Bluetooth"
msgstr "Bluetooth"
@ -1262,12 +1320,12 @@ msgstr "maskinvare slått av"
msgid "Connection"
msgstr "Tilkobling"
#: ../js/ui/status/bluetooth.js:207 ../js/ui/status/network.js:458
#: ../js/ui/status/bluetooth.js:207 ../js/ui/status/network.js:475
msgid "disconnecting..."
msgstr "kobler fra …"
#: ../js/ui/status/bluetooth.js:220 ../js/ui/status/network.js:464
#: ../js/ui/status/network.js:934
#: ../js/ui/status/bluetooth.js:220 ../js/ui/status/network.js:481
#: ../js/ui/status/network.js:1507
msgid "connecting..."
msgstr "kobler til …"
@ -1377,109 +1435,106 @@ msgstr "slått av"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:456
#: ../js/ui/status/network.js:473
msgid "unmanaged"
msgstr "ikke håndtert"
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:467 ../js/ui/status/network.js:937
#: ../js/ui/status/network.js:484 ../js/ui/status/network.js:1510
msgid "authentication required"
msgstr "autentisering kreves"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
#: ../js/ui/status/network.js:477
#: ../js/ui/status/network.js:494
msgid "firmware missing"
msgstr "fastvare mangler"
#. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:484
#: ../js/ui/status/network.js:501
msgid "cable unplugged"
msgstr "kabel koblet fra"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:489
#: ../js/ui/status/network.js:506
msgid "unavailable"
msgstr "ikke tilgjengelig"
#: ../js/ui/status/network.js:491 ../js/ui/status/network.js:939
#: ../js/ui/status/network.js:508 ../js/ui/status/network.js:1512
msgid "connection failed"
msgstr "tilkobling feilet"
#: ../js/ui/status/network.js:552 ../js/ui/status/network.js:1529
#: ../js/ui/status/network.js:560 ../js/ui/status/network.js:1446
#: ../js/ui/status/network.js:1588
msgid "More..."
msgstr "Mer …"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1459
#: ../js/ui/status/network.js:596 ../js/ui/status/network.js:1376
msgid "Connected (private)"
msgstr "Tilkoblet (privat)"
#: ../js/ui/status/network.js:663
#: ../js/ui/status/network.js:669
msgid "Auto Ethernet"
msgstr "Automatisk Ethernet"
#: ../js/ui/status/network.js:721
#: ../js/ui/status/network.js:727
msgid "Auto broadband"
msgstr "Automatisk bredbånd"
#: ../js/ui/status/network.js:724
#: ../js/ui/status/network.js:730
msgid "Auto dial-up"
msgstr "Automatisk oppringt"
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:853 ../js/ui/status/network.js:1476
#: ../js/ui/status/network.js:859 ../js/ui/status/network.js:1393
#, c-format
msgid "Auto %s"
msgstr "Automatisk %s"
#: ../js/ui/status/network.js:855
#: ../js/ui/status/network.js:861
msgid "Auto bluetooth"
msgstr "Automatisk Bluetooth"
#: ../js/ui/status/network.js:1478
#: ../js/ui/status/network.js:1395
msgid "Auto wireless"
msgstr "Automatisk trådløst"
#: ../js/ui/status/network.js:1575
#: ../js/ui/status/network.js:1637
msgid "Enable networking"
msgstr "Slå på nettverk"
#: ../js/ui/status/network.js:1597
#: ../js/ui/status/network.js:1659
msgid "Wired"
msgstr "Kablet"
#: ../js/ui/status/network.js:1608
#: ../js/ui/status/network.js:1670
msgid "Wireless"
msgstr "Trådløst"
#: ../js/ui/status/network.js:1618
#: ../js/ui/status/network.js:1680
msgid "Mobile broadband"
msgstr "Mobilt bredbånd"
#: ../js/ui/status/network.js:1628
msgid "VPN Connections"
msgstr "VPN-tilkoblinger"
#: ../js/ui/status/network.js:1635
#: ../js/ui/status/network.js:1691
msgid "Network Settings"
msgstr "Innstillinger for nettverk"
#: ../js/ui/status/network.js:1679
#: ../js/ui/status/network.js:1735
msgid "Network Manager"
msgstr "Nettverkshåndtering"
#: ../js/ui/status/network.js:1769
#: ../js/ui/status/network.js:1809
msgid "Connection failed"
msgstr "Tilkobling feilet"
#: ../js/ui/status/network.js:1770
#: ../js/ui/status/network.js:1810
msgid "Activation of network connection failed"
msgstr "Aktivering av nettverkstilkobling feilet"
#: ../js/ui/status/network.js:2065
#: ../js/ui/status/network.js:2108
msgid "Networking is disabled"
msgstr "Nettverk er slått av"
@ -1589,63 +1644,63 @@ msgstr "Volum"
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:181
msgid "Log in as another user"
msgstr "Logg inn som en annen bruker"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:176
msgid "Available"
msgstr "Tilgjengelig"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:179
msgid "Busy"
msgstr "Opptatt"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:182
msgid "Invisible"
msgstr "Usynlig"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:185
msgid "Away"
msgstr "Borte"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:188
msgid "Idle"
msgstr "Ledig"
#: ../js/ui/userMenu.js:196
msgid "Unavailable"
msgstr "Ikke tilgjengelig"
#: ../js/ui/userMenu.js:191
msgid "Offline"
msgstr "Frakoblet"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:747
msgid "Notifications"
msgstr "Varslinger"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:755
msgid "System Settings"
msgstr "Systeminnstillinger"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:763
msgid "Switch User"
msgstr "Bytt bruker"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:768
msgid "Log Out"
msgstr "Logg ut"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:773
msgid "Lock"
msgstr "Lås"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:788
msgid "Install Updates & Restart"
msgstr "Installer oppdateringer og start på nytt"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:806
msgid "Your chat status will be set to busy"
msgstr "Din pratestatus vil bli satt til opptatt"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:807
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1654,15 +1709,15 @@ msgstr ""
"tilkoblingsstatus er justert for å la andre vite at du kanskje ikke ser "
"deres meldinger."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Vinduer"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Programmer"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Søk"

1909
po/nl.po

File diff suppressed because it is too large Load Diff

263
po/pa.po
View File

@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-11-04 09:23+0530\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-09-25 06:45+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n"
@ -137,63 +137,50 @@ msgstr ""
"GsmPresenceStatus ਤੋਂ ਇੱਥੇ ਮੁੱਲ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "ਯੂਜ਼ਰ ਮੇਨੂ ਵਿੱਚ \"ਲਾਗ ਆਉਟ\" ਆਈਟਮ ਹਮੇਸ਼ਾ ਵੇਖਾਉ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"ਇਹ ਕੁੰਜੀ ਇੱਕਲੇ-ਯੂਜ਼ਰ, ਇੱਕਲੇ-ਸ਼ੈਸ਼ਨ ਹਾਲਤਾਂ ਵਿੱਚ 'ਲਾਗਆਉਟ' ਆਈਟਮ ਨੂੰ ਆਪਣੇ-ਆਪ ਓਹਲੇ "
"ਰੱਖਣ ਨੂੰ "
"ਅਣਡਿੱਠਾ ਕਰਦੀ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਹਫ਼ਤਾ ਮਿਤੀ ਵੇਖੋ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਕੈਲੰਡਰ ਵਿੱਚ ISO ਹਫਤਾ ਮਿਤੀ ਵੇਖਾਈ ਜਾਵੇਗੀ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਮੇਨੂ ਖੋਲ੍ਹਣ ਲਈ ਕੀਬਾਈਡਿੰਗ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਮੇਨੂ ਖੋਲ੍ਹਣ ਲਈ ਕੀਬਾਈਡਿੰਗ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "ਸੁਨੇਹਾ ਟਰੇ ਦੀ ਦਿੱਖਣ ਨੂੰ ਬਦਲਣ ਲਈ ਕੀਬਾਈਡਿੰਗ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "ਸੁਨੇਹਾ ਟਰੇ ਦੀ ਦਿੱਖਣ ਨੂੰ ਬਦਲਣ ਲਈ ਕੀਬਾਈਡਿੰਗ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "ਸਕਰੀਨ ਰਿਕਾਡਰ ਨੂੰ ਬਦਲਣ ਲਈ ਕੀਬਾਈਡਿੰਗ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "ਬਿਲਟ-ਇਨ ਸਕਰੀਨ ਰਿਕਾਰਡ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ/ਰੋਕਣ ਲਈ ਕੀਬਾਈਡਿੰਗ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "ਕਿਹੜਾ ਕੀਬੋਰਡ ਵਰਤਣਾ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "ਵਰਤਣ ਲਈ ਕੀਬੋਰਡ ਦੀ ਕਿਸਮ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "ਸਕਰੀਨਕਾਸਟ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਫਰੇਮਰੇਟ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -202,11 +189,11 @@ msgstr ""
"ਫਰੇਮ ਪ੍ਰਤੀ "
"ਸਕਿੰਟ 'ਚ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "ਸਕਰੀਨਕਾਸਟ ਇੰਕੋਡ ਕਰਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਜੀਸਟਰੀਮਰ ਪਾਇਪਲਾਇਨ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -239,11 +226,11 @@ msgstr ""
"ਲਗਾਉਣ ਲਈ "
"ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "ਸਕਰੀਨਕਾਸਟ ਸੰਭਾਲਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਫਾਇਲ ਇਕਟੈਨਸ਼ਨ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -268,11 +255,11 @@ msgstr "ਇਕਸਟੈਸ਼ਨ"
msgid "Select an extension to configure using the combobox above."
msgstr "ਉੱਤੇ ਦਿੱਤੇ ਕੰਬੋਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਕਸਟੈਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ ਚੋਣ ਕਰੋ।"
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "ਸ਼ੈਸ਼ਨ..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "ਸਾਇਨ ਇਨ"
@ -280,33 +267,34 @@ msgstr "ਸਾਇਨ ਇਨ"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "ਲਿਸਟ ਵਿੱਚ ਨਹੀਂ ਹੈ?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "ਸਾਇਨ ਇਨ"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "ਲਾਗਇਨ ਵਿੰਡੋ"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "ਪਾਵਰ"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "ਸਸਪੈਂਡ"
@ -314,8 +302,8 @@ msgstr "ਸਸਪੈਂਡ"
msgid "Restart"
msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "ਬੰਦ ਕਰੋ"
@ -366,7 +354,7 @@ msgstr "ਸੈਟਿੰਗ"
msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
@ -530,16 +518,16 @@ msgstr "ਇਹ ਹਫ਼ਤਾ"
msgid "Next week"
msgstr "ਹਫ਼ਤਾ ਅੱਗੇ"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%s ਨਾਲ ਖੋਲ੍ਹੋ"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "ਬਾਹਰ ਕੱਢੋ"
@ -694,35 +682,35 @@ msgstr "ਚੁੱਪ"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%2$A</b> ਨੂੰ <b>%1$X</b> ਵਜੇ ਭੇਜਿਆ"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr " <b>%A</b> ਨੂੰ <b>%B %d</b> ਵਜੇ ਭੇਜਿਆ"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b> <b>%B %d</b>, %Y ਨੂੰ ਭੇਜਿਆ"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s ਨੂੰ ਹੁਣ %s ਵਜੋਂ ਜਾਣਿਆ ਜਾਵੇਗਾ"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%s ਲਈ ਸੱਦਾ"
@ -730,42 +718,42 @@ msgstr "%s ਲਈ ਸੱਦਾ"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s ਤੁਹਾਨੂੰ %s ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਸੱਦ ਰਿਹਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "ਇਨਕਾਰ"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "ਮਨਜ਼ੂਰ"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s ਵਲੋਂ ਵਿਡੀਓ ਕਾਲ"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s ਵਲੋਂ ਕਾਲ"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "ਨਾ-ਮਨਜ਼ੂਰ"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "ਜਵਾਬ ਦਿਓ"
@ -774,110 +762,110 @@ msgstr "ਜਵਾਬ ਦਿਓ"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s ਤੁਹਾਨੂੰ %s ਭੇਜ ਰਿਹਾ/ਰਹੀ ਹੈ"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr ""
"%s ਤੁਹਾਨੂੰ ਵੇਖਣ ਦਾ ਅਧਿਕਾਰ ਚਾਹੁੰਦਾ/ਚਾਹੁੰਦੀ ਹੈ, ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਆਨਲਾਈਨ ਹੋਵੋ"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "ਨੈੱਟਵਰਕ ਗਲਤੀ"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ੍ਹ ਹੋਈ"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਗਲਤੀ"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "ਸਰਟੀਫਿਕੇਟ ਨਹੀਂ ਦਿੱਤਾ"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "ਸਰਟੀਫਿਕੇਟ ਬੇਭਰੋਸੇਯੋਗ"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "ਸਰਟੀਫਿਕੇਟ ਦੀ ਮਿਆਦ ਪੁੱਗੀ"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "ਸਰਟੀਫਿਕੇਟ ਸਰਗਰਮ ਨਹੀਂ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "ਸਰਟੀਫਿਕੇਟ ਹੋਸਟ-ਨਾਂ ਨਹੀਂ ਮਿਲਦਾ"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "ਸਰਟੀਫਿਕੇਟ ਫਿੰਗਰ-ਪਰਿੰਟ ਮਿਲਦਾ ਨਹੀਂ"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "ਸਰਟੀਫਿਕੇਟ ਖੁਦ-ਦਸਤਖਤੀ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "ਹਾਲਤ ਆਫਲਾਈਨ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "ਸਰਟੀਫਿਕੇਟ ਗਲਤ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ ਕੀਤਾ ਗਿਆ"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋ ਗਿਆ"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "ਇਹ ਅਕਾਊਂਟ ਪਹਿਲਾਂ ਹੀ ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "ਉਸੇ ਸਰੋਤ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਨਵੇਂ ਕੁਨੈਕਸ਼ਨ ਨਾਲ ਬਦਲ ਦਿੱਤਾ ਗਿਆ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "ਅਕਾਊਂਟ ਸਰਵਰ ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "ਸਰਵਰ ਇਸ ਵੇਲੇ ਐਨਾ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ ਕਿ ਕੁਨੈਕਸ਼ਨ ਸੰਭਾਲ ਨਹੀਂ ਸਕਦਾ"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "ਸਰਟੀਫਿਕੇਟ ਮਨਸੂਖ ਕੀਤਾ ਜਾ ਚੁੱਕਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"ਸਰਟੀਫਿਕੇਟ ਅਸੁਰੱਖਿਅਤ ਸੀਫ਼ਰ ਐਲਗੋਰਿਥਮ ਵਰਤਦਾ ਹੈ ਜਾਂ ਕਮਜ਼ੋਰ ਕ੍ਰਿਪਟੋਗਰਾਫਿਕਲ ਵਰਤਦਾ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -886,30 +874,30 @@ msgstr ""
"ਲਾਇਬਰੇਰੀ ਵਲੋਂ ਰੱਖੀ "
"ਗਈ ਲਿਮਟ ਤੋਂ ਵੱਧ ਗਈ ਹੈ।"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "ਅੰਦਰੂਨੀ ਗਲਤੀ"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s ਲਈ ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "ਮੁੜ-ਕੁਨੈਕਟ ਕਰੋ"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "ਅਕਾਊਂਟ ਸੋਧ"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "ਅਣਜਾਣ ਕਾਰਨ"
#: ../js/ui/dash.js:253 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ"
@ -917,14 +905,14 @@ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ"
msgid "Date and Time Settings"
msgstr "ਮਿਤੀ ਤੇ ਸਮਾਂ ਸੈਟਿੰਗ"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "ਕੈਲੰਡਰ ਖੋਲ੍ਹੋ"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A, %e %B %Y"
@ -1027,11 +1015,11 @@ msgstr "ਇੰਸਟਾਲ ਕਰੋ"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "ਕੀ extensions.gnome.org ਤੋਂ '%s' ਡਾਊਨਲੋਡ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨੀ ਹੈ?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ਟਰੇ"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "ਕੀਬੋਰਡ"
@ -1084,23 +1072,23 @@ msgstr "ਸਰੋਤ ਵੇਖੋ"
msgid "Web Page"
msgstr "ਵੈੱਬ ਪੇਜ਼"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "ਖੋਲ੍ਹੋ"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "ਹਟਾਓ"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "ਸੁਨੇਹਾ ਟਰੇ"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "ਅਣਜਾਣ"
@ -1156,7 +1144,7 @@ msgstr "ਕਮਾਂਡ ਦਿਓ ਜੀ:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d %B"
@ -1206,7 +1194,7 @@ msgstr "ਪਾਸਵਰਡ"
msgid "Remember Password"
msgstr "ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "ਅਣ-ਲਾਕ"
@ -1324,7 +1312,7 @@ msgstr "ਕੀਬੋਰਡ ਸੈਟਿੰਗ"
msgid "Mouse Settings"
msgstr "ਮਾਊਸ ਸੈਟਿੰਗ"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "ਸਾਊਂਡ ਸੈਟਿੰਗ"
@ -1609,7 +1597,7 @@ msgid "Unknown"
msgstr "ਅਣਜਾਣ"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "ਆਵਾਜ਼"
@ -1617,63 +1605,67 @@ msgstr "ਆਵਾਜ਼"
msgid "Microphone"
msgstr "ਮਾਈਕਰੋਫੋਨ"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "ਹੋਰ ਯੂਜ਼ਰ ਵਜੋਂ ਲਾਗਇਨ"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "ਉਪਲੱਬਧ"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "ਰੁਝਿਆ"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "ਅਦਿੱਖ"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "ਦੂਰ"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "ਵੇਹਲਾ"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "ਨਾ ਉਪਲੱਬਧ"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "ਯੂਜ਼ਰ ਬਦਲੋ"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "ਸ਼ੈਸ਼ਨ ਬਦਲੋ"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "ਲਾਗ ਆਉਟ"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "ਲਾਕ"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "ਅੱਪਡੇਟ ਇੰਸਟਾਲ ਕਰੋ ਅਤੇ ਮੁੜ-ਚਾਲੂ"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "ਤੁਹਾਡੀ ਚੈਟ ਹਾਲਤ ਰੁੱਝੇ ਵਜੋਂ ਸੈੱਟ ਕੀਤੀ ਜਾਵੇਗੀ"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1695,7 +1687,7 @@ msgstr "ਐਪਲੀਕੇਸ਼ਨ"
msgid "Search"
msgstr "ਖੋਜ"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1704,12 +1696,12 @@ msgstr ""
"ਅਫਸੋਸ, ਅੱਜ ਤੁਹਾਡੇ ਲਈ ਕੋਈ ਨਸੀਹਤ ਨਹੀਂ:\n"
"%s "
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s ਓਰੇਕਲ ਨੇ ਕਿਹਾ"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "ਤੁਹਾਡਾ ਪਸੰਦੀਦਾ ਈਸਟਰ ਅੰਡਾ"
@ -1744,23 +1736,23 @@ msgstr[1] "%u ਇੰਪੁੱਟ"
msgid "System Sounds"
msgstr "ਸਿਸਟਮ ਸਾਊਂਡ"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "ਵਰਜਨ ਛਾਪੋ"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "ਲਾਗਇਨ ਸਕਰੀਨ ਲਈ GDM ਵਲੋਂ ਵਰਤਿਆ ਮੋਡ"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "ਲਾਗਇਨ ਸਕਰੀਨ ਉੱਤੇ ਖਾਸ ਮੋਡ ਜਿਵੇਂ ਕਿ \"gdm\" ਵਰਤੋਂ"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "ਸੰਭਵ ਮੋਡ ਵੇਖਾਓ"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ"
@ -1785,9 +1777,6 @@ msgstr "ਡਿਫਾਲਟ"
msgid "Authentication dialog was dismissed by the user"
msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋਂ ਰੱਦ ਕੀਤਾ"
#~ msgid "Switch Session"
#~ msgstr "ਸ਼ੈਸ਼ਨ ਬਦਲੋ"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "ਓਪਨਸਰਚ ਉਪਲੱਬਧ ਕਰਵਾਉਣ ਵਾਲੇ ਬੰਦ ਹਨ"

View File

@ -10,22 +10,21 @@
# Gabriel F. Vilar <cogumm@gmail.com>, 2011.
# Adorilson Bezerra <adorilson@gmail.com>, 2011.
# Djavan Fagundes <djavan@comum.org>, 2012.
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-02-14 07:51+0000\n"
"PO-Revision-Date: 2013-02-14 18:06-0300\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"POT-Creation-Date: 2012-09-25 00:06+0000\n"
"PO-Revision-Date: 2012-09-24 21:57-0200\n"
"Last-Translator: Djavan Fagundes <djavan@comum.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.5.4\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
@ -42,7 +41,7 @@ msgstr "Sistema"
#: ../data/50-gnome-shell-system.xml.in.h:2
msgid "Show the message tray"
msgstr "Mostra a área de notificação"
msgstr "Exibe a área de notificações"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -147,65 +146,52 @@ msgstr ""
"definida pelo usuário. O valor aqui é de uma enumeração GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Sempre mostrar o item de menu \"Encerrar sessão\" no menu do usuário."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Essa chave sobrescreve a ocultação automática do item de menu \"Encerrar "
"sessão\" quando houver somente um usuário, em situações de somente uma "
"sessão."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Mostrar o número da semana no calendário"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Se verdadeiro, exibe o número da semana no calendário."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Associação de tecla para abrir um menu de aplicativo"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Associação de tecla para abrir um menu de aplicativo."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr ""
"Associação de tecla para alternar a visibilidade da área de notificação"
"Associação de tecla para alternar a visibilidade da bandeja de mensagens"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr ""
"Associação de tecla para alternar a visibilidade da área de notificação."
"Associação de tecla para alternar a visibilidade da bandeja de mensagens."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "Associação de tecla para alternar o gravador de tela"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "Associação de tecla para iniciar/parar o gravador de tela embutido."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "Qual teclado usar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "O tipo do teclado para usar."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "Taxa de quadros usada para gravar screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -213,11 +199,11 @@ msgstr ""
"A taxa de quadros do screencast resultante do gravador de screencasts do "
"GNOME Shell em quadros por segundo."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "A fila de processamento gstreamer usada para codificar o screencast"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -244,11 +230,11 @@ msgstr ""
"usado como espaço reservado para um convidado na lista para uma ótima "
"contagem de threads no sistema."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "Extensão de arquivo usada para armazenagem do screencast"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
@ -272,11 +258,11 @@ 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/loginDialog.js:529
#: ../js/gdm/loginDialog.js:527
msgid "Session..."
msgstr "Sessão..."
#: ../js/gdm/loginDialog.js:680
#: ../js/gdm/loginDialog.js:675
msgctxt "title"
msgid "Sign In"
msgstr "Iniciar sessão"
@ -284,41 +270,34 @@ msgstr "Iniciar sessão"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:740
#: ../js/gdm/loginDialog.js:742
msgid "Not listed?"
msgstr "Não listado?"
#: ../js/gdm/loginDialog.js:898 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:895 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:166
msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/loginDialog.js:903
#: ../js/gdm/loginDialog.js:900
msgctxt "button"
msgid "Sign In"
msgstr "Entrar"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:962 ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "Nome de usuário: "
#: ../js/gdm/loginDialog.js:1269
#: ../js/gdm/loginDialog.js:1239
msgid "Login Window"
msgstr "Janela de sessão"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
#| msgid "Power Off"
msgid "Power"
msgstr "Desligar"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "Suspender"
@ -326,25 +305,25 @@ msgstr "Suspender"
msgid "Restart"
msgstr "Reiniciar"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:665 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "Desligar"
#: ../js/gdm/util.js:152
#: ../js/gdm/util.js:148
msgid "Authentication error"
msgstr "Erro de autenticação"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:269
#: ../js/gdm/util.js:265
msgid "(or swipe finger)"
msgstr "(ou deslize o dedo)"
#: ../js/gdm/util.js:294
#: ../js/gdm/util.js:290
#, c-format
msgid "(e.g., user or %s)"
msgstr "(ex.: usuário ou %s)"
msgstr "(ex., usuário ou %s)"
#: ../js/misc/util.js:92
msgid "Command not found"
@ -378,7 +357,7 @@ msgstr "CONFIGURAÇÕES"
msgid "New Window"
msgstr "Nova janela"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "Remover dos favoritos"
@ -518,13 +497,13 @@ msgstr "Nada agendado"
#: ../js/ui/calendar.js:715
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d de %B"
msgstr "%A, %B %d"
#. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:718
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B, %Y"
msgstr "%A, %B %d, %Y"
#: ../js/ui/calendar.js:728
msgid "Today"
@ -542,16 +521,16 @@ msgstr "Esta semana"
msgid "Next week"
msgstr "Próxima semana"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "Dispositivos removíveis"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "Abrir com %s"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "Ejetar"
@ -581,6 +560,14 @@ msgstr "Senha: "
msgid "Key: "
msgstr "Chave: "
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "Nome de usuário: "
#: ../js/ui/components/networkAgent.js:266
msgid "Identity: "
msgstr "Identidade: "
@ -691,44 +678,44 @@ msgstr "Erro de conexão"
#: ../js/ui/components/telepathyClient.js:491
msgid "Unmute"
msgstr "Ativar áudio"
msgstr "Ativar som"
#: ../js/ui/components/telepathyClient.js:491
msgid "Mute"
msgstr "Sem áudio"
msgstr "Mudo"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Enviado <b>%A</b>, <b>%X</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Enviado <b>%A</b>, <b>%d de %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Enviado <b>%A</b>, <b>%d de %B</b> de %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s agora é conhecido como %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Convite para %s"
@ -736,42 +723,42 @@ msgstr "Convite para %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s está convidando você para participar de %s"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Recusar"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Aceitar"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "Chamada de vídeo para %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "Chamada de %s"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Rejeitar"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Atender"
@ -780,110 +767,110 @@ msgstr "Atender"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s está enviando %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s quer permissão para vê-lo quando conectado"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Erro de rede"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Falha de autenticação"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Erro de criptografia"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Certificado não fornecido"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Certificado não confiável"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Certificado expirado"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Certificado não ativado"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Máquina do certificado não confere"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Impressão digital do certificado não confere"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Certificado auto-assinado"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "O status está definido como desconectado."
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Criptografia não disponível"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "O certificado é inválido"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "A conexão foi recusada"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "A conexão não pode ser estabelecida"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Conexão perdida"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Esta conta já está conectada ao servidor"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "A conexão foi substituída por uma nova conexão usando o mesmo recurso"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "A conta já existe no servidor"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "O servidor está atualmente muito ocupado para controlar a conexão"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "O certificado foi revogado"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"O certificado usa um algoritmo de cifragem inseguro ou é criptograficamente "
"fraco"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -891,30 +878,30 @@ msgstr ""
"O comprimento do certificado do servidor, ou a profundidade da cadeia do "
"certificado excedeu os limites impostos pela biblioteca de criptografia"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Erro interno"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "A conexão a %s falhou"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Reconectar"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Editar conta"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Razão desconhecida"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "Mostrar aplicativos"
@ -922,14 +909,14 @@ msgstr "Mostrar aplicativos"
msgid "Date and Time Settings"
msgstr "Configurações de data e hora"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "Abrir calendário"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A, %e de %B de %Y"
@ -937,7 +924,7 @@ msgstr "%A, %e de %B de %Y"
#, c-format
msgctxt "title"
msgid "Log Out %s"
msgstr "Encerrar sessão de %s"
msgstr "Encerrar sessão %s"
#: ../js/ui/endSessionDialog.js:62
msgctxt "title"
@ -1031,11 +1018,11 @@ msgstr "Instalar"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "bandeja"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:195
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "Teclado"
@ -1088,23 +1075,23 @@ msgstr "Ver fonte"
msgid "Web Page"
msgstr "Página web"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "Abrir"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "Remover"
#: ../js/ui/messageTray.js:1531
#: ../js/ui/messageTray.js:2055
msgid "Message Tray"
msgstr "Área de notificações"
#: ../js/ui/messageTray.js:2553
#: ../js/ui/messageTray.js:2511
msgid "System Information"
msgstr "Informações do sistema"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Desconhecido"
@ -1115,7 +1102,7 @@ msgstr "Desfazer"
#: ../js/ui/overview.js:127
msgid "Overview"
msgstr "Visão geral"
msgstr "Visão Geral"
#. Translators: this is the text displayed
#. in the search entry when no search is
@ -1160,18 +1147,18 @@ msgstr "Por favor, digite um comando:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:82
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d de %B"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:144
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d nova mensagem"
msgstr[1] "%d novas mensagens"
#: ../js/ui/screenShield.js:148
#: ../js/ui/screenShield.js:146
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1210,7 +1197,7 @@ msgstr "Senha"
msgid "Remember Password"
msgstr "Lembrar senha"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:169
msgid "Unlock"
msgstr "Desbloquear"
@ -1252,7 +1239,7 @@ msgstr "Teclas do mouse"
#: ../js/ui/status/accessibility.js:75
msgid "Universal Access Settings"
msgstr "Configurações de acessibilidade"
msgstr "Configurações de acesso universal"
#: ../js/ui/status/accessibility.js:109
msgid "High Contrast"
@ -1328,7 +1315,7 @@ msgstr "Configurações de teclado"
msgid "Mouse Settings"
msgstr "Configurações do mouse"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "Configurações de som"
@ -1613,7 +1600,7 @@ msgid "Unknown"
msgstr "Desconhecido"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "Volume"
@ -1621,63 +1608,67 @@ msgstr "Volume"
msgid "Microphone"
msgstr "Microfone"
#: ../js/ui/unlockDialog.js:178
#: ../js/ui/unlockDialog.js:176
msgid "Log in as another user"
msgstr "Iniciar sessão como outro usuário"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Disponível"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Invisível"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Ausente"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Inativo"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Indisponível"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "Notificações"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "Configurações do sistema"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:618 ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "Alternar usuário"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:619
msgid "Switch Session"
msgstr "Alternar sessão"
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "Notificações"
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "Configurações do sistema"
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "Encerrar sessão"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "Instalar atualizações e reiniciar"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "Seu status no bate-papo ficará como ocupado"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1698,7 +1689,7 @@ msgstr "Aplicativos"
msgid "Search"
msgstr "Pesquisar"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1707,12 +1698,12 @@ msgstr ""
"Desculpe, sem frases para hoje:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s o oráculo diz"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "Seu Easter Egg favorito"
@ -1747,23 +1738,23 @@ msgstr[1] "%u entradas"
msgid "System Sounds"
msgstr "Sons do sistema"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "Versão de impressão"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "Modo usado pelo GDM para a tela de início de sessão"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Utilizar um modo específico, ex.: \"gdm\" para a tela de login"
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "Listar modos possíveis"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Erro ao lançar \"%s\""
@ -1788,9 +1779,6 @@ msgstr "Padrão"
msgid "Authentication dialog was dismissed by the user"
msgstr "O diálogo de autenticação foi descartado pelo usuário"
#~ msgid "Switch Session"
#~ msgstr "Alternar sessão"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "Provedores OpenSearch desabilitados"
@ -1889,3 +1877,13 @@ msgstr "O diálogo de autenticação foi descartado pelo usuário"
#~ msgid "Home Folder"
#~ msgstr "Pasta pessoal"
#~| msgid "Network error"
#~ msgid "Network"
#~ msgstr "Rede"
#~ msgid "Show password"
#~ msgstr "Mostrar senha"
#~ msgid "%s has finished starting"
#~ msgstr "%s terminou sua inicialização"

296
po/sk.po
View File

@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-18 16:51+0000\n"
"PO-Revision-Date: 2012-10-13 22:35+0100\n"
"POT-Creation-Date: 2012-10-27 16:22+0000\n"
"PO-Revision-Date: 2012-10-28 19:49+0000\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@ -25,8 +25,6 @@ msgstr ""
msgid "Screenshots"
msgstr "Snímky obrazovky"
# PM: inde dianie na obrazovke
# DK:presne taketo nieco som chcel povedat ale nevedel som ako
#: ../data/50-gnome-shell-screenshot.xml.in.h:2
msgid "Record a screencast"
msgstr "Zaznamenať dianie na obrazovke"
@ -37,20 +35,16 @@ msgstr "Systém"
#: ../data/50-gnome-shell-system.xml.in.h:2
msgid "Show the message tray"
msgstr "Zobraz lištu správ"
msgstr "Zobrazí lištu správ"
# tooltip
#: ../data/50-gnome-shell-system.xml.in.h:3
#, fuzzy
#| msgid "Show Applications"
msgid "Show all applications"
msgstr "Zobrazí aplikácie"
msgstr "Zobrazí všetky aplikácie"
#: ../data/50-gnome-shell-system.xml.in.h:4
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Open the application menu"
msgstr "Klávesová skratka na otvorenie ponuky aplikácií"
msgstr "Otvorí ponuku aplikácií"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -85,13 +79,9 @@ msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
msgid "Uuids of extensions to enable"
msgstr "Uuid identifikátory rozšírení určených na povolenie"
msgstr "Vlastnosť uuid rozšírení určených na povolenie"
# PM: nepáči sa mi konštrukcia viet, preklad vyznieva strojovo
# DK: uz lepsie?
# PM: lepšie ale nepáči sa mi org.gnome.Shell. mne sa vidí že to bude nejaký súbor a potom predložka na asi nebude dobre
#: ../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 "
@ -101,7 +91,7 @@ msgstr ""
"Rozšírenia pre GNOME Shell majú vlastnosť uuid; tento kľúč obsahuje zoznam "
"rozšírení, ktoré by mali byť načítané. Každé rozšírenie, ktoré je potrebné "
"načítať, musí byť v tomto zozname. Tento zoznam môžete upraviť aj ručne "
"pomocou metód DBus EnableExtension a DisableExtension na org.gnome.Shell."
"pomocou metód DBus EnableExtension a DisableExtension v org.gnome.Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "Whether to collect stats about applications usage"
@ -176,17 +166,15 @@ msgid "Keybinding to open the application menu."
msgstr "Klávesová skratka na otvorenie ponuky aplikácií."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#, fuzzy
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Klávesová skratka na otvorenie ponuky aplikácií"
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#, fuzzy
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Klávesová skratka na otvorenie ponuky aplikácií."
msgstr ""
"Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade "
"aktivít."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
@ -211,7 +199,7 @@ msgstr "Ktorú klávesnicu používať"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "The type of keyboard to use."
msgstr "Typ klávesnice, ktorý sa má používať."
msgstr "Typ klávesnice, ktorá sa má používať."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "Framerate used for recording screencasts."
@ -273,6 +261,39 @@ msgstr ""
"základe aktuálneho dátumu a použije túto príponu. Pri nahrávaní do iného "
"formátu kontajneru by mala byť zmenená."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid "Attach modal dialog to the parent window"
msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "Tento kľúč preváži kľúč v org.gnome.mutter po spustení GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "Arrangement of buttons on the titlebar"
msgstr "Usporiadanie tlačidiel na titulku okna"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"Tento kľúč preváži kľúč v org.gnome.desktop.wm.preferences po spustení GNOME "
"Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "Workspaces are managed dynamically"
msgstr "Pracovné priestory sú spravované dynamicky"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Workspaces only on primary monitor"
msgstr "Pracovné priestory sú iba na primárnom monitore"
#: ../js/extensionPrefs/main.js:124
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@ -286,11 +307,11 @@ msgstr "Rozšírenie"
msgid "Select an extension to configure using the combobox above."
msgstr "Použitím ponuky vyberte rozšírenie na nastavenie"
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:560
msgid "Session..."
msgstr "Relácia..."
#: ../js/gdm/loginDialog.js:677
#: ../js/gdm/loginDialog.js:704
msgctxt "title"
msgid "Sign In"
msgstr "Prihlásenie"
@ -299,42 +320,42 @@ msgstr "Prihlásenie"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:736
#: ../js/gdm/loginDialog.js:763
msgid "Not listed?"
msgstr "Nie ste v zozname?"
#: ../js/gdm/loginDialog.js:889 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:901 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:167
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
msgid "Cancel"
msgstr "Zrušiť"
#: ../js/gdm/loginDialog.js:894
#: ../js/gdm/loginDialog.js:906
msgctxt "button"
msgid "Sign In"
msgstr "Prihlásiť sa"
#: ../js/gdm/loginDialog.js:1215
#: ../js/gdm/loginDialog.js:1217
msgid "Login Window"
msgstr "Prihlasovacie okno"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:37
#: ../js/gdm/powerMenu.js:36
msgid "Power"
msgstr "Napájanie"
#: ../js/gdm/powerMenu.js:95 ../js/ui/userMenu.js:655 ../js/ui/userMenu.js:659
#: ../js/ui/userMenu.js:770
#: ../js/gdm/powerMenu.js:93 ../js/ui/userMenu.js:663 ../js/ui/userMenu.js:667
#: ../js/ui/userMenu.js:778
msgid "Suspend"
msgstr "Uspať"
#: ../js/gdm/powerMenu.js:100
#: ../js/gdm/powerMenu.js:98
msgid "Restart"
msgstr "Reštartovať"
#: ../js/gdm/powerMenu.js:105 ../js/ui/userMenu.js:657
#: ../js/ui/userMenu.js:659 ../js/ui/userMenu.js:769
#: ../js/gdm/powerMenu.js:103 ../js/ui/userMenu.js:665
#: ../js/ui/userMenu.js:667 ../js/ui/userMenu.js:777
msgid "Power Off"
msgstr "Vypnúť"
@ -517,35 +538,35 @@ msgid "S"
msgstr "So"
#. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:699
#: ../js/ui/calendar.js:700
msgid "Nothing Scheduled"
msgstr "Žiadne naplánované udalosti"
#. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:715
#: ../js/ui/calendar.js:716
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:718
#: ../js/ui/calendar.js:719
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:728
#: ../js/ui/calendar.js:729
msgid "Today"
msgstr "Dnes"
#: ../js/ui/calendar.js:732
#: ../js/ui/calendar.js:733
msgid "Tomorrow"
msgstr "Zajtra"
#: ../js/ui/calendar.js:743
#: ../js/ui/calendar.js:744
msgid "This week"
msgstr "Tento týždeň"
#: ../js/ui/calendar.js:751
#: ../js/ui/calendar.js:752
msgid "Next week"
msgstr "Ďalší týždeň"
@ -553,10 +574,11 @@ msgstr "Ďalší týždeň"
msgid "Removable Devices"
msgstr "Vymeniteľné zariadenia"
# DK: doplnil som slovo "programu", aby to znelo prirodzenejsie. priklad:po pripojeni USB kluca bolo zobrazene "Otvoriť pomocou Súbory"
#: ../js/ui/components/autorunManager.js:591
#, c-format
msgid "Open with %s"
msgstr "Otvoriť pomocou %s"
msgstr "Otvoriť pomocou programu %s"
#: ../js/ui/components/autorunManager.js:617
msgid "Eject"
@ -623,7 +645,7 @@ msgstr ""
#: ../js/ui/components/networkAgent.js:314
msgid "Wired 802.1X authentication"
msgstr "Overenie totožnosti drôtovej 802.1X"
msgstr "Overenie totožnosti k drôtovej sieti 802.1X"
#: ../js/ui/components/networkAgent.js:316
msgid "Network name: "
@ -631,7 +653,7 @@ msgstr "Názov siete: "
#: ../js/ui/components/networkAgent.js:321
msgid "DSL authentication"
msgstr "Overenie totožnosti DSL"
msgstr "Overenie totožnosti k DSL"
#: ../js/ui/components/networkAgent.js:328
msgid "PIN code required"
@ -639,7 +661,7 @@ msgstr "Požaduje sa kód PIN"
#: ../js/ui/components/networkAgent.js:329
msgid "PIN code is needed for the mobile broadband device"
msgstr "Pre zariadenie mobilnej siete je potrebný PIN kód"
msgstr "Pre zariadenie mobilnej siete je potrebný kód PIN"
#: ../js/ui/components/networkAgent.js:330
msgid "PIN: "
@ -647,7 +669,7 @@ msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:336
msgid "Mobile broadband network password"
msgstr "Heslo pre mobilnú sieť"
msgstr "Heslo k mobilnej sieti"
#: ../js/ui/components/networkAgent.js:337
#, c-format
@ -675,11 +697,12 @@ msgstr "Overiť totožnosť"
msgid "Sorry, that didn't work. Please try again."
msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
# %d je datum, %t je cas
#. Translators: this is a filename used for screencast recording
#: ../js/ui/components/recorder.js:44
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Záznam videa obrazovky z %d %t"
msgstr "Záznam videa obrazovky dňa %d o %t"
#. FIXME: We don't have a 'chat room' icon (bgo #653737) use
#. system-users for now as Empathy does.
@ -714,44 +737,42 @@ msgid "Mute"
msgstr "Stlmiť"
#. Translators: this is a time format string followed by the word "Yesterday". i.e. "14:30 on Yesterday"
#: ../js/ui/components/telepathyClient.js:941
#: ../js/ui/components/telepathyClient.js:943
#, no-c-format
msgid "<b>%H:%M</b> on Yesterday"
msgstr ""
msgstr "včera o <b>%H:%M</b>"
#. Translators: this is a time format string followed by a week day name. i.e. "14:30 on Monday
#: ../js/ui/components/telepathyClient.js:947
#, fuzzy, no-c-format
#| msgid "Sent at <b>%X</b> on <b>%A</b>"
#: ../js/ui/components/telepathyClient.js:949
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>"
msgstr "Čas odoslania: <b>%A</b>, <b>%R</b>"
msgstr "v <b>%A</b> o <b>%H:%M</b>"
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25",
#. shown when you get a chat message in the same year
#: ../js/ui/components/telepathyClient.js:953
#, fuzzy, no-c-format
#| msgid "Sent on <b>%A</b>, <b>%B %d</b>"
#: ../js/ui/components/telepathyClient.js:955
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>"
msgstr "Čas odoslania: <b>%A</b>, <b>%e. %B</b>"
msgstr "v <b>%A</b> o <b>%H:%M</b>, <b>%e.</b> <b>%B</b>"
#. Translators: this is a time format in the style of "14:30 on Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year
#: ../js/ui/components/telepathyClient.js:958
#, fuzzy, no-c-format
#| msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
#: ../js/ui/components/telepathyClient.js:960
#, no-c-format
msgid "<b>%H:%M</b> on <b>%A</b>, <b>%B</b> <b>%d</b>, %Y"
msgstr "Čas odoslania: <b>%A</b>, <b>%e. %B</b> %Y"
msgstr "v <b>%A</b> o <b>%H:%M</b>, <b>%e.</b> <b>%B</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:986
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s odteraz vystupuje ako %s"
msgstr "Kontakt %s odteraz vystupuje ako %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1085
#: ../js/ui/components/telepathyClient.js:1087
#, c-format
msgid "Invitation to %s"
msgstr "Pozvánka do %s"
@ -759,42 +780,42 @@ msgstr "Pozvánka do %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1093
#: ../js/ui/components/telepathyClient.js:1095
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s vás pozýva aby ste sa pridali do %s"
msgstr "Kontakt %s vás pozýva aby ste sa pridali do %s"
#: ../js/ui/components/telepathyClient.js:1095
#: ../js/ui/components/telepathyClient.js:1174
#: ../js/ui/components/telepathyClient.js:1237
#: ../js/ui/components/telepathyClient.js:1097
#: ../js/ui/components/telepathyClient.js:1176
#: ../js/ui/components/telepathyClient.js:1239
msgid "Decline"
msgstr "Odmietnuť"
#: ../js/ui/components/telepathyClient.js:1096
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1238
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Accept"
msgstr "Prijať"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1126
#: ../js/ui/components/telepathyClient.js:1128
#, c-format
msgid "Video call from %s"
msgstr "Videohovor od používateľa %s"
msgstr "Videohovor od kontaktu %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1129
#: ../js/ui/components/telepathyClient.js:1131
#, c-format
msgid "Call from %s"
msgstr "Hovor od používateľa %s"
msgstr "Hovor od kontaktu %s"
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Odmietnuť"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1138
msgid "Answer"
msgstr "Prijať hovor"
@ -803,110 +824,111 @@ msgstr "Prijať hovor"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1168
#: ../js/ui/components/telepathyClient.js:1170
#, c-format
msgid "%s is sending you %s"
msgstr "%s vám posiela %s"
msgstr "Kontakt %s vám posiela %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1203
#: ../js/ui/components/telepathyClient.js:1205
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s by chcel získať oprávnenie vidieť, kedy ste pripojený"
msgstr ""
"Kontakt %s by chcel získať oprávnenie vidieť, kedy ste pripojený"
#: ../js/ui/components/telepathyClient.js:1295
#: ../js/ui/components/telepathyClient.js:1297
msgid "Network error"
msgstr "Chyba siete"
#: ../js/ui/components/telepathyClient.js:1297
#: ../js/ui/components/telepathyClient.js:1299
msgid "Authentication failed"
msgstr "Overenie totožnosti zlyhalo"
#: ../js/ui/components/telepathyClient.js:1299
#: ../js/ui/components/telepathyClient.js:1301
msgid "Encryption error"
msgstr "Chyba šifrovania"
#: ../js/ui/components/telepathyClient.js:1301
#: ../js/ui/components/telepathyClient.js:1303
msgid "Certificate not provided"
msgstr "Neposkytnutý certifikát"
#: ../js/ui/components/telepathyClient.js:1303
#: ../js/ui/components/telepathyClient.js:1305
msgid "Certificate untrusted"
msgstr "Nedôveryhodný certifikát"
#: ../js/ui/components/telepathyClient.js:1305
#: ../js/ui/components/telepathyClient.js:1307
msgid "Certificate expired"
msgstr "Certifikát s ukončenou platnosťou"
#: ../js/ui/components/telepathyClient.js:1307
#: ../js/ui/components/telepathyClient.js:1309
msgid "Certificate not activated"
msgstr "Neaktivovaný certifikát"
#: ../js/ui/components/telepathyClient.js:1309
#: ../js/ui/components/telepathyClient.js:1311
msgid "Certificate hostname mismatch"
msgstr "Certifikát s nesúhlasným názvom hostiteľa"
#: ../js/ui/components/telepathyClient.js:1311
#: ../js/ui/components/telepathyClient.js:1313
msgid "Certificate fingerprint mismatch"
msgstr "Certifikát s nesúhlasným odtlačkom"
#: ../js/ui/components/telepathyClient.js:1313
#: ../js/ui/components/telepathyClient.js:1315
msgid "Certificate self-signed"
msgstr "Sebou podpísaný certifikát"
#: ../js/ui/components/telepathyClient.js:1315
#: ../js/ui/components/telepathyClient.js:1317
msgid "Status is set to offline"
msgstr "Stav je nastavený na odhlásený"
#: ../js/ui/components/telepathyClient.js:1317
#: ../js/ui/components/telepathyClient.js:1319
msgid "Encryption is not available"
msgstr "Šifrovanie nie je dostupné"
#: ../js/ui/components/telepathyClient.js:1319
#: ../js/ui/components/telepathyClient.js:1321
msgid "Certificate is invalid"
msgstr "Certifikát je neplatný"
#: ../js/ui/components/telepathyClient.js:1321
#: ../js/ui/components/telepathyClient.js:1323
msgid "Connection has been refused"
msgstr "Pripojenie bolo odmietnuté"
#: ../js/ui/components/telepathyClient.js:1323
#: ../js/ui/components/telepathyClient.js:1325
msgid "Connection can't be established"
msgstr "Nedá sa nadviazať spojenie"
#: ../js/ui/components/telepathyClient.js:1325
#: ../js/ui/components/telepathyClient.js:1327
msgid "Connection has been lost"
msgstr "Spojenie sa stratilo"
#: ../js/ui/components/telepathyClient.js:1327
#: ../js/ui/components/telepathyClient.js:1329
msgid "This account is already connected to the server"
msgstr "Tento účet je už pripojený k serveru"
#: ../js/ui/components/telepathyClient.js:1329
#: ../js/ui/components/telepathyClient.js:1331
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Pripojenie bolo nahradené novým, ktoré používa rovnaký zdroj"
#: ../js/ui/components/telepathyClient.js:1331
#: ../js/ui/components/telepathyClient.js:1333
msgid "The account already exists on the server"
msgstr "Účet na serveri už existuje"
#: ../js/ui/components/telepathyClient.js:1333
#: ../js/ui/components/telepathyClient.js:1335
msgid "Server is currently too busy to handle the connection"
msgstr "Server je momentálne príliš zaneprázdnený na zvládnutie pripojenia"
#: ../js/ui/components/telepathyClient.js:1335
#: ../js/ui/components/telepathyClient.js:1337
msgid "Certificate has been revoked"
msgstr "Certifikát bol zrušený"
#: ../js/ui/components/telepathyClient.js:1337
#: ../js/ui/components/telepathyClient.js:1339
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je "
"kryptograficky slabý"
#: ../js/ui/components/telepathyClient.js:1339
#: ../js/ui/components/telepathyClient.js:1341
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -914,26 +936,26 @@ msgstr ""
"Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera presahuje "
"limit stanovený kryptografickou knižnicou."
#: ../js/ui/components/telepathyClient.js:1341
#: ../js/ui/components/telepathyClient.js:1343
msgid "Internal error"
msgstr "Vnútorná chyba"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1351
#: ../js/ui/components/telepathyClient.js:1353
#, c-format
msgid "Connection to %s failed"
msgstr "Pripojenie k %s zlyhalo"
#: ../js/ui/components/telepathyClient.js:1360
#: ../js/ui/components/telepathyClient.js:1362
msgid "Reconnect"
msgstr "Znovu sa pripojiť"
#: ../js/ui/components/telepathyClient.js:1361
#: ../js/ui/components/telepathyClient.js:1363
msgid "Edit account"
msgstr "Upraviť účet"
#: ../js/ui/components/telepathyClient.js:1406
#: ../js/ui/components/telepathyClient.js:1408
msgid "Unknown reason"
msgstr "Neznámy dôvod"
@ -992,7 +1014,7 @@ msgstr[2] "Budete automaticky odhlásený o %d sekundy."
#: ../js/ui/endSessionDialog.js:74
msgid "Logging out of the system."
msgstr "Odhlasuje sa zo systému."
msgstr "Prebieha odhlásenie zo systému."
#: ../js/ui/endSessionDialog.js:76
msgctxt "button"
@ -1120,21 +1142,21 @@ msgstr "Zobraziť zdroj"
msgid "Web Page"
msgstr "Webová stránka"
#: ../js/ui/messageTray.js:1082
#: ../js/ui/messageTray.js:1083
msgid "Open"
msgstr "Otvoriť"
#: ../js/ui/messageTray.js:1089
#: ../js/ui/messageTray.js:1090
msgid "Remove"
msgstr "Odstrániť"
# DK: zvazoval som pouzit "Panel správ"
# neviem co bude vhodnejsie ako preklad "tray"
#: ../js/ui/messageTray.js:1545
#: ../js/ui/messageTray.js:1534
msgid "Message Tray"
msgstr "Lišta správ"
#: ../js/ui/messageTray.js:2552
#: ../js/ui/messageTray.js:2557
msgid "System Information"
msgstr "Informácie o systéme"
@ -1175,7 +1197,7 @@ msgstr "Ukončiť"
msgid "Activities"
msgstr "Aktivity"
#: ../js/ui/panel.js:965
#: ../js/ui/panel.js:966
msgid "Top Bar"
msgstr "Horná lišta"
@ -1197,11 +1219,11 @@ msgstr "Prosím, zadajte príkaz:"
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:79
#: ../js/ui/screenShield.js:80
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: ../js/ui/screenShield.js:143
#: ../js/ui/screenShield.js:144
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1209,13 +1231,13 @@ msgstr[0] "%d nových správ"
msgstr[1] "%d nová správa"
msgstr[2] "%d nové správy"
#: ../js/ui/screenShield.js:145
#: ../js/ui/screenShield.js:146
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d nových upozornení"
msgstr[1] "%d nové upozornenie"
msgstr[2] "%d nové upozornenia"
msgstr[0] "%d nových oznámení"
msgstr[1] "%d nové oznámenie"
msgstr[2] "%d nové oznámenia"
#: ../js/ui/searchDisplay.js:275
msgid "Searching..."
@ -1249,13 +1271,13 @@ msgstr "Heslo"
msgid "Remember Password"
msgstr "Zapamätať heslo"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:170
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
msgid "Unlock"
msgstr "Odblokovať"
#: ../js/ui/status/accessibility.js:39
msgid "Accessibility"
msgstr "Prístupnosť"
msgstr "Zjednodušenie ovládania"
#: ../js/ui/status/accessibility.js:44
msgid "Zoom"
@ -1537,7 +1559,7 @@ msgstr "Mobilné"
#: ../js/ui/status/network.js:1628
msgid "VPN Connections"
msgstr "VPN pripojenia"
msgstr "Pripojenia k VPN"
#: ../js/ui/status/network.js:1635
msgid "Network Settings"
@ -1669,7 +1691,7 @@ msgstr "Hlasitosť"
msgid "Microphone"
msgstr "Mikrofón"
#: ../js/ui/unlockDialog.js:177
#: ../js/ui/unlockDialog.js:178
msgid "Log in as another user"
msgstr "Prihlásiť ako iný používateľ"
@ -1697,35 +1719,35 @@ msgstr "Nečinný"
msgid "Unavailable"
msgstr "Nedostupný"
#: ../js/ui/userMenu.js:735
#: ../js/ui/userMenu.js:743
msgid "Notifications"
msgstr "Upozornenia"
#: ../js/ui/userMenu.js:743
#: ../js/ui/userMenu.js:751
msgid "System Settings"
msgstr "Nastavenia systému"
#: ../js/ui/userMenu.js:751
#: ../js/ui/userMenu.js:759
msgid "Switch User"
msgstr "Prepnúť používateľa"
#: ../js/ui/userMenu.js:756
#: ../js/ui/userMenu.js:764
msgid "Log Out"
msgstr "Odhlásiť sa"
#: ../js/ui/userMenu.js:761
#: ../js/ui/userMenu.js:769
msgid "Lock"
msgstr "Uzamknúť"
#: ../js/ui/userMenu.js:776
#: ../js/ui/userMenu.js:784
msgid "Install Updates & Restart"
msgstr "Nainštalovať aktualizácie a reštartovať"
#: ../js/ui/userMenu.js:794
#: ../js/ui/userMenu.js:802
msgid "Your chat status will be set to busy"
msgstr "Váš stav bude nastavený na zaneprázdnený"
#: ../js/ui/userMenu.js:795
#: ../js/ui/userMenu.js:803
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."

188
po/sl.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-10-31 16:48+0000\n"
"PO-Revision-Date: 2012-10-31 18:50+0100\n"
"POT-Creation-Date: 2012-10-16 00:16+0000\n"
"PO-Revision-Date: 2012-10-16 07:53+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: Slovenian\n"
@ -37,6 +37,14 @@ msgstr "Sistem"
msgid "Show the message tray"
msgstr "Pokaži sporočilno vrstico"
#: ../data/50-gnome-shell-system.xml.in.h:3
msgid "Show all applications"
msgstr "Pokaži vse programe"
#: ../data/50-gnome-shell-system.xml.in.h:4
msgid "Open the application menu"
msgstr "Odpri meni programov"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Gnome lupina"
@ -103,29 +111,29 @@ msgid "Internally used to store the last session presence status for the user. T
msgstr "Uporabljeno za shranjevanje stanja prisotnosti zadnje seje uporabnika. Vrednost določa števec predmeta GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Vedno pokaži možnost 'Odjave' v meniju uporabnika."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "This key overrides the automatic hiding of the 'Log out' menuitem in single-user, single-session situations."
msgstr "Možnost onemogoči samodejno skrivanje možnosti 'Odjava' v meniju uporabnika, kadar je ta seja edina dejavna."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Pokaži tedenski datum v koledarju"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Izbrana možnost določa prikaz ISO tedenski datum v koledarju."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Tipkovna bližnjica, ki odpre meni programov"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Tipkovna bližnjica, ki odpre meni programov."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Tipkovna bližnjica, ki odpre pogled \"Pokaži programe\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Tipkovna bližnjica, ki odpre pogled \"Pokaži programe\" v pregledu dejavnosti."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "Tipkovna bližnjica za preklop vidnosti vrstice sporočanja"
@ -230,9 +238,9 @@ msgid "Power"
msgstr "Napajanje"
#: ../js/gdm/powerMenu.js:89
#: ../js/ui/userMenu.js:660
#: ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Zaustavi"
@ -241,9 +249,9 @@ msgid "Restart"
msgstr "Zaženi znova"
#: ../js/gdm/powerMenu.js:99
#: ../js/ui/userMenu.js:666
#: ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Izklop"
@ -623,35 +631,35 @@ msgstr "Utišaj"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:950
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Poslano <b>%A</b> ob <b>%X</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:956
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Poslano <b>%A</b>, <b>%d. %Ba</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:961
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Poslano <b>%A</b>, <b>%d. %Ba</b>, %Y"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:990
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s je sedaj znan kot v %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1090
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Povabilo v %s"
@ -659,42 +667,42 @@ msgstr "Povabilo v %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s vas vabi, da se pridružite v %s"
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1179
#: ../js/ui/components/telepathyClient.js:1242
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Zavrni"
#: ../js/ui/components/telepathyClient.js:1101
#: ../js/ui/components/telepathyClient.js:1180
#: ../js/ui/components/telepathyClient.js:1243
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Sprejmi"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1131
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s želi vzpostaviti video klic"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1134
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s kliče"
#: ../js/ui/components/telepathyClient.js:1139
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Zavrni"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Odgovori"
@ -703,129 +711,129 @@ msgstr "Odgovori"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1173
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s pošilja %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1208
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s želi dovoljenje za pogled dosegljivosti"
#: ../js/ui/components/telepathyClient.js:1300
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Napaka omrežja"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Overitev je spodletela"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Napaka šifriranja"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Potrdilo ni na voljo"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Potrdilo ni zaupljivo"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Potrdilo je preteklo"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Potrdilo ni potrjeno"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Neustrezno ime gostitelja potrdila"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Neustrezen prstni odtis potrdila"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Potrdilo je samo-podpisano"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Stanje je nastavljeno na brez povezave"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Šifriranje ni na voljo."
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Potrdilo je neveljavno."
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Povezava je zavrnjena."
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "Povezave ni mogoče vzpostaviti."
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Povezava je prekinjena."
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Račun je s strežnikom že povezan"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1332
msgid "Connection has been replaced by a new connection using the same resource"
msgstr "Povezava je zamenjana z novo povezavo, ki uporablja isti vir."
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Račun na strežniku že obstaja"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Strežnik je trenutno preveč zaposlen za upravljanje s povezavo."
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Potrdilo je preklicano"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1340
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "Potrdilo ne uporablja varnega algoritma ali pa uporablja šibko šifriranje."
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1342
msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
msgstr "Dolžina potrdila strežnika ali pa globina verige potrdila presega omejitev, ki je določena s šifrirno knjižnico."
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Notranja napaka"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1356
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Povezava z %s je spodletela"
#: ../js/ui/components/telepathyClient.js:1365
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Ponovno se poveži"
#: ../js/ui/components/telepathyClient.js:1366
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Uredi račun"
#: ../js/ui/components/telepathyClient.js:1411
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Neznan vzrok"
@ -1015,24 +1023,24 @@ msgstr "Poglej vir"
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Odpri"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Odstrani"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Vrstica sporočanja"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Podrobnosti sistema"
#: ../js/ui/notificationDaemon.js:506
#: ../src/shell-app.c:374
#: ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Neznano"
@ -1088,11 +1096,11 @@ msgstr "Vnos ukaza:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d. %m."
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1101,7 +1109,7 @@ msgstr[1] "%d novo sporočilo"
msgstr[2] "%d novi sporočili"
msgstr[3] "%d nova sporočila"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1582,71 +1590,71 @@ msgstr "Mikrofon"
msgid "Log in as another user"
msgstr "Prijava kot drug uporabnik"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Na voljo"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Zaposleno"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Nevidno"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Odsotno"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Nedejavno"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Nedostopno"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Obvestila"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Sistemske nastavitve"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Preklopi uporabnika"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Odjava"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Zakleni"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Namesti posodobitve in ponovno zaženi"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Stanje vašega klepeta bo nastavljeno na zasedeno"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid "Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages."
msgstr "Obveščanje je zdaj onemogočeno, vključno s sporočili klepeta. Vaše stanje povezanosti se je prilagodilo, da bodo drugi vedeli, da njihovih sporočil morda ne boste opazili."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Okna"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Programi"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Poišči"
@ -1719,7 +1727,7 @@ msgstr "Uporabi poseben način, npr.: \"gdm\" za prijavni zaslon"
msgid "List possible modes"
msgstr "Seznam mogočih načinov"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Zaganjanje '%s' je spodletelo"

199
po/sr.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-02 15:25+0000\n"
"PO-Revision-Date: 2012-11-03 09:05+0200\n"
"POT-Creation-Date: 2012-10-15 23:38+0000\n"
"PO-Revision-Date: 2012-10-16 20:23+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@ -36,6 +36,16 @@ msgstr "Систем"
msgid "Show the message tray"
msgstr "Прикажите фиоку порука"
#: ../data/50-gnome-shell-system.xml.in.h:3
#| msgid "Show Applications"
msgid "Show all applications"
msgstr "Прикажи све програме"
#: ../data/50-gnome-shell-system.xml.in.h:4
#| msgid "Keybinding to open the application menu"
msgid "Open the application menu"
msgstr "Отворите изборник програма"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Гномова шкољка"
@ -134,32 +144,31 @@ msgstr ""
"корисника. Ова вредност је из пописа стања Гсм присуства."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Увек приказује ставку изборника „Одјави ме“ у корисничком изборнику."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Овај кључ преписује самостално скривање ставке изборника „Одјави ме“ у "
"случају једног корисника са једном сесијом."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Приказује дан у недељи у календару"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Ако је изабрано, приказује ИСО дан у недељи у календару."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Свеза тастера за отварање изборника програма"
msgstr "Пречица за отварање изборника програма"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Пречица за отварање изборника програма."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Пречица за отварање прегледа „Прикажи програме“"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to open the application menu."
msgstr "Свеза тастера за отварање изборника програма."
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Пречица за отварање прегледа „Прикажи програме“ у прегледу активности."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
@ -292,8 +301,8 @@ msgstr "Прозор за пријављивање"
msgid "Power"
msgstr "Угаси"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Обустави"
@ -301,8 +310,8 @@ msgstr "Обустави"
msgid "Restart"
msgstr "Поново покрени"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:662 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Угаси"
@ -682,35 +691,35 @@ msgstr "Утишај"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Послато је <b>%A</b> у <b>%X</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Послато је у <b>%A</b>, <b>%d. %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Послато је у <b>%A</b>, <b>%d %B</b>, %Y."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s је сада познат као %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Позивница за %s"
@ -718,42 +727,42 @@ msgstr "Позивница за %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s вас позива да се придружите %s"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Одбиј"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Прихвати"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s вам је упутио видео позив"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s вас зове"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Одбиј"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Одговори"
@ -762,109 +771,109 @@ msgstr "Одговори"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s вам шаље „%s“"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s тражи одобрење да види када сте на вези"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Грешка мреже"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Потврђивање идентитета није успело"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Грешка шифровања"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Уверење није прослеђено"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Уверење није поверљиво"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Уверење је истекло"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Уверење није активирано"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Назив домаћина уверења се не поклапа"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Отисак уверења се не поклапа"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Уверење је самопотписано"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Стање је постављено на „неповезан“"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Шифровање није доступно"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Уверење није исправно"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Веза је одбијена"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "Веза не може бити успостављена"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Веза је изгубљена"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Овај налог је већ повезан са сервером"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Веза је замењена новом везом користећи исти ресурс"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Овај налог већ постоји на серверу"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Сервер је тренутно превише заузет да би руковао везом"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Уверење је опозвано"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Уверење користи несигуран алгоритам шифровања или је криптографски слабо"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -872,26 +881,26 @@ msgstr ""
"Дужина уверења сервера, или дубина ланца уверења сервера, премашује границе "
"које је задала библиотека шифровања"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Унутрашња грешка"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Повезивање на „%s“ није успело"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Поново се повежи"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Уреди налог"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Непознат разлог"
@ -1080,23 +1089,23 @@ msgstr "Прикажи код"
msgid "Web Page"
msgstr "Веб страница"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Отвори"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Уклони"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Фиока порука"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Подаци о систему"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Непознат"
@ -1152,11 +1161,11 @@ msgstr "Унесите наредбу:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d. %B"
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1165,7 +1174,7 @@ msgstr[1] "%d нове поруке"
msgstr[2] "%d нових порука"
msgstr[3] "Једна нова порука"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1629,59 +1638,59 @@ msgstr "Микрофон"
msgid "Log in as another user"
msgstr "Пријавите се као други корсник"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Доступан"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Заузет"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Невидљив"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Одсутан"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Мирује"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Недоступан"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Обавештења"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Подешавања система"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Промени корисника"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Одјави ме"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Закључај"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Инсталирај ажурирања и поново покрени"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Ваше стање ћаскања ће бити постављено на заузето"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1690,15 +1699,15 @@ msgstr ""
"мрежи је подешено тако да ће остали знати да ви не можете видети њихове "
"поруке."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Прозори"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Програми"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Тражи"
@ -1771,7 +1780,7 @@ msgstr "Користи нарочит режим, нпр. „gdm“ за екр
msgid "List possible modes"
msgstr "Исписује могуће режиме"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Не могу да покренем „%s“"

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-02 15:25+0000\n"
"PO-Revision-Date: 2012-11-03 09:05+0200\n"
"POT-Creation-Date: 2012-10-15 23:38+0000\n"
"PO-Revision-Date: 2012-10-16 20:23+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@ -36,6 +36,16 @@ msgstr "Sistem"
msgid "Show the message tray"
msgstr "Prikažite fioku poruka"
#: ../data/50-gnome-shell-system.xml.in.h:3
#| msgid "Show Applications"
msgid "Show all applications"
msgstr "Prikaži sve programe"
#: ../data/50-gnome-shell-system.xml.in.h:4
#| msgid "Keybinding to open the application menu"
msgid "Open the application menu"
msgstr "Otvorite izbornik programa"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Gnomova školjka"
@ -134,32 +144,31 @@ msgstr ""
"korisnika. Ova vrednost je iz popisa stanja Gsm prisustva."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "Uvek prikazuje stavku izbornika „Odjavi me“ u korisničkom izborniku."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Ovaj ključ prepisuje samostalno skrivanje stavke izbornika „Odjavi me“ u "
"slučaju jednog korisnika sa jednom sesijom."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "Prikazuje dan u nedelji u kalendaru"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "Ako je izabrano, prikazuje ISO dan u nedelji u kalendaru."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "Sveza tastera za otvaranje izbornika programa"
msgstr "Prečica za otvaranje izbornika programa"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "Prečica za otvaranje izbornika programa."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Prečica za otvaranje pregleda „Prikaži programe“"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to open the application menu."
msgstr "Sveza tastera za otvaranje izbornika programa."
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr "Prečica za otvaranje pregleda „Prikaži programe“ u pregledu aktivnosti."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the visibility of the message tray"
@ -292,8 +301,8 @@ msgstr "Prozor za prijavljivanje"
msgid "Power"
msgstr "Ugasi"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:775
msgid "Suspend"
msgstr "Obustavi"
@ -301,8 +310,8 @@ msgstr "Obustavi"
msgid "Restart"
msgstr "Ponovo pokreni"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:662 ../js/ui/userMenu.js:664
#: ../js/ui/userMenu.js:774
msgid "Power Off"
msgstr "Ugasi"
@ -682,35 +691,35 @@ msgstr "Utišaj"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Poslato je <b>%A</b> u <b>%X</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Poslato je u <b>%A</b>, <b>%d. %B</b>"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Poslato je u <b>%A</b>, <b>%d %B</b>, %Y."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s je sada poznat kao %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "Pozivnica za %s"
@ -718,42 +727,42 @@ msgstr "Pozivnica za %s"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s vas poziva da se pridružite %s"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "Odbij"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "Prihvati"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s vam je uputio video poziv"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s vas zove"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "Odbij"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "Odgovori"
@ -762,109 +771,109 @@ msgstr "Odgovori"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s vam šalje „%s“"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s traži odobrenje da vidi kada ste na vezi"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "Greška mreže"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "Potvrđivanje identiteta nije uspelo"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "Greška šifrovanja"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "Uverenje nije prosleđeno"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "Uverenje nije poverljivo"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "Uverenje je isteklo"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "Uverenje nije aktivirano"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "Naziv domaćina uverenja se ne poklapa"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "Otisak uverenja se ne poklapa"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "Uverenje je samopotpisano"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "Stanje je postavljeno na „nepovezan“"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "Šifrovanje nije dostupno"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "Uverenje nije ispravno"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "Veza je odbijena"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "Veza ne može biti uspostavljena"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "Veza je izgubljena"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "Ovaj nalog je već povezan sa serverom"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Veza je zamenjena novom vezom koristeći isti resurs"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "Ovaj nalog već postoji na serveru"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "Server je trenutno previše zauzet da bi rukovao vezom"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "Uverenje je opozvano"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Uverenje koristi nesiguran algoritam šifrovanja ili je kriptografski slabo"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -872,26 +881,26 @@ msgstr ""
"Dužina uverenja servera, ili dubina lanca uverenja servera, premašuje granice "
"koje je zadala biblioteka šifrovanja"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "Unutrašnja greška"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "Povezivanje na „%s“ nije uspelo"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "Ponovo se poveži"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "Uredi nalog"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "Nepoznat razlog"
@ -1080,23 +1089,23 @@ msgstr "Prikaži kod"
msgid "Web Page"
msgstr "Veb stranica"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1081
msgid "Open"
msgstr "Otvori"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1088
msgid "Remove"
msgstr "Ukloni"
#: ../js/ui/messageTray.js:1543
#: ../js/ui/messageTray.js:1540
msgid "Message Tray"
msgstr "Fioka poruka"
#: ../js/ui/messageTray.js:2549
#: ../js/ui/messageTray.js:2547
msgid "System Information"
msgstr "Podaci o sistemu"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "Nepoznat"
@ -1152,11 +1161,11 @@ msgstr "Unesite naredbu:"
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:80
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %d. %B"
#: ../js/ui/screenShield.js:144
#: ../js/ui/screenShield.js:143
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
@ -1165,7 +1174,7 @@ msgstr[1] "%d nove poruke"
msgstr[2] "%d novih poruka"
msgstr[3] "Jedna nova poruka"
#: ../js/ui/screenShield.js:146
#: ../js/ui/screenShield.js:145
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1629,59 +1638,59 @@ msgstr "Mikrofon"
msgid "Log in as another user"
msgstr "Prijavite se kao drugi korsnik"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:180
msgid "Available"
msgstr "Dostupan"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:183
msgid "Busy"
msgstr "Zauzet"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:186
msgid "Invisible"
msgstr "Nevidljiv"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:189
msgid "Away"
msgstr "Odsutan"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:192
msgid "Idle"
msgstr "Miruje"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:195
msgid "Unavailable"
msgstr "Nedostupan"
#: ../js/ui/userMenu.js:744
#: ../js/ui/userMenu.js:740
msgid "Notifications"
msgstr "Obaveštenja"
#: ../js/ui/userMenu.js:752
#: ../js/ui/userMenu.js:748
msgid "System Settings"
msgstr "Podešavanja sistema"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:756
msgid "Switch User"
msgstr "Promeni korisnika"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:761
msgid "Log Out"
msgstr "Odjavi me"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:766
msgid "Lock"
msgstr "Zaključaj"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:781
msgid "Install Updates & Restart"
msgstr "Instaliraj ažuriranja i ponovo pokreni"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:799
msgid "Your chat status will be set to busy"
msgstr "Vaše stanje ćaskanja će biti postavljeno na zauzeto"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:800
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1690,15 +1699,15 @@ msgstr ""
"mreži je podešeno tako da će ostali znati da vi ne možete videti njihove "
"poruke."
#: ../js/ui/viewSelector.js:85
#: ../js/ui/viewSelector.js:87
msgid "Windows"
msgstr "Prozori"
#: ../js/ui/viewSelector.js:89
#: ../js/ui/viewSelector.js:91
msgid "Applications"
msgstr "Programi"
#: ../js/ui/viewSelector.js:93
#: ../js/ui/viewSelector.js:95
msgid "Search"
msgstr "Traži"
@ -1771,7 +1780,7 @@ msgstr "Koristi naročit režim, npr. „gdm“ za ekran prijavljivanja"
msgid "List possible modes"
msgstr "Ispisuje moguće režime"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "Ne mogu da pokrenem „%s“"

556
po/ta.po

File diff suppressed because it is too large Load Diff

409
po/te.po
View File

@ -2,27 +2,26 @@
# Copyright (C) 2011, 2012 Swecha telugu translations team <localization@swecha.net>
# This file is distributed under the same license as the gnome-shell package.
#
#
# Krishnababu Krothapalli <kkrothap@redhat.com>, 2011, 2012.
# Hari Krishna <hari@swecha.net>, 2011.
# Sasi Bhushan Boddepalli <sasi@swecha.net>, 2012.
# Praveen Illa <mail2ipn@gmail.com>, 2011, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell gnome-3-0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-11-28 11:02+0000\n"
"PO-Revision-Date: 2012-11-28 16:40+0530\n"
"Last-Translator: Krishnababu Krothapalli <kkrothap@redhat.com>\n"
"Language-Team: Telugu <Fedora-trans-te@redhat.com>\n"
"POT-Creation-Date: 2012-09-19 10:13+0000\n"
"PO-Revision-Date: 2012-09-19 16:21+0530\n"
"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
"Language-Team: Telugu <indlinux-telugu@lists.sourceforge.net>\n"
"Language: te\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Lokalize 1.5\n"
"X-Generator: Gtranslator 2.91.5\n"
#: ../data/50-gnome-shell-screenshot.xml.in.h:1
msgid "Screenshots"
@ -59,16 +58,14 @@ msgstr "గ్నోమ్ షెల్ పొడిగింతలను స్
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"అభివృద్ధికారులకు మరియు పరీక్షకులకు ఉపయోగపడే సాధనాలను Alt-F2 నుండి చేతనపరుచు"
msgstr "అభివృద్ధికారులకు మరియు పరీక్షకులకు ఉపయోగపడే సాధనాలను Alt-F2 నుండి చేతనపరుచు"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Alt-F2 డైలాగుని వాడి అంతర్గత దోషశుద్ది మరియు సాధనాలను పర్యవేక్షించుటకు "
"సౌలభ్యతను అనుమతిస్తుంది."
"Alt-F2 డైలాగుని వాడి అంతర్గత దోషశుద్ది మరియు సాధనాలను పర్యవేక్షించుటకు సౌలభ్యతను అనుమతిస్తుంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
msgid "Uuids of extensions to enable"
@ -81,10 +78,8 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"గ్నోమ్ షెల్ పొడిగింతలు ఒక uuid లక్షణాన్ని కలిగివున్నాయి; ఏ పొడిగింతలు "
"లోడుచేయదగినవి కాదో ఈ కీ జాబితాచేయును. "
"ఏ పొడిగింత లోడవ్వాలో అది ఈ జాబితా నందు ఉండాలి. అంతేకాకుండా మీరు ఈ జాబితాను "
"పాడిగింతను చేతనపరుచు లేదా "
"గ్నోమ్ షెల్ పొడిగింతలు ఒక uuid లక్షణాన్ని కలిగివున్నాయి; ఏ పొడిగింతలు లోడుచేయదగినవి కాదో ఈ కీ జాబితాచేయును. "
"ఏ పొడిగింత లోడవ్వాలో అది ఈ జాబితా నందు ఉండాలి. అంతేకాకుండా మీరు ఈ జాబితాను పాడిగింతను చేతనపరుచు లేదా "
"పొడిగింతను అచేతనపరుచు డిబస్ పద్ధతులలో గ్నోమ్ షెల్ నందు మార్చవచ్చును."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
@ -98,12 +93,9 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"ఎక్కువగా వాడిన వాటిని సమర్పించడానికి షెల్ సాధారణంగా క్రియాశీల అనువర్తనాలను "
"పర్యవేక్షిస్తుంది (ఉదా. "
"ప్రారంభకాలలో). అపుడు ఈ డేటా గోప్యంగా ఉంచబడుతుంది, గోప్యతా కారణాల వలన మీరు "
"దీనిని "
"అచేతనపరచాలనుకోవచ్చు. దయచేసి గుర్తుంచుకోండి ఇలా చేయడం వలన ఇదివరకే దాచబడిన డేటా "
"తీసివేయబడదు."
"ఎక్కువగా వాడిన వాటిని సమర్పించడానికి షెల్ సాధారణంగా క్రియాశీల అనువర్తనాలను పర్యవేక్షిస్తుంది (ఉదా. "
"ప్రారంభకాలలో). అపుడు ఈ డేటా గోప్యంగా ఉంచబడుతుంది, గోప్యతా కారణాల వలన మీరు దీనిని "
"అచేతనపరచాలనుకోవచ్చు. దయచేసి గుర్తుంచుకోండి ఇలా చేయడం వలన ఇదివరకే దాచబడిన డేటా తీసివేయబడదు."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of desktop file IDs for favorite applications"
@ -113,8 +105,7 @@ msgstr "ప్రియమైన అనువర్తనాల కోసం డ
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"ఈ గుర్తింపకాలకు అనుగుణమైన అనువర్తనాలు ప్రియమైన ప్రదేశములో ప్రదర్శించబడతాయి."
msgstr "ఈ గుర్తింపకాలకు అనుగుణమైన అనువర్తనాలు ప్రియమైన ప్రదేశములో ప్రదర్శించబడతాయి."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@ -129,8 +120,7 @@ msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
"అంతర్గతంగా స్పష్టంగా వినియోగదారుని ద్వారా సెట్ చివరి IM ఉనికిని నిల్వ "
"చేయడానికి ఉపయోగించారు. ఇక్కడ విలువ "
"అంతర్గతంగా స్పష్టంగా వినియోగదారుని ద్వారా సెట్ చివరి IM ఉనికిని నిల్వ చేయడానికి ఉపయోగించారు. ఇక్కడ విలువ "
"Tp కనెక్షన్ ఉనికి పద్ధతి వయనము నుండి ఉంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
@ -138,80 +128,66 @@ msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
"అంతర్గతంగా యూజర్ కోసం చివరి సెషన్ ఉనికిని స్థితి నిల్వ చేయడానికి ఉపయోగించారు. "
"ఇక్కడ విలువ GSM ఉనికి స్థితి "
"అంతర్గతంగా యూజర్ కోసం చివరి సెషన్ ఉనికిని స్థితి నిల్వ చేయడానికి ఉపయోగించారు. ఇక్కడ విలువ GSM ఉనికి స్థితి "
"వయనము నుండి ఉంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid "Always show the 'Log out' menuitem in the user menu."
msgstr "వాడుకరి మెనూ నందు యెల్లప్పుడూ 'లాగ్ అవుట్' మెనూఅంశమును చూపము."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"ఒంటరి-వాడుకరి, వొంటరి-సెషన్ పరిస్థితులలో 'లాగ్ అవుట్' మెనూఅంశము స్వయంచాలకంగా "
"మరుగుపడుటను యీ కీ వోవర్‌రైడ్ చేస్తుంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
msgstr "క్యాలెండరులో వారపు తేదీని చూపించు"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
msgid "If true, display the ISO week date in the calendar."
msgstr "ఒకవేళ నిజమైతే, క్యాలెండరులో ISO వారము తేదీని ప్రదర్శిస్తుంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Keybinding to open the application menu"
msgstr "అనువర్తనం మెనూ తెరవడానికి కీ బైండింగ్ "
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
msgid "Keybinding to open the application menu."
msgstr "అనువర్తనం మెనూ తెరవడానికి కీ బైండింగ్ "
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
msgid "Keybinding to toggle the visibility of the message tray"
msgstr "సందేశ పళ్ళెం యొక్క దృగ్గోచరతను మార్చుటకు అడ్డదారి"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid "Keybinding to toggle the visibility of the message tray."
msgstr "సందేశ పళ్ళెం యొక్క దృగ్గోచరతను మార్చుటకు అడ్డదారి"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid "Keybinding to toggle the screen recorder"
msgstr "తెర రికార్డరుని మార్చుటకు అడ్డదారి"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Keybinding to start/stop the builtin screen recorder."
msgstr "అప్రమేయ తెర రికార్డరుని ప్రారంభించుటకు/ఆపడానికి అడ్డదారి."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "Which keyboard to use"
msgstr "ఏ కీబోర్డ్ ఉపయోగించాలి"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "The type of keyboard to use."
msgstr "ఉపయోగించుటకు కీబోర్డ్ రకము."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Framerate used for recording screencasts."
msgstr "ఫ్రేమ్‌రేట్ అను దానిని తెరప్రసారాలను రికార్డు చేయుటకు వాడతారు."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"ఫలితముగా వచ్చు తెర ప్రసారము యొక్క ఫ్రేమ్ రేటు గ్నోమ్ షెల్ తెరప్రసార రికార్డర్ "
"ఫ్రేమ్ పర్ సెకనులలో "
"ఫలితముగా వచ్చు తెర ప్రసారము యొక్క ఫ్రేమ్ రేటు గ్నోమ్ షెల్ తెరప్రసార రికార్డర్ ఫ్రేమ్ పర్ సెకనులలో "
"రికార్డుచేయబడుతుంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "తెరప్రసారాన్ని ఎన్‌కోడ్ చేయడానికి జి స్ట్రీమర్ పైప్‌లైన్ వాడబడుతుంది"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -225,38 +201,28 @@ msgid ""
"threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is "
"used as a placeholder for a guess at the optimal thread count on the system."
msgstr ""
"రికార్డింగులను ఎన్‌కోడ్ చేయడానికి జిస్ట్రీమర్ పైప్‌లైన్‌ను అమర్చును. ఇది "
"gst-launch కొరకు వ్యాక్యనిర్మాణాన్ని "
"అనుసరిస్తుంది. వీడియో ఎక్కడైతే రికార్డు అవుతుందో అక్కడ ఒక అనుసంధానం కాని "
"సింక్ ప్యాడ్‌ని కలిగివుండాలి. "
"ఇది సాధారణంగా ఒక అనుసంధానము కాని మూలము ప్యాడ్ అయివుంటుంది; ఈ ప్యాడ్ నుండి "
"వచ్చు అవుట్‌పుట్ "
"అవుట్‌పుట్ దస్త్రంలోనికి వ్రాయబడుతుంది. ఏదిఏమైనప్పటికీ పైప్ లైన్ కూడా దాని "
"అవుట్‌పుట్ గురించి భద్రత "
"వహిస్తుంది - ఇది అవుట్‌పుట్‌ని ఐస్‌కాస్ట్ సేవకానికి shout2send లేదా ఇటువంటి "
"వాటి ద్వారా పంపుటకు "
"వాడబడుతుంది. అమర్చకపోయినా లేక ఒక ఖాళీ విలువకి అమర్చినా, అప్రమేయ పైప్‌లైన్ "
"వాడబడుతుంది, ఇది ప్రస్తుతం "
"రికార్డింగులను ఎన్‌కోడ్ చేయడానికి జిస్ట్రీమర్ పైప్‌లైన్‌ను అమర్చును. ఇది gst-launch కొరకు వ్యాక్యనిర్మాణాన్ని "
"అనుసరిస్తుంది. వీడియో ఎక్కడైతే రికార్డు అవుతుందో అక్కడ ఒక అనుసంధానం కాని సింక్ ప్యాడ్‌ని కలిగివుండాలి. "
"ఇది సాధారణంగా ఒక అనుసంధానము కాని మూలము ప్యాడ్ అయివుంటుంది; ఈ ప్యాడ్ నుండి వచ్చు అవుట్‌పుట్ "
"అవుట్‌పుట్ దస్త్రంలోనికి వ్రాయబడుతుంది. ఏదిఏమైనప్పటికీ పైప్ లైన్ కూడా దాని అవుట్‌పుట్ గురించి భద్రత "
"వహిస్తుంది - ఇది అవుట్‌పుట్‌ని ఐస్‌కాస్ట్ సేవకానికి shout2send లేదా ఇటువంటి వాటి ద్వారా పంపుటకు "
"వాడబడుతుంది. అమర్చకపోయినా లేక ఒక ఖాళీ విలువకి అమర్చినా, అప్రమేయ పైప్‌లైన్ వాడబడుతుంది, ఇది ప్రస్తుతం "
"'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 "
"threads=%T ! queue ! webmmux' మరియు VP8 కొడెక్ వాడి WEBMకి రికార్డుచేస్తుంది. "
"%T అనేది "
"వ్యవస్థ పై ఒక ప్లేస్‌హోల్డర్ వలె గ్వెస్ కొరకు ఆప్టిమల్ త్రెడ్ కౌంట్ "
"వాడబడుతుంది."
"threads=%T ! queue ! webmmux' మరియు VP8 కొడెక్ వాడి WEBMకి రికార్డుచేస్తుంది. %T అనేది "
"వ్యవస్థ పై ఒక ప్లేస్‌హోల్డర్ వలె గ్వెస్ కొరకు ఆప్టిమల్ త్రెడ్ కౌంట్ వాడబడుతుంది."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "File extension used for storing the screencast"
msgstr "దస్త్ర పొడిగింతను తెరప్రసారాన్ని భద్రపరుచుటకు వాడతారు"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid ""
"The filename for recorded screencasts will be a unique filename based on the "
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"రికార్డుచేయబడిన తెరప్రసారాలకు దస్త్రము పేరు ప్రస్తుత తేదీ పై ఆధారపడి దస్త్రం "
"పేరు ఒకే విధముగా ఉంటుంది, "
"మరియు ఈ పొడిగింతను వాడండి. ఇది వేరే ఇతర ఆకృతిలో రికార్డు చేస్తున్నపుడు ఇది "
"మార్చబడాలి."
"రికార్డుచేయబడిన తెరప్రసారాలకు దస్త్రము పేరు ప్రస్తుత తేదీ పై ఆధారపడి దస్త్రం పేరు ఒకే విధముగా ఉంటుంది, "
"మరియు ఈ పొడిగింతను వాడండి. ఇది వేరే ఇతర ఆకృతిలో రికార్డు చేస్తున్నపుడు ఇది మార్చబడాలి."
#: ../js/extensionPrefs/main.js:124
#, c-format
@ -271,11 +237,15 @@ msgstr "పొడిగింత"
msgid "Select an extension to configure using the combobox above."
msgstr "పైన ఉన్న కోంబోపెట్టెను వాడి స్వరూపించుటకు అనువర్తనాన్ని ఎంచుకోండి."
#: ../js/gdm/loginDialog.js:529
#: ../js/gdm/loginDialog.js:526
msgid "Session..."
msgstr "చర్యాకాలం..."
#: ../js/gdm/loginDialog.js:680
#: ../js/gdm/loginDialog.js:653
msgid "Configuration problem: Could not connect to GDM"
msgstr "స్వరూపణం సమస్య: జీడిఎంకు అనుసంధానం కాలేకపోతోంది"
#: ../js/gdm/loginDialog.js:679
msgctxt "title"
msgid "Sign In"
msgstr "ప్రవేశించండి"
@ -283,64 +253,51 @@ msgstr "ప్రవేశించండి"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:740
#: ../js/gdm/loginDialog.js:746
msgid "Not listed?"
msgstr "జాబితా చేయలేదా?"
#: ../js/gdm/loginDialog.js:898 ../js/ui/components/networkAgent.js:137
#: ../js/gdm/loginDialog.js:899 ../js/ui/components/networkAgent.js:137
#: ../js/ui/components/polkitAgent.js:162 ../js/ui/endSessionDialog.js:373
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:396
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:168
#: ../js/ui/status/bluetooth.js:427 ../js/ui/unlockDialog.js:172
msgid "Cancel"
msgstr "రద్దుచేయి"
#: ../js/gdm/loginDialog.js:903
#: ../js/gdm/loginDialog.js:904
msgctxt "button"
msgid "Sign In"
msgstr "ప్రవేశించండి"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:962 ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "వాడుకరిపేరు: "
#: ../js/gdm/loginDialog.js:1269
#: ../js/gdm/loginDialog.js:1243
msgid "Login Window"
msgstr "ప్రవేశ కిటికీ"
#. Translators: accessible name of the power menu in the login screen
#: ../js/gdm/powerMenu.js:35
msgid "Power"
msgstr "విద్యుత్"
#: ../js/gdm/powerMenu.js:89 ../js/ui/userMenu.js:664 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:779
#: ../js/gdm/powerMenu.js:88 ../js/ui/userMenu.js:658 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:773
msgid "Suspend"
msgstr "తాత్కాలికంగా నిలిపివేయి"
#: ../js/gdm/powerMenu.js:94
#: ../js/gdm/powerMenu.js:93
msgid "Restart"
msgstr "పునఃప్రారంభించు"
#: ../js/gdm/powerMenu.js:99 ../js/ui/userMenu.js:666 ../js/ui/userMenu.js:668
#: ../js/ui/userMenu.js:778
#: ../js/gdm/powerMenu.js:98 ../js/ui/userMenu.js:660 ../js/ui/userMenu.js:662
#: ../js/ui/userMenu.js:772
msgid "Power Off"
msgstr "విద్యుత్ ఆపు"
#: ../js/gdm/util.js:152
#: ../js/gdm/util.js:148
msgid "Authentication error"
msgstr "ధృవీకరణ దోషం"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:269
#: ../js/gdm/util.js:265
msgid "(or swipe finger)"
msgstr "(లేదా వ్రేలు స్వైప్‌చేయి)"
#: ../js/gdm/util.js:294
#: ../js/gdm/util.js:290
#, c-format
msgid "(e.g., user or %s)"
msgstr "(ఉదా., వాడుకరి లేదా %s)"
@ -377,7 +334,7 @@ msgstr "అమరికలు"
msgid "New Window"
msgstr "కొత్త కిటికీ"
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:290
#: ../js/ui/appDisplay.js:678 ../js/ui/dash.js:271
msgid "Remove from Favorites"
msgstr "ఇష్టాంశాల నుండి తొలగించు"
@ -541,16 +498,16 @@ msgstr "ఈ వారం"
msgid "Next week"
msgstr "తరువాత వారం"
#: ../js/ui/components/autorunManager.js:297
#: ../js/ui/components/autorunManager.js:278
msgid "Removable Devices"
msgstr "తీసివేయదగు పరికరాలు"
#: ../js/ui/components/autorunManager.js:594
#: ../js/ui/components/autorunManager.js:575
#, c-format
msgid "Open with %s"
msgstr "%sతో తెరువు"
#: ../js/ui/components/autorunManager.js:620
#: ../js/ui/components/autorunManager.js:601
msgid "Eject"
msgstr "బయటకునెట్టు"
@ -580,6 +537,14 @@ msgstr "సంకేతపదం:"
msgid "Key: "
msgstr "కీ: "
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/ui/components/networkAgent.js:260
#: ../js/ui/components/networkAgent.js:278
msgid "Username: "
msgstr "వాడుకరిపేరు: "
#: ../js/ui/components/networkAgent.js:266
msgid "Identity: "
msgstr "గుర్తింపు: "
@ -601,9 +566,7 @@ msgstr "వైర్‌లెస్ నెట్‌వర్క్ చేత ధ
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr ""
"వైర్‌లెస్ నెట్‌వర్కు '%s' యాక్సెస్ చేయుటకు సంకేతపదాలు లేదా ఎన్క్రిప్షన్ కీలు "
"అవసరం."
msgstr "వైర్‌లెస్ నెట్‌వర్కు '%s' యాక్సెస్ చేయుటకు సంకేతపదాలు లేదా ఎన్క్రిప్షన్ కీలు అవసరం."
#: ../js/ui/components/networkAgent.js:314
msgid "Wired 802.1X authentication"
@ -699,35 +662,35 @@ msgstr "నిశబ్దం"
#. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds.
#: ../js/ui/components/telepathyClient.js:952
#: ../js/ui/components/telepathyClient.js:948
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "<b>%X</b> వద్ద <b>%A</b> పైన పంపబడెను"
#. Translators: this is a time format in the style of "Wednesday, May 25",
#. shown when you get a chat message in the same year.
#: ../js/ui/components/telepathyClient.js:958
#: ../js/ui/components/telepathyClient.js:954
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "<b>%A</b>, <b>%B %d</b> పై అమర్చు"
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
#. shown when you get a chat message in a different year.
#: ../js/ui/components/telepathyClient.js:963
#: ../js/ui/components/telepathyClient.js:959
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "<b>%A</b>, <b>%B %d</b>, %Y పై అమర్చు"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:992
#: ../js/ui/components/telepathyClient.js:988
#, c-format
msgid "%s is now known as %s"
msgstr "%s ఇప్పుడు %s గా తెలుసు"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1092
#: ../js/ui/components/telepathyClient.js:1088
#, c-format
msgid "Invitation to %s"
msgstr "%sకు ఆహ్వానం"
@ -735,42 +698,42 @@ msgstr "%sకు ఆహ్వానం"
#. translators: first argument is the name of a contact and the second
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
#. * for example.
#: ../js/ui/components/telepathyClient.js:1100
#: ../js/ui/components/telepathyClient.js:1096
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s మిమ్ములను %s పై చేరుటకు ఆహ్వానిస్తోంది"
#: ../js/ui/components/telepathyClient.js:1102
#: ../js/ui/components/telepathyClient.js:1181
#: ../js/ui/components/telepathyClient.js:1244
#: ../js/ui/components/telepathyClient.js:1098
#: ../js/ui/components/telepathyClient.js:1177
#: ../js/ui/components/telepathyClient.js:1240
msgid "Decline"
msgstr "తిరస్కారం"
#: ../js/ui/components/telepathyClient.js:1103
#: ../js/ui/components/telepathyClient.js:1182
#: ../js/ui/components/telepathyClient.js:1245
#: ../js/ui/components/telepathyClient.js:1099
#: ../js/ui/components/telepathyClient.js:1178
#: ../js/ui/components/telepathyClient.js:1241
msgid "Accept"
msgstr "ఆమోదించు"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1133
#: ../js/ui/components/telepathyClient.js:1129
#, c-format
msgid "Video call from %s"
msgstr "%s నుండి వీడియో కాల్"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/components/telepathyClient.js:1136
#: ../js/ui/components/telepathyClient.js:1132
#, c-format
msgid "Call from %s"
msgstr "%s నుండి కాల్"
#: ../js/ui/components/telepathyClient.js:1141
#: ../js/ui/components/telepathyClient.js:1137
#: ../js/ui/status/bluetooth.js:346
msgid "Reject"
msgstr "తిరస్కరించు"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/components/telepathyClient.js:1143
#: ../js/ui/components/telepathyClient.js:1139
msgid "Answer"
msgstr "సమాధానం"
@ -779,142 +742,140 @@ msgstr "సమాధానం"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/components/telepathyClient.js:1175
#: ../js/ui/components/telepathyClient.js:1171
#, c-format
msgid "%s is sending you %s"
msgstr "%s మీకు %s పంపుచున్నది"
#. To translators: The parameter is the contact's alias
#: ../js/ui/components/telepathyClient.js:1210
#: ../js/ui/components/telepathyClient.js:1206
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "మీరు ఆన్‌లైన్‌లో వున్నప్పుడు చూడుటకు %s అనుమతి కోరుతున్నారు"
#: ../js/ui/components/telepathyClient.js:1302
#: ../js/ui/components/telepathyClient.js:1298
msgid "Network error"
msgstr "నెట్‍‌వర్క్ దోషం"
#: ../js/ui/components/telepathyClient.js:1304
#: ../js/ui/components/telepathyClient.js:1300
msgid "Authentication failed"
msgstr "ధృవీకరణ వైఫల్యం"
#: ../js/ui/components/telepathyClient.js:1306
#: ../js/ui/components/telepathyClient.js:1302
msgid "Encryption error"
msgstr "ఎన్క్రిప్షన్ దోషం"
#: ../js/ui/components/telepathyClient.js:1308
#: ../js/ui/components/telepathyClient.js:1304
msgid "Certificate not provided"
msgstr "ధృవీకరణపత్రం అందించబడలేదు"
#: ../js/ui/components/telepathyClient.js:1310
#: ../js/ui/components/telepathyClient.js:1306
msgid "Certificate untrusted"
msgstr "ధృవీకరణపత్రం నమ్మలేనిది"
#: ../js/ui/components/telepathyClient.js:1312
#: ../js/ui/components/telepathyClient.js:1308
msgid "Certificate expired"
msgstr "ధృవీకరణపత్రం గడువుతీరెను"
#: ../js/ui/components/telepathyClient.js:1314
#: ../js/ui/components/telepathyClient.js:1310
msgid "Certificate not activated"
msgstr "ధృవీకరణపత్రం క్రియాశీలపరచబడిలేదు"
#: ../js/ui/components/telepathyClient.js:1316
#: ../js/ui/components/telepathyClient.js:1312
msgid "Certificate hostname mismatch"
msgstr "ధృవీకరణపత్రం హోస్టుపేరు సరిపోలలేదు"
#: ../js/ui/components/telepathyClient.js:1318
#: ../js/ui/components/telepathyClient.js:1314
msgid "Certificate fingerprint mismatch"
msgstr "ధృవీకరణపత్రం వ్రేలిముద్ర సరిపోలలేదు"
#: ../js/ui/components/telepathyClient.js:1320
#: ../js/ui/components/telepathyClient.js:1316
msgid "Certificate self-signed"
msgstr "ధృవీకరణపత్రం స్వతహాగా-సంతకంచేయబడెను"
#: ../js/ui/components/telepathyClient.js:1322
#: ../js/ui/components/telepathyClient.js:1318
msgid "Status is set to offline"
msgstr "స్థితి ఆఫ్‌లైన్‌కు అమర్చబడెను"
#: ../js/ui/components/telepathyClient.js:1324
#: ../js/ui/components/telepathyClient.js:1320
msgid "Encryption is not available"
msgstr "ఎన్క్రిప్షన్ అందుబాటులో లేదు"
#: ../js/ui/components/telepathyClient.js:1326
#: ../js/ui/components/telepathyClient.js:1322
msgid "Certificate is invalid"
msgstr "ధృవీకరణపత్రం చెల్లనిది"
#: ../js/ui/components/telepathyClient.js:1328
#: ../js/ui/components/telepathyClient.js:1324
msgid "Connection has been refused"
msgstr "అనుసంధానము తిరస్కరించబడెను"
#: ../js/ui/components/telepathyClient.js:1330
#: ../js/ui/components/telepathyClient.js:1326
msgid "Connection can't be established"
msgstr "అనుసంధానం ఏర్పరచలేము"
#: ../js/ui/components/telepathyClient.js:1332
#: ../js/ui/components/telepathyClient.js:1328
msgid "Connection has been lost"
msgstr "అనుసంధానము కోల్పోయాము"
#: ../js/ui/components/telepathyClient.js:1334
#: ../js/ui/components/telepathyClient.js:1330
msgid "This account is already connected to the server"
msgstr "ఈ ఖాతా ఇదివరకే సేవకానికి అనుసంధానమైంది"
#: ../js/ui/components/telepathyClient.js:1336
#: ../js/ui/components/telepathyClient.js:1332
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "అనుసంధానం అదే వనరు ఉపయోగించి కొత్త అనుసంధానంచే పునఃస్థాపించబడెను"
#: ../js/ui/components/telepathyClient.js:1338
#: ../js/ui/components/telepathyClient.js:1334
msgid "The account already exists on the server"
msgstr "ఖాతా ఇప్పటికే సేవికపైన ఉన్నది"
#: ../js/ui/components/telepathyClient.js:1340
#: ../js/ui/components/telepathyClient.js:1336
msgid "Server is currently too busy to handle the connection"
msgstr "అనుసంధానంను సంభాలించుటకు సేవిక మరీ వత్తిడిలో వుంది"
#: ../js/ui/components/telepathyClient.js:1342
#: ../js/ui/components/telepathyClient.js:1338
msgid "Certificate has been revoked"
msgstr "ధృవీకరణపత్రం కొట్టివేయబడింది"
#: ../js/ui/components/telepathyClient.js:1344
#: ../js/ui/components/telepathyClient.js:1340
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"ధృవీకరణపత్రం సురక్షితం కాని సైఫర్ ఆల్గార్దెమ్ వుపయోగించుచున్నది లేదా "
"క్రిప్టోగ్రఫీ పరంగా బలహీనంగా వుంది"
"ధృవీకరణపత్రం సురక్షితం కాని సైఫర్ ఆల్గార్దెమ్ వుపయోగించుచున్నది లేదా క్రిప్టోగ్రఫీ పరంగా బలహీనంగా వుంది"
#: ../js/ui/components/telepathyClient.js:1346
#: ../js/ui/components/telepathyClient.js:1342
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"సేవిక ధృవీకరణపత్రం యొక్క పొడవు, లేదా సేవిక ధృవీకరణపత్రం చైన్ యొక్క లోతు, "
"క్రిప్టోగ్రఫీ లైబ్రరీ చేత "
"సేవిక ధృవీకరణపత్రం యొక్క పొడవు, లేదా సేవిక ధృవీకరణపత్రం చైన్ యొక్క లోతు, క్రిప్టోగ్రఫీ లైబ్రరీ చేత "
"నిర్దేశితమైన పరిమితులను మించును"
#: ../js/ui/components/telepathyClient.js:1348
#: ../js/ui/components/telepathyClient.js:1344
msgid "Internal error"
msgstr "అంతర్గత దోషం"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/components/telepathyClient.js:1358
#: ../js/ui/components/telepathyClient.js:1354
#, c-format
msgid "Connection to %s failed"
msgstr "%s కు అనుసంధానం విఫలమైంది"
#: ../js/ui/components/telepathyClient.js:1367
#: ../js/ui/components/telepathyClient.js:1363
msgid "Reconnect"
msgstr "తిరిగిఅనుసంధానించు"
#: ../js/ui/components/telepathyClient.js:1368
#: ../js/ui/components/telepathyClient.js:1364
msgid "Edit account"
msgstr "ఖాతా సవరించు"
#: ../js/ui/components/telepathyClient.js:1413
#: ../js/ui/components/telepathyClient.js:1409
msgid "Unknown reason"
msgstr "తెలియని కారణం"
#: ../js/ui/dash.js:254 ../js/ui/dash.js:292
#: ../js/ui/dash.js:245 ../js/ui/dash.js:273
msgid "Show Applications"
msgstr "అనువర్తనాలను చూపించు"
@ -922,14 +883,14 @@ msgstr "అనువర్తనాలను చూపించు"
msgid "Date and Time Settings"
msgstr "తేదీ మరియు సమయం అమరికలు"
#: ../js/ui/dateMenu.js:111
#: ../js/ui/dateMenu.js:109
msgid "Open Calendar"
msgstr "క్యాలెండరు తెరువు"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#.
#: ../js/ui/dateMenu.js:201
#: ../js/ui/dateMenu.js:175
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -946,9 +907,7 @@ msgstr "నిష్క్రమించు"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr ""
"ఈ అనువర్తనాలను మూసివెళ్ళుటకు మరియు వ్యవస్థను నిష్క్రమింపచేయడానికి "
"నిష్క్రమించు నొక్కండి."
msgstr "ఈ అనువర్తనాలను మూసివెళ్ళుటకు మరియు వ్యవస్థను నిష్క్రమింపచేయడానికి నిష్క్రమించు నొక్కండి."
#: ../js/ui/endSessionDialog.js:65
#, c-format
@ -980,9 +939,7 @@ msgstr "విద్యుత్ ఆపు"
#: ../js/ui/endSessionDialog.js:82
msgid "Click Power Off to quit these applications and power off the system."
msgstr ""
"ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను ఆపివేయుటకు విద్యుత్ ఆపు "
"నొక్కండి."
msgstr "ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను ఆపివేయుటకు విద్యుత్ ఆపు నొక్కండి."
#: ../js/ui/endSessionDialog.js:84
#, c-format
@ -1012,9 +969,7 @@ msgstr "పునఃప్రారంభించు"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr ""
"ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను పునఃప్రారంభించటానికి స "
"నొక్కండి."
msgstr "ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను పునఃప్రారంభించటానికి స నొక్కండి."
#: ../js/ui/endSessionDialog.js:101
#, c-format
@ -1036,11 +991,11 @@ msgstr "స్థాపించు"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org నుండి '%s' దింపుకొని, స్థాపించాలా?"
#: ../js/ui/keyboard.js:337
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "పళ్ళెం"
#: ../js/ui/keyboard.js:584 ../js/ui/status/keyboard.js:195
#: ../js/ui/keyboard.js:561 ../js/ui/status/keyboard.js:194
#: ../js/ui/status/power.js:205
msgid "Keyboard"
msgstr "కీబోర్డు"
@ -1093,23 +1048,23 @@ msgstr "మూలాన్ని చూడు"
msgid "Web Page"
msgstr "జాల పుట"
#: ../js/ui/messageTray.js:1084
#: ../js/ui/messageTray.js:1080
msgid "Open"
msgstr "తెరువు"
#: ../js/ui/messageTray.js:1091
#: ../js/ui/messageTray.js:1087
msgid "Remove"
msgstr "తీసివేయి"
#: ../js/ui/messageTray.js:1531
#: ../js/ui/messageTray.js:2052
msgid "Message Tray"
msgstr "సందేశ పళ్ళెం"
#: ../js/ui/messageTray.js:2543
#: ../js/ui/messageTray.js:2508
msgid "System Information"
msgstr "వ్యవస్థ సమాచారం"
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:374
#: ../js/ui/notificationDaemon.js:506 ../src/shell-app.c:373
msgctxt "program"
msgid "Unknown"
msgstr "తెలియదు"
@ -1165,18 +1120,18 @@ msgstr "దయచేసి ఒక ఆదేశమును ప్రవేశప
#. Translators: This is a time format for a date in
#. long format
#: ../js/ui/screenShield.js:81
#: ../js/ui/screenShield.js:79
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/screenShield.js:145
#: ../js/ui/screenShield.js:144
#, c-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d కొత్త సందేశం"
msgstr[1] "%d కొత్త సందేశాలు"
#: ../js/ui/screenShield.js:147
#: ../js/ui/screenShield.js:146
#, c-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@ -1215,7 +1170,7 @@ msgstr "సంకేతపదం"
msgid "Remember Password"
msgstr "సంకేతపదాన్ని గుర్తుంచుకొను"
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:171
#: ../js/ui/shellMountOperation.js:400 ../js/ui/unlockDialog.js:175
msgid "Unlock"
msgstr "తాళంతీయి"
@ -1333,7 +1288,7 @@ msgstr "కీబోర్డు అమరికలు"
msgid "Mouse Settings"
msgstr "మౌస్ అమరికలు"
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:234
#: ../js/ui/status/bluetooth.js:269 ../js/ui/status/volume.js:236
msgid "Sound Settings"
msgstr "శబ్దపు అమరికలు"
@ -1368,8 +1323,7 @@ msgstr "%s పరికరము ఈ కంప్యూటరుతో జతక
#: ../js/ui/status/bluetooth.js:379
#, c-format
msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgstr ""
"పిన్ '%06d' పరికరము మీద ఉన్న దానితో సరిపోలుతుందో లేదో దయచేసి నిర్ధారించండి."
msgstr "పిన్ '%06d' పరికరము మీద ఉన్న దానితో సరిపోలుతుందో లేదో దయచేసి నిర్ధారించండి."
#: ../js/ui/status/bluetooth.js:381
msgid "Matches"
@ -1392,11 +1346,11 @@ msgstr "దయచేసి పరికరం పై నిర్దేశిం
msgid "OK"
msgstr "సరే"
#: ../js/ui/status/keyboard.js:228
#: ../js/ui/status/keyboard.js:227
msgid "Show Keyboard Layout"
msgstr "కీబోర్డు నమూనాను చూపించు"
#: ../js/ui/status/keyboard.js:233
#: ../js/ui/status/keyboard.js:232
msgid "Region and Language Settings"
msgstr "ప్రాంతము మరియు భాష అమర్పులు"
@ -1619,7 +1573,7 @@ msgid "Unknown"
msgstr "తెలియదు"
#. Translators: This is the label for audio volume
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:221
#: ../js/ui/status/volume.js:47 ../js/ui/status/volume.js:223
msgid "Volume"
msgstr "ధ్వనిస్థాయి"
@ -1627,63 +1581,71 @@ msgstr "ధ్వనిస్థాయి"
msgid "Microphone"
msgstr "మైక్రోఫోను"
#: ../js/ui/unlockDialog.js:178
#: ../js/ui/unlockDialog.js:137
msgid "Could not connect to GDM. Screen locking was automatically disabled."
msgstr "GDMకు అనుసంధానం సాధ్యం కాలేదు. తెర తాళం స్వయంచాలకంగా అచేతనించబడింది."
#: ../js/ui/unlockDialog.js:182
msgid "Log in as another user"
msgstr "వేరొక వాడుకరి వలె ప్రవేశించండి"
#: ../js/ui/userMenu.js:181
#: ../js/ui/userMenu.js:175
msgid "Available"
msgstr "అందుబాటులోవున్నారు"
#: ../js/ui/userMenu.js:184
#: ../js/ui/userMenu.js:178
msgid "Busy"
msgstr "తీరికలేదు"
#: ../js/ui/userMenu.js:187
#: ../js/ui/userMenu.js:181
msgid "Invisible"
msgstr "అదృశ్యం"
#: ../js/ui/userMenu.js:190
#: ../js/ui/userMenu.js:184
msgid "Away"
msgstr "దూరంగా ఉన్నారు"
#: ../js/ui/userMenu.js:193
#: ../js/ui/userMenu.js:187
msgid "Idle"
msgstr "వాడుకలేదు"
#: ../js/ui/userMenu.js:196
#: ../js/ui/userMenu.js:190
msgid "Unavailable"
msgstr "అందుబాటులోలేరు"
#: ../js/ui/userMenu.js:744
msgid "Notifications"
msgstr "ప్రకటనలు"
#: ../js/ui/userMenu.js:752
msgid "System Settings"
msgstr "వ్యవస్థ అమరికలు"
#: ../js/ui/userMenu.js:760
#: ../js/ui/userMenu.js:613 ../js/ui/userMenu.js:754
msgid "Switch User"
msgstr "వాడుకరిని మార్చు"
#: ../js/ui/userMenu.js:765
#: ../js/ui/userMenu.js:614
msgid "Switch Session"
msgstr "చర్యాకాలాన్ని మార్చు"
#: ../js/ui/userMenu.js:738
msgid "Notifications"
msgstr "ప్రకటనలు"
#: ../js/ui/userMenu.js:746
msgid "System Settings"
msgstr "వ్యవస్థ అమరికలు"
#: ../js/ui/userMenu.js:759
msgid "Log Out"
msgstr "నిష్క్రమించు"
#: ../js/ui/userMenu.js:770
#: ../js/ui/userMenu.js:764
msgid "Lock"
msgstr "తాళంవేయి"
#: ../js/ui/userMenu.js:785
#: ../js/ui/userMenu.js:779
msgid "Install Updates & Restart"
msgstr "నవీకరణలను స్థాపించి, పునఃప్రారంభించు"
#: ../js/ui/userMenu.js:803
#: ../js/ui/userMenu.js:797
msgid "Your chat status will be set to busy"
msgstr "మీ చాట్ స్థితి రద్దీగా ఉన్నారని అమర్చును"
#: ../js/ui/userMenu.js:804
#: ../js/ui/userMenu.js:798
msgid ""
"Notifications are now disabled, including chat messages. Your online status "
"has been adjusted to let others know that you might not see their messages."
@ -1703,7 +1665,7 @@ msgstr "అనువర్తనాలు"
msgid "Search"
msgstr "వెతుకు"
#: ../js/ui/wanda.js:117
#: ../js/ui/wanda.js:119
#, c-format
msgid ""
"Sorry, no wisdom for you today:\n"
@ -1712,12 +1674,12 @@ msgstr ""
"క్షమించండి, ఇవాల మీకు వివేకం లేదు:\n"
"%s"
#: ../js/ui/wanda.js:121
#: ../js/ui/wanda.js:123
#, c-format
msgid "%s the Oracle says"
msgstr "%s అని ఒరాకిల్ అంటున్నది"
#: ../js/ui/wanda.js:162
#: ../js/ui/wanda.js:164
msgid "Your favorite Easter Egg"
msgstr "మీ ప్రియమైన ఈస్టర్ గుడ్డు"
@ -1752,23 +1714,23 @@ msgstr[1] "%u ఇన్‌పుట్‌లు"
msgid "System Sounds"
msgstr "వ్యవస్థ శబ్దములు"
#: ../src/main.c:332
#: ../src/main.c:330
msgid "Print version"
msgstr "ముద్రిత వర్షన్"
#: ../src/main.c:338
#: ../src/main.c:336
msgid "Mode used by GDM for login screen"
msgstr "ప్రవేశ తెర కొరకు GDM చే ఉపయోగించబడిన రీతి"
#: ../src/main.c:344
#: ../src/main.c:342
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "ఒక నిర్దిష్ట రీతిని వాడు, ఉదా. ప్రవేశ తెర కొరకు \"gdm\""
#: ../src/main.c:350
#: ../src/main.c:348
msgid "List possible modes"
msgstr "సాధ్యమగు రీతులను జాబితాగా చేయి"
#: ../src/shell-app.c:622
#: ../src/shell-app.c:621
#, c-format
msgid "Failed to launch '%s'"
msgstr "'%s' ప్రారంభించుటలో విఫలమైంది"
@ -1793,15 +1755,6 @@ msgstr "అప్రమేయం"
msgid "Authentication dialog was dismissed by the user"
msgstr "ప్రమాణీకరణ డైలాగు వాడుకరిచే రద్దుచేయబడింది"
#~ msgid "Configuration problem: Could not connect to GDM"
#~ msgstr "స్వరూపణం సమస్య: జీడిఎంకు అనుసంధానం కాలేకపోతోంది"
#~ msgid "Could not connect to GDM. Screen locking was automatically disabled."
#~ msgstr "GDMకు అనుసంధానం సాధ్యం కాలేదు. తెర తాళం స్వయంచాలకంగా అచేతనించబడింది."
#~ msgid "Switch Session"
#~ msgstr "చర్యాకాలాన్ని మార్చు"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "బహిరంగఅన్వేషణ సమకూర్పకాలను అచేతపరుచు"

3487
po/ug.po

File diff suppressed because it is too large Load Diff

View File

@ -113,14 +113,12 @@ shell_public_headers_h = \
shell-generic-container.h \
shell-gtk-embed.h \
shell-global.h \
shell-idle-monitor.h \
shell-invert-lightness-effect.h \
shell-mobile-providers.h \
shell-mount-operation.h \
shell-network-agent.h \
shell-perf-log.h \
shell-screenshot.h \
shell-screen-grabber.h \
shell-slicer.h \
shell-stack.h \
shell-tp-client.h \
@ -158,7 +156,6 @@ libgnome_shell_la_SOURCES = \
shell-generic-container.c \
shell-gtk-embed.c \
shell-global.c \
shell-idle-monitor.c \
shell-invert-lightness-effect.c \
shell-keyring-prompt.h \
shell-keyring-prompt.c \
@ -169,7 +166,6 @@ libgnome_shell_la_SOURCES = \
shell-polkit-authentication-agent.h \
shell-polkit-authentication-agent.c \
shell-screenshot.c \
shell-screen-grabber.c \
shell-secure-text-buffer.c \
shell-secure-text-buffer.h \
shell-slicer.c \
@ -234,8 +230,6 @@ test_recorder_LDADD = $(TEST_SHELL_RECORDER_LIBS)
test_recorder_SOURCES = \
$(shell_recorder_sources) $(shell_recorder_private_sources) \
shell-screen-grabber.c \
shell-screen-grabber.h \
test-recorder.c
endif BUILD_RECORDER

View File

@ -1035,8 +1035,6 @@ main (int argc,
name_owner_id = 0;
stdin_channel = NULL;
g_type_init ();
introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL);
g_assert (introspection_data != NULL);

View File

@ -28,7 +28,7 @@ def show_version(option, opt_str, value, parser):
def wait_for_dbus_name(wait_name):
loop = GLib.MainLoop()
def on_name_appeared(connection, name, name_owner, *args):
def on_name_appeared(connection, name, new_owner, *args):
if not (name == wait_name and new_owner != ''):
return
loop.quit()
@ -60,13 +60,18 @@ def start_perf_helper():
wait_for_dbus_name (PERF_HELPER_NAME)
def stop_perf_helper():
proxy = Gio.DBusProxy(g_bus_type=Gio.BusType.SESSION,
g_name=PERF_HELPER_NAME,
g_interface=PERF_HELPER_IFACE,
g_object_path=PERF_HELPER_PATH)
bus = Gio.bus_get_sync(Gio.BusType.SESSION, None)
proxy = Gio.DBusProxy.new_sync(bus,
Gio.DBusProxyFlags.NONE,
None,
PERF_HELPER_NAME,
PERF_HELPER_PATH,
PERF_HELPER_IFACE,
None)
proxy.Exit()
def start_shell(extra_args, perf_output=None):
def start_shell(perf_output=None):
# Set up environment
env = dict(os.environ)
env['SHELL_PERF_MODULE'] = options.perf
@ -76,19 +81,21 @@ def start_shell(extra_args, perf_output=None):
env['SHELL_PERF_OUTPUT'] = perf_output
self_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
args = []
args.append(os.path.join(self_dir, 'gnome-shell'))
# pass on any additional arguments
args += extra_args
if options.replace:
args.append('--replace')
return subprocess.Popen(args, env=env)
def run_shell(args, perf_output=None):
def run_shell(perf_output=None):
# we do no additional supervision of gnome-shell,
# beyond that of wait
# in particular, we don't kill the shell upon
# receving a KeyboardInterrupt, as we expect to be
# in the same process group
shell = start_shell(extra_args, perf_output=perf_output)
shell = start_shell(perf_output=perf_output)
shell.wait()
return shell.returncode == 0
@ -173,7 +180,7 @@ def upload_performance_report(report_text):
print "Performance report upload failed with status %d" % response.status
print response.read()
def run_performance_test(args):
def run_performance_test():
iters = options.perf_iters
if options.perf_warmup:
iters += 1
@ -192,7 +199,7 @@ def run_performance_test(args):
# Run the performance test and collect the output as JSON
normal_exit = False
try:
normal_exit = run_shell(args, perf_output=output_file)
normal_exit = run_shell(perf_output=output_file)
except:
stop_perf_helper()
raise
@ -288,7 +295,8 @@ def run_performance_test(args):
parser = optparse.OptionParser()
parser.add_option("", "--perf", metavar="PERF_MODULE",
help="Specify the name of a performance module to run")
help="Specify the name of a performance module to run",
default="core")
parser.add_option("", "--perf-iters", type="int", metavar="ITERS",
help="Numbers of iterations of performance module to run",
default=1)
@ -301,9 +309,16 @@ parser.add_option("", "--perf-upload", action="store_true",
parser.add_option("", "--version", action="callback", callback=show_version,
help="Display version and exit")
parser.add_option("-r", "--replace", action="store_true",
help="Replace the running window manager")
options, args = parser.parse_args()
normal_exit = run_performance_test(args)
if args:
parser.print_usage()
sys.exit(1)
normal_exit = run_performance_test()
if normal_exit:
sys.exit(0)
else:

View File

@ -72,6 +72,9 @@ static void gnome_shell_plugin_kill_switch_workspace (MetaPlugin *plugin);
static gboolean gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
XEvent *event);
static gboolean gnome_shell_plugin_keybinding_filter (MetaPlugin *plugin,
MetaKeyBinding *binding);
static const MetaPluginInfo *gnome_shell_plugin_plugin_info (MetaPlugin *plugin);
@ -126,8 +129,9 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass)
plugin_class->kill_window_effects = gnome_shell_plugin_kill_window_effects;
plugin_class->kill_switch_workspace = gnome_shell_plugin_kill_switch_workspace;
plugin_class->xevent_filter = gnome_shell_plugin_xevent_filter;
plugin_class->plugin_info = gnome_shell_plugin_plugin_info;
plugin_class->xevent_filter = gnome_shell_plugin_xevent_filter;
plugin_class->keybinding_filter = gnome_shell_plugin_keybinding_filter;
plugin_class->plugin_info = gnome_shell_plugin_plugin_info;
}
static void
@ -337,6 +341,13 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
}
static gboolean
gnome_shell_plugin_keybinding_filter (MetaPlugin *plugin,
MetaKeyBinding *binding)
{
return _shell_wm_filter_keybinding (get_shell_wm (), binding);
}
static const
MetaPluginInfo *gnome_shell_plugin_plugin_info (MetaPlugin *plugin)
{

View File

@ -240,8 +240,6 @@ main (int argc,
{
guint name_owner_id;
g_type_init ();
introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL);
g_assert (introspection_data != NULL);

View File

@ -38,7 +38,7 @@ extern GType gnome_shell_plugin_get_type (void);
#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
#define WM_NAME "GNOME Shell"
#define GNOME_WM_KEYBINDINGS "Metacity,Mutter,GNOME Shell"
#define GNOME_WM_KEYBINDINGS "Mutter,GNOME Shell"
static gboolean is_gdm_mode = FALSE;
static char *session_mode = NULL;
@ -361,8 +361,6 @@ main (int argc, char **argv)
int ecode;
TpDebugSender *sender;
g_type_init ();
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);

View File

@ -92,7 +92,6 @@ main(int argc, char **argv)
g_error ("option parsing failed: %s", error->message);
setlocale (LC_ALL, "");
g_type_init ();
_shell_global_init (NULL);
global = shell_global_get ();

View File

@ -1693,43 +1693,3 @@ shell_global_get_session_mode (ShellGlobal *global)
return global->session_mode;
}
/**
* shell_global_create_xrootpmap_texture:
* @global: The #ShellGlobal
*
* This returns the _XROOTPMAP_ID pixmap that gdm should have stuffed
* in the root window. The goal here is to allow a smooth fade between
* plymouth and the shell greeter. This is also a workaround for gjs not
* supporting raw xlib types.
*
* Returns: (transfer floating): A #ClutterActor that represents the
* _XROOTPMAP_ID pixmap property from the root window.
*/
ClutterActor *
shell_global_create_xrootpmap_texture (ShellGlobal *global)
{
Atom res_type;
int res_format;
unsigned long res_nitems, bytesafter;
unsigned char *data;
Pixmap root_pixmap_id = None;
g_return_val_if_fail (SHELL_IS_GLOBAL (global), NULL);
if (XGetWindowProperty (global->xdisplay,
DefaultRootWindow (global->xdisplay),
XInternAtom (global->xdisplay, "_XROOTPMAP_ID", False),
0, G_MAXLONG, False, XA_PIXMAP,
&res_type, &res_format, &res_nitems, &bytesafter, &data) == Success)
{
if (res_type == XA_PIXMAP && res_format == 32 && res_nitems == 1)
root_pixmap_id = * (Pixmap *) data;
XFree (data);
}
if (root_pixmap_id != None)
return clutter_x11_texture_pixmap_new_with_pixmap (root_pixmap_id);
else
return NULL;
}

View File

@ -136,8 +136,6 @@ void shell_global_reexec_self (ShellGlobal *global);
const char * shell_global_get_session_mode (ShellGlobal *global);
ClutterActor * shell_global_create_xrootpmap_texture (ShellGlobal *global);
G_END_DECLS
#endif /* __SHELL_GLOBAL_H__ */

View File

@ -1,429 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Adapted from gnome-session/gnome-session/gs-idle-monitor.c
*
* Copyright (C) 2012 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: William Jon McCann <mccann@jhu.edu>
*
*/
#include "config.h"
#include <time.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X11/extensions/sync.h>
#include <glib.h>
#include <gdk/gdkx.h>
#include <gdk/gdk.h>
#include "shell-idle-monitor.h"
#define SHELL_IDLE_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SHELL_TYPE_IDLE_MONITOR, ShellIdleMonitorPrivate))
struct ShellIdleMonitorPrivate
{
Display *display;
GHashTable *watches;
int sync_event_base;
XSyncCounter counter;
};
typedef struct
{
Display *display;
guint id;
XSyncValue interval;
ShellIdleMonitorWatchFunc callback;
gpointer user_data;
GDestroyNotify notify;
XSyncAlarm xalarm_positive;
XSyncAlarm xalarm_negative;
} ShellIdleMonitorWatch;
static guint32 watch_serial = 1;
G_DEFINE_TYPE (ShellIdleMonitor, shell_idle_monitor, G_TYPE_OBJECT)
static gint64
_xsyncvalue_to_int64 (XSyncValue value)
{
return ((guint64) XSyncValueHigh32 (value)) << 32
| (guint64) XSyncValueLow32 (value);
}
static XSyncValue
_int64_to_xsyncvalue (gint64 value)
{
XSyncValue ret;
XSyncIntsToValue (&ret, value, ((guint64)value) >> 32);
return ret;
}
static void
shell_idle_monitor_dispose (GObject *object)
{
ShellIdleMonitor *monitor;
monitor = SHELL_IDLE_MONITOR (object);
if (monitor->priv->watches != NULL) {
g_hash_table_destroy (monitor->priv->watches);
monitor->priv->watches = NULL;
}
G_OBJECT_CLASS (shell_idle_monitor_parent_class)->dispose (object);
}
static gboolean
_find_alarm (gpointer key,
ShellIdleMonitorWatch *watch,
XSyncAlarm *alarm)
{
/* g_debug ("Searching for %d in %d,%d", (int)*alarm, (int)watch->xalarm_positive, (int)watch->xalarm_negative); */
if (watch->xalarm_positive == *alarm
|| watch->xalarm_negative == *alarm) {
return TRUE;
}
return FALSE;
}
static ShellIdleMonitorWatch *
find_watch_for_alarm (ShellIdleMonitor *monitor,
XSyncAlarm alarm)
{
ShellIdleMonitorWatch *watch;
watch = g_hash_table_find (monitor->priv->watches,
(GHRFunc)_find_alarm,
&alarm);
return watch;
}
static void
handle_alarm_notify_event (ShellIdleMonitor *monitor,
XSyncAlarmNotifyEvent *alarm_event)
{
ShellIdleMonitorWatch *watch;
gboolean condition;
if (alarm_event->state == XSyncAlarmDestroyed) {
return;
}
watch = find_watch_for_alarm (monitor, alarm_event->alarm);
if (watch == NULL) {
/* g_debug ("Unable to find watch for alarm %d", (int)alarm_event->alarm); */
return;
}
/* g_debug ("Watch %d fired, idle time = %" G_GINT64_FORMAT,
watch->id,
_xsyncvalue_to_int64 (alarm_event->counter_value)); */
if (alarm_event->alarm == watch->xalarm_positive) {
condition = TRUE;
} else {
condition = FALSE;
}
if (watch->callback != NULL) {
watch->callback (monitor,
watch->id,
condition,
watch->user_data);
}
}
static GdkFilterReturn
xevent_filter (GdkXEvent *xevent,
GdkEvent *event,
ShellIdleMonitor *monitor)
{
XEvent *ev;
XSyncAlarmNotifyEvent *alarm_event;
ev = xevent;
if (ev->xany.type != monitor->priv->sync_event_base + XSyncAlarmNotify) {
return GDK_FILTER_CONTINUE;
}
alarm_event = xevent;
handle_alarm_notify_event (monitor, alarm_event);
return GDK_FILTER_CONTINUE;
}
static gboolean
init_xsync (ShellIdleMonitor *monitor)
{
int sync_error_base;
int res;
int major;
int minor;
int i;
int ncounters;
XSyncSystemCounter *counters;
res = XSyncQueryExtension (monitor->priv->display,
&monitor->priv->sync_event_base,
&sync_error_base);
if (! res) {
g_warning ("ShellIdleMonitor: Sync extension not present");
return FALSE;
}
res = XSyncInitialize (monitor->priv->display, &major, &minor);
if (! res) {
g_warning ("ShellIdleMonitor: Unable to initialize Sync extension");
return FALSE;
}
counters = XSyncListSystemCounters (monitor->priv->display, &ncounters);
for (i = 0; i < ncounters; i++) {
if (counters[i].name != NULL
&& strcmp (counters[i].name, "IDLETIME") == 0) {
monitor->priv->counter = counters[i].counter;
break;
}
}
XSyncFreeSystemCounterList (counters);
if (monitor->priv->counter == None) {
g_warning ("ShellIdleMonitor: IDLETIME counter not found");
return FALSE;
}
gdk_window_add_filter (NULL, (GdkFilterFunc)xevent_filter, monitor);
return TRUE;
}
static GObject *
shell_idle_monitor_constructor (GType type,
guint n_construct_properties,
GObjectConstructParam *construct_properties)
{
ShellIdleMonitor *monitor;
monitor = SHELL_IDLE_MONITOR (G_OBJECT_CLASS (shell_idle_monitor_parent_class)->constructor (type,
n_construct_properties,
construct_properties));
monitor->priv->display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
if (! init_xsync (monitor)) {
g_object_unref (monitor);
return NULL;
}
return G_OBJECT (monitor);
}
static void
shell_idle_monitor_class_init (ShellIdleMonitorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->dispose = shell_idle_monitor_dispose;
object_class->constructor = shell_idle_monitor_constructor;
g_type_class_add_private (klass, sizeof (ShellIdleMonitorPrivate));
}
static guint32
get_next_watch_serial (void)
{
guint32 serial;
serial = watch_serial++;
if ((gint32)watch_serial < 0) {
watch_serial = 1;
}
/* FIXME: make sure it isn't in the hash */
return serial;
}
static ShellIdleMonitorWatch *
idle_monitor_watch_new (guint interval)
{
ShellIdleMonitorWatch *watch;
watch = g_slice_new0 (ShellIdleMonitorWatch);
watch->interval = _int64_to_xsyncvalue ((gint64)interval);
watch->id = get_next_watch_serial ();
watch->xalarm_positive = None;
watch->xalarm_negative = None;
return watch;
}
static void
idle_monitor_watch_free (ShellIdleMonitorWatch *watch)
{
if (watch == NULL) {
return;
}
if (watch->notify != NULL) {
watch->notify (watch->user_data);
}
if (watch->xalarm_positive != None) {
XSyncDestroyAlarm (watch->display, watch->xalarm_positive);
}
if (watch->xalarm_negative != None) {
XSyncDestroyAlarm (watch->display, watch->xalarm_negative);
}
g_slice_free (ShellIdleMonitorWatch, watch);
}
static void
shell_idle_monitor_init (ShellIdleMonitor *monitor)
{
monitor->priv = SHELL_IDLE_MONITOR_GET_PRIVATE (monitor);
monitor->priv->watches = g_hash_table_new_full (NULL,
NULL,
NULL,
(GDestroyNotify)idle_monitor_watch_free);
monitor->priv->counter = None;
}
/**
* shell_idle_monitor_get:
*
* Returns: (transfer none): the global #ShellIdleMonitor.
*/
ShellIdleMonitor *
shell_idle_monitor_get (void)
{
static ShellIdleMonitor *idle_monitor;
if (G_UNLIKELY (idle_monitor == NULL))
idle_monitor = g_object_new (SHELL_TYPE_IDLE_MONITOR,
NULL);
return idle_monitor;
}
static gboolean
_xsync_alarm_set (ShellIdleMonitor *monitor,
ShellIdleMonitorWatch *watch)
{
XSyncAlarmAttributes attr;
XSyncValue delta;
guint flags;
flags = XSyncCACounter
| XSyncCAValueType
| XSyncCATestType
| XSyncCAValue
| XSyncCADelta
| XSyncCAEvents;
XSyncIntToValue (&delta, 0);
attr.trigger.counter = monitor->priv->counter;
attr.trigger.value_type = XSyncAbsolute;
attr.trigger.wait_value = watch->interval;
attr.delta = delta;
attr.events = TRUE;
attr.trigger.test_type = XSyncPositiveTransition;
if (watch->xalarm_positive != None) {
/* g_debug ("ShellIdleMonitor: updating alarm for positive transition wait=%" G_GINT64_FORMAT,
_xsyncvalue_to_int64 (attr.trigger.wait_value)); */
XSyncChangeAlarm (monitor->priv->display, watch->xalarm_positive, flags, &attr);
} else {
/* g_debug ("ShellIdleMonitor: creating new alarm for positive transition wait=%" G_GINT64_FORMAT,
_xsyncvalue_to_int64 (attr.trigger.wait_value)); */
watch->xalarm_positive = XSyncCreateAlarm (monitor->priv->display, flags, &attr);
}
attr.trigger.wait_value = _int64_to_xsyncvalue (_xsyncvalue_to_int64 (watch->interval) - 1);
attr.trigger.test_type = XSyncNegativeTransition;
if (watch->xalarm_negative != None) {
/* g_debug ("ShellIdleMonitor: updating alarm for negative transition wait=%" G_GINT64_FORMAT,
_xsyncvalue_to_int64 (attr.trigger.wait_value)); */
XSyncChangeAlarm (monitor->priv->display, watch->xalarm_negative, flags, &attr);
} else {
/* g_debug ("ShellIdleMonitor: creating new alarm for negative transition wait=%" G_GINT64_FORMAT,
_xsyncvalue_to_int64 (attr.trigger.wait_value)); */
watch->xalarm_negative = XSyncCreateAlarm (monitor->priv->display, flags, &attr);
}
return TRUE;
}
guint
shell_idle_monitor_add_watch (ShellIdleMonitor *monitor,
guint interval,
ShellIdleMonitorWatchFunc callback,
gpointer user_data,
GDestroyNotify notify)
{
ShellIdleMonitorWatch *watch;
g_return_val_if_fail (SHELL_IS_IDLE_MONITOR (monitor), 0);
g_return_val_if_fail (callback != NULL, 0);
watch = idle_monitor_watch_new (interval);
watch->display = monitor->priv->display;
watch->callback = callback;
watch->user_data = user_data;
watch->notify = notify;
_xsync_alarm_set (monitor, watch);
g_hash_table_insert (monitor->priv->watches,
GUINT_TO_POINTER (watch->id),
watch);
return watch->id;
}
void
shell_idle_monitor_remove_watch (ShellIdleMonitor *monitor,
guint id)
{
g_return_if_fail (SHELL_IS_IDLE_MONITOR (monitor));
g_hash_table_remove (monitor->priv->watches,
GUINT_TO_POINTER (id));
}
gint64
shell_idle_monitor_get_idletime (ShellIdleMonitor *monitor)
{
XSyncValue value;
if (!XSyncQueryCounter (monitor->priv->display, monitor->priv->counter, &value))
return FALSE;
return _xsyncvalue_to_int64 (value);
}

View File

@ -1,74 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Adapted from gnome-session/gnome-session/gs-idle-monitor.h
*
* Copyright (C) 2012 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: William Jon McCann <mccann@jhu.edu>
*
*/
#ifndef __SHELL_IDLE_MONITOR_H
#define __SHELL_IDLE_MONITOR_H
#include <glib-object.h>
G_BEGIN_DECLS
#define SHELL_TYPE_IDLE_MONITOR (shell_idle_monitor_get_type ())
#define SHELL_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SHELL_TYPE_IDLE_MONITOR, ShellIdleMonitor))
#define SHELL_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SHELL_TYPE_IDLE_MONITOR, ShellIdleMonitorClass))
#define SHELL_IS_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SHELL_TYPE_IDLE_MONITOR))
#define SHELL_IS_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SHELL_TYPE_IDLE_MONITOR))
#define SHELL_IDLE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SHELL_TYPE_IDLE_MONITOR, ShellIdleMonitorClass))
typedef struct ShellIdleMonitorPrivate ShellIdleMonitorPrivate;
typedef struct
{
GObject parent;
ShellIdleMonitorPrivate *priv;
} ShellIdleMonitor;
typedef struct
{
GObjectClass parent_class;
} ShellIdleMonitorClass;
typedef void (*ShellIdleMonitorWatchFunc) (ShellIdleMonitor *monitor,
guint id,
gboolean condition,
gpointer user_data);
GType shell_idle_monitor_get_type (void);
ShellIdleMonitor * shell_idle_monitor_get (void);
guint shell_idle_monitor_add_watch (ShellIdleMonitor *monitor,
guint interval,
ShellIdleMonitorWatchFunc callback,
gpointer user_data,
GDestroyNotify notify);
void shell_idle_monitor_remove_watch (ShellIdleMonitor *monitor,
guint id);
gint64 shell_idle_monitor_get_idletime (ShellIdleMonitor *monitor);
G_END_DECLS
#endif /* __SHELL_IDLE_MONITOR_H */

View File

@ -37,10 +37,11 @@
#define ISO_3166_COUNTRY_CODES DATADIR "/zoneinfo/iso3166.tab"
static ShellCountryMobileProvider *country_mobile_provider_new (const char *country_code,
const gchar *country_name);
static GHashTable *
read_country_codes (void)
read_country_codes (const gchar *country_codes)
{
GHashTable *table;
GIOChannel *channel;
@ -48,18 +49,21 @@ read_country_codes (void)
GError *error = NULL;
GIOStatus status;
channel = g_io_channel_new_file (ISO_3166_COUNTRY_CODES, "r", &error);
channel = g_io_channel_new_file (country_codes, "r", &error);
if (!channel) {
if (error) {
g_warning ("Could not read " ISO_3166_COUNTRY_CODES ": %s", error->message);
g_warning ("Could not read %s: %s", country_codes, error->message);
g_error_free (error);
} else
g_warning ("Could not read " ISO_3166_COUNTRY_CODES ": Unknown error");
g_warning ("Could not read %s: Unknown error", country_codes);
return NULL;
}
table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
table = g_hash_table_new_full (g_str_hash,
g_str_equal,
g_free,
(GDestroyNotify)shell_country_mobile_provider_unref);
buffer = g_string_sized_new (32);
status = G_IO_STATUS_NORMAL;
@ -69,6 +73,7 @@ read_country_codes (void)
switch (status) {
case G_IO_STATUS_NORMAL:
if (buffer->str[0] != '#') {
ShellCountryMobileProvider *country_provider;
char **pieces;
pieces = g_strsplit (buffer->str, "\t", 2);
@ -80,7 +85,8 @@ read_country_codes (void)
pieces[1] = g_strdup (_("United Kingdom"));
}
g_hash_table_insert (table, pieces[0], pieces[1]);
country_provider = country_mobile_provider_new (pieces[0], pieces[1]);
g_hash_table_insert (table, pieces[0], country_provider);
g_free (pieces);
}
@ -117,7 +123,6 @@ typedef enum {
} MobileContextState;
typedef struct {
GHashTable *country_codes;
GHashTable *table;
char *current_country;
@ -276,6 +281,86 @@ shell_mobile_provider_get_type (void)
return type;
}
static ShellCountryMobileProvider *
country_mobile_provider_new (const char *country_code,
const gchar *country_name)
{
ShellCountryMobileProvider *country_provider;
country_provider = g_slice_new0 (ShellCountryMobileProvider);
country_provider->refs = 1;
country_provider->country_code = g_strdup (country_code);
country_provider->country_name = g_strdup (country_name);
return country_provider;
}
ShellCountryMobileProvider *
shell_country_mobile_provider_ref (ShellCountryMobileProvider *country_provider)
{
country_provider->refs++;
return country_provider;
}
void
shell_country_mobile_provider_unref (ShellCountryMobileProvider *country_provider)
{
if (--country_provider->refs == 0) {
g_free (country_provider->country_code);
g_free (country_provider->country_name);
g_slist_free_full (country_provider->providers,
(GDestroyNotify) shell_mobile_provider_unref);
g_slice_free (ShellCountryMobileProvider, country_provider);
}
}
/**
* shell_country_mobile_provider_get_country_code:
*
* Returns: (transfer none): the code of the country.
*/
const gchar *
shell_country_mobile_provider_get_country_code (ShellCountryMobileProvider *country_provider)
{
return country_provider->country_code;
}
/**
* shell_country_mobile_provider_get_country_name:
*
* Returns: (transfer none): the name of the country.
*/
const gchar *
shell_country_mobile_provider_get_country_name (ShellCountryMobileProvider *country_provider)
{
return country_provider->country_name;
}
/**
* shell_country_mobile_provider_get_providers:
*
* Returns: (element-type Shell.MobileProvider) (transfer none): the
* list of #ShellMobileProvider this country exposes.
*/
GSList *
shell_country_mobile_provider_get_providers (ShellCountryMobileProvider *country_provider)
{
return country_provider->providers;
}
GType
shell_country_mobile_provider_get_type (void)
{
static GType type = 0;
if (G_UNLIKELY (type == 0)) {
type = g_boxed_type_register_static ("ShellCountryMobileProvider",
(GBoxedCopyFunc) shell_country_mobile_provider_ref,
(GBoxedFreeFunc) shell_country_mobile_provider_unref);
}
return type;
}
static void
provider_list_free (gpointer data)
{
@ -310,15 +395,17 @@ parser_toplevel_start (MobileParser *parser,
for (i = 0; attribute_names && attribute_names[i]; i++) {
if (!strcmp (attribute_names[i], "code")) {
char *country_code;
char *country;
ShellCountryMobileProvider *country_provider;
country_code = g_ascii_strup (attribute_values[i], -1);
country = g_hash_table_lookup (parser->country_codes, country_code);
if (country) {
parser->current_country = g_strdup (country);
g_free (country_code);
} else
parser->current_country = country_code;
country_provider = g_hash_table_lookup (parser->table, country_code);
/* Ensure we have a country provider for this country code */
if (!country_provider) {
g_warning ("%s: adding providers for unknown country '%s'", __func__, country_code);
country_provider = country_mobile_provider_new (country_code, NULL);
g_hash_table_insert (parser->table, country_code, country_provider);
}
parser->current_country = country_code;
parser->state = PARSER_COUNTRY;
break;
@ -455,7 +542,13 @@ parser_country_end (MobileParser *parser,
const char *name)
{
if (!strcmp (name, "country")) {
g_hash_table_insert (parser->table, parser->current_country, parser->current_providers);
ShellCountryMobileProvider *country_provider;
country_provider = g_hash_table_lookup (parser->table, parser->current_country);
if (country_provider)
/* Store providers for this country */
country_provider->providers = parser->current_providers;
parser->current_country = NULL;
parser->current_providers = NULL;
parser->text_buffer = NULL;
@ -616,15 +709,16 @@ static const GMarkupParser mobile_parser = {
/**
* shell_mobile_providers_parse:
* @out_ccs: (out) (allow-none): (element-type utf8 utf8): a #GHashTable containing
* country codes
* @country_codes: (allow-none) File with the list of country codes.
* @service_providers: (allow-none) File with the list of service providers.
*
* Returns: (element-type utf8 GList) (transfer container): a
* hash table where keys are country names #gchar, values are a #GSList
* of #ShellMobileProvider. Everything is destroyed with g_hash_table_destroy().
*/
* Returns: (element-type utf8 Shell.CountryMobileProvider) (transfer full): a
* hash table where keys are country names #gchar and values are #ShellCountryMobileProvider.
* Everything is destroyed with g_hash_table_destroy().
*/
GHashTable *
shell_mobile_providers_parse (GHashTable **out_ccs)
shell_mobile_providers_parse (const gchar *country_codes,
const gchar *service_providers)
{
GMarkupParseContext *ctx;
GIOChannel *channel;
@ -634,24 +728,29 @@ shell_mobile_providers_parse (GHashTable **out_ccs)
GIOStatus status;
gsize len = 0;
/* Use default paths if none given */
if (!country_codes)
country_codes = ISO_3166_COUNTRY_CODES;
if (!service_providers)
service_providers = MOBILE_BROADBAND_PROVIDER_INFO;
memset (&parser, 0, sizeof (MobileParser));
parser.country_codes = read_country_codes ();
if (!parser.country_codes)
parser.table = read_country_codes (country_codes);
if (!parser.table)
goto out;
channel = g_io_channel_new_file (MOBILE_BROADBAND_PROVIDER_INFO, "r", &error);
channel = g_io_channel_new_file (service_providers, "r", &error);
if (!channel) {
if (error) {
g_warning ("Could not read " MOBILE_BROADBAND_PROVIDER_INFO ": %s", error->message);
g_warning ("Could not read %s: %s", service_providers, error->message);
g_error_free (error);
} else
g_warning ("Could not read " MOBILE_BROADBAND_PROVIDER_INFO ": Unknown error");
g_warning ("Could not read %s: Unknown error", service_providers);
goto out;
}
parser.table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, provider_list_free);
parser.state = PARSER_TOPLEVEL;
ctx = g_markup_parse_context_new (&mobile_parser, 0, &parser, NULL);
@ -696,13 +795,7 @@ shell_mobile_providers_parse (GHashTable **out_ccs)
g_free (parser.current_country);
g_free (parser.text_buffer);
out:
if (parser.country_codes) {
if (out_ccs)
*out_ccs = parser.country_codes;
else
g_hash_table_destroy (parser.country_codes);
}
out:
return parser.table;
}
@ -744,12 +837,17 @@ dump_gsm (ShellMobileAccessMethod *method)
static void
dump_country (gpointer key, gpointer value, gpointer user_data)
{
GSList *citer, *miter;
GSList *miter, *citer;
ShellCountryMobileProvider *country_provider = value;
for (citer = value; citer; citer = g_slist_next (citer)) {
g_print ("Country: %s (%s)\n",
country_provider->country_code,
country_provider->country_name);
for (citer = country_provider->providers; citer; citer = g_slist_next (citer)) {
ShellMobileProvider *provider = citer->data;
g_print ("Provider: %s (%s)\n", provider->name, (const char *) key);
g_print (" Provider: %s (%s)\n", provider->name, (const char *) key);
for (miter = provider->methods; miter; miter = g_slist_next (miter)) {
ShellMobileAccessMethod *method = miter->data;
GSList *liter;
@ -779,10 +877,10 @@ dump_country (gpointer key, gpointer value, gpointer user_data)
}
void
shell_mobile_providers_dump (GHashTable *providers)
shell_mobile_providers_dump (GHashTable *country_providers)
{
g_return_if_fail (providers != NULL);
g_hash_table_foreach (providers, dump_country, NULL);
g_return_if_fail (country_providers != NULL);
g_hash_table_foreach (country_providers, dump_country, NULL);
}
/* All the following don't exist in nm-applet, because C doesn't need

View File

@ -76,10 +76,19 @@ typedef struct {
gint refs;
} ShellMobileProvider;
typedef struct {
char *country_code;
char *country_name;
GSList *providers;
gint refs;
} ShellCountryMobileProvider;
GType shell_gsm_mcc_mnc_get_type (void); /* added in porting */
GType shell_mobile_provider_get_type (void);
GType shell_mobile_access_method_get_type (void);
GType shell_mobile_provider_get_type (void);
GType shell_country_mobile_provider_get_type (void);
ShellMobileProvider *shell_mobile_provider_ref (ShellMobileProvider *provider);
void shell_mobile_provider_unref (ShellMobileProvider *provider);
@ -89,8 +98,14 @@ GSList * shell_mobile_provider_get_cdma_sid (ShellMobileProvider *pr
ShellMobileAccessMethod *shell_mobile_access_method_ref (ShellMobileAccessMethod *method);
void shell_mobile_access_method_unref (ShellMobileAccessMethod *method);
GHashTable *shell_mobile_providers_parse (GHashTable **out_ccs);
ShellCountryMobileProvider *shell_country_mobile_provider_ref (ShellCountryMobileProvider *country_provider);
void shell_country_mobile_provider_unref (ShellCountryMobileProvider *country_provider);
const gchar *shell_country_mobile_provider_get_country_code (ShellCountryMobileProvider *country_provider);
const gchar *shell_country_mobile_provider_get_country_name (ShellCountryMobileProvider *country_provider);
GSList *shell_country_mobile_provider_get_providers (ShellCountryMobileProvider *country_provider);
void shell_mobile_providers_dump (GHashTable *providers);
GHashTable *shell_mobile_providers_parse (const gchar *country_codes,
const gchar *service_providers);
void shell_mobile_providers_dump (GHashTable *country_providers);
#endif /* SHELL_MOBILE_PROVIDERS_H */

View File

@ -11,9 +11,11 @@
#define GST_USE_UNSTABLE_API
#include <gst/gst.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include "shell-recorder-src.h"
#include "shell-recorder.h"
#include "shell-screen-grabber.h"
#include <clutter/x11/clutter-x11.h>
#include <X11/extensions/Xfixes.h>
@ -46,7 +48,7 @@ struct _ShellRecorder {
int stage_width;
int stage_height;
ShellScreenGrabber *grabber;
GdkScreen *gdk_screen;
gboolean have_pointer;
int pointer_x;
@ -65,7 +67,7 @@ struct _ShellRecorder {
int framerate;
char *pipeline_description;
char *filename;
char *file_template;
/* We might have multiple pipelines that are finishing encoding
* to go along with the current pipeline where we are recording.
@ -90,6 +92,7 @@ struct _RecorderPipeline
GstElement *pipeline;
GstElement *src;
int outfile;
char *filename;
};
static void recorder_set_stage (ShellRecorder *recorder,
@ -98,8 +101,8 @@ static void recorder_set_framerate (ShellRecorder *recorder,
int framerate);
static void recorder_set_pipeline (ShellRecorder *recorder,
const char *pipeline);
static void recorder_set_filename (ShellRecorder *recorder,
const char *filename);
static void recorder_set_file_template (ShellRecorder *recorder,
const char *file_template);
static void recorder_pipeline_set_caps (RecorderPipeline *pipeline);
static void recorder_pipeline_closed (RecorderPipeline *pipeline);
@ -109,7 +112,7 @@ enum {
PROP_STAGE,
PROP_FRAMERATE,
PROP_PIPELINE,
PROP_FILENAME
PROP_FILE_TEMPLATE
};
G_DEFINE_TYPE(ShellRecorder, shell_recorder, G_TYPE_OBJECT);
@ -256,11 +259,11 @@ shell_recorder_init (ShellRecorder *recorder)
shell_recorder_src_register ();
recorder->gdk_screen = gdk_screen_get_default ();
recorder->recording_icon = create_recording_icon ();
recorder->memory_target = get_memory_target();
recorder->grabber = shell_screen_grabber_new ();
recorder->state = RECORDER_STATE_CLOSED;
recorder->framerate = DEFAULT_FRAMES_PER_SECOND;
}
@ -269,18 +272,6 @@ static void
shell_recorder_finalize (GObject *object)
{
ShellRecorder *recorder = SHELL_RECORDER (object);
GSList *l;
for (l = recorder->pipelines; l; l = l->next)
{
RecorderPipeline *pipeline = l->data;
/* Remove the back-reference. The pipeline will be freed
* when it finishes. (Or when the process exits, but that's
* out of our control.)
*/
pipeline->recorder = NULL;
}
if (recorder->update_memory_used_timeout)
g_source_remove (recorder->update_memory_used_timeout);
@ -290,9 +281,7 @@ shell_recorder_finalize (GObject *object)
recorder_set_stage (recorder, NULL);
recorder_set_pipeline (recorder, NULL);
recorder_set_filename (recorder, NULL);
g_object_unref (recorder->grabber);
recorder_set_file_template (recorder, NULL);
cogl_handle_unref (recorder->recording_icon);
@ -471,6 +460,12 @@ static void
recorder_draw_buffer_meter (ShellRecorder *recorder)
{
int fill_level;
GdkRectangle primary_monitor;
float rects[16];
gdk_screen_get_monitor_geometry (recorder->gdk_screen,
gdk_screen_get_primary_monitor (recorder->gdk_screen),
&primary_monitor);
recorder_update_memory_used (recorder, FALSE);
@ -485,14 +480,27 @@ recorder_draw_buffer_meter (ShellRecorder *recorder)
fill_level = MIN (60, (recorder->memory_used * 60) / recorder->memory_target);
/* A hollow rectangle filled from the left to fill_level */
cogl_rectangle (recorder->stage_width - 64, recorder->stage_height - 10,
recorder->stage_width - 2, recorder->stage_height - 9);
cogl_rectangle (recorder->stage_width - 64, recorder->stage_height - 9,
recorder->stage_width - (63 - fill_level), recorder->stage_height - 3);
cogl_rectangle (recorder->stage_width - 3, recorder->stage_height - 9,
recorder->stage_width - 2, recorder->stage_height - 3);
cogl_rectangle (recorder->stage_width - 64, recorder->stage_height - 3,
recorder->stage_width - 2, recorder->stage_height - 2);
rects[0] = primary_monitor.x + primary_monitor.width - 64;
rects[1] = primary_monitor.y + primary_monitor.height - 10;
rects[2] = primary_monitor.x + primary_monitor.width - 2;
rects[3] = primary_monitor.y + primary_monitor.height - 9;
rects[4] = primary_monitor.x + primary_monitor.width - 64;
rects[5] = primary_monitor.y + primary_monitor.height - 9;
rects[6] = primary_monitor.x + primary_monitor.width - (63 - fill_level);
rects[7] = primary_monitor.y + primary_monitor.height - 3;
rects[8] = primary_monitor.x + primary_monitor.width - 3;
rects[9] = primary_monitor.y + primary_monitor.height - 9;
rects[10] = primary_monitor.x + primary_monitor.width - 2;
rects[11] = primary_monitor.y + primary_monitor.height - 3;
rects[12] = primary_monitor.x + primary_monitor.width - 64;
rects[13] = primary_monitor.y + primary_monitor.height - 3;
rects[14] = primary_monitor.x + primary_monitor.width - 2;
rects[15] = primary_monitor.y + primary_monitor.height - 2;
cogl_rectangles (rects, 4);
}
/* We want to time-stamp each frame based on the actual time it was
@ -542,8 +550,13 @@ recorder_record_frame (ShellRecorder *recorder)
size = recorder->stage_width * recorder->stage_height * 4;
data = shell_screen_grabber_grab (recorder->grabber,
0, 0, recorder->stage_width, recorder->stage_height);
data = g_malloc (recorder->stage_width * 4 * recorder->stage_height);
cogl_read_pixels (0, 0, /* x/y */
recorder->stage_width,
recorder->stage_height,
COGL_READ_PIXELS_COLOR_BUFFER,
CLUTTER_CAIRO_FORMAT_ARGB32,
data);
buffer = gst_buffer_new();
gst_buffer_insert_memory (buffer, -1,
@ -571,12 +584,17 @@ recorder_on_stage_paint (ClutterActor *actor,
{
if (recorder->state == RECORDER_STATE_RECORDING)
{
GdkRectangle primary_monitor;
gdk_screen_get_monitor_geometry (recorder->gdk_screen,
gdk_screen_get_primary_monitor (recorder->gdk_screen),
&primary_monitor);
if (!recorder->only_paint)
recorder_record_frame (recorder);
cogl_set_source_texture (recorder->recording_icon);
cogl_rectangle (recorder->stage_width - 32, recorder->stage_height - 42,
recorder->stage_width, recorder->stage_height - 10);
cogl_rectangle (primary_monitor.x + primary_monitor.width - 32, primary_monitor.y + primary_monitor.height - 42,
primary_monitor.x + primary_monitor.width, primary_monitor.y + primary_monitor.height - 10);
}
if (recorder->state == RECORDER_STATE_RECORDING || recorder->memory_used != 0)
@ -917,22 +935,22 @@ recorder_set_pipeline (ShellRecorder *recorder,
}
static void
recorder_set_filename (ShellRecorder *recorder,
const char *filename)
recorder_set_file_template (ShellRecorder *recorder,
const char *file_template)
{
if (filename == recorder->filename ||
(filename && recorder->filename && strcmp (recorder->filename, filename) == 0))
if (file_template == recorder->file_template ||
(file_template && recorder->file_template && strcmp (recorder->file_template, file_template) == 0))
return;
if (recorder->current_pipeline)
shell_recorder_close (recorder);
if (recorder->filename)
g_free (recorder->filename);
if (recorder->file_template)
g_free (recorder->file_template);
recorder->filename = g_strdup (filename);
recorder->file_template = g_strdup (file_template);
g_object_notify (G_OBJECT (recorder), "filename");
g_object_notify (G_OBJECT (recorder), "file-template");
}
static void
@ -954,8 +972,8 @@ shell_recorder_set_property (GObject *object,
case PROP_PIPELINE:
recorder_set_pipeline (recorder, g_value_get_string (value));
break;
case PROP_FILENAME:
recorder_set_filename (recorder, g_value_get_string (value));
case PROP_FILE_TEMPLATE:
recorder_set_file_template (recorder, g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -982,8 +1000,8 @@ shell_recorder_get_property (GObject *object,
case PROP_PIPELINE:
g_value_set_string (value, recorder->pipeline_description);
break;
case PROP_FILENAME:
g_value_set_string (value, recorder->filename);
case PROP_FILE_TEMPLATE:
g_value_set_string (value, recorder->file_template);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -1027,9 +1045,9 @@ shell_recorder_class_init (ShellRecorderClass *klass)
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
PROP_FILENAME,
g_param_spec_string ("filename",
"Filename",
PROP_FILE_TEMPLATE,
g_param_spec_string ("file-template",
"File Template",
"The filename template to use for output files",
NULL,
G_PARAM_READWRITE));
@ -1149,13 +1167,14 @@ get_absolute_path (char *maybe_relative)
* be opened.
*/
static int
recorder_open_outfile (ShellRecorder *recorder)
recorder_open_outfile (ShellRecorder *recorder,
char **outfilename)
{
const char *pattern;
int flags;
int outfile = -1;
pattern = recorder->filename;
pattern = recorder->file_template;
if (!pattern)
return -1;
@ -1230,8 +1249,12 @@ recorder_open_outfile (ShellRecorder *recorder)
{
g_printerr ("Recording to %s\n", path);
if (outfilename != NULL)
*outfilename = path;
else
g_free (path);
g_string_free (filename, TRUE);
g_free (path);
goto out;
}
@ -1269,7 +1292,8 @@ recorder_pipeline_add_sink (RecorderPipeline *pipeline)
return TRUE;
}
pipeline->outfile = recorder_open_outfile (pipeline->recorder);
pipeline->outfile = recorder_open_outfile (pipeline->recorder,
&pipeline->filename);
if (pipeline->outfile == -1)
goto out;
@ -1344,6 +1368,10 @@ recorder_pipeline_free (RecorderPipeline *pipeline)
if (pipeline->outfile != -1)
close (pipeline->outfile);
g_free (pipeline->filename);
g_clear_object (&pipeline->recorder);
g_free (pipeline);
}
@ -1393,6 +1421,10 @@ recorder_pipeline_closed (RecorderPipeline *pipeline)
if (pipeline->recorder)
{
GtkRecentManager *recent_manager;
GFile *file;
char *uri;
ShellRecorder *recorder = pipeline->recorder;
if (pipeline == recorder->current_pipeline)
{
@ -1401,6 +1433,15 @@ recorder_pipeline_closed (RecorderPipeline *pipeline)
shell_recorder_close (recorder);
}
recent_manager = gtk_recent_manager_get_default ();
file = g_file_new_for_path (pipeline->filename);
uri = g_file_get_uri (file);
gtk_recent_manager_add_item (recent_manager,
uri);
g_free (uri);
g_object_unref (file);
recorder->pipelines = g_slist_remove (recorder->pipelines, pipeline);
}
@ -1452,7 +1493,7 @@ recorder_open_pipeline (ShellRecorder *recorder)
GstBus *bus;
pipeline = g_new0(RecorderPipeline, 1);
pipeline->recorder = recorder;
pipeline->recorder = g_object_ref (recorder);
pipeline->outfile = - 1;
pipeline_description = recorder->pipeline_description;
@ -1555,10 +1596,10 @@ shell_recorder_set_framerate (ShellRecorder *recorder,
}
/**
* shell_recorder_set_filename:
* shell_recorder_set_file_template:
* @recorder: the #ShellRecorder
* @filename: the filename template to use for output files,
* or %NULL for the defalt value.
* @file_template: the filename template to use for output files,
* or %NULL for the defalt value.
*
* Sets the filename that will be used when creating output
* files. This is only used if the configured pipeline has an
@ -1573,12 +1614,12 @@ shell_recorder_set_framerate (ShellRecorder *recorder,
* The default value is 'shell-%d%u-%c.ogg'.
*/
void
shell_recorder_set_filename (ShellRecorder *recorder,
const char *filename)
shell_recorder_set_file_template (ShellRecorder *recorder,
const char *file_template)
{
g_return_if_fail (SHELL_IS_RECORDER (recorder));
recorder_set_filename (recorder, filename);
recorder_set_file_template (recorder, file_template);
}
@ -1593,7 +1634,7 @@ shell_recorder_set_filename (ShellRecorder *recorder,
* should have an unconnected sink pad where the recorded
* video is recorded. It will normally have a unconnected
* source pad; output from that pad will be written into the
* output file. (See shell_recorder_set_filename().) However
* output file. (See shell_recorder_set_file_template().) However
* the pipeline can also take care of its own output - this
* might be used to send the output to an icecast server
* via shout2send or similar.
@ -1689,9 +1730,6 @@ shell_recorder_close (ShellRecorder *recorder)
recorder->repaint_hook_id = 0;
}
recorder_remove_redraw_timeout (recorder);
recorder_close_pipeline (recorder);
recorder->state = RECORDER_STATE_CLOSED;
/* Release the refcount we took when we started recording */

View File

@ -32,8 +32,8 @@ ShellRecorder *shell_recorder_new (ClutterStage *stage);
void shell_recorder_set_framerate (ShellRecorder *recorder,
int framerate);
void shell_recorder_set_filename (ShellRecorder *recorder,
const char *filename);
void shell_recorder_set_file_template (ShellRecorder *recorder,
const char *file_template);
void shell_recorder_set_pipeline (ShellRecorder *recorder,
const char *pipeline);
gboolean shell_recorder_record (ShellRecorder *recorder);

View File

@ -1,219 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include <string.h>
#include <clutter/clutter.h>
#include <cogl/cogl.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glext.h>
#include "shell-screen-grabber.h"
PFNGLBINDBUFFERARBPROC pf_glBindBufferARB;
PFNGLBUFFERDATAARBPROC pf_glBufferDataARB;
PFNGLDELETEBUFFERSARBPROC pf_glDeleteBuffersARB;
PFNGLGENBUFFERSARBPROC pf_glGenBuffersARB;
PFNGLMAPBUFFERARBPROC pf_glMapBufferARB;
PFNGLUNMAPBUFFERARBPROC pf_glUnmapBufferARB;
struct _ShellScreenGrabberClass
{
GObjectClass parent_class;
};
struct _ShellScreenGrabber
{
GObject parent_instance;
int have_pixel_buffers;
int have_pack_invert;
int width, height;
GLuint pixel_buffer;
};
G_DEFINE_TYPE(ShellScreenGrabber, shell_screen_grabber, G_TYPE_OBJECT);
static void
shell_screen_grabber_finalize (GObject *gobject)
{
ShellScreenGrabber *grabber = SHELL_SCREEN_GRABBER (gobject);
if (grabber->pixel_buffer != 0)
pf_glDeleteBuffersARB (1, &grabber->pixel_buffer);
}
static void
shell_screen_grabber_class_init (ShellScreenGrabberClass *grabber_class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (grabber_class);
gobject_class->finalize = shell_screen_grabber_finalize;
}
static void
shell_screen_grabber_init (ShellScreenGrabber *grabber)
{
grabber->have_pixel_buffers = -1;
grabber->width = -1;
grabber->height= -1;
grabber->pixel_buffer = 0;
}
ShellScreenGrabber *
shell_screen_grabber_new (void)
{
return g_object_new (SHELL_TYPE_SCREEN_GRABBER, NULL);
}
/**
* shell_screen_grabber_grab:
* x: X coordinate of the rectangle to grab
* y: Y coordinate of the rectangle to grab
* width: width of the rectangle to grab
* height: heigth of the rectangle to grab
*
* Grabs pixel data from a portion of the screen.
*
* Return value: buffer holding the grabbed data. The data is stored as 32-bit
* words with native-endian xRGB pixels (i.e., the same as CAIRO_FORMAT_RGB24)
* with no padding on the rows. So, the size of the buffer is width * height * 4
* bytes. Free with g_free().
**/
guchar *
shell_screen_grabber_grab (ShellScreenGrabber *grabber,
int x,
int y,
int width,
int height)
{
guchar *data;
gsize row_bytes;
gsize data_size;
row_bytes = width * 4;
data_size = row_bytes * height;
data = g_malloc (data_size);
if (grabber->have_pixel_buffers == -1)
{
const GLubyte* extensions = glGetString (GL_EXTENSIONS);
grabber->have_pixel_buffers = strstr ((const char *)extensions, "GL_EXT_pixel_buffer_object") != NULL;
grabber->have_pack_invert = strstr ((const char *)extensions, "GL_MESA_pack_invert") != NULL;
}
if (grabber->have_pixel_buffers)
{
GLubyte *mapped_data;
GLint old_swap_bytes, old_lsb_first, old_row_length, old_skip_pixels, old_skip_rows, old_alignment;
GLint old_pack_invert = GL_FALSE;
GLint vp_size[4];
guchar *src_row, *dest_row;
int i;
cogl_flush ();
if (pf_glBindBufferARB == NULL)
{
pf_glBindBufferARB = (PFNGLBINDBUFFERARBPROC) cogl_get_proc_address ("glBindBufferARB");
pf_glBufferDataARB = (PFNGLBUFFERDATAARBPROC) cogl_get_proc_address ("glBufferDataARB");
pf_glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC) cogl_get_proc_address ("glDeleteBuffersARB");
pf_glGenBuffersARB = (PFNGLGENBUFFERSARBPROC) cogl_get_proc_address ("glGenBuffersARB");
pf_glMapBufferARB = (PFNGLMAPBUFFERARBPROC) cogl_get_proc_address ("glMapBufferARB");
pf_glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC) cogl_get_proc_address ("glUnmapBufferARB");
}
glGetIntegerv (GL_PACK_SWAP_BYTES, &old_swap_bytes);
glGetIntegerv (GL_PACK_LSB_FIRST, &old_lsb_first);
glGetIntegerv (GL_PACK_ROW_LENGTH, &old_row_length);
glGetIntegerv (GL_PACK_SKIP_PIXELS, &old_skip_pixels);
glGetIntegerv (GL_PACK_SKIP_ROWS, &old_skip_rows);
glGetIntegerv (GL_PACK_ALIGNMENT, &old_alignment);
glPixelStorei (GL_PACK_SWAP_BYTES, GL_FALSE);
glPixelStorei (GL_PACK_LSB_FIRST, GL_FALSE);
glPixelStorei (GL_PACK_ROW_LENGTH, 0);
glPixelStorei (GL_PACK_SKIP_PIXELS, 0);
glPixelStorei (GL_PACK_SKIP_ROWS, 0);
glPixelStorei (GL_PACK_ALIGNMENT, 1);
if (grabber->have_pack_invert)
{
glGetIntegerv (GL_PACK_INVERT_MESA, &old_pack_invert);
glPixelStorei (GL_PACK_INVERT_MESA, GL_FALSE);
}
if (grabber->pixel_buffer != 0 &&
(grabber->width != width ||
grabber->height != height))
{
pf_glDeleteBuffersARB (1, &grabber->pixel_buffer);
grabber->pixel_buffer = 0;
}
if (grabber->pixel_buffer == 0)
{
pf_glGenBuffersARB (1, &grabber->pixel_buffer);
pf_glBindBufferARB (GL_PIXEL_PACK_BUFFER_ARB, grabber->pixel_buffer);
pf_glBufferDataARB (GL_PIXEL_PACK_BUFFER_ARB, data_size, 0, GL_STREAM_READ_ARB);
grabber->width = width;
grabber->height = height;
}
else
{
pf_glBindBufferARB (GL_PIXEL_PACK_BUFFER_ARB, grabber->pixel_buffer);
}
/* In OpenGL, (x,y) specifies the bottom-left corner rather than the
* top-left */
glGetIntegerv (GL_VIEWPORT, vp_size);
y = vp_size[3] - (y + height);
/* the "big-endian" version actually works for both, but the litle-endian
* version has been better tested with a range of drivers, so we'll
* keep on using it on little-endian.
*/
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
glReadPixels (x, y, width, height, GL_BGRA, GL_UNSIGNED_BYTE, 0);
#else
glReadPixels (x, y, width, height, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, 0);
#endif
mapped_data = pf_glMapBufferARB (GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY_ARB);
src_row = mapped_data + (height - 1) * row_bytes;
dest_row = data;
for (i = 0; i < height; i++)
{
memcpy (dest_row, src_row, row_bytes);
src_row -= row_bytes;
dest_row += row_bytes;
}
pf_glUnmapBufferARB (GL_PIXEL_PACK_BUFFER_ARB);
pf_glBindBufferARB (GL_PIXEL_PACK_BUFFER_ARB, 0);
glPixelStorei (GL_PACK_SWAP_BYTES, old_swap_bytes);
glPixelStorei (GL_PACK_LSB_FIRST, old_lsb_first);
glPixelStorei (GL_PACK_ROW_LENGTH, old_row_length);
glPixelStorei (GL_PACK_SKIP_PIXELS, old_skip_pixels);
glPixelStorei (GL_PACK_SKIP_ROWS, old_skip_rows);
glPixelStorei (GL_PACK_ALIGNMENT, old_alignment);
if (grabber->have_pack_invert)
glPixelStorei (GL_PACK_INVERT_MESA, old_pack_invert);
}
else
{
cogl_read_pixels (x, y,
width, height,
COGL_READ_PIXELS_COLOR_BUFFER,
CLUTTER_CAIRO_FORMAT_ARGB32,
data);
}
return data;
}

View File

@ -1,44 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#ifndef __SHELL_SCREEN_GRABBER_H__
#define __SHELL_SCREEN_GRABBER_H__
#include <glib-object.h>
G_BEGIN_DECLS
/**
* SECTION:shell-screen-grabber
* @short_description: Grab pixel data from the screen
*
* The #ShellScreenGrabber object is used to download previous drawn
* content to the screen. It internally uses pixel-buffer objects if
* available, otherwise falls back to cogl_read_pixels().
*
* If you are repeatedly grabbing images of the same size from the
* screen, it makes sense to create one #ShellScreenGrabber and keep
* it around. Otherwise, it's fine to simply create one as needed and
* then get rid of it.
*/
typedef struct _ShellScreenGrabber ShellScreenGrabber;
typedef struct _ShellScreenGrabberClass ShellScreenGrabberClass;
#define SHELL_TYPE_SCREEN_GRABBER (shell_screen_grabber_get_type ())
#define SHELL_SCREEN_GRABBER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_SCREEN_GRABBER, ShellScreenGrabber))
#define SHELL_SCREEN_GRABBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_SCREEN_GRABBER, ShellScreenGrabberClass))
#define SHELL_IS_SCREEN_GRABBER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_SCREEN_GRABBER))
#define SHELL_IS_SCREEN_GRABBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_SCREEN_GRABBER))
#define SHELL_SCREEN_GRABBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_SCREEN_GRABBER, ShellScreenGrabberClass))
GType shell_screen_grabber_get_type (void) G_GNUC_CONST;
ShellScreenGrabber *shell_screen_grabber_new (void);
guchar * shell_screen_grabber_grab (ShellScreenGrabber *grabber,
int x,
int y,
int width,
int height);
G_END_DECLS
#endif /* __SHELL_SCREEN_GRABBER_H__ */

View File

@ -1,5 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#define COGL_ENABLE_EXPERIMENTAL_API
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#include <X11/extensions/Xfixes.h>
#include <clutter/x11/clutter-x11.h>
#include <clutter/clutter.h>
@ -10,7 +13,6 @@
#include <meta/meta-shaped-texture.h>
#include "shell-global.h"
#include "shell-screen-grabber.h"
#include "shell-screenshot.h"
struct _ShellScreenshotClass
@ -90,18 +92,33 @@ do_grab_screenshot (_screenshot_data *screenshot_data,
int width,
int height)
{
ShellScreenGrabber *grabber;
static const cairo_user_data_key_t key;
CoglBitmap *bitmap;
ClutterBackend *backend;
CoglContext *context;
int stride;
guchar *data;
grabber = shell_screen_grabber_new ();
data = shell_screen_grabber_grab (grabber, x, y, width, height);
g_object_unref (grabber);
backend = clutter_get_default_backend ();
context = clutter_backend_get_cogl_context (backend);
screenshot_data->image = cairo_image_surface_create_for_data (data, CAIRO_FORMAT_RGB24,
width, height, width * 4);
cairo_surface_set_user_data (screenshot_data->image, &key,
data, (cairo_destroy_func_t)g_free);
screenshot_data->image = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
width, height);
data = cairo_image_surface_get_data (screenshot_data->image);
stride = cairo_image_surface_get_stride (screenshot_data->image);
bitmap = cogl_bitmap_new_for_data (context,
width,
height,
CLUTTER_CAIRO_FORMAT_ARGB32,
stride,
data);
cogl_framebuffer_read_pixels_into_bitmap (cogl_get_draw_framebuffer (),
x, y,
COGL_READ_PIXELS_COLOR_BUFFER,
bitmap);
cogl_object_unref (bitmap);
}
static void

View File

@ -35,6 +35,9 @@ void _shell_wm_kill_window_effects (ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_kill_switch_workspace (ShellWM *wm);
gboolean _shell_wm_filter_keybinding (ShellWM *wm,
MetaKeyBinding *binding);
G_END_DECLS
#endif /* __SHELL_WM_PRIVATE_H__ */

View File

@ -26,6 +26,7 @@ enum
SWITCH_WORKSPACE,
KILL_SWITCH_WORKSPACE,
KILL_WINDOW_EFFECTS,
FILTER_KEYBINDING,
LAST_SIGNAL
};
@ -115,6 +116,14 @@ shell_wm_class_init (ShellWMClass *klass)
NULL, NULL, NULL,
G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR);
shell_wm_signals[FILTER_KEYBINDING] =
g_signal_new ("filter-keybinding",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
g_signal_accumulator_true_handled, NULL, NULL,
G_TYPE_BOOLEAN, 1,
META_TYPE_KEY_BINDING);
}
void
@ -267,6 +276,17 @@ _shell_wm_destroy (ShellWM *wm,
g_signal_emit (wm, shell_wm_signals[DESTROY], 0, actor);
}
gboolean
_shell_wm_filter_keybinding (ShellWM *wm,
MetaKeyBinding *binding)
{
gboolean rv;
g_signal_emit (wm, shell_wm_signals[FILTER_KEYBINDING], 0, binding, &rv);
return rv;
}
/**
* shell_wm_new:
* @plugin: the #MetaPlugin

View File

@ -65,6 +65,10 @@
#include "st-clipboard.h"
#include "st-private.h"
#include <clutter/x11/clutter-x11.h>
#include <X11/Xlib.h>
#include <X11/cursorfont.h>
#include "st-widget-accessible.h"
#define HAS_FOCUS(actor) (clutter_actor_get_stage (actor) && clutter_stage_get_key_focus ((ClutterStage *) clutter_actor_get_stage (actor)) == actor)
@ -613,6 +617,38 @@ st_entry_key_focus_in (ClutterActor *actor)
clutter_actor_grab_key_focus (priv->entry);
}
static void
st_entry_set_cursor (StEntry *entry,
gboolean use_ibeam)
{
Display *dpy;
ClutterActor *stage, *actor = CLUTTER_ACTOR (entry);
Window wid;
static Cursor ibeam = None;
dpy = clutter_x11_get_default_display ();
stage = clutter_actor_get_stage (actor);
wid = clutter_x11_get_stage_window (CLUTTER_STAGE (stage));
if (ibeam == None)
ibeam = XCreateFontCursor (dpy, XC_xterm);
if (use_ibeam)
XDefineCursor (dpy, wid, ibeam);
else
XUndefineCursor (dpy, wid);
}
static gboolean
st_entry_crossing_event (ClutterActor *actor,
ClutterCrossingEvent *event)
{
if (event->source == ST_ENTRY (actor)->priv->entry && event->related != NULL)
st_entry_set_cursor (ST_ENTRY (actor), (event->type == CLUTTER_ENTER));
return FALSE;
}
static void
st_entry_class_init (StEntryClass *klass)
{
@ -635,6 +671,9 @@ st_entry_class_init (StEntryClass *klass)
actor_class->key_press_event = st_entry_key_press_event;
actor_class->key_focus_in = st_entry_key_focus_in;
actor_class->enter_event = st_entry_crossing_event;
actor_class->leave_event = st_entry_crossing_event;
widget_class->style_changed = st_entry_style_changed;
widget_class->navigate_focus = st_entry_navigate_focus;
widget_class->get_accessible_type = st_entry_accessible_get_type;

View File

@ -42,6 +42,9 @@ struct _StTextureCachePrivate
/* Presently this is used to de-duplicate requests for GIcons and async URIs. */
GHashTable *outstanding_requests; /* char * -> AsyncTextureLoadData * */
/* File monitors to evict cache data on changes */
GHashTable *file_monitors; /* char * -> GFileMonitor * */
};
static void st_texture_cache_dispose (GObject *object);
@ -50,6 +53,7 @@ static void st_texture_cache_finalize (GObject *object);
enum
{
ICON_THEME_CHANGED,
TEXTURE_FILE_CHANGED,
LAST_SIGNAL
};
@ -92,33 +96,14 @@ st_texture_cache_class_init (StTextureCacheClass *klass)
0, /* no default handler slot */
NULL, NULL, NULL,
G_TYPE_NONE, 0);
}
/**
* st_texture_cache_clear_uri:
* @cache: A #StTextureCache
* @uri: URI of cached object
*
* If the given @uri is known to have been modified
* externally, this function may be used to invalidate
* the in-memory cache.
*/
void
st_texture_cache_clear_uri (StTextureCache *cache,
const char *uri)
{
char *key;
g_return_if_fail (ST_IS_TEXTURE_CACHE (cache));
g_return_if_fail (uri != NULL);
key = g_strconcat (CACHE_PREFIX_URI, uri, NULL);
g_hash_table_remove (cache->priv->keyed_cache, key);
g_free (key);
key = g_strconcat (CACHE_PREFIX_URI_FOR_CAIRO, uri, NULL);
g_hash_table_remove (cache->priv->keyed_cache, key);
g_free (key);
signals[TEXTURE_FILE_CHANGED] =
g_signal_new ("texture-file-changed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, /* no default handler slot */
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_STRING);
}
/* Evicts all cached textures for named icons */
@ -164,6 +149,9 @@ st_texture_cache_init (StTextureCache *self)
g_free, cogl_handle_unref);
self->priv->outstanding_requests = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
self->priv->file_monitors = g_hash_table_new_full (g_str_hash, g_str_equal,
g_object_unref, g_object_unref);
}
static void
@ -179,13 +167,9 @@ st_texture_cache_dispose (GObject *object)
self->priv->icon_theme = NULL;
}
if (self->priv->keyed_cache)
g_hash_table_destroy (self->priv->keyed_cache);
self->priv->keyed_cache = NULL;
if (self->priv->outstanding_requests)
g_hash_table_destroy (self->priv->outstanding_requests);
self->priv->outstanding_requests = NULL;
g_clear_pointer (&self->priv->keyed_cache, g_hash_table_destroy);
g_clear_pointer (&self->priv->outstanding_requests, g_hash_table_destroy);
g_clear_pointer (&self->priv->file_monitors, g_hash_table_destroy);
G_OBJECT_CLASS (st_texture_cache_parent_class)->dispose (object);
}
@ -1039,10 +1023,58 @@ load_from_pixbuf (GdkPixbuf *pixbuf)
return CLUTTER_ACTOR (texture);
}
static void
file_changed_cb (GFileMonitor *monitor,
GFile *file,
GFile *other,
GFileMonitorEvent event_type,
gpointer user_data)
{
StTextureCache *cache = user_data;
char *uri, *key;
if (event_type != G_FILE_MONITOR_EVENT_CHANGED)
return;
uri = g_file_get_uri (file);
key = g_strconcat (CACHE_PREFIX_URI, uri, NULL);
g_hash_table_remove (cache->priv->keyed_cache, key);
g_free (key);
key = g_strconcat (CACHE_PREFIX_URI_FOR_CAIRO, uri, NULL);
g_hash_table_remove (cache->priv->keyed_cache, key);
g_free (key);
g_signal_emit (cache, signals[TEXTURE_FILE_CHANGED], 0, uri);
g_free (uri);
}
static void
ensure_monitor_for_uri (StTextureCache *cache,
const gchar *uri)
{
StTextureCachePrivate *priv = cache->priv;
GFile *file = g_file_new_for_uri (uri);
if (g_hash_table_lookup (priv->file_monitors, uri) == NULL)
{
GFileMonitor *monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE,
NULL, NULL);
g_signal_connect (monitor, "changed",
G_CALLBACK (file_changed_cb), cache);
g_hash_table_insert (priv->file_monitors, g_strdup (uri), monitor);
}
g_object_unref (file);
}
typedef struct {
gchar *path;
gint grid_width, grid_height;
ClutterActor *actor;
GFunc load_callback;
gpointer load_callback_data;
} AsyncImageData;
static void
@ -1059,6 +1091,7 @@ on_sliced_image_loaded (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
GObject *cache = source_object;
AsyncImageData *data = (AsyncImageData *)user_data;
GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
GList *list;
@ -1072,6 +1105,9 @@ on_sliced_image_loaded (GObject *source_object,
clutter_actor_hide (actor);
clutter_actor_add_child (data->actor, actor);
}
if (data->load_callback != NULL)
data->load_callback (cache, data->load_callback_data);
}
static void
@ -1126,6 +1162,8 @@ load_sliced_image (GSimpleAsyncResult *result,
* @path: Path to a filename
* @grid_width: Width in pixels
* @grid_height: Height in pixels
* @load_callback: (scope async) (allow-none): Function called when the image is loaded, or %NULL
* @user_data: Data to pass to the load callback
*
* This function reads a single image file which contains multiple images internally.
* The image file will be divided using @grid_width and @grid_height;
@ -1135,10 +1173,12 @@ load_sliced_image (GSimpleAsyncResult *result,
* Returns: (transfer none): A new #ClutterActor
*/
ClutterActor *
st_texture_cache_load_sliced_image (StTextureCache *cache,
const gchar *path,
gint grid_width,
gint grid_height)
st_texture_cache_load_sliced_image (StTextureCache *cache,
const gchar *path,
gint grid_width,
gint grid_height,
GFunc load_callback,
gpointer user_data)
{
AsyncImageData *data;
GSimpleAsyncResult *result;
@ -1149,6 +1189,8 @@ st_texture_cache_load_sliced_image (StTextureCache *cache,
data->grid_height = grid_height;
data->path = g_strdup (path);
data->actor = actor;
data->load_callback = load_callback;
data->load_callback_data = user_data;
g_object_ref (G_OBJECT (actor));
result = g_simple_async_result_new (G_OBJECT (cache), on_sliced_image_loaded, data, st_texture_cache_load_sliced_image);
@ -1161,41 +1203,6 @@ st_texture_cache_load_sliced_image (StTextureCache *cache,
return actor;
}
/**
* st_texture_cache_load_icon_name:
* @cache: The texture cache instance
* @theme_node: (allow-none): a #StThemeNode
* @name: Name of a themed icon
* @size: Size of themed icon
*
* Load a themed icon into a texture. The colors used for symbolic
* icons are derived from @theme_node.
*
* Return Value: (transfer none): A new #ClutterTexture for the icon
*/
ClutterActor *
st_texture_cache_load_icon_name (StTextureCache *cache,
StThemeNode *theme_node,
const char *name,
gint size)
{
ClutterActor *texture;
GIcon *themed;
themed = g_themed_icon_new_with_default_fallbacks (name);
texture = load_gicon_with_colors (cache, themed, size,
theme_node ? st_theme_node_get_icon_colors (theme_node) : NULL);
g_object_unref (themed);
if (texture == NULL)
{
texture = (ClutterActor *) create_default_texture ();
clutter_actor_set_size (texture, size, size);
}
return texture;
}
/**
* st_texture_cache_load_uri_async:
* @cache: The texture cache instance
@ -1246,6 +1253,8 @@ st_texture_cache_load_uri_async (StTextureCache *cache,
load_texture_async (cache, request);
}
ensure_monitor_for_uri (cache, uri);
return CLUTTER_ACTOR (texture);
}
@ -1283,6 +1292,8 @@ st_texture_cache_load_uri_sync_to_cogl_texture (StTextureCache *cache,
else
cogl_handle_ref (texdata);
ensure_monitor_for_uri (cache, uri);
out:
g_free (key);
return texdata;
@ -1322,6 +1333,8 @@ st_texture_cache_load_uri_sync_to_cairo_surface (StTextureCache *cache,
else
cairo_surface_reference (surface);
ensure_monitor_for_uri (cache, uri);
out:
g_free (key);
return surface;

View File

@ -68,24 +68,18 @@ GType st_texture_cache_get_type (void) G_GNUC_CONST;
StTextureCache* st_texture_cache_get_default (void);
void st_texture_cache_clear_uri (StTextureCache *cache,
const gchar *uri);
ClutterActor *
st_texture_cache_load_sliced_image (StTextureCache *cache,
const gchar *path,
gint grid_width,
gint grid_height);
st_texture_cache_load_sliced_image (StTextureCache *cache,
const gchar *path,
gint grid_width,
gint grid_height,
GFunc load_callback,
gpointer user_data);
ClutterActor *st_texture_cache_bind_pixbuf_property (StTextureCache *cache,
GObject *object,
const char *property_name);
ClutterActor *st_texture_cache_load_icon_name (StTextureCache *cache,
StThemeNode *theme_node,
const char *name,
gint size);
ClutterActor *st_texture_cache_load_gicon (StTextureCache *cache,
StThemeNode *theme_node,
GIcon *icon,

View File

@ -31,6 +31,9 @@ struct _StThemeContext {
PangoFontDescription *font;
StThemeNode *root_node;
StTheme *theme;
/* set of StThemeNode */
GHashTable *nodes;
};
struct _StThemeContextClass {
@ -66,6 +69,8 @@ st_theme_context_finalize (GObject *object)
(gpointer) st_theme_context_changed,
context);
if (context->nodes)
g_hash_table_unref (context->nodes);
if (context->root_node)
g_object_unref (context->root_node);
if (context->theme)
@ -105,6 +110,10 @@ st_theme_context_init (StThemeContext *context)
"resolution-changed",
G_CALLBACK (st_theme_context_changed),
context);
context->nodes = g_hash_table_new_full ((GHashFunc) st_theme_node_hash,
(GEqualFunc) st_theme_node_equal,
g_object_unref, NULL);
}
/**
@ -146,6 +155,7 @@ st_theme_context_changed (StThemeContext *context)
{
StThemeNode *old_root = context->root_node;
context->root_node = NULL;
g_hash_table_remove_all (context->nodes);
emit_changed (context);
@ -299,3 +309,27 @@ st_theme_context_get_root_node (StThemeContext *context)
return context->root_node;
}
/**
* st_theme_context_intern_node:
* @context: a #StThemeContext
* @node: a #StThemeNode
*
* Return an existing node matching @node, or if that isn't possible,
* @node itself.
*
* Return value: (transfer none): a node with the same properties as @node
*/
StThemeNode *
st_theme_context_intern_node (StThemeContext *context,
StThemeNode *node)
{
StThemeNode *mine = g_hash_table_lookup (context->nodes, node);
/* this might be node or not - it doesn't actually matter */
if (mine != NULL)
return mine;
g_hash_table_add (context->nodes, g_object_ref (node));
return node;
}

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