Compare commits

...

245 Commits

Author SHA1 Message Date
06febdce22 Bump version to 3.5.2
Update NEWS
Require Mutter 3.5.2
2012-06-05 22:08:07 +02:00
c31d9d5e3d a11y: do not expose a label text if 'hidden' style class is used
https://bugzilla.gnome.org/show_bug.cgi?id=675341
2012-06-05 18:12:41 +02:00
cda8a545f1 css: add a 'hidden' style class
Used for elements that are not supposed to be shown.

https://bugzilla.gnome.org/show_bug.cgi?id=675341
2012-06-05 18:12:41 +02:00
f850e92524 popupMenu: do not overflow the currentItems
Do not overflow currentItems array. If the Menu section is filled
via model items-changed callback the position in the model passed to
the RemoteMenu _modelChanged can be a to be added asynchronously
action-added. Thus the item does not yet exists in the currentItems.

https://bugzilla.gnome.org/show_bug.cgi?id=676447
2012-06-05 16:28:40 +02:00
cc9d53e038 popupMenu: bypass changeSignal callback if action is already handled
https://bugzilla.gnome.org/show_bug.cgi?id=676447
2012-06-05 16:28:40 +02:00
7b048fc092 endSessionDialog: Factor out _updateDescription from _updateContent
_startTimer adds a tweener to implement the description countdown, which
updates the entire content on each iteration, including the icon. This
causes a significant impact on performance, especially when accessibility
is enabled, as it causes a flood of AtkObject:state-change:showing events.
As the countdown only affects the description, factor out _updateDescription
and use it in _startTimer, and only do a full update of all contents when
necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=674210
2012-06-05 15:57:18 +02:00
4ba4a501fd Updated Spanish translation 2012-06-03 17:57:30 +02:00
2b2cce6896 Updated Galician translations 2012-06-03 15:02:43 +02:00
c1f51a7bf3 searchDisplay: Use the rowLimit we pass to the IconGrid
When displaying children, we need to make sure that we use the rowLimit
property that we pass to iconGrid, rather than assuming that it's
always MAX_SEARCH_RESULTS_ROWS in case some subclass (in an extension maybe)
wants to do something different.

https://bugzilla.gnome.org/show_bug.cgi?id=675527
2012-06-03 01:32:29 -04:00
465556f0d8 Updated Galician translations 2012-06-03 02:39:58 +02:00
db7ac5208a Patch for bug https://bugzilla.gnome.org/show_bug.cgi?id=673630 2012-06-02 15:45:55 +03:00
cfcd1bc014 Updated Hebrew translation. 2012-06-02 12:45:45 +03:00
e63f7e8779 userMenu: Indicate progress on status changes
Depending on the number of accounts, the type or simply the network,
there may be a noticable lag between setting the status and the actual
status change.
Use the new user-status-pending icon to indicate progress.

https://bugzilla.gnome.org/show_bug.cgi?id=659067
2012-06-01 19:53:44 -04:00
7911154bad NetworkMenu: show notifications for failed VPN connections
Refactor NMDeviceVPN to be more like the other NMDevices, including
having a valid getSectionTitle() and emitting signals when the
underlying connection changes state.
Use the existing notification infrastructure to hook these signals
to actual notifications (including some code consolidation).

https://bugzilla.gnome.org/show_bug.cgi?id=676330
2012-06-01 22:39:43 +02:00
ec0730f3e5 status/keyboard: Port to the new input sources settings
https://bugzilla.gnome.org/show_bug.cgi?id=641531
2012-06-01 22:18:59 +02:00
76005f5adf workspacesDisplay: Connect to 'notify::n-workspaces' early
Currently we only connect to the 'notify::n-workspaces' signal the
first time the overview is shown, which means we will miss any
changes to the workspace layout in the meanwhile.
In particular, the decision of whether the workspace switcher should be
shown is taken before the dynamic workspace handling takes over, and is
thus based entirely on the value of the num-workspaces user preference
rather than the actual number of workspaces.
Just connect the signal in _init() (with the nice side-effect to make it
explicit that the signal handler won't ever be disconnected).

https://bugzilla.gnome.org/show_bug.cgi?id=673198
2012-06-01 17:34:48 +02:00
94493cde35 a11y: setting the proper role/label_actor for SearchResult.content
role/label_actor should be used for the actor that will receive
the focus. In some cases it was also (wrongly) set on the
container, so using an AT like Orca, it exposed both.

https://bugzilla.gnome.org/show_bug.cgi?id=672242
2012-06-01 16:10:07 +02:00
a1f68720e5 telepathyClient: Remove C-based TelepathyLogger wrapper
gjs has matured enough to the point where we don't need this

https://bugzilla.gnome.org/show_bug.cgi?id=676850
2012-06-01 08:59:59 -04:00
022376dd56 Added contexts to various Unknown strings
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=659968
2012-06-01 14:44:40 +02:00
934e5aacab notificationDaemon.js: convert the hints dict at the beginning of the function
It's used right away to discard some Empathy notifications.

This regression has been introduced during the 3.4 cycle when 'hints' has been
turned to a GVariant.

https://bugzilla.gnome.org/show_bug.cgi?id=675370
2012-06-01 09:40:32 +02:00
35b142f23f NetworkMenu: fix updating connection lists
Ensure that the UI is updated when a connection changes name or id,
even if it was already known by a device.
Also, use less private properties on NMConnection objects, as they
can become stale and cause problems.

https://bugzilla.gnome.org/show_bug.cgi?id=677097
2012-05-31 20:50:02 +02:00
41c3795a7b Add an initial-setup mode
Use the newly introduced kiosk mode functionality, and define an
'initial-setup' mode that is suitable for
https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup

https://bugzilla.gnome.org/show_bug.cgi?id=676697
2012-05-31 09:52:14 -04:00
95d7099133 [l10n] Update Japanese translation 2012-05-31 18:12:53 +09:00
33dc9abb9b Updated Norwegian bokmål translation 2012-05-30 14:19:28 +02:00
5e4edac14d browser-plugin: Fix Opera support
Opera now tries to call NP_SetWindow without trying to check
if it's a NULL pointer or not.

https://bugzilla.gnome.org/show_bug.cgi?id=672192
2012-05-29 18:57:05 -04:00
cb5ae92986 sessionMode: Add 'input-method' to status icons in user mode
We now drop all status icons that are not explicitly enabled, which
breaks the ibus icon. Add it to the list of allowed icons until we
merge it with the keyboard one.

https://bugzilla.gnome.org/show_bug.cgi?id=677058
2012-05-29 22:06:03 +02:00
ebbd295ebe panel: Refuse to add (legacy) status icons not part of the session mode
If a session mode does not use certain status items, we don't want their
fallback implementation to show up either, so filter them out.

https://bugzilla.gnome.org/show_bug.cgi?id=677058
2012-05-29 22:06:03 +02:00
65d23fb9a3 extensionUtils: Support subdirectories in getCurrentExtension
Some extensions may have complex layouts with multiple subdirectories.
Currently, getCurrentExtension doesn't support this, as it uses a regex
and assume's that the last path's component's parent is all that's needed.
Fix this.

https://bugzilla.gnome.org/show_bug.cgi?id=677001
2012-05-29 14:36:16 -04:00
ad6d986172 browser-plugin: Fix enable/disable
This code was broken at the last minute, and an accidentally stale plugin
copy kept it untested.

https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-29 14:36:16 -04:00
985641cc2e Updated Slovenian translation 2012-05-29 09:08:02 +02:00
de0a714081 Updated Lithuanian translation 2012-05-26 23:12:17 +03:00
3f942302d1 extensionSystem: Show an icon in the install dialog
https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
96396163cf extensionSystem: Replace Shell.write_soup_message_to_stream with GBytes usage
https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
0c736c4561 extensionSystem: Use Gio.File.new_tmp
https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
33ad9d1035 extensionSystem: Clean up
https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
d57658d059 extensionSystem: Remove custom CA file handling
libsoup (well, glib-networking) now handles this automatically

https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
031206cf1f extensionSystem: Remove now-unused version_tag, clean up other code as well
https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
12c7cc278d shellDBus: Remove now unused DisableExtension/EnableExtension
These methods were initially introduced when I was planning on having
an explicit DisableExtension/EnableExtension, instead of hooking up
a gsettings notify. This behavior was changed at the last minute, but
the methods were kept to avoid having to change the browser-plugin.

Consumers of this API should just set the GSettings key directly
instead now.

https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
9d3750b9b8 browser-plugin: Set the 'enabled-extensions' GSettings key directly
This way, we won't have to shuttle over DBus if we want to set an extension's
status outside of a GNOME Shell session.

https://bugzilla.gnome.org/show_bug.cgi?id=676837
2012-05-25 18:25:51 -04:00
ba4b9f229e telepathyClient: fix isChat
As part of commit 9e1a2cf the parent _init was moved before the isChat
was set to true. As the parent set it to false isChat is never true
since this commit.

https://bugzilla.gnome.org/show_bug.cgi?id=676806
2012-05-25 13:14:43 -04:00
850fe98cbb Updated Hebrew translation. 2012-05-25 10:39:30 +03:00
8a9e3e0df2 Switch string formatting to the one inside gjs
https://bugzilla.gnome.org/show_bug.cgi?id=675479
2012-05-24 15:38:44 -04:00
a277569d31 Revert "main: Make sure that --mode parameter is valid"
This reverts commit a7a46bbe1c.

Conflicts:

	js/ui/sessionMode.js
2012-05-24 19:34:06 +02:00
7ed9516884 Updated Spanish translation 2012-05-23 14:19:24 +02:00
ecff2fa2b7 main: Add a --list-modes command line option
Add a command line option to list available modes, i.e. possible
arguments for the --mode switch.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:29 +02:00
e49b94658c Remove SessionType type
SessionType has now completely been replaced by the finer-grained
session-mode, so remove the remaining type definition.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
e4f1572a3a sessionMode: Add statusArea property
Add a sessionMode.statusArea property, which specifies both the order
and shell implementation of the status area items for the mode.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
b5b13322d8 sessionMode: Add extraStylesheet property
Add a sessionMode.extraStylesheet property, which may be used for
mode-specific style information.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
c25e7f3c41 sessionMode: Add createSession() hook
Add a sessionMode.createSession() hook, which is executed during
startup to setup mode-specific stuff.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
f6a2c92bfa main: Remove _initUserSession()
In Shell.SessionType.USER mode, two separate setup functions were
used during startup. With the new feature-based checks, the second
one is now almost empty, so move its remaining code into the first
function and remove it.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
ed17418101 sessionMode: Add hasWorkspaces property
Add a sessionMode.hasWorkspaces property, which determines whether
the concept of workspaces should be exposed in the interface or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
5264f39209 sessionMode: Add hasRunDialog property
Add a sessionMode.hasRunDialog property, which determines whether
the keyboard shortcut to access the run dialog should be active
or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
de69c719fb sessionMode: Add allowKeybindingsWhenModal property
Add a sessionMode.allowKeybindingsWhenModal property, which determines
whether keybindings should still be handled while a modal dialog is
up or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
ab3173487d sessionMode: Add allowExtensions property
Add a sessionMode.allowExtensions property, which determines whether
installed and enabled extensions should be loaded or ignored.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
a3fcb8c284 sessionMode: Add allowSettings property
Add a sessionMode.allowSettings property, which determines whether
menus in the top bar should allow access to System Settings or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
ba92cfa064 sessionMode: Add showCalendarEvents property
Add a sessionMode.showCalendarEvents property, which determines
whether the calendar menu should contain an events section or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
6bee51ed33 sessionMode: Add hasAppMenu property
Add a sessionMode.hasAppMenu property, which determines whether
the top bar should contain a menu for the active application or
not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
122bca49ea sessionMode: Add hasOverview property
Add a sessionMode.hasOverview property, which determines whether
the mode should give access to the overview or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
19318a1eeb global: Remove session_type property
ShellGlobal:session-type is now unsed, remove it.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:28 +02:00
a7a46bbe1c main: Make sure that --mode parameter is valid
Instead of falling back to a set of default values or crashing the
window manager when an invalid mode is specified, check the value
of the ShellGlobal:session-mode property before taking over as WM
and make a clean exit if it cannot be resolved to an existent mode.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:27 +02:00
3d26224180 Delegate mode information to a dedicated object
Rather than accessing global.session_type / global.session_mode
all over the place, delegate mode information to a dedicated
sessionMode object. While not very useful for now, we will replace
checks for a particular mode with checks for particular properties
that sessionMode defines based on global.session_mode.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:27 +02:00
940ddb104c global: Add session-mode property
Add a session-mode property on ShellGlobal which corresponds to the
new --mode switch. Make the existing ShellGlobal:session-type property
readonly and base it on ShellGlobal:session-mode to avoid conflicts.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:27 +02:00
5617f91281 main: Add generic --mode switch
We are going to need "special" modes other than GDM, for instance
for the initial setup[0]. Rather than adding one command line switch
per mode (and logic to deal with multiple switches being given at
the same time), add a generic --mode switch to specify the mode as
string.

[0] https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup

https://bugzilla.gnome.org/show_bug.cgi?id=676156
2012-05-22 19:42:27 +02:00
a9a863aab4 Updated Spanish translation 2012-05-22 10:46:27 +02:00
ca26347dea userMenu: Offer "Switch Session" item on multi-session systems
Since commit 518282e169, we hide both "Switch User" and "Log out"
on single-user systems. However, if there is more than one session
available, users may still want to get back to the login manager
to change sessions.
Add both "Log out" and "Switch Session" items in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=675802
2012-05-22 07:36:36 +02:00
41a14e808e Updated Spanish translation 2012-05-21 13:57:39 +02:00
6452501275 Updated Galician translations 2012-05-20 18:14:15 +02:00
b61ada72cc shell-app: Raise windows in reverse order to preserve the stacking
ShellApp keeps track of windows sorted by most recently used first
which means that when raising windows we need to start from the end of
the list to finish with the correct stacking order.

This patch just makes the code agree with the comment which was
already there.

https://bugzilla.gnome.org/show_bug.cgi?id=676371
2012-05-19 17:32:12 +02:00
ace42d845c Updated Korean translation 2012-05-19 22:58:08 +09:00
850b6f28e5 main: Add prototype for _shell_link_to_shell_js()
It's pointless to have a prototype for a dummy function, but at
least on F17, gcc's -Werror includes -Wmissing-prototypes ...

https://bugzilla.gnome.org/show_bug.cgi?id=676347
2012-05-19 02:41:07 +02:00
3c81e9f0e7 Prevent the link to libgnome-shell-js.so from being removed
Add a dummy call to shell_js_add_extension_importer() to ensure that the
link to libgnome-shell-js.so is not removed when using -Wl,--as-needed,
which is the default on many distros.

https://bugzilla.gnome.org/show_bug.cgi?id=670477
2012-05-18 18:30:51 -04:00
e20ea19f34 Link the gnome-shell binary to libgnome-shell-js.so
Depending on the exact linker options and versions, rpath's written
into the binary may, or may not, be honored by dlopen(). Work around
this by simply linking the gnome-shell binary to gnome-shell-js, since
then dlopen() doesn't need to search paths.

https://bugzilla.gnome.org/show_bug.cgi?id=670477
2012-05-18 18:29:02 -04:00
ce041a3190 js: Don't use global.log*
These are "deprecated", and are just references to the gjs logging functoins

https://bugzilla.gnome.org/show_bug.cgi?id=675790
2012-05-18 14:09:00 -04:00
3a01aaf7fb extensionSystem: Don't spam stdout with "Loaded extension"
https://bugzilla.gnome.org/show_bug.cgi?id=675790
2012-05-18 14:09:00 -04:00
ec4a2aae95 notificationDaemon: Fix copy-paste typo
Since this line was introduced in 7458d3e, "Approve file transfer channels",
it's quite obvious that the line was meant to filter out transfer channel
notifications.

https://bugzilla.gnome.org/show_bug.cgi?id=676175
2012-05-18 14:08:12 -04:00
de8a66d4ce st: Remove our own font DPI resolution implementation
Clutter has had clutter_backend_get_resolution for a little while.

https://bugzilla.gnome.org/show_bug.cgi?id=672807
2012-05-18 13:57:12 -04:00
dc3d3acb3b global: Remove XSettings font handling code
Clutter now has its own XSettings implementation, ClutterSettings, which
handles this automatically now.

https://bugzilla.gnome.org/show_bug.cgi?id=672807
2012-05-18 13:57:12 -04:00
48d6eb168f bluetooth: Enforce a PIN length of 6 digits
Bluetooth PINs are required to have 6 digits, so enforce that
condition by making the PIN request notification's confirm
button insensitive unless the entered PIN has the correct length.

https://bugzilla.gnome.org/show_bug.cgi?id=651251
2012-05-18 17:41:19 +02:00
6190d6c962 messageTray: Allow to make notification buttons insensitive
The availability of a notification action may depend on conditions,
so add a method to control the sensitivity of buttons which have
been added with addButton().

https://bugzilla.gnome.org/show_bug.cgi?id=651251
2012-05-18 17:39:50 +02:00
76616dc98c bluetooth: zero-pad PIN
Bluetooth PINs always consist of 6 digits, so make sure to add
leading zeros as necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=651251
2012-05-18 17:39:50 +02:00
82c2f5221d panel: Check for appMenu button's reactivity before opening
When the appMenu is not available, for instance when no windows are
open (on the current workspace), we make its actor unreactive to
"hide" it from keynav. However the menu can still be triggered
erroneously when using the corresponding keyboard shortcut, so
add a check for the actor's reactivity there as well.

https://bugzilla.gnome.org/show_bug.cgi?id=676316
2012-05-18 17:38:06 +02:00
a3bbb7be14 [l10n] Updated Indonesian translation 2012-05-17 22:19:18 +07:00
9e1a2cfeac Start using MessageTray.Source directly instead of having to subclass it
For most subclasses, this is a direct swap -- a lot of the time, the
constructor was a blank class that override createNotificationIcon,
and called _setSummaryIcon in _init.

https://bugzilla.gnome.org/show_bug.cgi?id=661236
2012-05-17 08:32:22 -04:00
c6fabe504a messageTray: Make Source usable without subclassing
Rather than ask most users of Source to subclass it to simply set their icon,
just allow them to create a new instance and add it without any complex magic.

https://bugzilla.gnome.org/show_bug.cgi?id=661236
2012-05-17 08:32:22 -04:00
61a17d7fab Magnifier: Add brightness and contrast functionality
Added clutter effects class that does lightness inversion.
Modified the magnifier to use this inversion effect.

https://bugzilla.gnome.org/show_bug.cgi?id=639851
2012-05-16 18:59:33 -04:00
865cfa5211 Magnifier: Add brightness and contrast functionality
Modified the magnifier to use the CluttterBrightnessContrastEffect
for changing overall brightness and/or contrast of a ZoomRegion.

https://bugzilla.gnome.org/show_bug.cgi?id=639851
2012-05-16 18:59:32 -04:00
e2b857adae Updated Japanese translation. 2012-05-15 00:53:03 +09:00
f3924ccd91 l10n: Updated Italian translation 2012-05-12 20:09:29 +02:00
86e3e59530 Updated Galician translations 2012-05-11 11:31:43 +02:00
02e4726ba6 util: Don't double-fork when spawning from Alt-F2
This breaks polkit.

See http://bugzilla.redhat.com//show_bug.cgi?id=819275

https://bugzilla.gnome.org/show_bug.cgi?id=675789
2012-05-10 15:05:05 -04:00
66e470e073 Updated Spanish translation 2012-05-10 18:06:54 +02:00
afaa5c24d6 userMenu: Update to latest mockups
Technically those are minor changes, but people will love us anyway:

  - change the default of the <alt>ernative to "Power Off"
  - remove "Online Accounts" item
  - regroup the remaining items
  - remove ellipses from labels

https://bugzilla.gnome.org/show_bug.cgi?id=675802
2012-05-10 15:54:37 +02:00
518282e169 userMenu: Hide "Log out" item on single user machines
Ignoring remote logins, the "Log out" action is meaningless for
single user setups. Do not show it in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=675802
2012-05-10 15:54:37 +02:00
d955adbbad userMenu: More show()/hide() refactoring
Here's one show()/hide() sequence left out in commit 723a1c843 ...
2012-05-10 15:54:37 +02:00
83d3225e57 userMenu: Fix 'Lock' lockdown setting
Oops, embarrassing typo ...

https://bugzilla.gnome.org/show_bug.cgi?id=675802
2012-05-10 15:23:13 +02:00
6fa45975bf Updated Marathi Translations 2012-05-10 10:02:04 +05:30
e6087efb40 NetworkAgent: disallow multiple requests for the same connection/setting
It doesn't make sense to have multiple requests for the same
connection/setting combination at the same time, since we would be
asking the user twice for the same password. Instead, report cancellation
to NetworkManager if this happens.
Note that does make sense to have multiple requests in sequence though
(they could have different flags), but this is not affected.

https://bugzilla.gnome.org/show_bug.cgi?id=674961
2012-05-07 22:06:26 +02:00
4ce2f80a2f searchDisplay: Remove the sync search completed code path
Now that all searches are async we can remove the code path for the
SearchSystem::search-completed signal which is no longer useful.

This patch ends up fixing the status text not being updated for when
there are no results.

https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 21:45:45 +02:00
0862d1c804 searchDisplay: Remove a couple of no longer used variables
https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 21:45:42 +02:00
333e380340 search: Remove the ability to add synchronous search providers
As shown in the previous commits, synchronous search is easily implemented
by the asynchronous search API. The only reason we still have a
synchronous search API is of historical reasons. Well, we're not a museum,
and git log can keep our fossils safe if need be....

https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 15:29:46 -03:00
58f77a19ed search: Port all search providers over to the async API
https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 15:29:32 -03:00
f2d883dab2 placeDisplay: Create our own PlacesManager
Since we don't have a section showing off the available places somewhere,
we don't need a global PlacesManager.

https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 15:29:20 -03:00
7ba8c7c2b5 search: Remove unused MUTLIPLE_* match types
https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 15:21:24 -03:00
0bf6c93faa search: Allow synchronous searches to be defined with the async API
To allow this to happen, we need to make sure that we don't overwrite the
previousResults when calling the async method. Note that this is a bug of
some sort, we were already using this synchronous style when a remote
search failed.

https://bugzilla.gnome.org/show_bug.cgi?id=675328
2012-05-07 15:21:24 -03:00
b9f0158278 placeDisplay: use new bookmark file location
GTK+ 3.5 is placing the bookmarks file in
$XDG_CONFIG_HOME/gtk-3.0/bookmarks. Adapt to that change.

https://bugzilla.gnome.org/show_bug.cgi?id=675443
2012-05-07 08:21:59 -04:00
25ee41f344 theme: use a smaller border-radius for top bar
- plays better with window decorations and maximized windows
- https://bugzilla.gnome.org/show_bug.cgi?id=672430
2012-05-07 10:36:28 +02:00
5436634829 a11y: Using the proper label_actor for date menu on top panel
On the code two labels are created. One is used on the date menu
itself, and the other for the menu icon at the top panel. The wrong
label was used as the label_actor for the top panel menu icon.

https://bugzilla.gnome.org/show_bug.cgi?id=675307
2012-05-03 20:47:11 +02:00
915524e1ab main: Close the recorder instead of pausing it
Pausing means that we will continue to use the same output file when
the keybinding is activated again. While useful to record a single
video in chunks, it doesn't seem to be how most users understand the
keybinding. Closing the recorder will close the file and create a new
one the next time the keybinding is pressed.

https://bugzilla.gnome.org/show_bug.cgi?id=675128
2012-05-03 09:27:53 +02:00
d579cd1605 test-recorder: Create the recorder only after the stage is realized
The recorder needs the stage's XID so it can only be created after the
stage is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=675301
2012-05-03 09:27:53 +02:00
cb5941ec55 test-recorder: Explicitly make the clutter API coordinates doubles
That's what clutter expects and it would crash otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=675301
2012-05-03 09:27:53 +02:00
a5ac183d86 network: Fix an accidental copy-paste error
Logic swap accidentally introduced in commit 723a1c843.

https://bugzilla.gnome.org/show_bug.cgi?id=672272
2012-05-02 16:31:29 -04:00
a36de92bb9 gactionmuxer: Fix list_actions
The code there before was just completely wrong

https://bugzilla.gnome.org/show_bug.cgi?id=673177
2012-05-02 16:26:07 -04:00
01f9d551f1 messageTray: Fix scroll bugginess in summary items
Two nested scroll views were fighing with each other. The reason isn't
particularly important and has to do with some silliness involving
StAdjustment. The visible effect was that scrolling up and down when
in a summary item view would appear to be glitchy, and sometimes not
work at all.

To fix, make sure that the scroll view we don't care about is disabled
when in a summary mode.

https://bugzilla.gnome.org/show_bug.cgi?id=661615
2012-05-02 16:04:46 -04:00
399df66b18 messageTray: notification should be a style class name, not a global name
There have been multiple notifications ever since we had a notification stack
per source, so the idea of one notification being on screen at a time has long
been dead.

https://bugzilla.gnome.org/show_bug.cgi?id=661615
2012-05-02 16:04:05 -04:00
723a1c843a Refactor show()/hide() sequences
We seem to have a lot of code that does something along the lines of:

    if (condition)
        actor.show();
    else
        actor.hide();

ClutterActor already has such a thing for exactly this purpose: the 'visible'
property. Use it instead of the mess above.

https://bugzilla.gnome.org/show_bug.cgi?id=672272
2012-05-02 12:43:58 -04:00
e333263fd6 gdm: don't fail if fprintd unavailable
fingerprint support is optional so we shouldn't try to start
fprintd upfront and croak if it fails.

https://bugzilla.gnome.org/show_bug.cgi?id=675006
2012-05-02 11:44:29 -04:00
507df9eea1 gnome-shell-plugin: Remove useless dispose/finalize handlers
https://bugzilla.gnome.org/show_bug.cgi?id=672807
2012-05-02 10:20:22 -04:00
a9a3687ea0 st-bin: Remove unnecessary foreach implementation
https://bugzilla.gnome.org/show_bug.cgi?id=672807
2012-05-02 10:20:22 -04:00
f05c649c61 Updated Greek translation 2012-05-02 13:53:42 +03:00
a2dfba1842 l10n: Updated Italian translation 2012-04-30 15:34:24 +02:00
c199da4dfa Updated Norwegian bokmål translation 2012-04-30 11:13:44 +02:00
ee9033e12f gitignore: Update to ignore calendar schemas 2012-04-29 19:20:04 -04:00
54788d750e searchDisplay: Reset the keyboard focus after displaying async results
We hide the content around displaying new search results to prevent
flickering, unfortunately, one side effect of hiding an actor is
losing key focus if it currently is on the that actor or any
child. This could happen in the case of async results showing up after
the user had moved focus to the search results.

This patch works around that issue by saving the key focus and
resetting it back after displaying the new async results.

https://bugzilla.gnome.org/show_bug.cgi?id=675078
2012-04-30 01:10:08 +02:00
78e894c6f2 lookingGlass: Remove the "Errors" tab
We already have one too many logging systems. Remove the errors tab
and make global.log/global.logError point to window.log/window.logError
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=675104
2012-04-29 17:12:07 -04:00
32107ba8b5 environment: Allow window.log to take multiple arguments
https://bugzilla.gnome.org/show_bug.cgi?id=675104
2012-04-29 17:12:05 -04:00
6122f65e7a NetworkMenu: use network-offline while loading
network-error is partially red and thus can be distracting at
login. Use network-offline instead.

https://bugzilla.gnome.org/show_bug.cgi?id=674426
2012-04-29 18:40:03 +02:00
43fd29f9bf Revert "popupMenu: Fix RemoteMenu items with boolean state action"
This reverts commit 7293ddb22c.
2012-04-29 10:38:52 +02:00
54c624b356 Updated Brazilian Portuguese translation 2012-04-28 10:46:58 -03:00
8c33adfd29 dash: Destroy tooltip label when item is removed 2012-04-27 15:50:48 -04:00
2e8881b77c notificationDaemon: Match app based on WM_CLASS
Most tray applets won't have an associated window in the same PID. We
need to fall back to the WM_CLASS in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=673761
2012-04-27 15:49:18 -04:00
64aa729edd jhbuild wrapper: Clean up environment variable logic
Lots of things here were unused. First, we don't need to calculate
the js_dir when not running from the source tree, which makes the
branch mostly empty, meaning we can merge the two branches.
2012-04-27 15:48:53 -04:00
ccf95b738d jhbuild wrapper: Re-set typelib path to the src dir
This allows us running uninstalled. While we're at it, though, remove
JHBUILD_TYPELIBDIR. jhbuild shell should add its own stuff to GI_TYPELIB_PATH,
and we don't want to half reimplement jhbuild. The wrapper script should be
solely for the case of running from the source directory, and not care about
jhbuild at all.
2012-04-27 15:48:53 -04:00
b2847fedd3 jhbuild wrapper: Don't crash if we can't start the shell
If start_shell throws an exception for whatever reason, the finally
handler will run before shell has been set, leading to a "referencing
an undefined local variable" error.
2012-04-27 15:48:53 -04:00
8befcb9bba shell-network-agent: don't crash if a request isn't found
If a request isn't found in shell_network_agent_set_password() or
shell_network_agent_respond(), then g_return_if_fail() rather than
crashing. OTOH, if a request is not found in
shell_network_agent_cancel_get_secrets(), then just ignore it
silently, since that could legitimately happen.

https://bugzilla.gnome.org/show_bug.cgi?id=674961
2012-04-27 15:47:53 -04:00
988fc52303 Updated Galician translations 2012-04-27 17:07:47 +02:00
7293ddb22c popupMenu: Fix RemoteMenu items with boolean state action
Stateful actions are expected to pass their state when activated,
but we currently only do this for actions with a string state.

https://bugzilla.gnome.org/show_bug.cgi?id=674932
2012-04-27 12:30:16 +02:00
f23c118e81 Updated Hebrew translation. 2012-04-26 15:30:48 +03:00
f68b3be35a data: Add Evolution calendar settings gschema to EXTRA_DIST
3d95e7bb11 forgot to add this
gschema file to dist
2012-04-26 08:40:01 +02:00
3d95e7bb11 Mirror Evolution calendar settings into our own schema
Right now, we are hard-depending on the presence of Evolution by
using its settings schemas. This is likely to be unpopular, and
also causes instability if someone happens not to have Evolution
installed, so install a schema that has the same data path as
the Evolution schema, but a different name and install that
for the keys we need.

To avoid a string-freeze break, we rely on the translations in
Evolution - if Evolution isn't installed, the key descriptions
will be untranslated in dconf-editor.

https://bugzilla.gnome.org/show_bug.cgi?id=674424
2012-04-25 14:39:02 -04:00
337c484f01 Updated Korean translation 2012-04-26 01:08:27 +09:00
5d98e2bf04 st-theme-node-drawing: Don't use GL types
This swaps a use of GLfloat for a regular float. Cogl might stop
including a GL header in its public headers soon so this would fix a
compilation error.

https://bugzilla.gnome.org/show_bug.cgi?id=672711
2012-04-25 15:47:04 +01:00
6f300d0cc6 Updated Spanish translation 2012-04-25 12:17:17 +02:00
3422e1dca7 popupMenu: make sure to break the grab when the slider is not visible
Otherwise the grab will persist for example after closing the PopupMenu
with Escape.

https://bugzilla.gnome.org/show_bug.cgi?id=672713
2012-04-24 22:37:19 +02:00
963c6ae567 workspace: Use the position hints when available also for the window overlay
Otherwise when dropping a window in the current workspace the overlay will
appear from the top left corner.

https://bugzilla.gnome.org/show_bug.cgi?id=674323
2012-04-24 22:37:19 +02:00
6304169926 workspace: hide the overlay for a zoomed window when exiting the overivew
Otherwise it remains visible until the overview animation is completed.

https://bugzilla.gnome.org/show_bug.cgi?id=674323
2012-04-24 22:37:19 +02:00
221afde55e jhbuild wrapper: clean up imports
Final commit in the series, remove imports that were only used
by moved or deleted functionality.
2012-04-24 21:20:49 +02:00
0ae87270ad jhbuild wrapper: don't try to "restore GNOME"
If run under jhbuild, gnome-shell is in PATH, so trying to restore
is just running it again, likely failing in the same way (with the
additional problem of detaching the shell from the terminal). Also,
this is using deprecated GConf keys, and deprecated pygobject
bindings.
2012-04-24 21:20:49 +02:00
9d33baec70 jhbuild wrapper: don't set unneeded environment variables
The jhbuild wrapper is expected to be run through jhbuild run, or
in the uninstalled case inside a jhbuild shell, so there should
be no need to set XDG_DATA_DIRS and friends.
2012-04-24 21:20:49 +02:00
0f37b22cdb jhbuild wrapper: don't muck with session activated services
dconf-daemon is available since 2.32, so there is no need to
start it manually (and in fact, it should not be running normally).
Similarly, notify-osd and notification-daemon should not be
dbus activated, but rather autostarted by gnome-session, and
therefore not running in a gnome-shell session.
2012-04-24 21:20:49 +02:00
47afd87e84 jhbuild wrapper: move performance measurement to a separate tool
Introduce a new gnome-shell-perf-tool, which can be used instead
of the old gnome-shell-jhbuild wrapper to gather data about gnome-shell
performance and submit to shell-perf.gnome.org. This runs the
shell with no extra setup beyond the WM_CLASS filter, so it can
be used for a jhbuild setup or for an installed shell.
2012-04-24 21:20:49 +02:00
700c06023e st: Clean up scroll event code
Currently the scroll event code only handles scroll events if the
adjustment's value is within the "lower" and "upper" limits. The
likely intent was to pass events to a parent scroll view when
reaching the bounds (uh, nested scroll views!), but apparently
we never made use of this, as the upper bound is actually wrong
(an adjustment's maximum value is upper - page_size, not upper).
Just handle all scroll events unconditionally and rely on the
bound checks in StAdjustment.

https://bugzilla.gnome.org/show_bug.cgi?id=672413
2012-04-24 20:45:01 +02:00
4fea5b5ca3 main: Move 'toggle-recording' binding into the shell
The keybinding to toggle the screen recorder was implemented as a
signal on MetaScreen, as keybindings could only be defined in mutter
core. As this is no longer the case, we can move the binding into the
shell where it belongs.

https://bugzilla.gnome.org/show_bug.cgi?id=674377
2012-04-24 17:37:44 +02:00
521bddc1cc [l10n] Update Japanese translation
Fix a typo
2012-04-21 22:42:20 +09:00
bdfff20ec2 Bump version to 3.4.1
Updated NEWS
2012-04-17 13:20:16 -04:00
bdd05aba3b NEWS: fix language codes 2012-04-17 13:20:06 -04:00
89c2538ff1 Require Mutter 3.4.1
We now require Mutter 3.4.1 for the API change to
meta_display_add_keybinding(). (This is a run-time requirement, not
a build-time requirement, since the usage is from Javascript.)
2012-04-17 13:20:06 -04:00
7680819108 gnome-shell-calendar-server: add missing gtk.h include
6099a5dbc3 introduced this dependency
but didn't add it which lead to build failure with
-Werror=implicit-function-declaration
2012-04-17 08:15:06 +02:00
d79e8b84c9 telepathyClient: call this.updated() when a new message is added to a notification
When receiving another message or responding in a new expanded chat
notification that has no prior chat history, the notification moved down
below the edge of the screen instead of expanding up, making part of it
invisible. Avoid this by making sure the notification's position is updated.

https://bugzilla.gnome.org/show_bug.cgi?id=661944
2012-04-16 23:29:07 -04:00
731317230a windowManager: Adapt to mutter API change
https://bugzilla.gnome.org/show_bug.cgi?id=673014
2012-04-16 20:33:31 -04:00
5046938913 gnome-shell-calendar-server: deal with Evolution's move to GSettings
Evolution now stores its selected calendars and tasks in GSettings, not
in GConf. If we don't look at the new location, then we'll not pick up
newly added and enabled calendars, making the calendar effectively not
work for new installs.

https://bugzilla.gnome.org/show_bug.cgi?id=673610
2012-04-16 12:41:48 -04:00
0e8fd45559 gnome-shell-calender-server: fix debug prints
Several debug prints not normally compiled were referencing enumeration
values that have since been renamed.

https://bugzilla.gnome.org/show_bug.cgi?id=673610
2012-04-16 12:41:48 -04:00
6099a5dbc3 gnome-shell-calendar-server: Initialize GTK+
If evolution-data-server needs to prompt for a password, it will try
to pop up a GTK+ dialog. When GTK+ is not initialized, the result is
a crash. So, initialize GTK+ and run a main loop.

See https://bugzilla.redhat.com/show_bug.cgi?id=809681

The result is ugly since we have a Gnome-shell-calendar-server fallback
application, but I don't think it's worth installing a desktop file
and having a string break, since this is pretty uncommon (only for
manually added calendars without the password stored in gnome-keyring),
and apparently this is being rewritten for 3.5 to have the dialogs come
the e-d-s daemon rather than from the individual application.

https://bugzilla.gnome.org/show_bug.cgi?id=673608
2012-04-16 12:41:48 -04:00
2daa98a694 Update Czech translation 2012-04-16 15:34:20 +02:00
5d2c6496fa update Simplified Chinese (zh_CN) translation 2012-04-16 14:53:09 +08:00
817dbbe73f [l10n] Updated German translation 2012-04-15 17:57:21 +02:00
29c89c82f8 Updated Arabic translation 2012-04-14 19:54:56 +02:00
0b714bd479 Updated Latvian translation. 2012-04-13 22:39:52 +03:00
8c94a5afb9 main: don't use a BindConstraint for uiGroup
A BindConstraint on the size of uiGroup forces full redraws of the scene.
Instead, implement and use get_preferred_width and get_preferred_height.

https://bugzilla.gnome.org/show_bug.cgi?id=670636
2012-04-13 15:18:06 +02:00
aeb117c9d1 Updated British English translation 2012-04-13 13:21:03 +01:00
a2d4f133b7 a11y: Set a name for the keyboard status icon
https://bugzilla.gnome.org/show_bug.cgi?id=672719
2012-04-13 13:31:44 +02:00
b833aff3c8 baseIcon: Always recreate icon texture on style changes
Commit 26580f8f reintroduced an optimization on style changes to avoid
creating icons unconditionally. As this breaks icon theme changes (for
instance when toggling "High Contrast" in the universal access menu),
remove it again.

https://bugzilla.gnome.org/show_bug.cgi?id=672941
2012-04-13 11:12:24 +02:00
6601e4ddba Updated French translation 2012-04-11 14:00:30 +02:00
815da2d0ec Updated Norwegian bokmål translation 2012-04-11 12:50:37 +02:00
ddd35b3653 [l10n]Updated Catalan (Valencian) translation 2012-04-10 23:27:52 +02:00
8a32894c83 [l10n] Fixes on Catalan translation 2012-04-10 23:27:49 +02:00
49d8e6da40 format: move shell_format_int_alternative_output() to ShellJS
gnome-shell-extension-prefs uses format(), but can't pull in Shell
(which is a dependency for the module), since that in turn would pull in
Meta. Fix this by moving the introspected int format function to ShellJS
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=673106
2012-04-10 12:52:33 -04:00
8089f24c81 Updated Hebrew translation. 2012-04-09 22:48:34 +03:00
b6aab53d10 NetworkMenu: fix crash when NetworkManger restarts
nm_active_connection_get_devices() has a (questionable) special case
for the no devices case (which happens if the DBus object is
destroyed because NM went down): it returns null instead of an empty
array. Handle that instead of crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=673043
2012-04-09 20:33:50 +02:00
55a4517cd1 Fix documentation warnings
gobject-introspection now emits many more warnings for malformed
comments, and they fail the build.

https://bugzilla.gnome.org/show_bug.cgi?id=673656
2012-04-09 19:57:51 +02:00
b095319a16 extensionSystem: Make it a non-fatal error to re-load an extension
https://bugzilla.gnome.org/show_bug.cgi?id=673613
2012-04-09 14:02:31 -03:00
5ea5806730 extensionUtils: Load user extensions before system extensions
https://bugzilla.gnome.org/show_bug.cgi?id=673613
2012-04-09 14:02:31 -03:00
bfbf812148 gdm: Skip locked users
Don't show locked (disabled) users in the user list. Those are either
"system" users with a shell or users disabled in the control-center.

https://bugzilla.gnome.org/show_bug.cgi?id=673784
2012-04-09 19:01:20 +02:00
168e9eeac1 searchDisplay: Update the selection for async searches without results
This ensures that the initial selection is always set correctly. We
were missing the empty async search results case.

https://bugzilla.gnome.org/show_bug.cgi?id=673233
2012-04-06 14:09:40 +02:00
dd79c1a79a Updated Telugu Transltion 2012-04-06 09:11:54 +05:30
fe3402589b Updated Belarusian translation. 2012-04-05 15:36:46 +03:00
74dcaff21c Updated Lithuanian translation 2012-04-05 15:15:35 +03:00
0a7968a2e5 st-theme-context: Punt icon theme changes to an idle
Icon theme change signals aren't noticed immediately, they're usually
noticed when trying to load an icon. Since icon theme changes cause a
style change, and most icon widgets try to re-load their texture during
a style change, this means that we get a stack like this:

  st_texture_cache_load_icon
  gtk_icon_theme_lookup_icon
  gtk_icon_theme_changed
  st_widget_style_changed
  st_texture_cache_load_icon

Rather than making every place that uses StTextureCache re-entrant,
punt the notifying of icon theme changes to an idle handler instead.

https://bugzilla.gnome.org/show_bug.cgi?id=673512
2012-04-04 16:26:00 -04:00
00091a2acb st-theme-context: Make icon theme changes a bit more efficient
There's no need to destroy and recreate the root node for an icon theme
change. Just emit the CHANGED signal.

https://bugzilla.gnome.org/show_bug.cgi?id=673512
2012-04-04 16:26:00 -04:00
c5aa834b6a Updated Hungarian translation 2012-04-04 15:46:01 +02:00
b1bde46694 Updated French translation 2012-04-03 20:34:41 +02:00
49e4fa494e Updated Kannada Translation 2012-04-03 17:45:34 +05:30
4622c52b71 Updated Kannada Translation 2012-04-03 17:33:38 +05:30
e9ac5dd5f4 Updated Gujarati Translations 2012-04-03 11:25:14 +05:30
7570c43d11 Updated Kannada Translation 2012-04-02 18:29:42 +05:30
4332e7ec49 Updated Kannada Translation 2012-04-02 18:09:37 +05:30
9f26f1e225 Updated Telugu Translation 2012-04-02 16:38:36 +05:30
0c0319c415 Updated Marathi Translations 2012-04-02 11:46:21 +05:30
c16dbd7607 [l10n] Updated Catalan translation 2012-04-02 00:09:04 +02:00
7b1f10a5fe Updated Spanish translation 2012-04-01 19:37:22 +02:00
dce74749b7 Updated Bulgarian translation 2012-04-01 17:45:03 +03:00
1ba88b8c42 Fixed Russian translation 2012-04-01 14:01:39 +04:00
9c50b57d46 Fixed Russian translation 2012-04-01 14:00:14 +04:00
900bd3ee97 Updated Swedish translation 2012-04-01 09:07:33 +02:00
b4affe00a7 Updated Serbian translation 2012-03-31 11:03:43 +02:00
ca49c84bc1 Updated Polish translation 2012-03-31 04:10:41 +02:00
2cddf60226 Updated Galician translations 2012-03-31 00:08:44 +02:00
d9c3951f02 Updated Slovenian translation 2012-03-30 22:15:52 +02:00
aa5997d975 Updated Persian Translations 2012-03-31 02:13:34 +04:30
c51acf7c2a panel: Add keyboard shortcut to open app menu
With the application menu now being more than a stub, it has
become a much more interesting target, so add a keyboard shortcut
to open it directly.
This should also ease some of the pain for focus-follows-mouse users.

https://bugzilla.gnome.org/show_bug.cgi?id=672909
2012-03-30 19:58:43 +02:00
348044bc8a lookingGlass: Sort introspected property names
https://bugzilla.gnome.org/show_bug.cgi?id=673187
2012-03-30 11:57:45 -04:00
7dbdf2aa07 workspaceThumbnail: set correct cursor when hovering the drop placeholder
Namely, use the the 'copy' cursor for app launchers and the 'move'
cursor for windows.

https://bugzilla.gnome.org/show_bug.cgi?id=672641
2012-03-30 17:44:39 +02:00
c933731ead doap: Add myself as maintainer 2012-03-30 14:39:02 +02:00
e7da715994 svg: Make the OFF toggle widgets be the same width as the ON ones
Since the toggle switches have a 65px size in the CSS file, the
background image size should match it or it will be scaled and look
fuzzy.

https://bugzilla.gnome.org/show_bug.cgi?id=672592
2012-03-30 13:36:23 +02:00
6d82aefad4 format: support %Id conversion characters in format.js
This is needed for languages which translate numbers with an
alternative representation, such as Persian.

https://bugzilla.gnome.org/show_bug.cgi?id=673106
2012-03-29 17:30:02 -04:00
8a11ab7d96 Updated Norwegian bokmål translation 2012-03-29 09:52:55 +02:00
f465086405 Updated Swedish translation 2012-03-29 08:14:20 +02:00
70313a8b79 Updated Hungarian translation 2012-03-29 03:13:16 +02:00
71679c38be [l10n]Updated Catalan (Valencian) translation 2012-03-27 22:34:41 +02:00
addd943074 Typo 2012-03-27 21:32:11 +02:00
0b8470421c Bump version to 3.4.0
Update NEWS
2012-03-26 14:08:33 -04:00
bcf7c0f006 Updated Korean translation 2012-03-27 01:37:10 +09:00
2b87bb015c screenshot: Ensure that ShellScreenshot stays alive until the callback
We've been dangling on the edge of unsafety, unnoticed, for a little while
about the reference count safety of ShellScreenshot. GJS owns the entire
reference count, so as soon as it goes out of scope it could die, causing
GJS to try and fetch the corresponding wrapper object for a stale pointer.
We haven't seen any crashes because of luck -- SpiderMonkey tries to group
together deallocations to limit GC pauses, and there isn't really a lot
of GC pressure in the duration that a screenshot happens, so we tend to
be mostly stable. But in the case that you create a lot of objects while
a screenshot is going on, by hammering the "Print Screen" button, for
example, you can destroy the GObject before the callback finishes.

https://bugzilla.gnome.org/show_bug.cgi?id=672775
2012-03-26 12:54:07 -03:00
07e10fa03e screenshot: Remove harmful empty finalizer
We really should be chaining up in the finalizer, but instead of leaving
an empty finalize, remove it entirely.

https://bugzilla.gnome.org/show_bug.cgi?id=672775
2012-03-26 12:54:07 -03:00
bf992989c7 checkBox: Work around a height-for-width problem
StBoxLayout currently does not handle height-for-width children
correctly under some circumstances. As a work-around, hard-code
a label height of two lines of text, which should work for most
locales in the one place the widget is currently used.

https://bugzilla.gnome.org/show_bug.cgi?id=672543
2012-03-26 14:43:54 +02:00
00400e354d Updated Russian translation 2012-03-25 21:29:58 +04:00
19a49d34ce Updated Latvian translation. 2012-03-25 15:47:50 +03:00
e8badac282 [l10n] Update Japanese translation 2012-03-25 11:09:07 +09:00
282a60fcab Updated Traditional Chinese translation(Hong Kong and Taiwan) 2012-03-25 08:19:10 +08:00
e76a28ded5 Updated Belarusian translation. 2012-03-24 20:44:21 +03:00
b22543ab66 Updated Hebrew translation. 2012-03-24 19:10:14 +02:00
d5165cdc08 Uploaded Ukranian 2012-03-24 09:53:40 +02:00
1c0549f468 Review Arabic translation 2012-03-24 04:31:19 +02:00
a7316b0594 Updated Arabic translation
Based on translation by Muhammed Abd-ulaziz Abd-ullah.
2012-03-23 18:03:28 +01:00
634eeaf74c Updated Galician translations
Signed-off-by: Fran Diéguez <fran.dieguez@mabishu.com>
2012-03-22 21:29:18 +01:00
1299e196be Updated Danish translation 2012-03-22 15:47:55 +01:00
92c325230d Updated Czech translation 2012-03-22 11:28:58 +01:00
827a466a5c Updated Hungarian translation 2012-03-22 08:23:52 +01:00
89b38b1361 Updated Vietnamese translation 2012-03-22 10:42:41 +07:00
140de6dd60 po/vi: import from Damned Lies 2012-03-22 10:42:24 +07:00
e64ff5832e Updated Brazilian Portuguese translation 2012-03-21 21:00:18 -03:00
17b1543d44 Updated Russian translation 2012-03-21 22:21:03 +04:00
043e79a570 [l10n] Updated Estonian translation 2012-03-21 19:42:00 +02:00
5d036e3d54 Updated Finnish translation by Jiri Grönroos. 2012-03-21 18:15:51 +02:00
9d2a638988 Updated Bulgarian translation 2012-03-21 06:49:51 +02:00
7943993fcb Updated French translation 2012-03-20 22:46:42 +01:00
154 changed files with 12883 additions and 9555 deletions

3
.gitignore vendored
View File

@ -23,6 +23,8 @@ data/gnome-shell-extension-prefs.desktop.in
data/gschemas.compiled
data/org.gnome.shell.gschema.xml
data/org.gnome.shell.gschema.valid
data/org.gnome.shell.evolution.calendar.gschema.xml
data/org.gnome.shell.evolution.calendar.gschema.valid
docs/reference/*/*.args
docs/reference/*/*.bak
docs/reference/*/*.hierarchy
@ -68,6 +70,7 @@ src/gnome-shell-extension-prefs
src/gnome-shell-hotplug-sniffer
src/gnome-shell-jhbuild
src/gnome-shell-perf-helper
src/gnome-shell-perf-tool
src/gnome-shell-real
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
src/run-js-test

136
NEWS
View File

@ -1,3 +1,131 @@
3.5.2
=====
* main: Move 'toggle-recording' binding into the shell [Florian; #674377]
* popupMenu: make sure to break the grab when the slider is not visible
[Stefano; #672713]
* st-theme-node-drawing: Don't use GL types [Neil; #672711]
* Mirror Evolution calendar settings into our own schema [Owen; #674424]
* shell-network-agent: don't crash if a request isn't found [Dan; #674961]
* notificationDaemon: Match app based on WM_CLASS [Jasper; #673761]
* NetworkMenu: use network-offline while loading [Giovanni; #674426]
* lookingGlass: Remove the Errors tab [Jasper; #675104]
* searchDisplay: Reset keyboard focus after displaying async results
[Rui; #675078]
* gdm: don't fail if fprintd is unavailable [Ray; #675006]
* messageTray: Fix scrolling up [Jasper; #661615]
* main: Close the recorder instead of pausing it [Rui; #675128]
* Accessibility [Alejandro]
- Use the proper label_actor for date menu on top panel [#675307]
- Set the proper role/label_actor for SearchResult.content [#672242]
- do not expose a label text if 'hidden' style class is used [#675341]
* Magnifier: Add brightness and contrast functionality [Joseph; #639851]
* theme: use a smaller border-radius for top bar [Jakub; #672430]
* placeDisplay: use new bookmark file location [Matthias; #675443]
* port all synchronous search providers to the async API [Jasper, Rui; #675328]
* NetworkAgent: disallow multiple requests for the same connection/setting
[Giovanni; #674961]
* userMenu: Update to latest mockups [Florian; #675802]
* util: Don't double-fork when spawning from Alt-F2 [Colin; #675789]
* messageTray: Make Source usable without subclassing [Jasper; #661236]
* panel: Check for appMenu button's reactivity before opening [Florian; #676316]
* Fix formatting of bluetooth passkey [Florian; #651251]
* notificationDaemon: Filter out file-transfer notifications [Jasper; #676175]
* Don't use global.log() [Jasper; #675790]
* Fix broken extension loading in some distributions [Owen, Alexandre; #670477]
* shell-app: Raise windows in reverse order to preserve the stacking
[Rui; #676371]
* Generalize gdm-mode [Florian; #676156]
* Switch string formatting to the one inside gjs [Jasper; #675479]
* extensionUtils: Support subdirectories in getCurrentExtension
[Jasper; #677001]
* panel: Refuse to add (legacy) status icons not part of the session mode
[Florian; #677058]
* Add an initial-setup mode [Matthias; #676697]
* status/keyboard: Port to the new input sources settings [Rui; #641531]
* NetworkMenu: show notifications for failed VPN connections [Giovanni; #676330]
* userMenu: Indicate progress on status changes [Florian; #659067]
* recorder: Honor "disable-save-to-disk" lockdown key [Rūdolfs; #673630]
* searchDisplay: Use the rowLimit we pass to the IconGrid [Christian; #675527]
* endSessionDialog: Factor out _updateDescription from _updateContent
[Alejandro; #674210]
* Fix empathy's appMenu freezing the shell [Alban; #676447]
* Code cleanups [Florian, Giovanni, Jasper; #672807, #672413, #676837, #676850,
#672272]
* Misc bug fixes [Alban, Florian, Giovanni, Guillaume, Jasper, Piotr, Rico,
Ron, Rui, Stefano; #659968, #672192, #673177, #673198, #674323, #675301,
#675370, #676347, #676806, #677097]
Contributors:
Alban Browaeys, Giovanni Campagna, Matthias Clasen, Guillaume Desmottes,
Piotr Drąg, Stefano Facchini, Rui Matos, Rūdolfs Mazurs, Florian Müllner,
Alejandro Piñeiro, Neil Roberts, Alexandre Rostovtsev, Joseph Scheuhammer,
Jakub Steiner, Jasper St. Pierre, Ray Strode, Owen Taylor, Rico Tzschichholz,
Colin Walters, Dan Winship, Ron Yorston
Translations:
OKANO Takayoshi [ja], Daniel Mustieles [es], Changwoo Ryu [ko],
Yaron Shahrabani [he], Fran Diéguez [gl], Jonh Wendell [pt_BR],
Kjartan Maraas [nb], Luca Ferretti [it], Tom Tryfonidis [el],
Sandeep Sheshrao Shedmake [mr], Takanori MATSUURA [ja], Dirgita [id],
Mantas Kriaučiūnas [lt], Matej Urbančič [sl], Jiro Matsuzawa [ja]
3.4.1
=====
* Fix crash that occurred when an icon theme change caused unexpected
reentrancy in the icon loading code [Jasper; #673512]
* Don't show system and other disabled users in the GDM user list
[Adel; #673784]
* Make gnome-shell-calendar-server initialize GTK+ so it can display
password prompts if needed [#673608; Owen, Rico]
* Adapt to Mutter API change for keybinding addition [Florian; #673014]
* Fix crash when an extension was installed as both a user extension
and a system extension [#673613; Jasper]
* Fix bug where chat entry could end up partially offscreen [Joost, 661944]
* Fix problem where icons weren't updating when theme was changed
[#672941; Florian]
* Look for Evolution calendar settings in GSettings, not GConf [#673610; Owen]
* Add <super>F10 for the application menu [#672909; Florian]
* Fix %Id format characters to work in translations [#673106; Cosimo]
(were already used in fa translation)
* Fix error when NetworkManager restarts [#673043; Giovanni]
* Improve efficiency of overview redraws by working around Clutter issue
[Stefano; #670636]
* Misc bug fixes [Florian, Giovanni, Jasper, Rui, Stefano;
#672592, #672641, #672719, #673187, #673233, #673656]
Contributors:
Giovanni Campagna, Cosimo Cecchi, Stefano Facchini, Adel Gadllah, Rui Matos,
Florian Müllner, Jasper St. Pierre, Owen Taylor, Rico Tzschichholz,
Joost Verdoorn
Translations:
Khaled Hosny [ar], Ihar Hrachyshka [be], Alexander Shopov [bg], Gil Forcada,
Jordi Serratosa [ca], Petr Kovar [cs], Bruce Cowan [en_GB],
Carles Ferrando [ca@valencia], Wolfgang Stöggl [de], Daniel Mustieles [es],
Arash Mousavi [fa], Bruno Brouard [fr], Fran Diéguez [gl],
Sweta Kothari [gu], Yaron Shahrabani [he], Gabor Kelemen [hu],
Shankar Prasad [kn], Žygimantas Beručka [lt], Rudolfs Mazurs [lv],
Sandeep Sheshrao Shedmake [mr], Kjartan Maraas [nb], Piotr Drąg [pl],
Yuri Myasoedov [ru], Daniel Nylander [se], Matej Urbančič [sl],
Miroslav Nikolić [sr], Sasi Bhushan, Praveen Illa [te], Yinghua Wang [zh_CN]
3.4.0
=====
* Don't crash when taking screenshots [Jasper; #672775]
* Fix dialog-resizing problem [Florian; #672543]
Contributors:
Florian Müllner, Jasper St. Pierre
Translations:
Khaled Hosny, Abderrahim Kitouni [ar], Ihar Hrachyshka [be],
Alexander Shopov [bg], Marek Černocký [cs], Jiri Grönroos, Timo Jyrinki [fi],
Bruno Brouard [fr], Fran Diéguez [gl], Yaron Shahrabani [he],
Gabor Kelemen [hu], Jiro Matsuzawa [ja], Kenneth Nielsen [dk],
Mattias Põldaru [et], Changwoo Ryu [ko], Rudolfs Mazurs [lv],
Jonh Wendell [pt_BR], Yuri Myasoedov[ru], Daniel Korostil [uk],
Nguyễn Thái Ngọc Duy [vi], Chao-Hsiung Liao [zh_HK, zh_TW]
3.3.92
======
* Add shell-dialogs for GNOME Keyring prompts [Stef; #652459, #652460, #671034]
@ -63,7 +191,7 @@ Contributors:
Translations:
Nilamdyuti Goswami [as], Ihar Hrachyshka, Kasia Bondarava [be],
Alexander Shopov, Ivaylo Valkov [bg], Gil Forcada [ca], Marek Černocký [cz],
Alexander Shopov, Ivaylo Valkov [bg], Gil Forcada [ca], Marek Černocký [cs],
Mario Blättermann [de], Kris Thomsen [dk], Bruce Cowan [en_GB],
Kristjan Schmidt [eo], Daniel Mustieles [es], Mattias Põldaru [et],
Inaki Larranaga Murgoitio [eu], Arash Mousavi [fa], Timo Jyrinki [fi],
@ -112,7 +240,7 @@ Contributors:
Will Thompson, Stef Walter
Translations:
Ihar Hrachyshka [be], Marek Černocký, Adam Matoušek [cz],
Ihar Hrachyshka [be], Marek Černocký, Adam Matoušek [cs],
Kenneth Nielsen [dk], Daniel Mustieles [es], Mattias Põldaru [et],
Fran Diéguez [gl], Yaron Shahrabani [he], Luca Ferretti [it],
Baurzhan Muftakhidinov [kk], Aurimas Černius [lt], Kjartan Maraas [nb],
@ -243,7 +371,7 @@ Contributors:
Marina Zhurakhinskaya
Translations:
Petr Kovar [cz], Kris Thomsen [dk], Daniel Mustieles [es],
Petr Kovar [cs], Kris Thomsen [dk], Daniel Mustieles [es],
Ville-Pekka Vainio [fi], Yaron Shahrabani [he], Luca Ferretti [it],
Hideki Yamane [ja], Žygimantas Beručka [lt], Jovan Naumovski [mk],
Kjartan Maraas [nb], "Andreas N" [nn], Lucian Adrian Grijincu [ro],
@ -406,7 +534,7 @@ Contributors:
Translations:
Friedel Wolff [af], Nilamdyuti Goswami [as], Ihar Hrachyshka [be],
Ivaylo Valkov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
Petr Kovar [cz], Mario Blättermann [de], Kris Thomsen [dk],
Petr Kovar [cs], Mario Blättermann [de], Kris Thomsen [dk],
Tiffany Antopolski, Kristjan Schmidt [eo], Daniel Mustieles [es],
Inaki Larranaga Murgoitio [eu], Tommi Vainikainen [fi], Bruno Brouard [fr],
Fran Dieguez [gl], Yaron Shahrabani [he], Gabor Kelemen [hu],

View File

@ -41,7 +41,7 @@
"It can be used only by extensions.gnome.org"
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type";
#define PLUGIN_API_VERSION 3
#define PLUGIN_API_VERSION 4
typedef struct {
GDBusProxy *proxy;
@ -163,6 +163,7 @@ NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
plugin->newp = NPP_New;
plugin->destroy = NPP_Destroy;
plugin->getvalue = NPP_GetValue;
plugin->setwindow = NPP_SetWindow;
return NPERR_NO_ERROR;
}
@ -267,6 +268,7 @@ typedef struct {
NPObject parent;
NPP instance;
GDBusProxy *proxy;
GSettings *settings;
NPObject *listener;
NPObject *restart_listener;
gint signal_id;
@ -323,6 +325,9 @@ on_shell_appeared (GDBusConnection *connection,
}
}
#define SHELL_SCHEMA "org.gnome.shell"
#define ENABLED_EXTENSIONS_KEY "enabled-extensions"
static NPObject *
plugin_object_allocate (NPP instance,
NPClass *klass)
@ -332,6 +337,7 @@ plugin_object_allocate (NPP instance,
obj->instance = instance;
obj->proxy = g_object_ref (data->proxy);
obj->settings = g_settings_new (SHELL_SCHEMA);
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
G_CALLBACK (on_shell_signal), obj);
@ -492,7 +498,61 @@ plugin_enable_extension (PluginObject *obj,
NPString uuid,
gboolean enabled)
{
gboolean ret;
gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
gsize length;
gchar **uuids;
const gchar **new_uuids;
if (!uuid_is_valid (uuid_str))
{
g_free (uuid_str);
return FALSE;
}
uuids = g_settings_get_strv (obj->settings, ENABLED_EXTENSIONS_KEY);
length = g_strv_length (uuids);
if (enabled)
{
new_uuids = g_new (const gchar *, length + 2); /* New key, NULL */
memcpy (new_uuids, uuids, length * sizeof (*new_uuids));
new_uuids[length] = uuid_str;
new_uuids[length + 1] = NULL;
}
else
{
gsize i = 0, j = 0;
new_uuids = g_new (const gchar *, length);
for (i = 0; i < length; i ++)
{
if (g_str_equal (uuids[i], uuid_str))
continue;
new_uuids[j] = uuids[i];
j++;
}
new_uuids[j] = NULL;
}
ret = g_settings_set_strv (obj->settings,
ENABLED_EXTENSIONS_KEY,
new_uuids);
g_strfreev (uuids);
g_free (new_uuids);
g_free (uuid_str);
return ret;
}
static gboolean
plugin_install_extension (PluginObject *obj,
NPString uuid)
{
gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
if (!uuid_is_valid (uuid_str))
{
g_free (uuid_str);
@ -500,7 +560,7 @@ plugin_enable_extension (PluginObject *obj,
}
g_dbus_proxy_call (obj->proxy,
(enabled ? "EnableExtension" : "DisableExtension"),
"InstallRemoteExtension",
g_variant_new ("(s)", uuid_str),
G_DBUS_CALL_FLAGS_NONE,
-1, /* timeout */
@ -513,40 +573,6 @@ plugin_enable_extension (PluginObject *obj,
return TRUE;
}
static gboolean
plugin_install_extension (PluginObject *obj,
NPString uuid,
NPString version_tag)
{
gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
gchar *version_tag_str;
if (!uuid_is_valid (uuid_str))
{
g_free (uuid_str);
return FALSE;
}
version_tag_str = g_strndup (version_tag.UTF8Characters,
version_tag.UTF8Length);
g_dbus_proxy_call (obj->proxy,
"InstallRemoteExtension",
g_variant_new ("(ss)",
uuid_str,
version_tag_str),
G_DBUS_CALL_FLAGS_NONE,
-1, /* timeout */
NULL, /* cancellable */
NULL, /* callback */
NULL /* user_data */);
g_free (uuid_str);
g_free (version_tag_str);
return TRUE;
}
static gboolean
plugin_uninstall_extension (PluginObject *obj,
NPString uuid,
@ -771,11 +797,9 @@ plugin_object_invoke (NPObject *npobj,
else if (name == install_extension_id)
{
if (!NPVARIANT_IS_STRING(args[0])) return FALSE;
if (!NPVARIANT_IS_STRING(args[1])) return FALSE;
return plugin_install_extension (obj,
NPVARIANT_TO_STRING(args[0]),
NPVARIANT_TO_STRING(args[1]));
NPVARIANT_TO_STRING(args[0]));
}
else if (name == uninstall_extension_id)
{
@ -946,3 +970,12 @@ NPP_GetValue(NPP instance,
return NPERR_NO_ERROR;
}
/* Opera tries to call NPP_SetWindow without checking the
* NULL pointer beforehand. */
NPError
NPP_SetWindow(NPP instance,
NPWindow *window)
{
return NPERR_NO_ERROR;
}

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.3.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.5.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])
@ -63,7 +63,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
CLUTTER_MIN_VERSION=1.9.16
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.29.18
MUTTER_MIN_VERSION=3.3.92
MUTTER_MIN_VERSION=3.5.2
FOLKS_MIN_VERSION=0.5.2
GTK_MIN_VERSION=3.3.9
GIO_MIN_VERSION=2.31.6
@ -75,6 +75,7 @@ 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
# Collect more than 20 libraries for a prize!
PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
@ -95,7 +96,8 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_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)
gcr-3 >= $GCR_MIN_VERSION
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
@ -108,8 +110,6 @@ AC_DEFINE_UNQUOTED([GJS_VERSION], ["$GJS_VERSION"], [The version of GJS we're li
AC_SUBST([GJS_VERSION], ["$GJS_VERSION"])
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR"
AC_SUBST(JHBUILD_TYPELIBDIR)
saved_CFLAGS=$CFLAGS
saved_LIBS=$LIBS
@ -123,7 +123,7 @@ 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(TRAY, gtk+-3.0)
PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 0.1.7)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.5.1)
AC_MSG_CHECKING([for bluetooth support])
PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0],
@ -239,31 +239,6 @@ AC_ARG_ENABLE(jhbuild-wrapper-script,
AS_HELP_STRING([--enable-jhbuild-wrapper-script],[Make "gnome-shell" script work for jhbuild]),,enable_jhbuild_wrapper_script=no)
AM_CONDITIONAL(USE_JHBUILD_WRAPPER_SCRIPT, test "x$enable_jhbuild_wrapper_script" = xyes)
AC_MSG_CHECKING([location of system Certificate Authority list])
AC_ARG_WITH(ca-certificates,
[AC_HELP_STRING([--with-ca-certificates=@<:@path@:>@],
[path to system Certificate Authority list])])
if test "$with_ca_certificates" = "no"; then
AC_MSG_RESULT([disabled])
else
if test -z "$with_ca_certificates"; then
for f in /etc/pki/tls/certs/ca-bundle.crt \
/etc/ssl/certs/ca-certificates.crt; do
if test -f "$f"; then
with_ca_certificates="$f"
fi
done
if test -z "$with_ca_certificates"; then
AC_MSG_ERROR([could not find. Use --with-ca-certificates=path to set, or --without-ca-certificates to disable])
fi
fi
AC_MSG_RESULT($with_ca_certificates)
AC_DEFINE_UNQUOTED(SHELL_SYSTEM_CA_FILE, ["$with_ca_certificates"], [The system TLS CA list])
fi
AC_SUBST(SHELL_SYSTEM_CA_FILE,["$with_ca_certificates"])
BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}"
AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])

View File

@ -53,7 +53,7 @@ dist_theme_DATA = \
theme/ws-switch-arrow-up.svg \
theme/ws-switch-arrow-down.svg
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
gsettings_SCHEMAS = org.gnome.shell.gschema.xml org.gnome.shell.evolution.calendar.gschema.xml
@INTLTOOL_XML_NOMERGE_RULE@
@GSETTINGS_RULES@
@ -80,6 +80,7 @@ EXTRA_DIST = \
$(menu_DATA) \
$(shaders_DATA) \
$(convert_DATA) \
org.gnome.shell.evolution.calendar.gschema.xml.in \
org.gnome.shell.gschema.xml.in
CLEANFILES = \

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- NOTE: This schema is a GNOME 3.4 workaround - it uses the same path
as org.gnome.evolution.calendar, but avoids us requiring Evolution
be installed. In GNOME 3.6 the selected state will become a flag
on the calendar. Because the translations are in Evolution,
this is untranslated and in POTFILES.skip.
-->
<schemalist>
<schema path="/org/gnome/evolution/calendar/" id="org.gnome.shell.evolution.calendar" gettext-domain="evolution">
<key type="as" name="selected-calendars">
<default>[]</default>
<summary>List of selected calendars</summary>
<description>List of calendars to load</description>
</key>
<key type="as" name="selected-tasks">
<default>[]</default>
<summary>List of selected task lists</summary>
<description>List of task lists to load</description>
</key>
</schema>
</schemalist>

View File

@ -64,6 +64,7 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
<child name="clock" schema="org.gnome.shell.clock"/>
<child name="calendar" schema="org.gnome.shell.calendar"/>
<child name="recorder" schema="org.gnome.shell.recorder"/>
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
</schema>
@ -78,6 +79,24 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
</key>
</schema>
<schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="open-application-menu" type="as">
<default>["&lt;Super&gt;F10"]</default>
<_summary>Keybinding to open the application menu</_summary>
<_description>
Keybinding to open the application menu.
</_description>
</key>
<key name="toggle-recording" type="as">
<default><![CDATA[['<Control><Shift><Alt>r']]]></default>
<_summary>Keybinding to toggle the screen recorder</_summary>
<_description>
Keybinding to start/stop the builtin screen recorder.
</_description>
</key>
</schema>
<schema id="org.gnome.shell.keyboard" path="/org/gnome/shell/keyboard/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="keyboard-type" type="s">

View File

@ -328,6 +328,11 @@ StScrollBar StButton#vhandle:hover
background-gradient-end: rgba(255, 255, 255, 0.2);
}
.notification-icon-button:insensitive,
.notification-button:insensitive {
color: #9f9f9f;
}
/* Panel */
#panel {
@ -357,7 +362,7 @@ StScrollBar StButton#vhandle:hover
}
.panel-corner {
-panel-corner-radius: 10px;
-panel-corner-radius: 6px;
-panel-corner-background-color: black;
-panel-corner-border-width: 2px;
-panel-corner-border-color: transparent;
@ -409,7 +414,7 @@ StScrollBar StButton#vhandle:hover
.panel-button:active,
.panel-button:overview,
.panel-button:focus {
border-image: url("panel-button-border.svg") 10 10 0 2;
border-image: url("panel-button-border.svg") 6 10 0 2;
background-image: url("panel-button-highlight-wide.svg");
color: white;
text-shadow: black 0px 2px 2px;
@ -1203,7 +1208,8 @@ StScrollBar StButton#vhandle:hover
height: 36px;
}
#notification {
.notification {
font-size: 11pt;
border-radius: 10px 10px 0px 0px;
background: rgba(0,0,0,0.8);
padding: 8px 8px 4px 8px;
@ -1212,7 +1218,7 @@ StScrollBar StButton#vhandle:hover
width: 34em;
}
#notification.multi-line-notification {
.notification.multi-line-notification {
padding-bottom: 8px;
}
@ -1234,7 +1240,7 @@ StScrollBar StButton#vhandle:hover
color: white;
}
.summary-boxpointer #notification {
.summary-boxpointer .notification {
border-radius: 9px;
background: rgba(0,0,0,0) !important;
padding-bottom: 12px;
@ -1251,10 +1257,6 @@ StScrollBar StButton#vhandle:hover
padding-bottom: 6px;
}
#summary-notification-stack-scrollview > .top-shadow, #summary-notification-stack-scrollview > .bottom-shadow {
height: 1em;
}
#summary-notification-stack-scrollview:ltr {
padding-right: 8px;
}
@ -1263,28 +1265,24 @@ StScrollBar StButton#vhandle:hover
padding-left: 8px;
}
#notification-scrollview {
.notification-scrollview {
max-height: 10em;
-st-vfade-offset: 24px;
}
#notification-scrollview > .top-shadow, #notification-scrollview > .bottom-shadow {
height: 1em;
}
#notification-scrollview:ltr > StScrollBar {
.notification-scrollview:ltr > StScrollBar {
padding-left: 6px;
}
#notification-scrollview:rtl > StScrollBar {
.notification-scrollview:rtl > StScrollBar {
padding-right: 6px;
}
#notification-body {
.notification-body {
spacing: 5px;
}
#notification-actions {
.notification-actions {
spacing: 10px;
}
@ -1411,7 +1409,7 @@ StScrollBar StButton#vhandle:hover
font-style: italic;
}
#notification StEntry {
.notification StEntry {
padding: 4px;
border-radius: 4px;
color: #a8a8a8;
@ -1427,7 +1425,7 @@ StScrollBar StButton#vhandle:hover
caret-size: 1px;
}
#notification StEntry:focus {
.notification StEntry:focus {
border: 1px solid #8b8b8b;
color: #333333;
background-gradient-direction: vertical;
@ -1950,10 +1948,12 @@ StScrollBar StButton#vhandle:hover
padding-bottom: 8px;
}
/* intentionally left transparent to avoid dialog changing size */
.hidden {
color: rgba(0,0,0,0);
}
.prompt-dialog-null-label {
font-size: 10pt;
color: rgba(0,0,0,0);
padding-bottom: 8px;
}

View File

@ -9,7 +9,7 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="21"
width="17"
height="10"
id="svg2"
version="1.1"
@ -66,9 +66,9 @@
<rect
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:0.43599999;stroke-miterlimit:4;stroke-dasharray:none"
id="rect3796"
width="3"
width="7"
height="2"
x="9"
x="5"
y="8" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -9,7 +9,7 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
width="65"
height="22"
id="svg3273"
version="1.1"

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -9,7 +9,7 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
width="65"
height="22"
id="svg3012"
version="1.1"

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -66,4 +66,11 @@ its dependencies to build from tarballs.</description>
<gnome:userid>marinaz</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Florian Müllner</foaf:name>
<foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" />
<gnome:userid>fmuellner</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

View File

@ -28,7 +28,6 @@ nobase_dist_js_DATA = \
misc/config.js \
misc/extensionUtils.js \
misc/fileUtils.js \
misc/format.js \
misc/gnomeSession.js \
misc/history.js \
misc/jsParse.js \
@ -67,6 +66,7 @@ nobase_dist_js_DATA = \
ui/messageTray.js \
ui/modalDialog.js \
ui/networkAgent.js \
ui/sessionMode.js \
ui/shellEntry.js \
ui/shellMountOperation.js \
ui/notificationDaemon.js \

View File

@ -6,11 +6,11 @@ const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Pango = imports.gi.Pango;
const Format = imports.format;
const _ = Gettext.gettext;
const Config = imports.misc.config;
const Format = imports.misc.format;
const ExtensionUtils = imports.misc.extensionUtils;
@ -210,7 +210,7 @@ const Application = new Lang.Class({
try {
extension = ExtensionUtils.createExtensionObject(uuid, dir, type);
} catch(e) {
global.logError('' + e);
logError(e, 'Could not create extensions object');
return;
}
@ -257,7 +257,7 @@ function initEnvironment() {
},
logError: function(s) {
global.log('ERROR: ' + s);
log('ERROR: ' + s);
},
userdatadir: GLib.build_filenamev([GLib.get_user_data_dir(), 'gnome-shell'])

View File

@ -11,10 +11,17 @@ const FprintManagerIface = <interface name='net.reactivated.Fprint.Manager'>
</method>
</interface>;
const FprintManagerProxy = Gio.DBusProxy.makeProxyWrapper(FprintManagerIface);
const FprintManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(FprintManagerIface);
function FprintManager() {
return new FprintManagerProxy(Gio.DBus.system,
'net.reactivated.Fprint',
'/net/reactivated/Fprint/Manager');
};
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
g_interface_name: FprintManagerInfo.name,
g_interface_info: FprintManagerInfo,
g_name: 'net.reactivated.Fprint',
g_object_path: '/net/reactivated/Fprint/Manager',
g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
self.init(null);
return self;
}

View File

@ -488,6 +488,9 @@ const UserList = new Lang.Class({
if (user.is_system_account())
return;
if (user.locked)
return;
let userName = user.get_user_name();
if (!userName)

View File

@ -60,10 +60,8 @@ const PowerMenuButton = new Lang.Class({
},
_updateVisibility: function() {
if (!this._haveSuspend && !this._haveShutdown && !this._haveRestart)
this.actor.hide();
else
this.actor.show();
let shouldBeVisible = (this._haveSuspend || this._haveShutdown || this._haveRestart);
this.actor.visible = shouldBeVisible;
},
_updateHaveShutdown: function() {
@ -76,11 +74,7 @@ const PowerMenuButton = new Lang.Class({
else
this._haveShutdown = false;
if (this._haveShutdown)
this._powerOffItem.actor.show();
else
this._powerOffItem.actor.hide();
this._powerOffItem.actor.visible = this._haveShutdown;
this._updateVisibility();
}));
} else {
@ -91,12 +85,7 @@ const PowerMenuButton = new Lang.Class({
else
this._haveShutdown = false;
if (this._haveShutdown) {
this._powerOffItem.actor.show();
} else {
this._powerOffItem.actor.hide();
}
this._powerOffItem.actor.visible = this._haveShutdown;
this._updateVisibility();
}));
}
@ -112,11 +101,7 @@ const PowerMenuButton = new Lang.Class({
else
this._haveRestart = false;
if (this._haveRestart)
this._restartItem.actor.show();
else
this._restartItem.actor.hide();
this._restartItem.actor.visible = this._haveRestart;
this._updateVisibility();
}));
} else {
@ -127,12 +112,7 @@ const PowerMenuButton = new Lang.Class({
else
this._haveRestart = false;
if (this._haveRestart) {
this._restartItem.actor.show();
} else {
this._restartItem.actor.hide();
}
this._restartItem.actor.visible = this._haveRestart;
this._updateVisibility();
}));
}
@ -140,12 +120,7 @@ const PowerMenuButton = new Lang.Class({
_updateHaveSuspend: function() {
this._haveSuspend = this._upClient.get_can_suspend();
if (this._haveSuspend)
this._suspendItem.actor.show();
else
this._suspendItem.actor.hide();
this._suspendItem.actor.visible = this._haveSuspend;
this._updateVisibility();
},

View File

@ -8,8 +8,6 @@ const PACKAGE_VERSION = '@PACKAGE_VERSION@';
const GJS_VERSION = '@GJS_VERSION@';
/* 1 if gnome-bluetooth is available, 0 otherwise */
const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
/* The system TLS CA list */
const SHELL_SYSTEM_CA_FILE = '@SHELL_SYSTEM_CA_FILE@';
/* gettext package */
const GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
/* locale dir */

View File

@ -40,13 +40,18 @@ function getCurrentExtension() {
throw new Error('Could not find current extension');
let path = match[1];
let uuid = GLib.path_get_basename(GLib.path_get_dirname(path));
let file = Gio.File.new_for_path(path);
let extension = extensions[uuid];
if (extension === undefined)
throw new Error('Could not find current extension');
// Walk up the directory tree, looking for an extesion with
// the same UUID as a directory name.
while (file != null) {
let extension = extensions[file.get_basename()];
if (extension !== undefined)
return extension;
file = file.get_parent();
}
return extension;
throw new Error('Could not find current extension');
}
/**
@ -120,7 +125,7 @@ function createExtensionObject(uuid, dir, type) {
// Encourage people to add this
if (!meta.url) {
global.log('Warning: Missing "url" property in metadata.json');
log('Warning: Missing "url" property in %s/metadata.json'.format(uuid));
}
if (uuid != meta.uuid) {
@ -157,7 +162,7 @@ function init() {
if (!userExtensionsDir.query_exists(null))
userExtensionsDir.make_directory_with_parents(null);
} catch (e) {
global.logError('' + e);
logError(e, 'Could not create extensions directory');
}
}
@ -167,7 +172,7 @@ function scanExtensionsInDirectory(callback, dir, type) {
try {
fileEnum = dir.enumerate_children('standard::*', Gio.FileQueryInfoFlags.NONE, null);
} catch(e) {
global.logError('' + e);
logError(e, 'Could not enumerate extensions directory');
return;
}
@ -184,11 +189,11 @@ function scanExtensionsInDirectory(callback, dir, type) {
function scanExtensions(callback) {
let systemDataDirs = GLib.get_system_data_dirs();
scanExtensionsInDirectory(callback, userExtensionsDir, ExtensionType.PER_USER);
for (let i = 0; i < systemDataDirs.length; i++) {
let dirPath = GLib.build_filenamev([systemDataDirs[i], 'gnome-shell', 'extensions']);
let dir = Gio.file_new_for_path(dirPath);
if (dir.query_exists(null))
scanExtensionsInDirectory(callback, dir, ExtensionType.SYSTEM);
}
scanExtensionsInDirectory(callback, userExtensionsDir, ExtensionType.PER_USER);
}

View File

@ -1,60 +0,0 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/*
* This function is intended to extend the String object and provide
* an String.format API for string formatting.
* It has to be set up using String.prototype.format = Format.format;
* Usage:
* "somestring %s %d".format('hello', 5);
* It supports %s, %d, %x and %f, for %f it also support precisions like
* "%.2f".format(1.526). All specifiers can be prefixed with a minimum
* field width, e.g. "%5s".format("foo"). Unless the width is prefixed
* with '0', the formatted string will be padded with spaces.
*/
function format() {
let str = this;
let i = 0;
let args = arguments;
return str.replace(/%([0-9]+)?(?:\.([0-9]+))?(.)/g, function (str, widthGroup, precisionGroup, genericGroup) {
if (precisionGroup != '' && genericGroup != 'f')
throw new Error("Precision can only be specified for 'f'");
let fillChar = (widthGroup[0] == '0') ? '0' : ' ';
let width = parseInt(widthGroup, 10) || 0;
function fillWidth(s, c, w) {
let fill = '';
for (let i = 0; i < w; i++)
fill += c;
return fill.substr(s.length) + s;
}
let s = '';
switch (genericGroup) {
case '%':
return '%';
break;
case 's':
s = args[i++].toString();
break;
case 'd':
s = parseInt(args[i++]).toString();
break;
case 'x':
s = parseInt(args[i++]).toString(16);
break;
case 'f':
if (precisionGroup == '')
s = parseFloat(args[i++]).toString();
else
s = parseFloat(args[i++]).toFixed(parseInt(precisionGroup));
break;
default:
throw new Error('Unsupported conversion character %' + genericGroup);
}
return fillWidth(s, fillChar, width);
});
}

View File

@ -83,10 +83,11 @@ function spawnCommandLine(command_line) {
// this will throw an error.
function trySpawn(argv)
{
var success, pid;
try {
GLib.spawn_async(null, argv, null,
GLib.SpawnFlags.SEARCH_PATH,
null, null);
[success, pid] = GLib.spawn_async(null, argv, null,
GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
null, null);
} catch (err) {
if (err.code == GLib.SpawnError.G_SPAWN_ERROR_NOENT) {
err.message = _("Command not found");
@ -101,6 +102,10 @@ function trySpawn(argv)
throw err;
}
// Dummy child watch; we don't want to double-fork internally
// because then we lose the parent-child relationship, which
// can break polkit. See https://bugzilla.redhat.com//show_bug.cgi?id=819275
GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () {}, null);
}
// trySpawnCommandLine:

View File

@ -312,11 +312,10 @@ const AppSearchProvider = new Lang.Class({
_init: function() {
this.parent(_("APPLICATIONS"));
this._appSys = Shell.AppSystem.get_default();
},
getResultMetas: function(apps) {
getResultMetas: function(apps, callback) {
let metas = [];
for (let i = 0; i < apps.length; i++) {
let app = apps[i];
@ -327,15 +326,15 @@ const AppSearchProvider = new Lang.Class({
}
});
}
return metas;
callback(metas);
},
getInitialResultSet: function(terms) {
return this._appSys.initial_search(terms);
this.searchSystem.pushResults(this, this._appSys.initial_search(terms));
},
getSubsearchResultSet: function(previousResults, terms) {
return this._appSys.subsearch(previousResults, terms);
this.searchSystem.pushResults(this, this._appSys.subsearch(previousResults, terms));
},
activateResult: function(app, params) {
@ -378,7 +377,7 @@ const SettingsSearchProvider = new Lang.Class({
this._gnomecc = this._appSys.lookup_app('gnome-control-center.desktop');
},
getResultMetas: function(prefs) {
getResultMetas: function(prefs, callback) {
let metas = [];
for (let i = 0; i < prefs.length; i++) {
let pref = prefs[i];
@ -389,15 +388,15 @@ const SettingsSearchProvider = new Lang.Class({
}
});
}
return metas;
callback(metas);
},
getInitialResultSet: function(terms) {
return this._appSys.search_settings(terms);
this.searchSystem.pushResults(this, this._appSys.search_settings(terms));
},
getSubsearchResultSet: function(previousResults, terms) {
return this._appSys.search_settings(terms);
this.searchSystem.pushResults(this, this._appSys.search_settings(terms));
},
activateResult: function(pref, params) {

View File

@ -262,12 +262,11 @@ const AutorunResidentSource = new Lang.Class({
Extends: MessageTray.Source,
_init: function() {
this.parent(_("Removable Devices"));
this.parent(_("Removable Devices"), 'media-removable', St.IconType.FULLCOLOR);
this._mounts = [];
this._notification = new AutorunResidentNotification(this);
this._setSummaryIcon(this.createNotificationIcon());
},
addMount: function(mount, apps) {
@ -310,12 +309,6 @@ const AutorunResidentSource = new Lang.Class({
Main.messageTray.add(this);
this.pushNotification(this._notification);
}
},
createNotificationIcon: function() {
return new St.Icon ({ icon_name: 'media-removable',
icon_type: St.IconType.FULLCOLOR,
icon_size: this.ICON_SIZE });
}
});
@ -500,11 +493,11 @@ const AutorunTransientSource = new Lang.Class({
Extends: MessageTray.Source,
_init: function(mount, apps) {
this.parent(mount.get_name());
this.mount = mount;
this.apps = apps;
this.parent(mount.get_name());
this._notification = new AutorunTransientNotification(this);
this._setSummaryIcon(this.createNotificationIcon());

View File

@ -42,6 +42,12 @@ const CheckBoxContainer = new Lang.Class({
},
_getPreferredHeight: function(actor, forWidth, alloc) {
/* FIXME: StBoxlayout currently does not handle
height-for-width children correctly, so hard-code
two lines for the label until that problem is fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=672543 */
/*
let [minBoxHeight, natBoxHeight] =
this._box.get_preferred_height(forWidth);
let [minLabelHeight, natLabelHeight] =
@ -49,6 +55,14 @@ const CheckBoxContainer = new Lang.Class({
alloc.min_size = Math.max(minBoxHeight, minLabelHeight);
alloc.natural_size = Math.max(natBoxHeight, natLabelHeight);
*/
let [minBoxHeight, natBoxHeight] =
this._box.get_preferred_height(-1);
let [minLabelHeight, natLabelHeight] =
this.label.get_preferred_height(-1);
alloc.min_size = Math.max(minBoxHeight, 2 * minLabelHeight);
alloc.natural_size = Math.max(natBoxHeight, 2 * natLabelHeight);
},
_allocate: function(actor, box, flags) {

View File

@ -63,7 +63,7 @@ const Contact = new Lang.Class({
this.individual.full_name ||
this.individual.nickname ||
email ||
_("Unknown");
C_("contact", "Unknown");
let aliasLabel = new St.Label({ text: aliasText,
style_class: 'contact-details-alias' });
details.add(aliasLabel, { x_fill: true,
@ -154,7 +154,7 @@ const ContactSearchProvider = new Lang.Class({
this._contactSys = Shell.ContactSystem.get_default();
},
getResultMetas: function(ids) {
getResultMetas: function(ids, callback) {
let metas = [];
for (let i = 0; i < ids.length; i++) {
let contact = new Contact(ids[i]);
@ -165,15 +165,15 @@ const ContactSearchProvider = new Lang.Class({
}
});
}
return metas;
callback(metas);
},
getInitialResultSet: function(terms) {
return this._contactSys.initial_search(terms);
this.searchSystem.pushResults(this, this._contactSys.initial_search(terms));
},
getSubsearchResultSet: function(previousResults, terms) {
return this._contactSys.subsearch(previousResults, terms);
this.searchSystem.pushResults(this, this._contactSys.subsearch(previousResults, terms));
},
createResultActor: function(resultMeta, terms) {

View File

@ -168,7 +168,17 @@ const DashItemContainer = new Lang.Class({
});
},
destroy: function() {
if (this.label)
this.label.destroy();
this.actor.destroy();
},
animateOutAndDestroy: function() {
if (this.label)
this.label.destroy();
if (this.child == null) {
this.actor.destroy();
return;
@ -691,7 +701,7 @@ const Dash = new Lang.Class({
if (Main.overview.visible)
item.animateOutAndDestroy();
else
item.actor.destroy();
item.destroy();
}
this._adjustIconSize();

View File

@ -45,9 +45,7 @@ const DateMenuButton = new Lang.Class({
Name: 'DateMenuButton',
Extends: PanelMenu.Button,
_init: function(params) {
params = Params.parse(params, { showEvents: true });
_init: function() {
let item;
let hbox;
let vbox;
@ -75,11 +73,11 @@ const DateMenuButton = new Lang.Class({
// Date
this._date = new St.Label();
this.actor.label_actor = this._date;
this.actor.label_actor = this._clock;
this._date.style_class = 'datemenu-date-label';
vbox.add(this._date);
if (params.showEvents) {
if (Main.sessionMode.showCalendarEvents) {
this._eventSource = new Calendar.DBusEventSource();
this._eventList = new Calendar.EventsList(this._eventSource);
} else {
@ -110,7 +108,7 @@ const DateMenuButton = new Lang.Class({
item.actor.reparent(vbox);
}
if (params.showEvents) {
if (Main.sessionMode.showCalendarEvents) {
// Add vertical separator
item = new St.DrawingArea({ style_class: 'calendar-vertical-separator',

View File

@ -342,7 +342,7 @@ const EndSessionDialog = new Lang.Class({
}
},
_updateContent: function() {
_updateDescription: function() {
if (this.state != ModalDialog.State.OPENING &&
this.state != ModalDialog.State.OPENED)
return;
@ -352,17 +352,6 @@ const EndSessionDialog = new Lang.Class({
let subject = dialogContent.subject;
let description;
if (this._user.is_loaded && !dialogContent.iconName) {
let iconFile = this._user.get_icon_file();
if (GLib.file_test(iconFile, GLib.FileTest.EXISTS))
this._setIconFromFile(iconFile, dialogContent.iconStyleClass);
else
this._setIconFromName('avatar-default', dialogContent.iconStyleClass);
} else if (dialogContent.iconName) {
this._setIconFromName(dialogContent.iconName,
dialogContent.iconStyleClass);
}
if (this._inhibitors.length > 0) {
this._stopTimer();
description = dialogContent.inhibitedDescription;
@ -395,6 +384,27 @@ const EndSessionDialog = new Lang.Class({
_setLabelText(this._descriptionLabel, description);
},
_updateContent: function() {
if (this.state != ModalDialog.State.OPENING &&
this.state != ModalDialog.State.OPENED)
return;
let dialogContent = DialogContent[this._type];
if (this._user.is_loaded && !dialogContent.iconName) {
let iconFile = this._user.get_icon_file();
if (GLib.file_test(iconFile, GLib.FileTest.EXISTS))
this._setIconFromFile(iconFile, dialogContent.iconStyleClass);
else
this._setIconFromName('avatar-default', dialogContent.iconStyleClass);
} else if (dialogContent.iconName) {
this._setIconFromName(dialogContent.iconName,
dialogContent.iconStyleClass);
}
this._updateDescription();
},
_updateButtons: function() {
let dialogContent = DialogContent[this._type];
let buttons = [{ action: Lang.bind(this, this.cancel),
@ -441,7 +451,7 @@ const EndSessionDialog = new Lang.Class({
{ _secondsLeft: 0,
time: this._secondsLeft,
transition: 'linear',
onUpdate: Lang.bind(this, this._updateContent),
onUpdate: Lang.bind(this, this._updateDescription),
onComplete: Lang.bind(this, function() {
let dialogContent = DialogContent[this._type];
let button = dialogContent.confirmButtons[dialogContent.confirmButtons.length - 1];

View File

@ -39,11 +39,19 @@ function _patchContainerClass(containerClass) {
};
}
function _makeLoggingFunc(func) {
return function() {
return func([].join.call(arguments, ', '));
};
}
function init() {
// Add some bindings to the global JS namespace; (gjs keeps the web
// browser convention of having that namespace be called 'window'.)
window.global = Shell.Global.get();
window.log = _makeLoggingFunc(window.log);
window._ = Gettext.gettext;
window.C_ = Gettext.pgettext;
window.ngettext = Gettext.ngettext;
@ -82,7 +90,7 @@ function init() {
}
// OK, now things are initialized enough that we can import shell JS
const Format = imports.misc.format;
const Format = imports.format;
const Tweener = imports.ui.tweener;
Tweener.init();

View File

@ -34,24 +34,11 @@ const REPOSITORY_URL_BASE = 'https://extensions.gnome.org';
const REPOSITORY_URL_DOWNLOAD = REPOSITORY_URL_BASE + '/download-extension/%s.shell-extension.zip';
const REPOSITORY_URL_INFO = REPOSITORY_URL_BASE + '/extension-info/';
const _httpSession = new Soup.SessionAsync();
const _httpSession = new Soup.SessionAsync({ ssl_use_system_ca_file: true });
// The unfortunate state of gjs, gobject-introspection and libsoup
// means that I have to do a hack to add a feature.
// See: https://bugzilla.gnome.org/show_bug.cgi?id=655189 for context.
if (Soup.Session.prototype.add_feature != null)
Soup.Session.prototype.add_feature.call(_httpSession, new Soup.ProxyResolverDefault());
function _getCertFile() {
let localCert = GLib.build_filenamev([global.userdatadir, 'extensions.gnome.org.crt']);
if (GLib.file_test(localCert, GLib.FileTest.EXISTS))
return localCert;
else
return Config.SHELL_SYSTEM_CA_FILE;
}
_httpSession.ssl_ca_file = _getCertFile();
// _httpSession.add_feature(new Soup.ProxyResolverDefault());
Soup.Session.prototype.add_feature.call(_httpSession, new Soup.ProxyResolverDefault());
// Arrays of uuids
var enabledExtensions;
@ -69,18 +56,16 @@ const disconnect = Lang.bind(_signals, _signals.disconnect);
const ENABLED_EXTENSIONS_KEY = 'enabled-extensions';
function installExtensionFromUUID(uuid, version_tag) {
function installExtensionFromUUID(uuid) {
let params = { uuid: uuid,
version_tag: version_tag,
shell_version: Config.PACKAGE_VERSION,
api_version: API_VERSION.toString() };
shell_version: Config.PACKAGE_VERSION };
let message = Soup.form_request_new_from_hash('GET', REPOSITORY_URL_INFO, params);
_httpSession.queue_message(message,
function(session, message) {
let info = JSON.parse(message.response_body.data);
let dialog = new InstallExtensionDialog(uuid, version_tag, info.name);
let dialog = new InstallExtensionDialog(uuid, info);
dialog.open(global.get_current_time());
});
}
@ -115,21 +100,13 @@ function gotExtensionZipFile(session, message, uuid) {
return;
}
// FIXME: use a GFile mkstemp-type method once one exists
let fd, tmpzip;
try {
[fd, tmpzip] = GLib.file_open_tmp('XXXXXX.shell-extension.zip');
} catch (e) {
logExtensionError(uuid, 'tempfile: ' + e.toString());
return;
}
let stream = new Gio.UnixOutputStream({ fd: fd });
let [file, stream] = Gio.File.new_tmp('XXXXXX.shell-extension.zip');
let dir = ExtensionUtils.userExtensionsDir.get_child(uuid);
Shell.write_soup_message_to_stream(stream, message);
let contents = message.response_body.flatten().as_bytes();
stream.output_stream.write_bytes(contents, null);
stream.close(null);
let [success, pid] = GLib.spawn_async(null,
['unzip', '-uod', dir.get_path(), '--', tmpzip],
['unzip', '-uod', dir.get_path(), '--', file.get_path()],
null,
GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
null);
@ -237,7 +214,7 @@ function logExtensionError(uuid, message, state) {
extension.errors = [];
extension.errors.push(message);
global.logError('Extension "%s" had error: %s'.format(uuid, message));
log('Extension "%s" had error: %s'.format(uuid, message));
state = state || ExtensionState.ERROR;
_signals.emit('extension-state-changed', { uuid: uuid,
error: message,
@ -249,7 +226,8 @@ function loadExtension(dir, type, enabled) {
let extension;
if (ExtensionUtils.extensions[uuid] != undefined) {
throw new Error('extension already loaded');
log('Extension "%s" is already loaded'.format(uuid));
return;
}
try {
@ -277,7 +255,6 @@ function loadExtension(dir, type, enabled) {
}
_signals.emit('extension-state-changed', extension);
global.log('Loaded extension ' + uuid);
}
function initExtension(uuid) {
@ -389,12 +366,11 @@ const InstallExtensionDialog = new Lang.Class({
Name: 'InstallExtensionDialog',
Extends: ModalDialog.ModalDialog,
_init: function(uuid, version_tag, name) {
_init: function(uuid, info) {
this.parent({ styleClass: 'extension-dialog' });
this._uuid = uuid;
this._version_tag = version_tag;
this._name = name;
this._info = info;
this.setButtons([{ label: _("Cancel"),
action: Lang.bind(this, this._onCancelButtonPressed),
@ -404,13 +380,17 @@ const InstallExtensionDialog = new Lang.Class({
action: Lang.bind(this, this._onInstallButtonPressed)
}]);
let message = _("Download and install '%s' from extensions.gnome.org?").format(name);
let message = _("Download and install '%s' from extensions.gnome.org?").format(info.name);
this._descriptionLabel = new St.Label({ text: message });
let box = new St.BoxLayout();
this.contentLayout.add(box);
this.contentLayout.add(this._descriptionLabel,
{ y_fill: true,
y_align: St.Align.START });
let gicon = new Gio.FileIcon({ file: Gio.File.new_for_uri(REPOSITORY_URL_BASE + info.icon) })
let icon = new St.Icon({ gicon: gicon });
box.add(icon);
let label = new St.Label({ text: message });
box.add(label);
},
_onCancelButtonPressed: function(button, event) {
@ -434,9 +414,7 @@ const InstallExtensionDialog = new Lang.Class({
_signals.emit('extension-state-changed', state);
let params = { version_tag: this._version_tag,
shell_version: Config.PACKAGE_VERSION,
api_version: API_VERSION.toString() };
let params = { shell_version: Config.PACKAGE_VERSION };
let url = REPOSITORY_URL_DOWNLOAD.format(this._uuid);
let message = Soup.form_request_new_from_hash('GET', url, params);

View File

@ -146,11 +146,6 @@ const BaseIcon = new Lang.Class({
size = found ? len : ICON_SIZE;
}
// don't create icons unnecessarily
if (size == this.iconSize &&
this._iconBin.child)
return;
this._createIconTexture(size);
}
});
@ -287,6 +282,10 @@ const IconGrid = new Lang.Class({
return this._computeLayout(rowWidth)[0];
},
getRowLimit: function() {
return this._rowLimit;
},
_computeLayout: function (forWidth) {
let nColumns = 0;
let usedWidth = 0;

View File

@ -541,16 +541,8 @@ const KeyboardSource = new Lang.Class({
Extends: MessageTray.Source,
_init: function(keyboard) {
this.parent(_("Keyboard"));
this._keyboard = keyboard;
this._setSummaryIcon(this.createNotificationIcon());
},
createNotificationIcon: function() {
return new St.Icon({ icon_name: 'input-keyboard',
icon_type: St.IconType.SYMBOLIC,
icon_size: this.ICON_SIZE });
this.parent(_("Keyboard"), 'input-keyboard', St.IconType.SYMBOLIC);
},
handleSummaryClick: function() {

View File

@ -400,7 +400,14 @@ const ObjInspector = new Lang.Class({
button.connect('clicked', Lang.bind(this, this.close));
hbox.add(button);
if (typeof(obj) == typeof({})) {
let properties = [];
for (let propName in obj) {
properties.push(propName);
}
properties.sort();
for (let i = 0; i < properties.length; i++) {
let propName = properties[i];
let valueStr;
let link;
try {
@ -627,45 +634,6 @@ const Inspector = new Lang.Class({
Signals.addSignalMethods(Inspector.prototype);
const ErrorLog = new Lang.Class({
Name: 'ErrorLog',
_init: function() {
this.actor = new St.BoxLayout();
this.text = new St.Label();
this.actor.add(this.text);
// We need to override StLabel's default ellipsization when
// using line_wrap; otherwise ClutterText's layout is going
// to constrain both the width and height, which prevents
// scrolling.
this.text.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
this.text.clutter_text.line_wrap = true;
this.actor.connect('notify::mapped', Lang.bind(this, this._renderText));
},
_formatTime: function(d){
function pad(n) { return n < 10 ? '0' + n : n; }
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z';
},
_renderText: function() {
if (!this.actor.mapped)
return;
let text = this.text.text;
let stack = Main._getAndClearErrorStack();
for (let i = 0; i < stack.length; i++) {
let logItem = stack[i];
text += logItem.category + ' t=' + this._formatTime(new Date(logItem.timestamp)) + ' ' + logItem.message + '\n';
}
this.text.text = text;
}
});
const Memory = new Lang.Class({
Name: 'Memory',
@ -940,9 +908,6 @@ const LookingGlass = new Lang.Class({
}));
notebook.appendPage('Windows', this._windowList.actor);
this._errorLog = new ErrorLog();
notebook.appendPage('Errors', this._errorLog.actor);
this._memory = new Memory();
notebook.appendPage('Memory', this._memory.actor);

View File

@ -16,6 +16,7 @@ const Params = imports.misc.params;
const MOUSE_POLL_FREQUENCY = 50;
const CROSSHAIRS_CLIP_SIZE = [100, 100];
const NO_CHANGE = 0.0;
// Settings
const APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
@ -24,6 +25,13 @@ const SHOW_KEY = 'screen-magnifier-enabled';
const MAGNIFIER_SCHEMA = 'org.gnome.desktop.a11y.magnifier';
const SCREEN_POSITION_KEY = 'screen-position';
const MAG_FACTOR_KEY = 'mag-factor';
const INVERT_LIGHTNESS_KEY = 'invert-lightness';
const BRIGHT_RED_KEY = 'brightness-red';
const BRIGHT_GREEN_KEY = 'brightness-green';
const BRIGHT_BLUE_KEY = 'brightness-blue';
const CONTRAST_RED_KEY = 'contrast-red';
const CONTRAST_GREEN_KEY = 'contrast-green';
const CONTRAST_BLUE_KEY = 'contrast-blue';
const LENS_MODE_KEY = 'lens-mode';
const CLAMP_MODE_KEY = 'scroll-at-edges';
const MOUSE_TRACKING_KEY = 'mouse-tracking';
@ -443,6 +451,21 @@ const Magnifier = new Lang.Class({
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
if (aPref)
zoomRegion.setMouseTrackingMode(aPref);
aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
if (aPref)
zoomRegion.setInvertLightness(aPref);
let bc = {};
bc.r = this._settings.get_double(BRIGHT_RED_KEY);
bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
zoomRegion.setBrightness(bc);
bc.r = this._settings.get_double(CONTRAST_RED_KEY);
bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
zoomRegion.setContrast(bc);
}
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
@ -465,6 +488,23 @@ const Magnifier = new Lang.Class({
this._settings.connect('changed::' + MOUSE_TRACKING_KEY,
Lang.bind(this, this._updateMouseTrackingMode));
this._settings.connect('changed::' + INVERT_LIGHTNESS_KEY,
Lang.bind(this, this._updateInvertLightness));
this._settings.connect('changed::' + BRIGHT_RED_KEY,
Lang.bind(this, this._updateBrightness));
this._settings.connect('changed::' + BRIGHT_GREEN_KEY,
Lang.bind(this, this._updateBrightness));
this._settings.connect('changed::' + BRIGHT_BLUE_KEY,
Lang.bind(this, this._updateBrightness));
this._settings.connect('changed::' + CONTRAST_RED_KEY,
Lang.bind(this, this._updateContrast));
this._settings.connect('changed::' + CONTRAST_GREEN_KEY,
Lang.bind(this, this._updateContrast));
this._settings.connect('changed::' + CONTRAST_BLUE_KEY,
Lang.bind(this, this._updateContrast));
this._settings.connect('changed::' + SHOW_CROSS_HAIRS_KEY,
Lang.bind(this, function() {
this.setCrosshairsVisible(this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY));
@ -540,7 +580,38 @@ const Magnifier = new Lang.Class({
this._settings.get_enum(MOUSE_TRACKING_KEY)
);
}
}
},
_updateInvertLightness: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
this._zoomRegions[0].setInvertLightness(
this._settings.get_boolean(INVERT_LIGHTNESS_KEY)
);
}
},
_updateBrightness: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let brightness = {};
brightness.r = this._settings.get_double(BRIGHT_RED_KEY);
brightness.g = this._settings.get_double(BRIGHT_GREEN_KEY);
brightness.b = this._settings.get_double(BRIGHT_BLUE_KEY);
this._zoomRegions[0].setBrightness(brightness);
}
},
_updateContrast: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let contrast = {};
contrast.r = this._settings.get_double(CONTRAST_RED_KEY);
contrast.g = this._settings.get_double(CONTRAST_GREEN_KEY);
contrast.b = this._settings.get_double(CONTRAST_BLUE_KEY);
this._zoomRegions[0].setContrast(contrast);
}
},
});
Signals.addSignalMethods(Magnifier.prototype);
@ -554,6 +625,9 @@ const ZoomRegion = new Lang.Class({
this._clampScrollingAtEdges = false;
this._lensMode = false;
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN;
this._invertLightness = false;
this._brightness = { r: NO_CHANGE, g: NO_CHANGE, b: NO_CHANGE };
this._contrast = { r: NO_CHANGE, g: NO_CHANGE, b: NO_CHANGE };
this._magView = null;
this._background = null;
@ -879,6 +953,86 @@ const ZoomRegion = new Lang.Class({
}
},
/**
* setInvertLightness:
* Set whether to invert the lightness of the magnified view.
* @flag Boolean to either invert brightness (true), or not (false).
*/
setInvertLightness: function(flag) {
this._invertLightness = flag;
if (this._magShaderEffects)
this._magShaderEffects.setInvertLightness(this._invertLightness);
},
/**
* getInvertLightness:
* Retrieve whether the lightness is inverted.
* @return Boolean indicating inversion (true), or not (false).
*/
getInvertLightness: function() {
return this._invertLightness;
},
/**
* setBrightness:
* Alter the brightness of the magnified view.
* @brightness Object containing the contrast for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* brightness (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed brightness, respectively.
*/
setBrightness: function(brightness) {
this._brightness.r = brightness.r;
this._brightness.g = brightness.g;
this._brightness.b = brightness.b;
if (this._magShaderEffects)
this._magShaderEffects.setBrightness(this._brightness);
},
/**
* getBrightness:
* Retrive the current brightness of the Zoom Region.
* @return Object containing the brightness change for the red, green,
* and blue channels.
*/
getBrightness: function() {
let brightness = {};
brightness.r = this._brightness.r;
brightness.g = this._brightness.g;
brightness.b = this._brightness.b;
return brightness;
},
/**
* setContrast:
* Alter the contrast of the magnified view.
* @contrast Object containing the contrast for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* contrast (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed contrast, respectively.
*/
setContrast: function(contrast) {
this._contrast.r = contrast.r;
this._contrast.g = contrast.g;
this._contrast.b = contrast.b;
if (this._magShaderEffects)
this._magShaderEffects.setContrast(this._contrast);
},
/**
* getContrast:
* Retreive the contrast of the magnified view.
* @return Object containing the contrast for the red, green,
* and blue channels.
*/
getContrast: function() {
let contrast = {};
contrast.r = this._contrast.r;
contrast.g = this._contrast.g;
contrast.b = this._contrast.b;
return contrast;
},
//// Private methods ////
_createActors: function() {
@ -917,6 +1071,12 @@ const ZoomRegion = new Lang.Class({
this._crossHairsActor = this._crossHairs.addToZoomRegion(this, this._mouseActor);
else
this._crossHairsActor = null;
// Contrast and brightness effects.
this._magShaderEffects = new MagShaderEffects(this._uiGroupClone);
this._magShaderEffects.setInvertLightness(this._invertLightness);
this._magShaderEffects.setBrightness(this._brightness);
this._magShaderEffects.setContrast(this._contrast);
},
_destroyActors: function() {
@ -925,6 +1085,8 @@ const ZoomRegion = new Lang.Class({
if (this._crossHairs)
this._crossHairs.removeFromParent(this._crossHairsActor);
this._magShaderEffects.destroyEffects();
this._magShaderEffects = null;
this._magView.destroy();
this._magView = null;
this._background = null;
@ -1228,10 +1390,7 @@ const Crosshairs = new Lang.Class({
crosshairsActor = new Clutter.Clone({ source: this._actor });
this._clones.push(crosshairsActor);
}
if (this._actor.visible)
crosshairsActor.show();
else
crosshairsActor.hide();
crosshairsActor.visible = this._actor.visible;
container.add_actor(crosshairsActor);
container.raise_child(magnifiedMouse, crosshairsActor);
@ -1436,3 +1595,133 @@ const Crosshairs = new Lang.Class({
this._vertBottomHair.set_position((groupWidth - thickness) / 2, bottom);
}
});
const MagShaderEffects = new Lang.Class({
Name: 'MagShaderEffects',
_init: function(uiGroupClone) {
this._inverse = new Shell.InvertLightnessEffect();
this._brightnessContrast = new Clutter.BrightnessContrastEffect();
this._inverse.set_enabled(false);
this._brightnessContrast.set_enabled(false);
this._magView = uiGroupClone;
this._magView.add_effect(this._inverse);
this._magView.add_effect(this._brightnessContrast);
},
/**
* destroyEffects:
* Remove contrast and brightness effects from the magnified view, and
* lose the reference to the actor they were applied to. Don't use this
* object after calling this.
*/
destroyEffects: function() {
this._magView.clear_effects();
this._brightnessContrast = null;
this._inverse = null;
this._magView = null;
},
/**
* setInvertLightness:
* Enable/disable invert lightness effect.
* @invertFlag: Enabled flag.
*/
setInvertLightness: function(invertFlag) {
this._inverse.set_enabled(invertFlag);
},
/**
* getInvertLightness:
* Report whether the inversion effect is enabled.
* @return: Boolean.
*/
getInvertLightness: function() {
return this._inverse.get_enabled();
},
/**
* setBrightness:
* Set the brightness of the magnified view.
* @brightness: Object containing the brightness for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* brightness (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed brightness,
* respectively.
*/
setBrightness: function(brightness) {
let bRed = brightness.r;
let bGreen = brightness.g;
let bBlue = brightness.b;
this._brightnessContrast.set_brightness_full(bRed, bGreen, bBlue);
// Enable the effect if the brightness OR contrast change are such that
// it modifies the brightness and/or contrast.
let [cRed, cGreen, cBlue] = this._brightnessContrast.get_contrast();
this._brightnessContrast.set_enabled(
(bRed != NO_CHANGE || bGreen != NO_CHANGE || bBlue != NO_CHANGE ||
cRed != NO_CHANGE || cGreen != NO_CHANGE || cBlue != NO_CHANGE)
);
},
/**
* getBrightness:
* Retrieve current brightness of the magnified view.
* @return: Object containing the brightness for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* brightness (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed brightness, respectively.
*/
getBrightness: function() {
let result = {};
let [bRed, bGreen, bBlue] = this._brightnessContrast.get_brightness();
result.r = bRed;
result.g = bGreen;
result.b = bBlue;
return result;
},
/**
* Set the contrast of the magnified view.
* @contrast: Object containing the contrast for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* contrast (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed contrast, respectively.
*/
setContrast: function(contrast) {
let cRed = contrast.r;
let cGreen = contrast.g;
let cBlue = contrast.b;
this._brightnessContrast.set_contrast_full(cRed, cGreen, cBlue);
// Enable the effect if the contrast OR brightness change are such that
// it modifies the brightness and/or contrast.
// should be able to use Clutter.color_equal(), but that complains of
// a null first argument.
let [bRed, bGreen, bBlue] = this._brightnessContrast.get_brightness();
this._brightnessContrast.set_enabled(
cRed != NO_CHANGE || cGreen != NO_CHANGE || cBlue != NO_CHANGE ||
bRed != NO_CHANGE || bGreen != NO_CHANGE || bBlue != NO_CHANGE
);
},
/**
* Retrieve current contrast of the magnified view.
* @return: Object containing the contrast for the red, green,
* and blue channels. Values of 0.0 represent "standard"
* contrast (no change), whereas values less or greater than
* 0.0 indicate decreased or incresaed contrast, respectively.
*/
getContrast: function() {
let resutl = {};
let [cRed, cGreen, cBlue] = this._brightnessContrast.get_contrast();
result.r = cRed;
result.g = cGreen;
result.b = cBlue;
return result;
}
});

View File

@ -30,6 +30,7 @@ const NetworkAgent = imports.ui.networkAgent;
const NotificationDaemon = imports.ui.notificationDaemon;
const WindowAttentionHandler = imports.ui.windowAttentionHandler;
const Scripting = imports.ui.scripting;
const SessionMode = imports.ui.sessionMode;
const ShellDBus = imports.ui.shellDBus;
const TelepathyClient = imports.ui.telepathyClient;
const WindowManager = imports.ui.windowManager;
@ -46,7 +47,6 @@ let automountManager = null;
let autorunManager = null;
let panel = null;
let hotCorners = [];
let placesManager = null;
let overview = null;
let runDialog = null;
let lookingGlass = null;
@ -57,6 +57,7 @@ let windowAttentionHandler = null;
let telepathyClient = null;
let ctrlAltTabManager = null;
let recorder = null;
let sessionMode = null;
let shellDBusService = null;
let modalCount = 0;
let modalActorFocusStack = [];
@ -67,28 +68,27 @@ let statusIconDispatcher = null;
let keyboard = null;
let layoutManager = null;
let networkAgent = null;
let _errorLogStack = [];
let _startDate;
let _defaultCssStylesheet = null;
let _cssStylesheet = null;
let _gdmCssStylesheet = null;
let _overridesSettings = null;
let background = null;
function _createUserSession() {
function createUserSession() {
// Load the calendar server. Note that we are careful about
// not loading any events until the user presses the clock
global.launch_calendar_server();
placesManager = new PlaceDisplay.PlacesManager();
telepathyClient = new TelepathyClient.Client();
automountManager = new AutomountManager.AutomountManager();
autorunManager = new AutorunManager.AutorunManager();
networkAgent = new NetworkAgent.NetworkAgent();
_initRecorder();
}
function _createGDMSession() {
function createGDMSession() {
// We do this this here instead of at the top to prevent GDM
// related code from getting loaded in normal user sessions
const LoginDialog = imports.gdm.loginDialog;
@ -99,18 +99,26 @@ function _createGDMSession() {
});
}
function createInitialSetupSession() {
networkAgent = new NetworkAgent.NetworkAgent();
}
function _initRecorder() {
let recorderSettings = new Gio.Settings({ schema: 'org.gnome.shell.recorder' });
let desktopLockdownSettings = new Gio.Settings({ schema: 'org.gnome.desktop.lockdown' });
let bindingSettings = new Gio.Settings({ schema: 'org.gnome.shell.keybindings' });
global.screen.connect('toggle-recording', function() {
global.display.add_keybinding('toggle-recording',
bindingSettings,
Meta.KeyBindingFlags.NONE, function() {
if (recorder == null) {
recorder = new Shell.Recorder({ stage: global.stage });
}
if (recorder.is_recording()) {
recorder.pause();
recorder.close();
Meta.enable_unredirect_for_screen(global.screen);
} else {
} else if (!desktopLockdownSettings.get_boolean('disable-save-to-disk')) {
// read the parameters from GSettings always in case they have changed
recorder.set_framerate(recorderSettings.get_int('framerate'));
/* Translators: this is a filename used for screencast recording */
@ -129,38 +137,17 @@ function _initRecorder() {
});
}
function _initUserSession() {
_initRecorder();
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, -1, 1);
ExtensionSystem.init();
ExtensionSystem.loadExtensions();
Meta.keybindings_set_custom_handler('panel-run-dialog', function() {
getRunDialog().open();
});
Meta.keybindings_set_custom_handler('panel-main-menu', function () {
overview.toggle();
});
global.display.connect('overlay-key', Lang.bind(overview, overview.toggle));
}
function start() {
// Monkey patch utility functions into the global proxy;
// This is easier and faster than indirecting down into global
// if we want to call back up into JS.
global.logError = _logError;
global.log = _logDebug;
// These are here so we don't break compatibility.
global.logError = window.log;
global.log = window.log;
// Chain up async errors reported from C
global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); });
Gio.DesktopAppInfo.set_desktop_env('GNOME');
sessionMode = new SessionMode.SessionMode();
shellDBusService = new ShellDBus.GnomeShell();
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
@ -183,7 +170,6 @@ function start() {
global.stage.no_clear_hint = true;
_defaultCssStylesheet = global.datadir + '/theme/gnome-shell.css';
_gdmCssStylesheet = global.datadir + '/theme/gdm.css';
loadTheme();
// Set up stage hierarchy to group all UI actors under one container.
@ -194,9 +180,16 @@ function start() {
for (let i = 0; i < children.length; i++)
children[i].allocate_preferred_size(flags);
});
let constraint = new Clutter.BindConstraint({ source: global.stage,
coordinate: Clutter.BindCoordinate.SIZE });
uiGroup.add_constraint(constraint);
uiGroup.connect('get-preferred-width',
function(actor, forHeight, alloc) {
let width = global.stage.width;
[alloc.min_size, alloc.natural_size] = [width, width];
});
uiGroup.connect('get-preferred-height',
function(actor, forWidth, alloc) {
let height = global.stage.height;
[alloc.min_size, alloc.natural_size] = [height, height];
});
global.window_group.reparent(uiGroup);
global.overlay_group.reparent(uiGroup);
global.stage.add_actor(uiGroup);
@ -204,8 +197,7 @@ function start() {
layoutManager = new Layout.LayoutManager();
xdndHandler = new XdndHandler.XdndHandler();
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
// This overview object is just a stub for non-user sessions
overview = new Overview.Overview({ isDummy: global.session_type != Shell.SessionType.USER });
overview = new Overview.Overview();
magnifier = new Magnifier.Magnifier();
statusIconDispatcher = new StatusIconDispatcher.StatusIconDispatcher();
panel = new Panel.Panel();
@ -215,10 +207,7 @@ function start() {
notificationDaemon = new NotificationDaemon.NotificationDaemon();
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
if (global.session_type == Shell.SessionType.USER)
_createUserSession();
else if (global.session_type == Shell.SessionType.GDM)
_createGDMSession();
sessionMode.createSession();
panel.startStatusArea();
@ -226,8 +215,30 @@ function start() {
keyboard.init();
overview.init();
if (global.session_type == Shell.SessionType.USER)
_initUserSession();
if (sessionMode.hasWorkspaces)
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
false, -1, 1);
if (sessionMode.allowExtensions) {
ExtensionSystem.init();
ExtensionSystem.loadExtensions();
}
if (sessionMode.hasRunDialog) {
Meta.keybindings_set_custom_handler('panel-run-dialog', function() {
getRunDialog().open();
});
}
if (sessionMode.hasOverview) {
Meta.keybindings_set_custom_handler('panel-main-menu', function () {
overview.toggle();
});
global.display.connect('overlay-key',
Lang.bind(overview, overview.toggle));
}
statusIconDispatcher.start(messageTray.actor);
// Provide the bus object for gnome-session to
@ -244,7 +255,6 @@ function start() {
global.stage.connect('captured-event', _globalKeyPressHandler);
_log('info', 'loaded at ' + _startDate);
log('GNOME Shell started at ' + _startDate);
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
@ -487,8 +497,8 @@ function loadTheme() {
let theme = new St.Theme ({ application_stylesheet: cssStylesheet });
if (global.session_type == Shell.SessionType.GDM)
theme.load_stylesheet(_gdmCssStylesheet);
if (sessionMode.extraStylesheet)
theme.load_stylesheet(sessionMode.extraStylesheet);
if (previousTheme) {
let customStylesheets = previousTheme.get_custom_stylesheets();
@ -530,59 +540,6 @@ function notifyError(msg, details) {
notify(msg, details);
}
/**
* _log:
* @category: string message type ('info', 'error')
* @msg: A message string
* ...: Any further arguments are converted into JSON notation,
* and appended to the log message, separated by spaces.
*
* Log a message into the LookingGlass error
* stream. This is primarily intended for use by the
* extension system as well as debugging.
*/
function _log(category, msg) {
let text = msg;
if (arguments.length > 2) {
text += ': ';
for (let i = 2; i < arguments.length; i++) {
text += JSON.stringify(arguments[i]);
if (i < arguments.length - 1)
text += ' ';
}
}
_errorLogStack.push({timestamp: new Date().getTime(),
category: category,
message: text });
}
function _logError(msg) {
return _log('error', msg);
}
function _logDebug(msg) {
return _log('debug', msg);
}
// Used by the error display in lookingGlass.js
function _getAndClearErrorStack() {
let errors = _errorLogStack;
_errorLogStack = [];
return errors;
}
function logStackTrace(msg) {
try {
throw new Error();
} catch (e) {
// e.stack must have at least two lines, with the first being
// logStackTrace() (which we strip off), and the second being
// our caller.
let trace = e.stack.substr(e.stack.indexOf('\n') + 1);
log(msg ? (msg + '\n' + trace) : trace);
}
}
function isWindowActorDisplayedOnWorkspace(win, workspaceIndex) {
return win.get_workspace() == workspaceIndex ||
(win.get_meta_window() && win.get_meta_window().is_on_all_workspaces());
@ -605,6 +562,11 @@ function _globalKeyPressHandler(actor, event) {
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();
@ -613,11 +575,6 @@ function _globalKeyPressHandler(actor, event) {
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
let action = global.display.get_keybinding_action(keyCode, modifierState);
// Other bindings are only available to the user session when the overview is up and
// no modal dialog is present.
if (global.session_type == Shell.SessionType.USER && (!overview.visible || modalCount > 1))
return false;
// This isn't a Meta.KeyBindingAction yet
if (symbol == Clutter.Super_L || symbol == Clutter.Super_R) {
overview.hide();
@ -630,28 +587,39 @@ function _globalKeyPressHandler(actor, event) {
return true;
}
// None of the other bindings are relevant outside of the user's session
if (global.session_type != Shell.SessionType.USER)
return false;
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.actionMoveWorkspaceUp();
return true;
case Meta.KeyBindingAction.WORKSPACE_DOWN:
if (!sessionMode.hasWorkspaces)
return false;
wm.actionMoveWorkspaceDown();
return true;
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
case Meta.KeyBindingAction.COMMAND_2:
if (!sessionMode.hasRunDialog)
return false;
getRunDialog().open();
return true;
case Meta.KeyBindingAction.PANEL_MAIN_MENU:
@ -924,7 +892,8 @@ function initializeDeferredWork(actor, callback, props) {
function queueDeferredWork(workId) {
let data = _deferredWorkData[workId];
if (!data) {
global.logError('invalid work id ', workId);
let message = 'Invalid work id %d'.format(workId);
logError(new Error(message), message);
return;
}
if (_deferredWorkQueue.indexOf(workId) < 0)

View File

@ -441,7 +441,7 @@ const Notification = new Lang.Class({
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._table = new St.Table({ name: 'notification',
this._table = new St.Table({ style_class: 'notification',
reactive: true });
this._table.connect('style-changed', Lang.bind(this, this._styleChanged));
this.actor.set_child(this._table);
@ -577,7 +577,7 @@ const Notification = new Lang.Class({
if (params.body)
this.addBody(params.body, params.bodyMarkup);
this._updated();
this.updated();
},
setIconVisible: function(visible) {
@ -586,19 +586,21 @@ const Notification = new Lang.Class({
enableScrolling: function(enableScrolling) {
this._scrollPolicy = enableScrolling ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER;
if (this._scrollArea)
if (this._scrollArea) {
this._scrollArea.vscrollbar_policy = this._scrollPolicy;
this._scrollArea.enable_mouse_scrolling = enableScrolling;
}
},
_createScrollArea: function() {
this._table.add_style_class_name('multi-line-notification');
this._scrollArea = new St.ScrollView({ name: 'notification-scrollview',
this._scrollArea = new St.ScrollView({ style_class: 'notification-scrollview',
vscrollbar_policy: this._scrollPolicy,
hscrollbar_policy: Gtk.PolicyType.NEVER });
this._table.add(this._scrollArea, { row: 1,
col: 2 });
this._updateLastColumnSettings();
this._contentArea = new St.BoxLayout({ name: 'notification-body',
this._contentArea = new St.BoxLayout({ style_class: 'notification-body',
vertical: true });
this._scrollArea.add_actor(this._contentArea);
// If we know the notification will be expandable, we need to add
@ -616,7 +618,7 @@ const Notification = new Lang.Class({
}
this._contentArea.add(actor, style ? style : {});
this._updated();
this.updated();
},
// addBody:
@ -679,7 +681,7 @@ const Notification = new Lang.Class({
this._table.add_style_class_name('multi-line-notification');
this._table.add(this._actionArea, props);
this._updateLastColumnSettings();
this._updated();
this.updated();
},
_updateLastColumnSettings: function() {
@ -734,7 +736,7 @@ const Notification = new Lang.Class({
addButton: function(id, label) {
if (!this._buttonBox) {
let box = new St.BoxLayout({ name: 'notification-actions' });
let box = new St.BoxLayout({ style_class: 'notification-actions' });
this.setActionArea(box, { x_expand: false,
y_expand: false,
x_fill: false,
@ -744,6 +746,7 @@ const Notification = new Lang.Class({
}
let button = new St.Button({ can_focus: true });
button._actionId = id;
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) {
button.add_style_class_name('notification-icon-button');
@ -760,7 +763,32 @@ const Notification = new Lang.Class({
this._buttonFocusManager.add_group(this._buttonBox);
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
this._updated();
this.updated();
},
// setButtonSensitive:
// @id: the action ID
// @sensitive: whether the button should be sensitive
//
// If the notification contains a button with action ID @id,
// its sensitivity will be set to @sensitive. Insensitive
// buttons cannot be clicked.
setButtonSensitive: function(id, sensitive) {
if (!this._buttonBox)
return;
let button = this._buttonBox.get_children().filter(function(b) {
return b._actionId == id;
})[0];
if (!button || button.reactive == sensitive)
return;
button.reactive = sensitive;
if (sensitive)
button.remove_style_pseudo_class('insensitive');
else
button.add_style_pseudo_class('insensitive');
},
setUrgency: function(urgency) {
@ -856,7 +884,7 @@ const Notification = new Lang.Class({
if (this._canExpandContent()) {
this._addBannerBody();
this._table.add_style_class_name('multi-line-notification');
this._updated();
this.updated();
}
return false;
}));
@ -867,7 +895,7 @@ const Notification = new Lang.Class({
(!this._titleFitsInBannerMode && !this._table.has_style_class_name('multi-line-notification'));
},
_updated: function() {
updated: function() {
if (this.expanded)
this.expand(false);
},
@ -958,8 +986,10 @@ const Source = new Lang.Class({
ICON_SIZE: 24,
_init: function(title) {
_init: function(title, iconName, iconType) {
this.title = title;
this.iconName = iconName;
this.iconType = iconType;
this.actor = new Shell.GenericContainer();
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
@ -989,6 +1019,8 @@ const Source = new Lang.Class({
this.isMuted = false;
this.notifications = [];
this._setSummaryIcon(this.createNotificationIcon());
},
_getPreferredWidth: function (actor, forHeight, alloc) {
@ -1059,10 +1091,12 @@ const Source = new Lang.Class({
},
// Called to create a new icon actor (of size this.ICON_SIZE).
// Must be overridden by the subclass if you do not pass icons
// explicitly to the Notification() constructor.
// Provides a sane default implementation, override if you need
// something more fancy.
createNotificationIcon: function() {
throw new Error('no implementation of createNotificationIcon in ' + this);
return new St.Icon({ icon_name: this.iconName,
icon_type: this.iconType,
icon_size: this.ICON_SIZE });
},
// Unlike createNotificationIcon, this always returns the same actor;
@ -1113,16 +1147,14 @@ const Source = new Lang.Class({
},
//// Protected methods ////
// The subclass must call this at least once to set the summary icon.
_setSummaryIcon: function(icon) {
if (this._iconBin.child)
this._iconBin.child.destroy();
this._iconBin.child = icon;
},
// Default implementation is to do nothing, but subclasses can override
open: function(notification) {
this.emit('opened', notification);
},
destroyNonResidentNotifications: function() {
@ -2487,15 +2519,7 @@ const SystemNotificationSource = new Lang.Class({
Extends: Source,
_init: function() {
this.parent(_("System Information"));
this._setSummaryIcon(this.createNotificationIcon());
},
createNotificationIcon: function() {
return new St.Icon({ icon_name: 'dialog-information',
icon_type: St.IconType.SYMBOLIC,
icon_size: this.ICON_SIZE });
this.parent(_("System Information"), 'dialog-information', St.IconType.SYMBOLIC);
},
open: function() {

View File

@ -221,12 +221,19 @@ const NotificationDaemon = new Lang.Class({
let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
let id;
for (let hint in hints) {
// unpack the variants
hints[hint] = hints[hint].deep_unpack();
}
hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
// Filter out chat, presence, calls and invitation notifications from
// Empathy, since we handle that information from telepathyClient.js
if (appName == 'Empathy' && (hints['category'] == 'im.received' ||
hints['category'] == 'x-empathy.im.room-invitation' ||
hints['category'] == 'x-empathy.call.incoming' ||
hints['category'] == 'x-empathy.call.incoming"' ||
hints['category'] == 'x-empathy.transfer.incoming' ||
hints['category'] == 'x-empathy.im.subscription-request' ||
hints['category'] == 'presence.online' ||
hints['category'] == 'presence.offline')) {
@ -249,13 +256,6 @@ const NotificationDaemon = new Lang.Class({
}
}
for (let hint in hints) {
// unpack the variants
hints[hint] = hints[hint].deep_unpack();
}
hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
// Be compatible with the various hints for image data and image path
// 'image-data' and 'image-path' are the latest name of these hints, introduced in 1.2
@ -483,7 +483,7 @@ const NotificationDaemon = new Lang.Class({
},
_onTrayIconAdded: function(o, icon) {
let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null, icon);
let source = this._getSource(icon.title || icon.wm_class || C_("program", "Unknown"), icon.pid, null, null, icon);
},
_onTrayIconRemoved: function(o, icon) {
@ -578,11 +578,27 @@ const Source = new Lang.Class({
return true;
},
_getApp: function() {
let app;
app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid);
if (app != null)
return app;
if (this.trayIcon) {
app = Shell.AppSystem.get_default().lookup_wmclass(this.trayIcon.wmclass);
if (app != null)
return app;
}
return null;
},
_setApp: function() {
if (this.app)
return;
this.app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid);
this.app = this._getApp();
if (!this.app)
return;
@ -622,5 +638,10 @@ const Source = new Lang.Class({
}
this.parent();
},
createNotificationIcon: function() {
// We set the summary icon ourselves.
return null;
}
});

View File

@ -99,10 +99,8 @@ const ShellInfo = new Lang.Class({
const Overview = new Lang.Class({
Name: 'Overview',
_init : function(params) {
params = Params.parse(params, { isDummy: false });
this.isDummy = params.isDummy;
_init : function() {
this.isDummy = !Main.sessionMode.hasOverview;
// We only have an overview in user sessions, so
// create a dummy overview in other cases

View File

@ -4,6 +4,7 @@ const Cairo = imports.cairo;
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
@ -13,7 +14,6 @@ const St = imports.gi.St;
const Signals = imports.signals;
const Atk = imports.gi.Atk;
const Config = imports.misc.config;
const CtrlAltTab = imports.ui.ctrlAltTab;
const DND = imports.ui.dnd;
const Layout = imports.ui.layout;
@ -31,33 +31,6 @@ const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
const SPINNER_ANIMATION_TIME = 0.2;
const STANDARD_STATUS_AREA_ORDER = ['a11y', 'keyboard', 'volume', 'bluetooth', 'network', 'battery', 'userMenu'];
const STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
'keyboard': imports.ui.status.keyboard.XKBIndicator,
'userMenu': imports.ui.userMenu.UserMenuButton
};
if (Config.HAVE_BLUETOOTH)
STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
try {
STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet;
} catch(e) {
log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
}
const GDM_STATUS_AREA_ORDER = ['a11y', 'display', 'keyboard', 'volume', 'battery', 'powerMenu'];
const GDM_STATUS_AREA_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
'keyboard': imports.ui.status.keyboard.XKBIndicator,
'powerMenu': imports.gdm.powerMenu.PowerMenuButton
};
// To make sure the panel corners blend nicely with the panel,
// we draw background and borders the same way, e.g. drawing
// them as filled shapes from the outside inwards instead of
@ -961,7 +934,7 @@ const Panel = new Lang.Class({
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
/* Button on the left side of the panel. */
if (global.session_type == Shell.SessionType.USER) {
if (Main.sessionMode.hasOverview) {
this._activitiesButton = new ActivitiesButton();
this._activities = this._activitiesButton.actor;
this._leftBox.add(this._activities);
@ -969,28 +942,19 @@ const Panel = new Lang.Class({
// The activities button has a pretend menu, so as to integrate
// more cleanly with the rest of the panel
this._menus.addMenu(this._activitiesButton.menu);
}
if (Main.sessionMode.hasAppMenu) {
this._appMenu = new AppMenuButton(this._menus);
this._leftBox.add(this._appMenu.actor);
}
/* center */
if (global.session_type == Shell.SessionType.USER)
this._dateMenu = new DateMenu.DateMenuButton({ showEvents: true });
else
this._dateMenu = new DateMenu.DateMenuButton({ showEvents: false });
this._dateMenu = new DateMenu.DateMenuButton();
this._centerBox.add(this._dateMenu.actor, { y_fill: true });
this._menus.addMenu(this._dateMenu.menu);
/* right */
if (global.session_type == Shell.SessionType.GDM) {
this._status_area_order = GDM_STATUS_AREA_ORDER;
this._status_area_shell_implementation = GDM_STATUS_AREA_SHELL_IMPLEMENTATION;
} else {
this._status_area_order = STANDARD_STATUS_AREA_ORDER;
this._status_area_shell_implementation = STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION;
}
Main.statusIconDispatcher.connect('status-icon-added', Lang.bind(this, this._onTrayIconAdded));
Main.statusIconDispatcher.connect('status-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
@ -1112,10 +1076,19 @@ const Panel = new Lang.Class({
return true;
},
openAppMenu: function() {
let menu = this._appMenu.menu;
if (!this._appMenu.actor.reactive || menu.isOpen)
return;
menu.open();
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
},
startStatusArea: function() {
for (let i = 0; i < this._status_area_order.length; i++) {
let role = this._status_area_order[i];
let constructor = this._status_area_shell_implementation[role];
for (let i = 0; i < Main.sessionMode.statusArea.order.length; i++) {
let role = Main.sessionMode.statusArea.order[i];
let constructor = Main.sessionMode.statusArea.implementation[role];
if (!constructor) {
// This icon is not implemented (this is a bug)
continue;
@ -1165,18 +1138,21 @@ const Panel = new Lang.Class({
},
_onTrayIconAdded: function(o, icon, role) {
if (this._status_area_shell_implementation[role]) {
if (Main.sessionMode.statusArea.implementation[role]) {
// This icon is legacy, and replaced by a Shell version
// Hide it
return;
}
if (Main.sessionMode.statusArea.order.indexOf(role) == -1)
return;
icon.height = PANEL_ICON_SIZE;
let buttonBox = new PanelMenu.ButtonBox();
let box = buttonBox.actor;
box.add_actor(icon);
this._insertStatusItem(box, this._status_area_order.indexOf(role));
this._insertStatusItem(box, Main.sessionMode.statusArea.order.indexOf(role));
},
_onTrayIconRemoved: function(o, icon) {

View File

@ -189,7 +189,7 @@ const PlacesManager = new Lang.Class({
this._volumeMonitor.connect('drive-changed', Lang.bind(this, this._updateDevices));
this._updateDevices();
this._bookmarksPath = GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']);
this._bookmarksPath = GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']);
this._bookmarksFile = Gio.file_new_for_path(this._bookmarksPath);
this._monitor = this._bookmarksFile.monitor_file(Gio.FileMonitorFlags.NONE, null);
this._bookmarkTimeoutId = 0;
@ -365,12 +365,13 @@ const PlaceSearchProvider = new Lang.Class({
_init: function() {
this.parent(_("PLACES & DEVICES"));
this.placesManager = new PlacesManager();
},
getResultMetas: function(resultIds) {
getResultMetas: function(resultIds, callback) {
let metas = [];
for (let i = 0; i < resultIds.length; i++) {
let placeInfo = Main.placesManager.lookupPlaceById(resultIds[i]);
let placeInfo = this.placesManager.lookupPlaceById(resultIds[i]);
if (!placeInfo)
metas.push(null);
else
@ -381,24 +382,22 @@ const PlaceSearchProvider = new Lang.Class({
}
});
}
return metas;
callback(metas);
},
activateResult: function(id, params) {
let placeInfo = Main.placesManager.lookupPlaceById(id);
let placeInfo = this.placesManager.lookupPlaceById(id);
placeInfo.launch(params);
},
_compareResultMeta: function (idA, idB) {
let infoA = Main.placesManager.lookupPlaceById(idA);
let infoB = Main.placesManager.lookupPlaceById(idB);
let infoA = this.placesManager.lookupPlaceById(idA);
let infoB = this.placesManager.lookupPlaceById(idB);
return infoA.name.localeCompare(infoB.name);
},
_searchPlaces: function(places, terms) {
let multiplePrefixResults = [];
let prefixResults = [];
let multipleSubstringResults = [];
let substringResults = [];
terms = terms.map(String.toLowerCase);
@ -406,29 +405,26 @@ const PlaceSearchProvider = new Lang.Class({
for (let i = 0; i < places.length; i++) {
let place = places[i];
let mtype = place.matchTerms(terms);
if (mtype == Search.MatchType.MULTIPLE_PREFIX)
multiplePrefixResults.push(place.id);
else if (mtype == Search.MatchType.PREFIX)
if (mtype == Search.MatchType.PREFIX)
prefixResults.push(place.id);
else if (mtype == Search.MatchType.MULTIPLE_SUBSTRING)
multipleSubstringResults.push(place.id);
else if (mtype == Search.MatchType.SUBSTRING)
substringResults.push(place.id);
}
multiplePrefixResults.sort(this._compareResultMeta);
prefixResults.sort(this._compareResultMeta);
multipleSubstringResults.sort(this._compareResultMeta);
substringResults.sort(this._compareResultMeta);
return multiplePrefixResults.concat(prefixResults.concat(multipleSubstringResults.concat(substringResults)));
prefixResults.sort(Lang.bind(this, this._compareResultMeta));
substringResults.sort(Lang.bind(this, this._compareResultMeta));
this.searchSystem.pushResults(this, prefixResults.concat(substringResults));
},
getInitialResultSet: function(terms) {
let places = Main.placesManager.getAllPlaces();
return this._searchPlaces(places, terms);
let places = this.placesManager.getAllPlaces();
this._searchPlaces(places, terms);
},
getSubsearchResultSet: function(previousResults, terms) {
let places = previousResults.map(function (id) { return Main.placesManager.lookupPlaceById(id); });
return this._searchPlaces(places, terms);
let places = previousResults.map(Lang.bind(this, function(id) {
return this.placesManager.lookupPlaceById(id);
}));
this._searchPlaces(places, terms);
}
});

View File

@ -167,6 +167,7 @@ const AuthenticationDialog = new Lang.Class({
*/
this._nullMessageLabel = new St.Label({ style_class: 'prompt-dialog-null-label',
text: 'abc'});
this._nullMessageLabel.add_style_class_name('hidden');
this._nullMessageLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
this._nullMessageLabel.clutter_text.line_wrap = true;
messageBox.add(this._nullMessageLabel);

View File

@ -546,6 +546,10 @@ const PopupSliderMenuItem = new Lang.Class({
this._slider.connect('repaint', Lang.bind(this, this._sliderRepaint));
this.actor.connect('button-press-event', Lang.bind(this, this._startDragging));
this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
this.actor.connect('notify::mapped', Lang.bind(this, function() {
if (!this.actor.mapped)
this._endDragging();
}));
this._releaseId = this._motionId = 0;
this._dragging = false;
@ -884,8 +888,7 @@ const PopupMenuBase = new Lang.Class({
},
addSettingsAction: function(title, desktopFile) {
// Don't allow user settings to get edited unless we're in a user session
if (global.session_type != Shell.SessionType.USER)
if (!Main.sessionMode.allowSettings)
return null;
let menuItem = this.addAction(title, function() {
@ -1917,7 +1920,7 @@ const RemoteMenu = new Lang.Class({
while (k0 < currentItems.length && currentItems[k0]._ignored)
k0++;
// find the right menu item matching the model item
for (j0 = 0; j0 < position; j0++, k0++) {
for (j0 = 0; k0 < currentItems.length && j0 < position; j0++, k0++) {
if (currentItems[k0]._ignored)
k0++;
}
@ -1927,7 +1930,7 @@ const RemoteMenu = new Lang.Class({
for (k = k0; k < currentItems.length; k++)
currentItems[k].destroy();
} else {
for (j = j0, k = k0; j < j0 + removed; j++, k++) {
for (j = j0, k = k0; k < currentItems.length && j < j0 + removed; j++, k++) {
currentItems[k].destroy();
if (currentItems[k]._ignored)
@ -1958,8 +1961,9 @@ const RemoteMenu = new Lang.Class({
k++;
}
} else if (changeSignal) {
let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function() {
this.actionGroup.disconnect(signalId);
let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function(actionGroup, actionName) {
actionGroup.disconnect(signalId);
if (this._actions[actionName]) return;
// force a full update
this._modelChanged(model, 0, -1, model.get_n_items(), target);

View File

@ -91,7 +91,6 @@ const RemoteSearchProvider = new Lang.Class({
dbusName, dbusPath);
this.parent(title.toUpperCase());
this.async = true;
this._cancellable = new Gio.Cancellable();
},
@ -120,7 +119,7 @@ const RemoteSearchProvider = new Lang.Class({
this.searchSystem.pushResults(this, results[0]);
},
getInitialResultSetAsync: function(terms) {
getInitialResultSet: function(terms) {
this._cancellable.cancel();
this._cancellable.reset();
try {
@ -133,7 +132,7 @@ const RemoteSearchProvider = new Lang.Class({
}
},
getSubsearchResultSetAsync: function(previousResults, newTerms) {
getSubsearchResultSet: function(previousResults, newTerms) {
this._cancellable.cancel();
this._cancellable.reset();
try {
@ -164,7 +163,7 @@ const RemoteSearchProvider = new Lang.Class({
callback(resultMetas);
},
getResultMetasAsync: function(ids, callback) {
getResultMetas: function(ids, callback) {
this._cancellable.cancel();
this._cancellable.reset();
try {

View File

@ -18,9 +18,7 @@ const DISABLED_OPEN_SEARCH_PROVIDERS_KEY = 'disabled-open-search-providers';
const MatchType = {
NONE: 0,
SUBSTRING: 1,
MULTIPLE_SUBSTRING: 2,
PREFIX: 3,
MULTIPLE_PREFIX: 4
PREFIX: 2
};
const SearchResultDisplay = new Lang.Class({
@ -72,11 +70,8 @@ const SearchResultDisplay = new Lang.Class({
* Subclass this object to add a new result type
* to the search system, then call registerProvider()
* in SearchSystem with an instance.
* By default, search is synchronous and uses the
* Search is asynchronous and uses the
* getInitialResultSet()/getSubsearchResultSet() methods.
* For asynchronous search, set the async property to true
* and implement getInitialResultSetAsync()/getSubsearchResultSetAsync()
* instead.
*/
const SearchProvider = new Lang.Class({
Name: 'SearchProvider',
@ -84,7 +79,6 @@ const SearchProvider = new Lang.Class({
_init: function(title) {
this.title = title;
this.searchSystem = null;
this.async = false;
},
/**
@ -95,7 +89,7 @@ const SearchProvider = new Lang.Class({
* therefore a single term of length one or two), or when
* a new term is added.
*
* Should return an array of result identifier strings representing
* Should "return" an array of result identifier strings representing
* items which match the given search terms. This
* is expected to be a substring match on the metadata for a given
* item. Ordering of returned results is up to the discretion of the provider,
@ -105,6 +99,9 @@ const SearchProvider = new Lang.Class({
* description) before single matches
* * Put items which match on a prefix before non-prefix substring matches
*
* We say "return" above, but in order to make the query asynchronous, use
* this.searchSystem.pushResults();. The return value should be ignored.
*
* This function should be fast; do not perform unindexed full-text searches
* or network queries.
*/
@ -112,18 +109,6 @@ const SearchProvider = new Lang.Class({
throw new Error('Not implemented');
},
/**
* getInitialResultSetAsync:
* @terms: Array of search terms, treated as logical AND
*
* Like getInitialResultSet(), but the method should return immediately
* without a return value - use SearchSystem.pushResults() when the
* corresponding results are ready.
*/
getInitialResultSetAsync: function(terms) {
throw new Error('Not implemented');
},
/**
* getSubsearchResultSet:
* @previousResults: Array of item identifiers
@ -136,46 +121,23 @@ const SearchProvider = new Lang.Class({
*
* This allows search providers to only search through the previous
* result set, rather than possibly performing a full re-query.
*
* Similar to getInitialResultSet, the return value for this will
* be ignored; use this.searchSystem.pushResults();.
*/
getSubsearchResultSet: function(previousResults, newTerms) {
throw new Error('Not implemented');
},
/**
* getSubsearchResultSetAsync:
* @previousResults: Array of item identifiers
* @newTerms: Updated search terms
*
* Like getSubsearchResultSet(), but the method should return immediately
* without a return value - use SearchSystem.pushResults() when the
* corresponding results are ready.
*/
getSubsearchResultSetAsync: function(previousResults, newTerms) {
throw new Error('Not implemented');
},
/**
* getResultMetas:
* @ids: Result identifier strings
*
* Return an array of objects with 'id', 'name', (both strings) and
* Call callback with array of objects with 'id', 'name', (both strings) and
* 'createIcon' (function(size) returning a Clutter.Texture) properties
* with the same number of members as @ids
*/
getResultMetas: function(ids) {
throw new Error('Not implemented');
},
/**
* getResultMetasAsync:
* @ids: Result identifier strings
* @callback: callback to pass the results to when ready
*
* Like getResultMetas(), but the method should return immediately
* without a return value - pass the results to the provided @callback
* when ready.
*/
getResultMetasAsync: function(ids, callback) {
getResultMetas: function(ids, callback) {
throw new Error('Not implemented');
},
@ -379,42 +341,33 @@ const SearchSystem = new Lang.Class({
}
}
let previousResultsArr = this._previousResults;
let results = [];
this._previousTerms = terms;
this._previousResults = results;
if (isSubSearch) {
for (let i = 0; i < this._providers.length; i++) {
let [provider, previousResults] = this._previousResults[i];
let [provider, previousResults] = previousResultsArr[i];
try {
if (provider.async) {
provider.getSubsearchResultSetAsync(previousResults, terms);
results.push([provider, []]);
} else {
let providerResults = provider.getSubsearchResultSet(previousResults, terms);
results.push([provider, providerResults]);
}
results.push([provider, []]);
provider.getSubsearchResultSet(previousResults, terms);
} catch (error) {
global.log ('A ' + error.name + ' has occured in ' + provider.title + ': ' + error.message);
log('A ' + error.name + ' has occured in ' + provider.title + ': ' + error.message);
}
}
} else {
for (let i = 0; i < this._providers.length; i++) {
let provider = this._providers[i];
try {
if (provider.async) {
provider.getInitialResultSetAsync(terms);
results.push([provider, []]);
} else {
let providerResults = provider.getInitialResultSet(terms);
results.push([provider, providerResults]);
}
results.push([provider, []]);
provider.getInitialResultSet(terms);
} catch (error) {
global.log ('A ' + error.name + ' has occured in ' + provider.title + ': ' + error.message);
log('A ' + error.name + ' has occured in ' + provider.title + ': ' + error.message);
}
}
}
this._previousTerms = terms;
this._previousResults = results;
this.emit('search-completed', results);
},
});
Signals.addSignalMethods(SearchSystem.prototype);

View File

@ -5,6 +5,7 @@ const Lang = imports.lang;
const Gtk = imports.gi.Gtk;
const Meta = imports.gi.Meta;
const St = imports.gi.St;
const Atk = imports.gi.Atk;
const DND = imports.ui.dnd;
const IconGrid = imports.ui.iconGrid;
@ -33,12 +34,13 @@ const SearchResult = new Lang.Class({
content = new St.Bin({ style_class: 'search-result-content',
reactive: true,
can_focus: true,
track_hover: true });
track_hover: true,
accessible_role: Atk.Role.PUSH_BUTTON });
let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
{ createIcon: this.metaInfo['createIcon'] });
content.set_child(icon.actor);
this._dragActorSource = icon.icon;
this.actor.label_actor = icon.label;
content.label_actor = icon.label;
} else {
if (content._delegate && content._delegate.getDragActorSource)
this._dragActorSource = content._delegate.getDragActorSource();
@ -119,13 +121,7 @@ const GridSearchResults = new Lang.Class({
if (results.length == 0)
return;
if (provider.async) {
provider.getResultMetasAsync(results,
Lang.bind(this, this.renderResults));
} else {
let metas = provider.getResultMetas(results);
this.renderResults(metas);
}
provider.getResultMetas(results, Lang.bind(this, this.renderResults));
}));
}));
this._notDisplayedResult = [];
@ -135,7 +131,7 @@ const GridSearchResults = new Lang.Class({
getResultsForDisplay: function() {
let alreadyVisible = this._pendingClear ? 0 : this._grid.visibleItemsCount();
let canDisplay = this._grid.childrenInRow(this._width) * MAX_SEARCH_RESULTS_ROWS
let canDisplay = this._grid.childrenInRow(this._width) * this._grid.getRowLimit()
- alreadyVisible;
let numResults = Math.min(this._notDisplayedResult.length, canDisplay);
@ -179,8 +175,7 @@ const SearchResults = new Lang.Class({
_init: function(searchSystem, openSearchSystem) {
this._searchSystem = searchSystem;
this._searchSystem.connect('search-updated', Lang.bind(this, this._updateCurrentResults));
this._searchSystem.connect('search-completed', Lang.bind(this, this._updateResults));
this._searchSystem.connect('search-updated', Lang.bind(this, this._updateResults));
this._openSearchSystem = openSearchSystem;
this.actor = new St.BoxLayout({ name: 'searchResults',
@ -214,10 +209,8 @@ const SearchResults = new Lang.Class({
this._content.add(this._statusText);
this._providers = this._searchSystem.getProviders();
this._providerMeta = [];
this._providerMetaResults = {};
for (let i = 0; i < this._providers.length; i++) {
this.createProviderMeta(this._providers[i]);
this._providerMetaResults[this.providers[i].title] = [];
}
this._searchProvidersBox = new St.BoxLayout({ style_class: 'search-providers-box' });
this.actor.add(this._searchProvidersBox);
@ -290,8 +283,7 @@ const SearchResults = new Lang.Class({
this._providerMeta.push({ provider: provider,
actor: providerBox,
resultDisplay: resultDisplay,
hasPendingResults: false });
resultDisplay: resultDisplay });
this._content.add(providerBox);
},
@ -307,7 +299,6 @@ const SearchResults = new Lang.Class({
},
_clearDisplay: function() {
this._visibleResultsCount = 0;
for (let i = 0; i < this._providerMeta.length; i++) {
let meta = this._providerMeta[i];
meta.resultDisplay.clear();
@ -335,6 +326,8 @@ const SearchResults = new Lang.Class({
doSearch: function (searchString) {
this._searchSystem.updateSearch(searchString);
let terms = this._searchSystem.getTerms();
this._openSearchSystem.setSearchTerms(terms);
},
_metaForProvider: function(provider) {
@ -346,8 +339,6 @@ const SearchResults = new Lang.Class({
for (let i = 0; i < this._providerMeta.length; i++) {
let meta = this._providerMeta[i];
if (meta.hasPendingResults)
return;
if (!meta.actor.visible)
continue;
@ -372,71 +363,57 @@ const SearchResults = new Lang.Class({
}
},
_updateCurrentResults: function(searchSystem, results) {
let terms = searchSystem.getTerms();
let [provider, providerResults] = results;
let meta = this._metaForProvider(provider);
meta.hasPendingResults = false;
this._updateProviderResults(provider, providerResults, terms);
},
_updateStatusText: function () {
let haveResults = false;
_updateProviderResults: function(provider, providerResults, terms) {
let meta = this._metaForProvider(provider);
if (providerResults.length == 0) {
this._clearDisplayForProvider(provider);
meta.resultDisplay.setResults([], []);
} else {
this._providerMetaResults[provider.title] = providerResults;
meta.resultDisplay.setResults(providerResults, terms);
let results = meta.resultDisplay.getResultsForDisplay();
if (provider.async) {
provider.getResultMetasAsync(results, Lang.bind(this,
function(metas) {
this._clearDisplayForProvider(provider);
meta.actor.show();
this._content.hide();
meta.resultDisplay.renderResults(metas);
this._maybeSetInitialSelection();
this._content.show();
}));
} else {
let metas = provider.getResultMetas(results);
this._clearDisplayForProvider(provider);
meta.actor.show();
meta.resultDisplay.renderResults(metas);
for (let i = 0; i < this._providerMeta.length; ++i)
if (this._providerMeta[i].resultDisplay.getFirstResult()) {
haveResults = true;
break;
}
}
},
_updateResults: function(searchSystem, results) {
if (results.length == 0) {
if (!haveResults) {
this._statusText.set_text(_("No matching results."));
this._statusText.show();
} else {
this._statusText.hide();
}
},
_updateResults: function(searchSystem, results) {
let terms = searchSystem.getTerms();
this._openSearchSystem.setSearchTerms(terms);
let [provider, providerResults] = results;
let meta = this._metaForProvider(provider);
// To avoid CSS transitions causing flickering when the first search
// result stays the same, we hide the content while filling in the
// results.
this._content.hide();
if (providerResults.length == 0) {
this._clearDisplayForProvider(provider);
meta.resultDisplay.setResults([], []);
this._maybeSetInitialSelection();
this._updateStatusText();
} else {
meta.resultDisplay.setResults(providerResults, terms);
let results = meta.resultDisplay.getResultsForDisplay();
for (let i = 0; i < results.length; i++) {
let [provider, providerResults] = results[i];
let meta = this._metaForProvider(provider);
meta.hasPendingResults = provider.async;
if (!meta.hasPendingResults)
this._updateProviderResults(provider, providerResults, terms);
provider.getResultMetas(results, Lang.bind(this, function(metas) {
this._clearDisplayForProvider(provider);
meta.actor.show();
// Hiding drops the key focus if we have it
let focus = global.stage.get_key_focus();
// To avoid CSS transitions causing flickering when
// the first search result stays the same, we hide the
// content while filling in the results.
this._content.hide();
meta.resultDisplay.renderResults(metas);
this._maybeSetInitialSelection();
this._updateStatusText();
this._content.show();
if (this._content.contains(focus))
global.stage.set_key_focus(focus);
}));
}
this._maybeSetInitialSelection();
this._content.show();
return true;
},
activateDefault: function() {

124
js/ui/sessionMode.js Normal file
View File

@ -0,0 +1,124 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Lang = imports.lang;
const Config = imports.misc.config;
const Main = imports.ui.main;
const Params = imports.misc.params;
const STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
'userMenu': imports.ui.userMenu.UserMenuButton
};
if (Config.HAVE_BLUETOOTH)
STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['bluetooth'] =
imports.ui.status.bluetooth.Indicator;
try {
STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] =
imports.ui.status.network.NMApplet;
} catch(e) {
log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
}
const DEFAULT_MODE = 'user';
const _modes = {
'gdm': { hasOverview: false,
hasAppMenu: false,
showCalendarEvents: false,
allowSettings: false,
allowExtensions: false,
allowKeybindingsWhenModal: true,
hasRunDialog: false,
hasWorkspaces: false,
createSession: Main.createGDMSession,
extraStylesheet: global.datadir + '/theme/gdm.css',
statusArea: {
order: [
'a11y', 'display', 'keyboard',
'volume', 'battery', 'powerMenu'
],
implementation: {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
'powerMenu': imports.gdm.powerMenu.PowerMenuButton
}
}
},
'initial-setup': { hasOverview: false,
hasAppMenu: false,
showCalendarEvents: false,
allowSettings: false,
allowExtensions: false,
allowKeybindingsWhenModal: false,
hasRunDialog: false,
hasWorkspaces: false,
createSession: Main.createInitialSetupSession,
extraStylesheet: null,
statusArea: {
order: [
'a11y', 'keyboard', 'volume'
],
implementation: {
'a11y': imports.ui.status.accessibility.ATIndicator,
'keyboard': imports.ui.status.keyboard.XKBIndicator,
'volume': imports.ui.status.volume.Indicator
}
}
},
'user': { hasOverview: true,
hasAppMenu: true,
showCalendarEvents: true,
allowSettings: true,
allowExtensions: true,
allowKeybindingsWhenModal: false,
hasRunDialog: true,
hasWorkspaces: true,
createSession: Main.createUserSession,
extraStylesheet: null,
statusArea: {
order: [
'input-method', 'a11y', 'keyboard', 'volume', 'bluetooth',
'network', 'battery', 'userMenu'
],
implementation: STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION
}
}
};
function listModes() {
let modes = Object.getOwnPropertyNames(_modes);
for (let i = 0; i < modes.length; i++)
print(modes[i]);
}
const SessionMode = new Lang.Class({
Name: 'SessionMode',
_init: function() {
let params = _modes[global.session_mode];
params = Params.parse(params, _modes[DEFAULT_MODE]);
this._createSession = params.createSession;
delete params.createSession;
Lang.copyProperties(params, this);
},
createSession: function() {
if (this._createSession)
this._createSession();
}
});

View File

@ -56,15 +56,8 @@ const GnomeShellIface = <interface name="org.gnome.Shell">
<arg type="i" direction="in" name="width"/>
<arg type="i" direction="in" name="height"/>
</method>
<method name="EnableExtension">
<arg type="s" direction="in" name="uuid"/>
</method>
<method name="DisableExtension">
<arg type="s" direction="in" name="uuid"/>
</method>
<method name="InstallRemoteExtension">
<arg type="s" direction="in" name="uuid"/>
<arg type="s" direction="in" name="version"/>
</method>
<method name="UninstallExtension">
<arg type="s" direction="in" name="uuid"/>
@ -260,22 +253,8 @@ const GnomeShell = new Lang.Class({
return extension.errors;
},
EnableExtension: function(uuid) {
let enabledExtensions = global.settings.get_strv(ExtensionSystem.ENABLED_EXTENSIONS_KEY);
if (enabledExtensions.indexOf(uuid) == -1)
enabledExtensions.push(uuid);
global.settings.set_strv(ExtensionSystem.ENABLED_EXTENSIONS_KEY, enabledExtensions);
},
DisableExtension: function(uuid) {
let enabledExtensions = global.settings.get_strv(ExtensionSystem.ENABLED_EXTENSIONS_KEY);
while (enabledExtensions.indexOf(uuid) != -1)
enabledExtensions.splice(enabledExtensions.indexOf(uuid), 1);
global.settings.set_strv(ExtensionSystem.ENABLED_EXTENSIONS_KEY, enabledExtensions);
},
InstallRemoteExtension: function(uuid, version_tag) {
ExtensionSystem.installExtensionFromUUID(uuid, version_tag);
InstallRemoteExtension: function(uuid) {
ExtensionSystem.installExtensionFromUUID(uuid);
},
UninstallExtension: function(uuid) {

View File

@ -243,6 +243,7 @@ const ShellMountPasswordSource = new Lang.Class({
this.parent(strings[0]);
this._notification = new ShellMountPasswordNotification(this, strings, icon, reaskPassword);
this._setSummaryIcon(icon);
// add ourselves as a source, and popup the notification
Main.messageTray.add(this);

View File

@ -106,10 +106,7 @@ const Indicator = new Lang.Class({
/* TRANSLATORS: this means that bluetooth was disabled by hardware rfkill */
this._killswitch.setStatus(_("hardware disabled"));
if (has_adapter)
this.actor.show();
else
this.actor.hide();
this.actor.visible = has_adapter;
if (on) {
this._discoverable.actor.show();
@ -308,7 +305,7 @@ const Indicator = new Lang.Class({
_ensureSource: function() {
if (!this._source) {
this._source = new Source();
this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active', St.IconType.SYMBOLIC);
Main.messageTray.add(this._source);
}
},
@ -333,35 +330,6 @@ const Indicator = new Lang.Class({
}
});
const Source = new Lang.Class({
Name: 'BluetoothSource',
Extends: MessageTray.Source,
_init: function() {
this.parent(_("Bluetooth"));
this._setSummaryIcon(this.createNotificationIcon());
},
notify: function(notification) {
this._private_destroyId = notification.connect('destroy', Lang.bind(this, function(notification) {
if (this.notification == notification) {
// the destroyed notification is the last for this source
this.notification.disconnect(this._private_destroyId);
this.destroy();
}
}));
this.parent(notification);
},
createNotificationIcon: function() {
return new St.Icon({ icon_name: 'bluetooth-active',
icon_type: St.IconType.SYMBOLIC,
icon_size: this.ICON_SIZE });
}
});
const AuthNotification = new Lang.Class({
Name: 'AuthNotification',
Extends: MessageTray.Notification,
@ -412,7 +380,7 @@ const ConfirmNotification = new Lang.Class({
this._applet = applet;
this._devicePath = device_path;
this.addBody(_("Device %s wants to pair with this computer").format(long_name));
this.addBody(_("Please confirm whether the PIN '%s' matches the one on the device.").format(pin));
this.addBody(_("Please confirm whether the PIN '%06d' matches the one on the device.").format(pin));
this.addButton('matches', _("Matches"));
this.addButton('does-not-match', _("Does not match"));
@ -448,7 +416,8 @@ const PinNotification = new Lang.Class({
this._entry.connect('key-release-event', Lang.bind(this, function(entry, event) {
let key = event.get_key_symbol();
if (key == Clutter.KEY_Return) {
this.emit('action-invoked', 'ok');
if (this._canActivateOkButton())
this.emit('action-invoked', 'ok');
return true;
} else if (key == Clutter.KEY_Escape) {
this.emit('action-invoked', 'cancel');
@ -461,6 +430,12 @@ const PinNotification = new Lang.Class({
this.addButton('ok', _("OK"));
this.addButton('cancel', _("Cancel"));
this.setButtonSensitive('ok', this._canActivateOkButton());
this._entry.clutter_text.connect('text-changed', Lang.bind(this,
function() {
this.setButtonSensitive('ok', this._canActivateOkButton());
}));
this.connect('action-invoked', Lang.bind(this, function(self, action) {
if (action == 'ok') {
if (this._numeric) {
@ -483,6 +458,11 @@ const PinNotification = new Lang.Class({
}));
},
_canActivateOkButton: function() {
// PINs have a fixed length of 6
return this._entry.clutter_text.text.length == 6;
},
grabFocus: function(lockTray) {
this.parent(lockTray);
global.stage.set_key_focus(this._entry);

View File

@ -2,9 +2,9 @@
const Clutter = imports.gi.Clutter;
const GdkPixbuf = imports.gi.GdkPixbuf;
const Gkbd = imports.gi.Gkbd;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const GnomeDesktop = imports.gi.GnomeDesktop;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
@ -14,34 +14,32 @@ const PopupMenu = imports.ui.popupMenu;
const PanelMenu = imports.ui.panelMenu;
const Util = imports.misc.util;
const DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
const KEY_CURRENT_INPUT_SOURCE = 'current';
const KEY_INPUT_SOURCES = 'sources';
const INPUT_SOURCE_TYPE_XKB = 'xkb';
const LayoutMenuItem = new Lang.Class({
Name: 'LayoutMenuItem',
Extends: PopupMenu.PopupBaseMenuItem,
_init: function(config, id, indicator, long_name) {
_init: function(displayName, shortName) {
this.parent();
this._config = config;
this._id = id;
this.label = new St.Label({ text: long_name });
this.indicator = indicator;
this.label = new St.Label({ text: displayName });
this.indicator = new St.Label({ text: shortName });
this.addActor(this.label);
this.addActor(this.indicator);
},
activate: function(event) {
this.parent(event);
this._config.lock_group(this._id);
}
});
const XKBIndicator = new Lang.Class({
Name: 'XKBIndicator',
const InputSourceIndicator = new Lang.Class({
Name: 'InputSourceIndicator',
Extends: PanelMenu.Button,
_init: function() {
this.parent(0.0);
this.parent(0.0, _("Keyboard"));
this._container = new Shell.GenericContainer();
this._container.connect('get-preferred-width', Lang.bind(this, this._containerGetPreferredWidth));
@ -50,122 +48,144 @@ const XKBIndicator = new Lang.Class({
this.actor.add_actor(this._container);
this.actor.add_style_class_name('panel-status-button');
this._iconActor = new St.Icon({ icon_name: 'keyboard', icon_type: St.IconType.SYMBOLIC, style_class: 'system-status-icon' });
this._container.add_actor(this._iconActor);
this._labelActors = [ ];
this._layoutItems = [ ];
this._labelActors = {};
this._layoutItems = {};
this._showFlags = false;
this._config = Gkbd.Configuration.get();
this._config.connect('changed', Lang.bind(this, this._syncConfig));
this._config.connect('group-changed', Lang.bind(this, this._syncGroup));
this._config.start_listen();
this._settings = new Gio.Settings({ schema: DESKTOP_INPUT_SOURCES_SCHEMA });
this._settings.connect('changed::' + KEY_CURRENT_INPUT_SOURCE, Lang.bind(this, this._currentInputSourceChanged));
this._settings.connect('changed::' + KEY_INPUT_SOURCES, Lang.bind(this, this._inputSourcesChanged));
this._syncConfig();
this._currentSourceIndex = this._settings.get_uint(KEY_CURRENT_INPUT_SOURCE);
this._xkbInfo = new GnomeDesktop.XkbInfo();
if (global.session_type == Shell.SessionType.USER) {
this._inputSourcesChanged();
// re-using "allowSettings" for the keyboard layout is a bit shady,
// but at least for now it is used as "allow popping up windows
// from shell menus"; we can always add a separate sessionMode
// option if need arises.
if (Main.sessionMode.allowSettings) {
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("Show Keyboard Layout"), Lang.bind(this, function() {
Main.overview.hide();
Util.spawn(['gkbd-keyboard-display', '-g', String(this._config.get_current_group() + 1)]);
}));
this.menu.addAction(_("Show Keyboard Layout"), Lang.bind(this, this._showLayout));
}
this.menu.addSettingsAction(_("Region and Language Settings"), 'gnome-region-panel.desktop');
},
_adjustGroupNames: function(names) {
// Disambiguate duplicate names with a subscript
// This is O(N^2) to avoid sorting names
// but N <= 4 so who cares?
_currentInputSourceChanged: function() {
let nVisibleSources = Object.keys(this._layoutItems).length;
if (nVisibleSources < 2)
return;
for (let i = 0; i < names.length; i++) {
let name = names[i];
let cnt = 0;
for (let j = i + 1; j < names.length; j++) {
if (names[j] == name) {
cnt++;
// U+2081 SUBSCRIPT ONE
names[j] = name + String.fromCharCode(0x2081 + cnt);
}
}
if (cnt != 0)
names[i] = name + '\u2081';
let nSources = this._settings.get_value(KEY_INPUT_SOURCES).n_children();
let newCurrentSourceIndex = this._settings.get_uint(KEY_CURRENT_INPUT_SOURCE);
if (newCurrentSourceIndex >= nSources)
return;
if (!this._layoutItems[newCurrentSourceIndex]) {
// This source index is invalid as we weren't able to
// build a menu item for it, so we hide ourselves since we
// can't fix it here. *shrug*
this.menu.close();
this.actor.hide();
return;
} else {
this.actor.show();
}
return names;
if (this._layoutItems[this._currentSourceIndex]) {
this._layoutItems[this._currentSourceIndex].setShowDot(false);
this._container.set_skip_paint(this._labelActors[this._currentSourceIndex], true);
}
this._layoutItems[newCurrentSourceIndex].setShowDot(true);
this._container.set_skip_paint(this._labelActors[newCurrentSourceIndex], false);
this._currentSourceIndex = newCurrentSourceIndex;
},
_syncConfig: function() {
this._showFlags = this._config.if_flags_shown();
if (this._showFlags) {
this._container.set_skip_paint(this._iconActor, false);
} else {
this._container.set_skip_paint(this._iconActor, true);
_inputSourcesChanged: function() {
let sources = this._settings.get_value(KEY_INPUT_SOURCES);
let nSources = sources.n_children();
for (let i in this._layoutItems)
this._layoutItems[i].destroy();
for (let i in this._labelActors)
this._labelActors[i].destroy();
this._layoutItems = {};
this._labelActors = {};
let infos = [];
let infosByShortName = {};
for (let i = 0; i < nSources; i++) {
let [type, id] = sources.get_child_value(i).deep_unpack();
if (type != INPUT_SOURCE_TYPE_XKB)
continue;
let info = {};
[info.exists, info.displayName, info.shortName, , ] =
this._xkbInfo.get_layout_info(id);
if (!info.exists)
continue;
info.sourceIndex = i;
if (!(info.shortName in infosByShortName))
infosByShortName[info.shortName] = [];
infosByShortName[info.shortName].push(info);
infos.push(info);
}
let groups = this._config.get_group_names();
if (groups.length > 1) {
if (infos.length > 1) {
this.actor.show();
} else {
this.menu.close();
this.actor.hide();
}
for (let i = 0; i < this._layoutItems.length; i++)
this._layoutItems[i].destroy();
for (let i = 0; i < infos.length; i++) {
let info = infos[i];
if (infosByShortName[info.shortName].length > 1) {
let sub = infosByShortName[info.shortName].indexOf(info) + 1;
info.shortName += String.fromCharCode(0x2080 + sub);
}
for (let i = 0; i < this._labelActors.length; i++)
this._labelActors[i].destroy();
let short_names = this._adjustGroupNames(this._config.get_short_group_names());
this._selectedLayout = null;
this._layoutItems = [ ];
this._selectedLabel = null;
this._labelActors = [ ];
for (let i = 0; i < groups.length; i++) {
let icon_name = this._config.get_group_name(i);
let actor;
if (this._showFlags)
actor = new St.Icon({ icon_name: icon_name, icon_type: St.IconType.SYMBOLIC, style_class: 'popup-menu-icon' });
else
actor = new St.Label({ text: short_names[i] });
let item = new LayoutMenuItem(this._config, i, actor, groups[i]);
item._short_group_name = short_names[i];
item._icon_name = icon_name;
this._layoutItems.push(item);
let item = new LayoutMenuItem(info.displayName, info.shortName);
this._layoutItems[info.sourceIndex] = item;
this.menu.addMenuItem(item, i);
item.connect('activate', Lang.bind(this, function() {
this._settings.set_value(KEY_CURRENT_INPUT_SOURCE,
GLib.Variant.new_uint32(info.sourceIndex));
}));
let shortLabel = new St.Label({ text: short_names[i] });
this._labelActors.push(shortLabel);
let shortLabel = new St.Label({ text: info.shortName });
this._labelActors[info.sourceIndex] = shortLabel;
this._container.add_actor(shortLabel);
this._container.set_skip_paint(shortLabel, true);
}
this._syncGroup();
this._currentInputSourceChanged();
},
_syncGroup: function() {
let selected = this._config.get_current_group();
_showLayout: function() {
Main.overview.hide();
if (this._selectedLayout) {
this._selectedLayout.setShowDot(false);
this._selectedLayout = null;
}
let sources = this._settings.get_value(KEY_INPUT_SOURCES);
let current = this._settings.get_uint(KEY_CURRENT_INPUT_SOURCE);
let id = sources.get_child_value(current).deep_unpack()[1];
let [, , , xkbLayout, xkbVariant] = this._xkbInfo.get_layout_info(id);
if (this._selectedLabel) {
this._container.set_skip_paint(this._selectedLabel, true);
this._selectedLabel = null;
}
if (!xkbLayout || xkbLayout.length == 0)
return;
let item = this._layoutItems[selected];
item.setShowDot(true);
let description = xkbLayout;
if (xkbVariant.length > 0)
description = description + '\t' + xkbVariant;
this._iconActor.icon_name = item._icon_name;
this._selectedLabel = this._labelActors[selected];
this._container.set_skip_paint(this._selectedLabel, this._showFlags);
this._selectedLayout = item;
Util.spawn(['gkbd-keyboard-display', '-l', description]);
},
_containerGetPreferredWidth: function(container, for_height, alloc) {
@ -173,15 +193,11 @@ const XKBIndicator = new Lang.Class({
// for the height of all children, but we ignore the results
// for those we don't actually display.
let max_min_width = 0, max_natural_width = 0;
if (this._showFlags)
[max_min_width, max_natural_width] = this._iconActor.get_preferred_width(for_height);
for (let i = 0; i < this._labelActors.length; i++) {
for (let i in this._labelActors) {
let [min_width, natural_width] = this._labelActors[i].get_preferred_width(for_height);
if (!this._showFlags) {
max_min_width = Math.max(max_min_width, min_width);
max_natural_width = Math.max(max_natural_width, natural_width);
}
max_min_width = Math.max(max_min_width, min_width);
max_natural_width = Math.max(max_natural_width, natural_width);
}
alloc.min_size = max_min_width;
@ -190,15 +206,11 @@ const XKBIndicator = new Lang.Class({
_containerGetPreferredHeight: function(container, for_width, alloc) {
let max_min_height = 0, max_natural_height = 0;
if (this._showFlags)
[max_min_height, max_natural_height] = this._iconActor.get_preferred_height(for_width);
for (let i = 0; i < this._labelActors.length; i++) {
for (let i in this._labelActors) {
let [min_height, natural_height] = this._labelActors[i].get_preferred_height(for_width);
if (!this._showFlags) {
max_min_height = Math.max(max_min_height, min_height);
max_natural_height = Math.max(max_natural_height, natural_height);
}
max_min_height = Math.max(max_min_height, min_height);
max_natural_height = Math.max(max_natural_height, natural_height);
}
alloc.min_size = max_min_height;
@ -212,8 +224,7 @@ const XKBIndicator = new Lang.Class({
box.y2 -= box.y1;
box.y1 = 0;
this._iconActor.allocate_align_fill(box, 0.5, 0, false, false, flags);
for (let i = 0; i < this._labelActors.length; i++)
for (let i in this._labelActors)
this._labelActors[i].allocate_align_fill(box, 0.5, 0, false, false, flags);
}
});

View File

@ -304,9 +304,10 @@ const NMDevice = new Lang.Class({
// record the connection
let obj = {
connection: connections[i],
name: connections[i]._name,
uuid: connections[i]._uuid,
name: connections[i].get_id(),
uuid: connections[i].get_uuid(),
timestamp: connections[i]._timestamp,
item: null,
};
this._connections.push(obj);
}
@ -401,48 +402,46 @@ const NMDevice = new Lang.Class({
},
checkConnection: function(connection) {
let pos = this._findConnection(connection._uuid);
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];
if (exists && !valid)
this.removeConnection(connection);
else if (!exists && valid)
this.addConnection(connection);
else if (exists && valid) {
// propagate changes and update the UI
if (this._connections[pos].timestamp != connection._timestamp) {
this._connections[pos].timestamp = connection._timestamp;
this._connections.sort(this._connectionSortFunction);
this._clearSection();
this._queueCreateSection();
}
// 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._name,
uuid: connection._uuid,
name: connection.get_id(),
uuid: connection.get_uuid(),
timestamp: connection._timestamp,
item: null,
};
this._connections.push(obj);
this._connections.sort(this._connectionSortFunction);
Util.insertSorted(this._connections, obj, this._connectionSortFunction);
this._clearSection();
this._queueCreateSection();
},
removeConnection: function(connection) {
if (!connection._uuid) {
log('Cannot remove a connection without an UUID');
return;
}
let pos = this._findConnection(connection._uuid);
let pos = this._findConnection(connection.get_uuid());
if (pos == -1) {
// this connection was never added, nothing to do here
return;
@ -707,18 +706,15 @@ const NMDeviceWired = new Lang.Class({
// the device
// we can do it here because addConnection and removeConnection
// both call _createSection at some point
if (this._connections.length <= 1)
this.section.actor.hide();
else
this.section.actor.show();
this.section.actor.visible = this._connections.length > 1;
},
_createAutomaticConnection: function() {
let connection = new NetworkManager.Connection();
connection._uuid = NetworkManager.utils_uuid_generate();
let uuid = NetworkManager.utils_uuid_generate();
connection.add_setting(new NetworkManager.SettingWired());
connection.add_setting(new NetworkManager.SettingConnection({
uuid: connection._uuid,
uuid: uuid,
id: this._autoConnectionName,
type: NetworkManager.SETTING_WIRED_SETTING_NAME,
autoconnect: true
@ -862,10 +858,10 @@ const NMDeviceBluetooth = new Lang.Class({
_createAutomaticConnection: function() {
let connection = new NetworkManager.Connection;
connection._uuid = NetworkManager.utils_uuid_generate();
let uuid = NetworkManager.utils_uuid_generate();
connection.add_setting(new NetworkManager.SettingBluetooth);
connection.add_setting(new NetworkManager.SettingConnection({
uuid: connection._uuid,
uuid: uuid,
id: this._autoConnectionName,
type: NetworkManager.SETTING_BLUETOOTH_SETTING_NAME,
autoconnect: false
@ -900,12 +896,12 @@ const NMDeviceVPN = new Lang.Class({
Name: 'NMDeviceVPN',
Extends: NMDevice,
_init: function(client) {
_init: function(client, device, connections) {
// Disable autoconnections
this._autoConnectionName = null;
this.category = NMConnectionCategory.VPN;
this.parent(client, null, [ ]);
this.parent(client, null, connections);
},
connectionValid: function(connection) {
@ -917,13 +913,24 @@ const NMDeviceVPN = new Lang.Class({
},
get connected() {
return !!this._activeConnection;
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);
this.emit('active-connection-changed');
if (this._activeConnection)
this._stateChangeId = this._activeConnection.connect('vpn-state-changed',
Lang.bind(this, this._connectionStateChanged));
this.emit('state-changed');
},
_shouldShowConnectionList: function() {
@ -936,7 +943,39 @@ const NMDeviceVPN = new Lang.Class({
},
getStatusLabel: function() {
return null;
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');
}
});
@ -1038,13 +1077,8 @@ const NMDeviceWireless = new Lang.Class({
},
setEnabled: function(enabled) {
if (enabled) {
this.statusItem.actor.show();
this.section.actor.show();
} else {
this.statusItem.actor.hide();
this.section.actor.hide();
}
this.statusItem.actor.visible = enabled;
this.section.actor.visible = enabled;
},
activate: function() {
@ -1331,9 +1365,7 @@ const NMDeviceWireless = new Lang.Class({
},
removeConnection: function(connection) {
if (!connection._uuid)
return;
let pos = this._findConnection(connection._uuid);
let pos = this._findConnection(connection.get_uuid());
if (pos == -1) {
// removing connection that was never added
return;
@ -1347,7 +1379,7 @@ const NMDeviceWireless = new Lang.Class({
let apObj = this._networks[i];
let connections = apObj.connections;
for (let k = 0; k < connections.length; k++) {
if (connections[k]._uuid == connection._uuid) {
if (connections[k].get_uuid() == connection.get_uuid()) {
// remove the connection from the access point group
connections.splice(k);
forceupdate = forceupdate || connections.length == 0;
@ -1363,7 +1395,7 @@ const NMDeviceWireless = new Lang.Class({
forceupdate = true;
} else {
for (let j = 0; j < items.length; j++) {
if (items[j]._connection._uuid == connection._uuid) {
if (items[j]._connection.get_uuid() == connection.get_uuid()) {
items[j].destroy();
break;
}
@ -1390,8 +1422,8 @@ const NMDeviceWireless = new Lang.Class({
// record the connection
let obj = {
connection: connection,
name: connection._name,
uuid: connection._uuid,
name: connection.get_id(),
uuid: connection.get_uuid(),
};
this._connections.push(obj);
@ -1538,7 +1570,7 @@ const NMApplet = new Lang.Class({
Extends: PanelMenu.SystemStatusButton,
_init: function() {
this.parent('network-error', _("Network"));
this.parent('network-offline', _("Network"));
this._client = NMClient.Client.new();
@ -1552,6 +1584,15 @@ const NMApplet = new Lang.Class({
this.menu.addMenuItem(this._statusSection);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this._activeConnections = [ ];
this._connections = [ ];
this._mainConnection = null;
this._activeAccessPointUpdateId = 0;
this._activeAccessPoint = null;
this._mobileUpdateId = 0;
this._mobileUpdateDevice = null;
this._devices = { };
this._devices.wired = {
@ -1587,13 +1628,9 @@ const NMApplet = new Lang.Class({
this._devices.vpn = {
section: new PopupMenu.PopupMenuSection(),
device: new NMDeviceVPN(this._client),
device: this._makeWrapperDevice(NMDeviceVPN, null),
item: new NMWiredSectionTitleMenuItem(_("VPN Connections"))
};
this._devices.vpn.device.connect('active-connection-changed', Lang.bind(this, function() {
this._devices.vpn.item.updateForDevice(this._devices.vpn.device);
}));
this._devices.vpn.item.updateForDevice(this._devices.vpn.device);
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();
@ -1601,15 +1638,6 @@ const NMApplet = new Lang.Class({
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
this._activeConnections = [ ];
this._connections = [ ];
this._mainConnection = null;
this._activeAccessPointUpdateId = 0;
this._activeAccessPoint = null;
this._mobileUpdateId = 0;
this._mobileUpdateDevice = null;
// Device types
this._dtypes = { };
this._dtypes[NetworkManager.DeviceType.ETHERNET] = NMDeviceWired;
@ -1652,7 +1680,10 @@ const NMApplet = new Lang.Class({
_ensureSource: function() {
if (!this._source) {
this._source = new NMMessageTraySource();
this._source = new MessageTray.Source(_("Network Manager"),
'network-transmit-receive',
St.IconType.SYMBOLIC);
this._source.connect('destroy', Lang.bind(this, function() {
this._source = null;
}));
@ -1673,6 +1704,18 @@ 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;
@ -1723,6 +1766,29 @@ const NMApplet = new Lang.Class({
this._source.notify(device._notification);
},
_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',
_("Connection failed"),
_("Activation of network connection failed"),
MessageTray.Urgency.HIGH);
}));
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
this._syncSectionTitle(dev.category);
}));
wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
wrapper.disconnect(wrapper._activationFailedId);
wrapper.disconnect(wrapper._deviceStateChangedId);
wrapper.disconnect(wrapper._destroyId);
});
return wrapper;
},
_deviceAdded: function(client, device) {
if (device._delegate) {
// already seen, not adding again
@ -1730,24 +1796,8 @@ const NMApplet = new Lang.Class({
}
let wrapperClass = this._dtypes[device.get_device_type()];
if (wrapperClass) {
let wrapper = new wrapperClass(this._client, device, this._connections);
let wrapper = this._makeWrapperDevice(wrapperClass, device);
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',
_("Connection failed"),
_("Activation of network connection failed"),
MessageTray.Urgency.HIGH);
}));
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
this._syncSectionTitle(dev.category);
}));
wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
wrapper.disconnect(wrapper._activationFailedId);
wrapper.disconnect(wrapper._deviceStateChangedId);
wrapper.disconnect(wrapper._destroyId);
});
let section = this._devices[wrapper.category].section;
let devices = this._devices[wrapper.category].devices;
@ -1844,7 +1894,7 @@ const NMApplet = new Lang.Class({
if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) {
// find a good device to be considered primary
a._primaryDevice = null;
let devices = a.get_devices();
let devices = a.get_devices() || [];
for (let j = 0; j < devices.length; j++) {
let d = devices[j];
if (d._delegate) {
@ -1883,7 +1933,7 @@ const NMApplet = new Lang.Class({
let connections = this._settings.list_connections();
for (let i = 0; i < connections.length; i++) {
let connection = connections[i];
if (connection._uuid) {
if (connection._updatedId) {
// connection was already seen (for example because NetworkManager was restarted)
continue;
}
@ -1896,7 +1946,7 @@ const NMApplet = new Lang.Class({
},
_newConnection: function(settings, connection) {
if (connection._uuid) {
if (connection._updatedId) {
// connection was already seen
return;
}
@ -1919,35 +1969,31 @@ const NMApplet = new Lang.Class({
if (section == NMConnectionCategory.VPN) {
this._devices.vpn.device.removeConnection(connection);
if (this._devices.vpn.device.empty)
this._devices.vpn.section.actor.hide();
this._syncSectionTitle(section);
} else if (section != NMConnectionCategory.INVALID) {
let devices = this._devices[section].devices;
for (let i = 0; i < devices.length; i++)
devices[i].removeConnection(connection);
}
connection._uuid = null;
connection.disconnect(connection._removedId);
connection.disconnect(connection._updatedId);
connection._removedId = connection._updatedId = 0;
},
_updateConnection: function(connection) {
let connectionSettings = connection.get_setting_by_name(NetworkManager.SETTING_CONNECTION_SETTING_NAME);
connection._type = connectionSettings.type;
connection._section = this._ctypes[connection._type] || NMConnectionCategory.INVALID;
connection._name = connectionSettings.id;
connection._uuid = connectionSettings.uuid;
connection._timestamp = connectionSettings.timestamp;
let section = connection._section;
if (connection._section == NMConnectionCategory.INVALID)
if (section == NMConnectionCategory.INVALID)
return;
if (section == NMConnectionCategory.VPN) {
this._devices.vpn.device.checkConnection(connection);
this._devices.vpn.section.actor.show();
this._syncSectionTitle(section);
} else {
let devices = this._devices[section].devices;
for (let i = 0; i < devices.length; i++) {
@ -1970,12 +2016,10 @@ const NMApplet = new Lang.Class({
this._statusSection.actor.hide();
this._syncSectionTitle('wired');
this._syncSectionTitle('wireless');
this._syncSectionTitle('wwan');
if (!this._devices.vpn.device.empty)
this._devices.vpn.section.actor.show();
this._syncSectionTitle(NMConnectionCategory.WIRED);
this._syncSectionTitle(NMConnectionCategory.WIRELESS);
this._syncSectionTitle(NMConnectionCategory.WWAN);
this._syncSectionTitle(NMConnectionCategory.VPN);
},
_syncNMState: function() {
@ -2108,18 +2152,3 @@ const NMApplet = new Lang.Class({
}
}
});
const NMMessageTraySource = new Lang.Class({
Name: 'NMMessageTraySource',
Extends: MessageTray.Source,
_init: function() {
this.parent(_("Network Manager"));
let icon = new St.Icon({ icon_name: 'network-transmit-receive',
icon_type: St.IconType.SYMBOLIC,
icon_size: this.ICON_SIZE
});
this._setSummaryIcon(icon);
}
});

View File

@ -212,7 +212,7 @@ const DeviceItem = new Lang.Class({
case UPDeviceType.COMPUTER:
return _("Computer");
default:
return _("Unknown");
return C_("device", "Unknown");
}
}
});

View File

@ -149,13 +149,9 @@ const Indicator = new Lang.Class({
}
}
}
if (showInput) {
this._inputTitle.actor.show();
this._inputSlider.actor.show();
} else {
this._inputTitle.actor.hide();
this._inputSlider.actor.hide();
}
this._inputTitle.actor.visible = showInput;
this._inputSlider.actor.visible = showInput;
},
_volumeToIcon: function(volume) {

View File

@ -365,8 +365,9 @@ const Client = new Lang.Class({
_ensureSubscriptionSource: function() {
if (this._subscriptionSource == null) {
this._subscriptionSource = new MultiNotificationSource(
_("Subscription request"), 'gtk-dialog-question');
this._subscriptionSource = new MessageTray.Source(_("Subscription request"),
'gtk-dialog-question',
St.IconType.FULLCOLOR);
Main.messageTray.add(this._subscriptionSource);
this._subscriptionSource.connect('destroy', Lang.bind(this, function () {
this._subscriptionSource = null;
@ -401,8 +402,9 @@ const Client = new Lang.Class({
_ensureAccountSource: function() {
if (this._accountSource == null) {
this._accountSource = new MultiNotificationSource(
_("Connection error"), 'gtk-dialog-error');
this._accountSource = new MessageTray.Source(_("Connection error"),
'gtk-dialog-error',
St.IconType.FULLCOLOR);
Main.messageTray.add(this._accountSource);
this._accountSource.connect('destroy', Lang.bind(this, function () {
this._accountSource = null;
@ -418,14 +420,13 @@ const ChatSource = new Lang.Class({
Extends: MessageTray.Source,
_init: function(account, conn, channel, contact, client) {
this.parent(contact.get_alias());
this.isChat = true;
this._account = account;
this._contact = contact;
this._client = client;
this.parent(contact.get_alias());
this.isChat = true;
this._pendingMessages = [];
this._conn = conn;
@ -446,8 +447,6 @@ const ChatSource = new Lang.Class({
this._receivedId = this._channel.connect('message-received', Lang.bind(this, this._messageReceived));
this._pendingId = this._channel.connect('pending-message-removed', Lang.bind(this, this._pendingRemoved));
this._setSummaryIcon(this.createNotificationIcon());
this._notifyAliasId = this._contact.connect('notify::alias', Lang.bind(this, this._updateAlias));
this._notifyAvatarId = this._contact.connect('notify::avatar-file', Lang.bind(this, this._updateAvatarIcon));
this._presenceChangedId = this._contact.connect('presence-changed', Lang.bind(this, this._presenceChanged));
@ -510,10 +509,10 @@ const ChatSource = new Lang.Class({
_getLogMessages: function() {
let logManager = Tpl.LogManager.dup_singleton();
let entity = Tpl.Entity.new_from_tp_contact(this._contact, Tpl.EntityType.CONTACT);
Shell.get_contact_events(logManager,
this._account, entity,
SCROLLBACK_HISTORY_LINES,
Lang.bind(this, this._displayPendingMessages));
logManager.get_filtered_events_async(this._account, entity,
Tpl.EventTypeMask.TEXT, SCROLLBACK_HISTORY_LINES,
null, Lang.bind(this, this._displayPendingMessages));
},
_displayPendingMessages: function(logManager, result) {
@ -853,6 +852,8 @@ const ChatNotification = new Lang.Class({
this._lastGroupActor.add(body, props.childProps);
this.updated();
let timestamp = props.timestamp;
this._history.unshift({ actor: body, time: timestamp,
realMessage: group != 'meta' });
@ -1000,10 +1001,9 @@ const ApproverSource = new Lang.Class({
Extends: MessageTray.Source,
_init: function(dispatchOp, text, gicon) {
this.parent(text);
this._gicon = gicon;
this._setSummaryIcon(this.createNotificationIcon());
this.parent(text);
this._dispatchOp = dispatchOp;
@ -1026,7 +1026,6 @@ const ApproverSource = new Lang.Class({
createNotificationIcon: function() {
return new St.Icon({ gicon: this._gicon,
icon_type: St.IconType.FULLCOLOR,
icon_size: this.ICON_SIZE });
}
});
@ -1149,40 +1148,6 @@ const FileTransferNotification = new Lang.Class({
}
});
// A notification source that can embed multiple notifications
const MultiNotificationSource = new Lang.Class({
Name: 'MultiNotificationSource',
Extends: MessageTray.Source,
_init: function(title, icon) {
this.parent(title);
this._icon = icon;
this._setSummaryIcon(this.createNotificationIcon());
this._nbNotifications = 0;
},
notify: function(notification) {
this.parent(notification);
this._nbNotifications += 1;
// Display the source while there is at least one notification
notification.connect('destroy', Lang.bind(this, function () {
this._nbNotifications -= 1;
if (this._nbNotifications == 0)
this.destroy();
}));
},
createNotificationIcon: function() {
return new St.Icon({ gicon: Gio.icon_new_for_string(this._icon),
icon_type: St.IconType.FULLCOLOR,
icon_size: this.ICON_SIZE });
}
});
// Subscription request
const SubscriptionRequestNotification = new Lang.Class({
Name: 'SubscriptionRequestNotification',

View File

@ -1,6 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const AccountsService = imports.gi.AccountsService;
const GdmGreeter = imports.gi.GdmGreeter;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
@ -473,13 +474,22 @@ const UserMenuButton = new Lang.Class({
style_class: 'popup-menu-icon' });
this._idleIcon = new St.Icon({ icon_name: 'user-idle',
style_class: 'popup-menu-icon' });
this._pendingIcon = new St.Icon({ icon_name: 'user-status-pending',
style_class: 'popup-menu-icon' });
this._accountMgr.connect('most-available-presence-changed',
Lang.bind(this, this._updatePresenceIcon));
this._accountMgr.connect('account-enabled',
Lang.bind(this, this._onAccountEnabled));
this._accountMgr.connect('account-disabled',
Lang.bind(this, this._onAccountDisabled));
this._accountMgr.connect('account-removed',
Lang.bind(this, this._onAccountDisabled));
this._accountMgr.prepare_async(null, Lang.bind(this,
function(mgr) {
let [presence, s, msg] = mgr.get_most_available_presence();
this._updatePresenceIcon(mgr, presence, s, msg);
this._setupAccounts();
}));
this._name = new St.Label();
@ -497,13 +507,13 @@ const UserMenuButton = new Lang.Class({
}));
this._userManager.connect('notify::is-loaded',
Lang.bind(this, this._updateSwitchUser));
Lang.bind(this, this._updateMultiUser));
this._userManager.connect('notify::has-multiple-users',
Lang.bind(this, this._updateSwitchUser));
Lang.bind(this, this._updateMultiUser));
this._userManager.connect('user-added',
Lang.bind(this, this._updateSwitchUser));
Lang.bind(this, this._updateMultiUser));
this._userManager.connect('user-removed',
Lang.bind(this, this._updateSwitchUser));
Lang.bind(this, this._updateMultiUser));
this._lockdownSettings.connect('changed::' + DISABLE_USER_SWITCH_KEY,
Lang.bind(this, this._updateSwitchUser));
this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY,
@ -542,30 +552,32 @@ const UserMenuButton = new Lang.Class({
this._name.set_text("");
},
_updateMultiUser: function() {
this._updateSwitchUser();
this._updateLogout();
},
_updateSwitchUser: function() {
let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY);
if (allowSwitch &&
this._userManager.can_switch() &&
this._userManager.has_multiple_users)
this._loginScreenItem.actor.show();
else
this._loginScreenItem.actor.hide();
let multiUser = this._userManager.can_switch() && this._userManager.has_multiple_users;
let multiSession = GdmGreeter.get_session_ids().length > 1;
this._loginScreenItem.label.set_text(multiUser ? _("Switch User")
: _("Switch Session"));
this._loginScreenItem.actor.visible = allowSwitch && (multiUser || multiSession);
},
_updateLogout: function() {
let allowLogout = !this._lockdownSettings.get_boolean(DISABLE_LOG_OUT_KEY);
if (allowLogout)
this._logoutItem.actor.show();
else
this._logoutItem.actor.hide();
let multiUser = this._userManager.has_multiple_users;
let multiSession = GdmGreeter.get_session_ids().length > 1;
this._logoutItem.actor.visible = allowLogout && (multiUser || multiSession);
},
_updateLockScreen: function() {
let allowLockScreen = !this._lockdownSettings.get_boolean(DISABLE_LOCK_SCREEN_KEY);
if (allowLockScreen)
this._lockScreenItem.actor.show();
else
this._lockScreenItem.actor.hide();
this._lockScreenItem.actor.visible = allowLockScreen;
},
_updateHaveShutdown: function() {
@ -584,19 +596,16 @@ const UserMenuButton = new Lang.Class({
if (!this._suspendOrPowerOffItem)
return;
if (!this._haveShutdown && !this._haveSuspend)
this._suspendOrPowerOffItem.actor.hide();
else
this._suspendOrPowerOffItem.actor.show();
this._suspendOrPowerOffItem.actor.visible = this._haveShutdown || this._haveSuspend;
// If we can't suspend show Power Off... instead
// If we can't power off show Suspend instead
// and disable the alt key
if (!this._haveSuspend) {
this._suspendOrPowerOffItem.updateText(_("Power Off..."), null);
} else if (!this._haveShutdown) {
if (!this._haveShutdown) {
this._suspendOrPowerOffItem.updateText(_("Suspend"), null);
} else if (!this._haveSuspend) {
this._suspendOrPowerOffItem.updateText(_("Power Off"), null);
} else {
this._suspendOrPowerOffItem.updateText(_("Suspend"), _("Power Off..."));
this._suspendOrPowerOffItem.updateText(_("Power Off"), _("Suspend"));
}
},
@ -620,11 +629,52 @@ const UserMenuButton = new Lang.Class({
this._iconBox.child = this._offlineIcon;
},
_setupAccounts: function() {
let accounts = this._accountMgr.get_valid_accounts();
for (let i = 0; i < accounts.length; i++) {
accounts[i]._changingId = accounts[i].connect('notify::connection-status',
Lang.bind(this, this._updateChangingPresence));
}
this._updateChangingPresence();
},
_onAccountEnabled: function(accountMgr, account) {
if (!account._changingId)
account._changingId = account.connect('notify::connection-status',
Lang.bind(this, this._updateChangingPresence));
this._updateChangingPresence();
},
_onAccountDisabled: function(accountMgr, account) {
account.disconnect(account._changingId);
account._changingId = 0;
this._updateChangingPresence();
},
_updateChangingPresence: function() {
let accounts = this._accountMgr.get_valid_accounts();
let changing = false;
for (let i = 0; i < accounts.length; i++) {
if (accounts[i].connection_status == Tp.ConnectionStatus.CONNECTING) {
changing = true;
break;
}
}
if (changing) {
this._iconBox.child = this._pendingIcon;
} else {
let [presence, s, msg] = this._accountMgr.get_most_available_presence();
this._updatePresenceIcon(this._accountMgr, presence, s, msg);
}
},
_createSubMenu: function() {
let item;
item = new IMStatusChooserItem();
item.connect('activate', Lang.bind(this, this._onMyAccountActivate));
if (Main.sessionMode.allowSettings)
item.connect('activate', Lang.bind(this, this._onMyAccountActivate));
this.menu.addMenuItem(item);
this._statusChooser = item;
@ -636,28 +686,28 @@ const UserMenuButton = new Lang.Class({
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Online Accounts"));
item.connect('activate', Lang.bind(this, this._onOnlineAccountsActivate));
this.menu.addMenuItem(item);
if (Main.sessionMode.allowSettings) {
item = new PopupMenu.PopupMenuItem(_("System Settings"));
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
this.menu.addMenuItem(item);
}
item = new PopupMenu.PopupMenuItem(_("System Settings"));
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
item = new PopupMenu.PopupAlternatingMenuItem(_("Power Off"),
_("Suspend"));
this.menu.addMenuItem(item);
item.connect('activate', Lang.bind(this, this._onSuspendOrPowerOffActivate));
this._suspendOrPowerOffItem = item;
this._updateSuspendOrPowerOff();
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Lock Screen"));
item.connect('activate', Lang.bind(this, this._onLockScreenActivate));
this.menu.addMenuItem(item);
this._lockScreenItem = item;
item = new PopupMenu.PopupMenuItem(_("Switch User"));
item.connect('activate', Lang.bind(this, this._onLoginScreenActivate));
this.menu.addMenuItem(item);
this._loginScreenItem = item;
item = new PopupMenu.PopupMenuItem(_("Log Out..."));
item = new PopupMenu.PopupMenuItem(_("Log Out"));
item.connect('activate', Lang.bind(this, this._onQuitSessionActivate));
this.menu.addMenuItem(item);
this._logoutItem = item;
@ -665,12 +715,10 @@ const UserMenuButton = new Lang.Class({
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupAlternatingMenuItem(_("Suspend"),
_("Power Off..."));
item = new PopupMenu.PopupMenuItem(_("Lock"));
item.connect('activate', Lang.bind(this, this._onLockScreenActivate));
this.menu.addMenuItem(item);
this._suspendOrPowerOffItem = item;
item.connect('activate', Lang.bind(this, this._onSuspendOrPowerOffActivate));
this._updateSuspendOrPowerOff();
this._lockScreenItem = item;
},
_updatePresenceStatus: function(item, event) {
@ -698,12 +746,6 @@ const UserMenuButton = new Lang.Class({
app.activate();
},
_onOnlineAccountsActivate: function() {
Main.overview.hide();
let app = Shell.AppSystem.get_default().lookup_setting('gnome-online-accounts-panel.desktop');
app.activate(-1);
},
_onPreferencesActivate: function() {
Main.overview.hide();
let app = Shell.AppSystem.get_default().lookup_app('gnome-control-center.desktop');
@ -732,14 +774,14 @@ const UserMenuButton = new Lang.Class({
_onSuspendOrPowerOffActivate: function() {
Main.overview.hide();
if (this._haveSuspend &&
if (this._haveShutdown &&
this._suspendOrPowerOffItem.state == PopupMenu.PopupAlternatingMenuItemState.DEFAULT) {
this._session.ShutdownRemote();
} else {
// Ensure we only suspend after locking the screen
this._screenSaverProxy.LockRemote(Lang.bind(this, function() {
this._upClient.suspend_sync(null);
}));
} else {
this._session.ShutdownRemote();
}
}
});

View File

@ -168,34 +168,35 @@ const WandaSearchProvider = new Lang.Class({
this.parent(_("Your favorite Easter Egg"));
},
getResultMetas: function(fish) {
return [{ 'id': fish[0], // there may be many fish in the sea, but
// only one which speaks the truth!
'name': capitalize(fish[0]),
'createIcon': function(iconSize) {
// for DND only (maybe could be improved)
// DON'T use St.Icon here, it crashes the shell
// (dnd.js code assumes it can query the actor size
// without parenting it, while StWidget accesses
// StThemeNode in get_preferred_width/height, which
// triggers an assertion failure)
return St.TextureCache.get_default().load_icon_name(null,
'face-smile',
St.IconType.FULLCOLOR,
iconSize);
}
}];
getResultMetas: function(fish, callback) {
callback([{ 'id': fish[0], // there may be many fish in the sea, but
// only one which speaks the truth!
'name': capitalize(fish[0]),
'createIcon': function(iconSize) {
// for DND only (maybe could be improved)
// DON'T use St.Icon here, it crashes the shell
// (dnd.js code assumes it can query the actor size
// without parenting it, while StWidget accesses
// StThemeNode in get_preferred_width/height, which
// triggers an assertion failure)
return St.TextureCache.get_default().load_icon_name(null,
'face-smile',
St.IconType.FULLCOLOR,
iconSize);
}
}]);
},
getInitialResultSet: function(terms) {
if (terms.join(' ') == MAGIC_FISH_KEY) {
return [ FISH_NAME ];
this.searchSystem.pushResults(this, [ FISH_NAME ]);
} else {
this.searchSystem.pushResults(this, []);
}
return [];
},
getSubsearchResultSet: function(previousResults, terms) {
return this.getInitialResultSet(terms);
this.getInitialResultSet(terms);
},
activateResult: function(fish, params) {

View File

@ -53,10 +53,10 @@ const Source = new Lang.Class({
Extends: MessageTray.Source,
_init: function(app, window) {
this.parent(app.get_name());
this._window = window;
this._app = app;
this._setSummaryIcon(this.createNotificationIcon());
this.parent(app.get_name());
this.signalIDs = [];
this.signalIDs.push(this._window.connect('notify::demands-attention', Lang.bind(this, function() { this.destroy(); })));

View File

@ -13,6 +13,7 @@ const WorkspaceSwitcherPopup = imports.ui.workspaceSwitcherPopup;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const WINDOW_ANIMATION_TIME = 0.25;
const DIM_TIME = 0.500;
const UNDIM_TIME = 0.250;
@ -134,6 +135,10 @@ const WindowManager = new Lang.Class({
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));
Main.overview.connect('showing', Lang.bind(this, function() {
for (let i = 0; i < this._dimmedWindows.length; i++)
@ -547,6 +552,10 @@ const WindowManager = new Lang.Class({
Main.ctrlAltTabManager.popup(backwards, binding.get_mask());
},
_openAppMenu : function(display, screen, window, event, binding) {
Main.panel.openAppMenu();
},
_showWorkspaceSwitcher : function(display, screen, window, binding) {
if (screen.n_workspaces == 1)
return;

View File

@ -1134,7 +1134,6 @@ const Workspace = new Lang.Class({
_hideAllOverlays: function() {
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
Tweener.removeTweens(clone.actor);
let overlay = this._windowOverlays[i];
if (overlay)
overlay.hide();
@ -1252,7 +1251,7 @@ const Workspace = new Lang.Class({
if (!this._isMyWindow(win) || !this._isOverviewWindow(win))
return;
let clone = this._addWindowClone(win);
let [clone, overlay] = this._addWindowClone(win);
if (win._overviewHint) {
let x = win._overviewHint.x - this.actor.x;
@ -1262,6 +1261,7 @@ const Workspace = new Lang.Class({
clone.actor.set_position (x, y);
clone.actor.set_scale (scale, scale);
this._updateWindowOverlayPositions(clone, overlay, x, y, scale, false);
} else {
// Position new windows at the top corner of the workspace rather
// than where they were placed for real to avoid the window
@ -1321,7 +1321,10 @@ const Workspace = new Lang.Class({
this.leavingOverview = true;
this._hideAllOverlays();
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
Tweener.removeTweens(clone.actor);
}
if (this._repositionWindowsId > 0) {
Mainloop.source_remove(this._repositionWindowsId);
@ -1361,6 +1364,7 @@ const Workspace = new Lang.Class({
}
}
this._hideAllOverlays();
},
destroy : function() {
@ -1451,7 +1455,7 @@ const Workspace = new Lang.Class({
this._windows.push(clone);
this._windowOverlays.push(overlay);
return clone;
return [clone, overlay];
},
_onShowOverlayClose: function (windowOverlay) {

View File

@ -667,7 +667,7 @@ const ThumbnailsBox = new Lang.Class({
if (this._dropWorkspace != -1)
return this._thumbnails[this._dropWorkspace].handleDragOverInternal(source, time);
else if (this._dropPlaceholderPos != -1)
return DND.DragMotionResult.MOVE_DROP;
return source.realWindow ? DND.DragMotionResult.MOVE_DROP : DND.DragMotionResult.COPY_DROP;
else
return DND.DragMotionResult.CONTINUE;
},

View File

@ -529,9 +529,11 @@ const WorkspacesDisplay = new Lang.Class({
this._updateAlwaysZoom();
}));
global.screen.connect('notify::n-workspaces',
Lang.bind(this, this._workspacesChanged));
this._switchWorkspaceNotifyId = 0;
this._nWorkspacesChangedId = 0;
this._itemDragBeginId = 0;
this._itemDragCancelledId = 0;
this._itemDragEndId = 0;
@ -570,9 +572,6 @@ const WorkspacesDisplay = new Lang.Class({
global.screen.connect('restacked',
Lang.bind(this, this._onRestacked));
if (this._nWorkspacesChangedId == 0)
this._nWorkspacesChangedId = global.screen.connect('notify::n-workspaces',
Lang.bind(this, this._workspacesChanged));
if (this._itemDragBeginId == 0)
this._itemDragBeginId = Main.overview.connect('item-drag-begin',
Lang.bind(this, this._dragBegin));
@ -844,10 +843,7 @@ const WorkspacesDisplay = new Lang.Class({
if (!primaryView)
return;
primaryView.actor.opacity = opacity;
if (opacity == 0)
primaryView.actor.hide();
else
primaryView.actor.show();
primaryView.actor.visible = opacity != 0;
}));
}));
},
@ -928,19 +924,16 @@ const WorkspacesDisplay = new Lang.Class({
},
_workspacesChanged: function() {
let oldNumWorkspaces = this._workspaces[0].length;
let newNumWorkspaces = global.screen.n_workspaces;
let active = global.screen.get_active_workspace_index();
if (oldNumWorkspaces == newNumWorkspaces)
return;
this._updateAlwaysZoom();
this._updateZoom();
if (this._workspacesViews == null)
return;
let oldNumWorkspaces = this._workspaces[0].length;
let newNumWorkspaces = global.screen.n_workspaces;
let active = global.screen.get_active_workspace_index();
let lostWorkspaces = [];
if (newNumWorkspaces > oldNumWorkspaces) {
let monitors = Main.layoutManager.monitors;

View File

@ -1,2 +1,3 @@
data/gnome-shell.desktop.in
data/gnome-shell-extension-prefs.desktop.in
data/org.gnome.shell.evolution.calendar.gschema.xml.in

1581
po/ar.po

File diff suppressed because it is too large Load Diff

188
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-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-02 12:18+0300\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-05 15:36+0300\n"
"Last-Translator: Kasia Bondarava <kasia.bondarava@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"MIME-Version: 1.0\n"
@ -132,34 +132,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Калі ўключана, паказваць тыдзень у календары ў ISO-фармаце."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Клавіятурны скарот для адкрыцця праграмнага меню"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Клавіятурны скарот для адкрыцця праграмнага меню."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Ужываная клавіятура"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Від ужыванай клавіятуры."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Паказваць час з секундамі"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Калі ўключана, паказваць час з секундамі."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Паказваць дату на гадзінніку"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Калі ўключана, паказваць на гадзінніку дату разам з часам."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Частата змены кадраў для запісу скрынкасту."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -167,11 +175,11 @@ msgstr ""
"Частата змены кадраў выніковага скрынкасту, запісанага пры дапамозе абалонкі "
"GNOME (кадраў на секунду)."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Канвеер gstreamer для кадавання скрынкастаў"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -196,11 +204,11 @@ msgstr ""
"speed=6 threads=%T ! queue ! webmmux\" і запісвае ў WEBM з дапамогай кодэка "
"VP8. %T ўжываецца ў якасці замены аптымальнай для сістэмы колькасці ніцяў."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Пашырэнне файла для захавання скрынкасту"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -247,8 +255,8 @@ msgstr "(або правядзіце пальцам)"
msgid "Not listed?"
msgstr "Няма ў спісе?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Скасаваць"
@ -262,16 +270,16 @@ msgstr "Увайсці"
msgid "Login Window"
msgstr "Акно ўваходу"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Прыпыніць камп'ютар"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Перазапусціць сістэму"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Выключыць камп'ютар"
@ -291,27 +299,27 @@ msgid "Execution of '%s' failed:"
msgstr "Не ўдалося выканаць \"%s\":"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Усе"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ПРАГРАМЫ"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "НАСТРОЙКІ"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Новае акно"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Выдаліць са спіса ўпадабанага"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Дадаць у спіс упадабанага"
@ -484,87 +492,87 @@ msgstr "На гэтым тыдні"
msgid "Next week"
msgstr "На наступным тыдні"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Невядома"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Даступны"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Адсутны"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Заняты"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Па-за сеткай"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "КАНТАКТЫ"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Выдаліць"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Настройкі даты і часу"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Адкрыць каляндар"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a, %e %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a, %e %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a, %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %e %B, %Y"
@ -666,20 +674,20 @@ msgstr[2] "Сістэма аўтаматычна перазапусціцца п
msgid "Restarting the system."
msgstr "Перазапуск сістэмы."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Усталяваць"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Сцягнуць і ўсталяваць \"%s\" з extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "трэй"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Клавіятура"
@ -691,73 +699,73 @@ msgstr "Пароль:"
msgid "Type again:"
msgstr "Паўтарыце пароль:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Няма ўсталяваных пашырэнняў"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s не зрабіў ніякіх памылак."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Хаваць памылкі"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Паказваць памылкі"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Уключана"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Выключана"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Памылка"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Састарэла"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Сцягванне"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Паглядзець выточны код"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Сеціўная старонка"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Скрынкаст %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Адкрыць"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Вярнуць гук"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Абязгучыць"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Сістэмная інфармацыя"
@ -848,31 +856,35 @@ msgstr "Каб злучыцца з \"%s\", патрэбны пароль."
msgid "Undo"
msgstr "Адрабіць"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Агляд"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Вокны"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Праграмы"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Прыборная дошка"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Выйсці"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Заняткі"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Верхняя панэль"
@ -918,7 +930,7 @@ msgstr "На жаль, ідэнтыфікацыя не адбылася. Паў
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -926,11 +938,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Увядзіце загад:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Пошук..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Нічога адпаведнага не знойдзена."
@ -1615,51 +1627,51 @@ msgstr "Рэдагаваць конт"
msgid "Unknown reason"
msgstr "Невядомая прычына"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Схаваны"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Бяздзейны"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Недаступны"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Выключыць камп'ютар..."
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Апавяшчэнні"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Сеціўныя конты"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Сістэмныя настройкі"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Замкнуць экран"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Перамяніць карыстальніка"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Скончыць сеанс..."
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Вам прызначаны стан занятасці для чату"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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."
@ -1727,15 +1739,15 @@ msgstr[2] "%u уваходаў"
msgid "System Sounds"
msgstr "Сістэмныя гукі"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "Вывесці нумар версіі праграмы"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Рэжым, які выкарыстоўвае GDM для экрана ўваходу"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Не ўдалося запусціць \"%s\""

182
po/bg.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-07 06:52+0200\n"
"PO-Revision-Date: 2012-03-07 06:52+0200\n"
"POT-Creation-Date: 2012-04-01 17:44+0300\n"
"PO-Revision-Date: 2012-04-01 17:44+0300\n"
"Last-Translator: Ivaylo Valkov <ivaylo@e-valkov.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@ -134,34 +134,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Показване на деня от седмицата по ISO, ако е истина."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Клавишна комбинация за менюто за програми"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Клавишна комбинация за отваряне на менюто за програми."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Коя клавиатура да се ползва"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Видът на клавиатурата, която да се ползва."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Показване на секунди към времето"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Показване на секундите в допълнение към времето, ако е истина."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Показване на дата в часовника"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Показване на дата в допълнение към времето, ако е истина."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Честота на кадрите за създаваните записи"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -169,11 +177,11 @@ msgstr ""
"Честота на кадрите за записа на екрана създаден от записващата програма на "
"Обвивката на GNOME в кадри за секунда."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Конвейерът на gstreamer за кодиране на записа на екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -199,11 +207,11 @@ msgstr ""
"използва кодера VP8. Стойността в „%T“ указва предполагаемия оптимален брой "
"нишки за системата."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Разширение на файла за съхранение на записите"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -250,7 +258,7 @@ msgstr "(или се регистрирайте с пръстов отпечат
msgid "Not listed?"
msgstr "Липсва в списъка?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
@ -265,16 +273,16 @@ msgstr "Регистриране"
msgid "Login Window"
msgstr "Екран за идентификация"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Приспиване"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Рестартиране"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Изключване"
@ -294,27 +302,27 @@ msgid "Execution of '%s' failed:"
msgstr "Неуспешно изпълнение на „%s“:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Всички"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ПРОГРАМИ"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "НАСТРОЙКИ"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Нов прозорец"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Премахване от „Любими“"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Добавяне в „Любими“"
@ -487,87 +495,87 @@ msgstr "Тази седмица"
msgid "Next week"
msgstr "Следващата седмица"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Неизвестно"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "На линия"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Отсъстващ"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Зает"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Извън мрежата"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "КОНТАКТИ"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1206
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Изтриване"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Настройки на датата и времето"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Отваряне на календара"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a, %e %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a, %e %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a, %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a, %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a, %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a, %H:%M"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -675,11 +683,11 @@ msgstr "Инсталиране"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Да се изтегли и инсталира ли „%s“ от from extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "област за уведомяване"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Клавиатура"
@ -691,73 +699,73 @@ msgstr "Парола:"
msgid "Type again:"
msgstr "Въведете отново:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Няма инсталирани разширения"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "Разширението %s не е обозначило никакви грешки."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Скриване на грешките"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Показване на грешките"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Включено"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Изключено"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Грешка"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Остаряло"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Изтегляне"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Преглед на изходния код"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Домашна страница"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Запис от %d %t."
#: ../js/ui/messageTray.js:1199
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Отваряне"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Пускане на звука"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Заглушаване"
#: ../js/ui/messageTray.js:2449
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Информация за системата"
@ -846,31 +854,35 @@ msgstr "За свързване към „%s“ се изисква парола
msgid "Undo"
msgstr "Отмяна"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Преглед"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Прозорци"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Програми"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Най-ползвани"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Спиране на програмата"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Дейности"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Горна лента"
@ -916,7 +928,7 @@ msgstr "Действието не беше успешно. Опитайте от
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -924,11 +936,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Въведете команда:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Търсене…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Няма съвпадения."
@ -1609,51 +1621,51 @@ msgstr "Редактиране на регистрацията"
msgid "Unknown reason"
msgstr "Неизвестна причина"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Скрит"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Бездействие"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Недостъпно"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Изключване..."
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Известяване"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Мрежови регистрации"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Настройки на системата"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Заключване на екрана"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Смяна на потребител"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Изход…"
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Състоянието ви ще се зададе да е „Зает“"
#: ../js/ui/userMenu.js:683
#: ../js/ui/userMenu.js:689
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."
@ -1719,15 +1731,15 @@ msgstr[1] "%u входа"
msgid "System Sounds"
msgstr "Системни звуци"
#: ../src/main.c:253
#: ../src/main.c:255
msgid "Print version"
msgstr "Показване на версията"
#: ../src/main.c:259
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Режим използван от GDM за екрана за влизане"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Неуспех при стартиране на „%s“"

132
po/ca.po
View File

@ -3,19 +3,21 @@
# This file is distributed under the same license as the gnome-shell package.
# Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>, 2009.
# Gil Forcada <gilforcada@guifi.net>, 2010, 2011, 2012.
# Jordi Serratosa <jordis@softcatala.cat>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-19 22:35+0100\n"
"PO-Revision-Date: 2012-03-19 22:35+0100\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-04-01 22:09+0000\n"
"PO-Revision-Date: 2012-04-02 00:08+0200\n"
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
"Language-Team: català; valencià <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"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
@ -134,35 +136,43 @@ 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.h:16
msgid "Keybinding to open the application menu"
msgstr "Vinculació per obrir el menú d'aplicació"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "La vinculació per obrir el menú d'aplicació."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Quin tipus de teclat s'ha d'utilitzar"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "El tipus de teclat que s'utilitzarà."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Mostra l'hora amb segons"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Si és «true» (cert) es mostren els segons."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Mostra la data en el rellotge"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr ""
"Si és «true» (cert) es mostra la data en el rellotge a més a més de l'hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Imatges per segon per enregistrar els screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -170,11 +180,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.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "El conducte GStreamer per enregistrar els screencasts"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -200,11 +210,11 @@ msgstr ""
"enregistra amb el format 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.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Extensió de fitxer per desar l'screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -505,7 +515,7 @@ msgstr "Ocupat"
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Fora de lnia"
msgstr "Fora de línia"
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
@ -684,51 +694,51 @@ msgstr "Contrasenya:"
msgid "Type again:"
msgstr "Torneu a escriure-la:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "No hi ha cap extensió instal·lada"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s no ha emès cap error."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Amaga els errors"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Mostra els errors"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Habilitat"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Inhabilitat"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Error"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Fora d'hora"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "S'està baixant"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Mostra el codi font"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Pàgina web"
@ -796,15 +806,15 @@ msgstr "La xarxa sense fil requereix autenticació"
#: ../js/ui/networkAgent.js:330
#, 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 ""
"Per accedir a la xarxa sense fil «%s» calen les contrasenyes o les claus "
"d'encriptació."
#: ../js/ui/networkAgent.js:334
msgid "Wired 802.1X authentication"
msgstr "Autenticaci 802.1X amb fil"
msgstr "Autenticació 802.1X amb fil"
#: ../js/ui/networkAgent.js:336
msgid "Network name: "
@ -812,15 +822,15 @@ msgstr "Nom de la xarxa: "
#: ../js/ui/networkAgent.js:341
msgid "DSL authentication"
msgstr "Autenticaci DSL"
msgstr "Autenticació DSL"
#: ../js/ui/networkAgent.js:348
msgid "PIN code required"
msgstr "Cal que introduu el codi PIN"
msgstr "Cal que introduïu el codi PIN"
#: ../js/ui/networkAgent.js:349
msgid "PIN code is needed for the mobile broadband device"
msgstr "Cal que introduu el codi PIN del dispositiu de banda ampla mbil"
msgstr "Cal que introduïu el codi PIN del dispositiu de banda ampla mòbil"
#: ../js/ui/networkAgent.js:350
msgid "PIN: "
@ -828,12 +838,12 @@ msgstr "PIN: "
#: ../js/ui/networkAgent.js:356
msgid "Mobile broadband network password"
msgstr "Contrasenya de la xarxa de banda ampla mbil"
msgstr "Contrasenya de la xarxa de banda ampla mòbil"
#: ../js/ui/networkAgent.js:357
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Cal que introduu una contrasenya per connectar-vos a «%s»."
msgstr "Cal que introduïu una contrasenya per connectar-vos a «%s»."
#: ../js/ui/overview.js:90
msgid "Undo"
@ -857,17 +867,17 @@ msgstr "Aplicacions"
msgid "Dash"
msgstr "Quadre d'aplicacions"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Surt"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Activitats"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Barra superior"
@ -921,11 +931,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Introduïu una ordre:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "S'està cercant..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "No s'ha trobat cap coincidència."
@ -1068,7 +1078,7 @@ msgstr "Paràmetres de so"
#: ../js/ui/status/bluetooth.js:372
#, c-format
msgid "Authorization request from %s"
msgstr "Hi ha una petició d'autorització des de %s"
msgstr "Hi ha una sol·licitud d'autorització des de %s"
#: ../js/ui/status/bluetooth.js:378
#, c-format
@ -1238,7 +1248,7 @@ msgstr "Paràmetres de xarxa"
#: ../js/ui/status/network.js:1739
msgid "Connection failed"
msgstr "Ha fallat la connexi"
msgstr "Ha fallat la connexió"
#: ../js/ui/status/network.js:1740
msgid "Activation of network connection failed"
@ -1367,11 +1377,11 @@ msgstr "Trucada"
#. We got the TpContact
#: ../js/ui/telepathyClient.js:287
msgid "File Transfer"
msgstr "Transferncia de fitxers"
msgstr "Transferència de fitxers"
#: ../js/ui/telepathyClient.js:369
msgid "Subscription request"
msgstr "Teniu una petició de subscripció"
msgstr "Teniu una sol·licitud de subscripció"
#: ../js/ui/telepathyClient.js:405
msgid "Connection error"
@ -1482,7 +1492,7 @@ msgstr "En/na %s us envia %s"
#: ../js/ui/telepathyClient.js:1194
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s vol poder saber quan esteu en lnia"
msgstr "%s vol poder saber quan esteu en línia"
#: ../js/ui/telepathyClient.js:1287
msgid "Network error"
@ -1490,7 +1500,7 @@ msgstr "Error de la xarxa"
#: ../js/ui/telepathyClient.js:1289
msgid "Authentication failed"
msgstr "Ha fallat l'autenticaci"
msgstr "Ha fallat l'autenticació"
#: ../js/ui/telepathyClient.js:1291
msgid "Encryption error"
@ -1502,19 +1512,19 @@ msgstr "No s'ha proporcionat el certificat"
#: ../js/ui/telepathyClient.js:1295
msgid "Certificate untrusted"
msgstr "El certificat no s de confiana"
msgstr "El certificat no és de confiança"
#: ../js/ui/telepathyClient.js:1297
msgid "Certificate expired"
msgstr "El certificat ha venut"
msgstr "El certificat ha vençut"
#: ../js/ui/telepathyClient.js:1299
msgid "Certificate not activated"
msgstr "El certificat no est activat"
msgstr "El certificat no està activat"
#: ../js/ui/telepathyClient.js:1301
msgid "Certificate hostname mismatch"
msgstr "No coincideix el nom de la mquina del certificat"
msgstr "No coincideix el nom de la màquina del certificat"
#: ../js/ui/telepathyClient.js:1303
msgid "Certificate fingerprint mismatch"
@ -1530,33 +1540,33 @@ msgstr "S'ha establert l'estat a fora de línia"
#: ../js/ui/telepathyClient.js:1309
msgid "Encryption is not available"
msgstr "L'encriptaci no est disponible"
msgstr "L'encriptació no està disponible"
#: ../js/ui/telepathyClient.js:1311
msgid "Certificate is invalid"
msgstr "El certificat no s vlid"
msgstr "El certificat no és vàlid"
#: ../js/ui/telepathyClient.js:1313
msgid "Connection has been refused"
msgstr "S'ha rebutjat la connexi"
msgstr "S'ha rebutjat la connexió"
#: ../js/ui/telepathyClient.js:1315
msgid "Connection can't be established"
msgstr "No es pot establir la connexi"
msgstr "No es pot establir la connexió"
#: ../js/ui/telepathyClient.js:1317
msgid "Connection has been lost"
msgstr "S'ha perdut la connexi"
msgstr "S'ha perdut la connexió"
#: ../js/ui/telepathyClient.js:1319
msgid "This account is already connected to the server"
msgstr "Aquest compte ja est connectat al servidor"
msgstr "Aquest compte ja està connectat al servidor"
#: ../js/ui/telepathyClient.js:1321
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr ""
"S'ha reemplaat la connexi per una altra de nova fent servir el mateix "
"S'ha reemplaçat la connexió per una altra de nova fent servir el mateix "
"recurs"
#: ../js/ui/telepathyClient.js:1323
@ -1565,7 +1575,7 @@ msgstr "Ja existeix aquest compte al servidor"
#: ../js/ui/telepathyClient.js:1325
msgid "Server is currently too busy to handle the connection"
msgstr "El servidor est massa ocupat per gestionar la connexi"
msgstr "El servidor està massa ocupat per gestionar la connexió"
#: ../js/ui/telepathyClient.js:1327
msgid "Certificate has been revoked"
@ -1575,8 +1585,8 @@ msgstr "S'ha revocat el certificat"
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"El certificat utilitza un algorisme criptgraf no segur o la seva fortalesa "
"criptogrfica s feble"
"El certificat utilitza un algorisme criptògraf no segur o la seva fortalesa "
"criptogràfica és feble"
#: ../js/ui/telepathyClient.js:1331
msgid ""
@ -1584,7 +1594,7 @@ msgid ""
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"La llargada del certificat del servidor o la profunditat de la cadena de "
"certificaci excedeix els lmits de la biblioteca criptogrfica"
"certificació excedeix els límits de la biblioteca criptogràfica"
#: ../js/ui/telepathyClient.js:1333
msgid "Internal error"

File diff suppressed because it is too large Load Diff

205
po/cs.po
View File

@ -1,27 +1,26 @@
# Czech translation of gnome-shell.
# Copyright (C) 2009, 2010, 2011 the author(s) of gnome-shell.
# This file is distributed under the same license as the gnome-shell package.
#
# Andre Klapper <ak-47@gmx.net>, 2009.
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011.
# Adam Matoušek <adydas95@gmail.com>, 2012
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011, 2012.
# Adam Matoušek <adydas95@gmail.com>, 2012
# Marek Černocký <marek@manet.cz>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-16 21:54+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-16 15:34+0200\n"
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Lokalize 1.2\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -134,34 +133,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Je-li zapnuto, zobrazovat v kalendáři čísla týdnů dle ISO."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Klávesová zkratka na otevření nabídky aplikace"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Klávesová zkratka na otevření nabídky aplikace."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Která klávesnice se má používat"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Typ klávesnice, který se má používat."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Zobrazovat čas včetně sekund"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Je-li zapnuto, zobrazovat čas včetně sekund."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Zobrazovat v hodinách datum"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Je-li zapnuto, zobrazovat v hodinách kromě času i datum."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
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.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -169,11 +176,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.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
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.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -197,11 +204,11 @@ msgstr ""
"%T ! queue ! webmmux“ s 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.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
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.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -248,8 +255,8 @@ msgstr "(nebo otiskněte prst)"
msgid "Not listed?"
msgstr "Nejste na seznamu?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Zrušit"
@ -263,16 +270,16 @@ msgstr "Přihlásit se"
msgid "Login Window"
msgstr "Přihlašovací okno"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Uspat do paměti"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Restartovat"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Vypnout"
@ -292,27 +299,27 @@ msgid "Execution of '%s' failed:"
msgstr "Vykonání „%s“ selhalo:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Všechny"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "APLIKACE"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "NASTAVENÍ"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené"
@ -486,88 +493,88 @@ msgstr "Tento týden"
msgid "Next week"
msgstr "Následující týden"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Neznámé"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Přítomen"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Nepřítomen"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Zaneprázdněn"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Odpojen"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "KONTAKTY"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Odstranit"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Nastavení data a času"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Otevřít kalendář"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%A, %e. %B, %R:%S"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%A, %e. %B, %R"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%A, %R:%S"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%A, %R"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%A, %e. %B, %l:%M:%S %p"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%A, %e. %B, %l:%M %p"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%A, %l:%M:%S %p"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%A, %l:%M %p"
@ -575,7 +582,7 @@ msgstr "%A, %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %e. %B, %Y"
@ -672,20 +679,20 @@ msgstr[2] "Systém bude automaticky restartován za %d sekund."
msgid "Restarting the system."
msgstr "Restartuje se systém."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Instalovat"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "panel"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Klávesnice"
@ -697,73 +704,73 @@ msgstr "Heslo:"
msgid "Type again:"
msgstr "Napište znovu:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nejsou nainstalována žádná rozšíření"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "Rozšíření %s nevyvolalo žádné chyby."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Skrývat chyby"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Zobrazovat chyby"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Povoleno"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Zakázáno"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Chyba"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Neaktuální"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Stahování"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Zobrazit zdroj"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Webová stránka"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Záznam obrazovky z %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Otevřít"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Zrušit ztlumení"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Ztlumit"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Informace o systému"
@ -809,8 +816,8 @@ msgstr "K bezdrátové síti je vyžadováno ověření"
#: ../js/ui/networkAgent.js:330
#, 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 ""
"Pro přístup k bezdrátové síti „%s“ jsou vyžadována hesla nebo šifrovací "
"klíče."
@ -852,31 +859,35 @@ msgstr "Pro připojení k „%s“ je vyžadováno heslo."
msgid "Undo"
msgstr "Zpět"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Přehled"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Okna"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Aplikace"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Oblíbené"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
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:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Horní lišta"
@ -922,7 +933,7 @@ msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -930,11 +941,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Zadejte prosím příkaz:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Hledá se…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Neodpovídá ani jeden z výsledků."
@ -1620,51 +1631,51 @@ msgstr "Upravit účet"
msgid "Unknown reason"
msgstr "Neznámý důvod"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Skrytý"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Nečinný"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Nedostupný"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Vypnout…"
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Upozornění"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Účty on-line"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Nastavení systému"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Uzamknout obrazovku"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Přepnout uživatele"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Odhlásit…"
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
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:673
#: ../js/ui/userMenu.js:689
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."
@ -1731,15 +1742,15 @@ msgstr[2] "%u vstupů"
msgid "System Sounds"
msgstr "Systémové zvuky"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "Vypsat verzi"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Nelze spustit „%s“"

116
po/da.po
View File

@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-14 10:36+0100\n"
"PO-Revision-Date: 2012-02-18 14:59+0100\n"
"POT-Creation-Date: 2012-03-22 15:47+0100\n"
"PO-Revision-Date: 2012-03-22 13:02+0100\n"
"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@ -251,7 +251,7 @@ msgstr "(eller indlæs fingeraftryk)"
msgid "Not listed?"
msgstr "Ikke listet?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
@ -266,16 +266,16 @@ msgstr "Log ind"
msgid "Login Window"
msgstr "Indlogningsvindue"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Hviletilstand"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Genstart"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Sluk"
@ -295,27 +295,27 @@ msgid "Execution of '%s' failed:"
msgstr "Kørsel af \"%s\" mislykkedes:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Alle"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "PROGRAMMER"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "INDSTILLINGER"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Nyt vindue"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Føj til favoritter"
@ -488,28 +488,28 @@ msgstr "Denne uge"
msgid "Next week"
msgstr "Næste uge"
#: ../js/ui/contactDisplay.js:64 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Ukendt"
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Tilgængelig"
#: ../js/ui/contactDisplay.js:90 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Ikke tilstede"
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Optaget"
#: ../js/ui/contactDisplay.js:98
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Offline"
#: ../js/ui/contactDisplay.js:149
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "KONTAKTER"
@ -517,58 +517,58 @@ msgstr "KONTAKTER"
msgid "Remove"
msgstr "Fjern"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Indstillinger for dato og tid"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Åbn kalender"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %e. %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %e. %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e. %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e. %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %e. %B %Y"
@ -669,11 +669,11 @@ msgstr "Installér"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Hent og installér \"%s\" fra extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "statusfelt"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Tastatur"
@ -751,7 +751,7 @@ msgstr "Slå lyd til"
msgid "Mute"
msgstr "Slå lyd fra"
#: ../js/ui/messageTray.js:2450
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Systeminformation"
@ -840,31 +840,35 @@ msgstr "En adgangskode er påkrævet for at forbinde til \"%s\"."
msgid "Undo"
msgstr "Fortryd"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Oversigt"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Vinduer"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Programmer"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Favoritområde"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:591
msgid "Quit"
msgstr "Afslut"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:623
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:998
msgid "Top Bar"
msgstr "Toppanel"
@ -910,7 +914,7 @@ msgstr "Beklager, godkendelse mislykkedes. Prøv igen."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -918,11 +922,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Indtast en kommando:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Søger..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Ingen resultater fundet."
@ -1605,51 +1609,51 @@ msgstr "Redigér konto"
msgid "Unknown reason"
msgstr "Ukendt årsag"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Skjult"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Tomgang"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Utilgængelig"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Sluk..."
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Beskeder"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Online konti"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Systemindstillinger"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Lås skærm"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Skift bruger"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Log ud..."
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Din chat-status vil blive angivet som optaget"
#: ../js/ui/userMenu.js:683
#: ../js/ui/userMenu.js:689
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."
@ -1723,7 +1727,7 @@ msgstr "Udskriv version"
msgid "Mode used by GDM for login screen"
msgstr "Tilstand brugt af GDM til indlogningskærm"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Kunne ikke køre \"%s\""

116
po/de.po
View File

@ -11,15 +11,16 @@
# Jakob Kramer <jakob.kramer@gmx.de>, 2010.
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2010, 2011.
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2010, 2011, 2012.
# Wolfgang Stöggl <c72578@yahoo.de>, 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-03-18 00:40+0000\n"
"PO-Revision-Date: 2012-03-18 01:04+0100\n"
"Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n"
"POT-Creation-Date: 2012-04-13 19:40+0000\n"
"PO-Revision-Date: 2012-04-14 16:04+0200\n"
"Last-Translator: Wolfgang Stoeggl <c72578@yahoo.de>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -142,34 +143,42 @@ msgstr ""
"Wenn dieser Wert gesetzt ist, wird der ISO-Wochentag im Kalender angezeigt."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Tastenkombination zum Öffnen des Anwendungsmenüs"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Tastenkombination zum Öffnen des Anwendungsmenüs."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Zu verwendende Tastatur"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Der Typ der zu verwendenden Tastatur"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Zeit sekundengenau anzeigen"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Legt fest, ob in der Uhrzeit Sekunden angezeigt werden."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Datum in der Uhr anzeigen"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Legt fest, ob das Datum zusätzlich zur Uhrzeit angezeigt wird."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Bildwiederholungsrate zur Aufnahme von Screencasts"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -178,12 +187,12 @@ msgstr ""
"der GNOME-Shell aufgezeichnet werden soll, in Einzelbildern pro Sekunde."
# hmm Enkodieren oder Kodieren?
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Die GStreamer-Weiterleitung zur Enkodierung des Screencasts"
# Hier blicke ich überhaupt nicht durch.
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -210,11 +219,11 @@ msgstr ""
"mittels des VP8-Codecs aufzeichnet. %T wird als Platzhalter für die "
"vermutete optimale Thread-Anzahl auf dem System verwendet."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Die Dateiendung zum Speichern des Screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -238,53 +247,53 @@ msgstr "<b>Erweiterung</b>"
msgid "Select an extension to configure using the combobox above."
msgstr "Wählen Sie oben eine Erweiterung aus, die Sie konfigurieren wollen."
#: ../js/gdm/loginDialog.js:624
#: ../js/gdm/loginDialog.js:627
msgid "Session..."
msgstr "Sitzung …"
#: ../js/gdm/loginDialog.js:786
#: ../js/gdm/loginDialog.js:789
msgctxt "title"
msgid "Sign In"
msgstr "Anmelden"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/loginDialog.js:831
#: ../js/gdm/loginDialog.js:834
msgid "(or swipe finger)"
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
#. 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:852
#: ../js/gdm/loginDialog.js:855
msgid "Not listed?"
msgstr "Nicht aufgeführt?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1023 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:400 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Abbrechen"
#: ../js/gdm/loginDialog.js:1025
#: ../js/gdm/loginDialog.js:1028
msgctxt "button"
msgid "Sign In"
msgstr "Anmelden"
#: ../js/gdm/loginDialog.js:1377
#: ../js/gdm/loginDialog.js:1380
msgid "Login Window"
msgstr "Anmeldefenster"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:597
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Bereitschaft"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Neu starten"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Ausschalten"
@ -679,11 +688,11 @@ msgstr[1] "Das System wird automatisch in %d Sekunden neu gestartet."
msgid "Restarting the system."
msgstr "Neustart des Systems."
#: ../js/ui/extensionSystem.js:403
#: ../js/ui/extensionSystem.js:404
msgid "Install"
msgstr "Installieren"
#: ../js/ui/extensionSystem.js:407
#: ../js/ui/extensionSystem.js:408
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
@ -692,7 +701,8 @@ msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
msgid "tray"
msgstr "Benachrichtigungsfeld"
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/keyboard.js:44
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Tastatur"
@ -704,51 +714,51 @@ msgstr "Passwort:"
msgid "Type again:"
msgstr "Erneut eingeben:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Keine Erweiterungen installiert"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s hat keine Fehler ausgegeben."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Fehler verbergen"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Fehler anzeigen"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Aktiviert"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1082
msgid "Disabled"
msgstr "Deaktiviert"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Fehler"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Veraltet"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Herunterladen"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Quelle zeigen"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Webseite"
@ -859,32 +869,36 @@ msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
msgid "Undo"
msgstr "Rückgängig"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Übersicht"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Fenster"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Anwendungen"
# Würde ich so übernehmen, oder evtl. »Dock«.
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Dash"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Beenden"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Aktivitäten"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Obere Leiste"
@ -938,11 +952,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Bitte geben Sie einen Befehl ein:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Suche läuft …"
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:415
msgid "No matching results."
msgstr "Keine passenden Ergebnisse."
@ -1193,7 +1207,7 @@ msgstr "Verbindung gescheitert"
#: ../js/ui/status/network.js:585 ../js/ui/status/network.js:1505
msgid "More..."
msgstr "Mehr ..."
msgstr "Mehr "
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name)
@ -1720,7 +1734,7 @@ msgstr "»%s« ist bereit"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1100
#: ../src/gvc/gvc-mixer-control.c:1089
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1729,14 +1743,14 @@ msgstr[1] "%u Ausgänge"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1110
#: ../src/gvc/gvc-mixer-control.c:1099
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u Eingang"
msgstr[1] "%u Eingänge"
#: ../src/gvc/gvc-mixer-control.c:1408
#: ../src/gvc/gvc-mixer-control.c:1397
msgid "System Sounds"
msgstr "Systemklänge"

746
po/el.po

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-13 14:03+0000\n"
"PO-Revision-Date: 2012-03-13 14:06+0100\n"
"POT-Creation-Date: 2012-04-13 13:20+0100\n"
"PO-Revision-Date: 2012-04-13 13:20+0100\n"
"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
"Language-Team: British English <en@li.org>\n"
"Language: en_GB\n"
@ -129,34 +129,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "If true, display the ISO week date in the calendar."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Keybinding to open the application menu"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Keybinding to open the application menu."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Which keyboard to use"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "The type of keyboard to use."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Show time with seconds"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "If true, display seconds in time."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Show date in clock"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "If true, display date in the clock, in addition to time."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Framerate used for recording screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -164,11 +172,11 @@ msgstr ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames per second."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "The GStreamer pipeline used to encode the screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -193,11 +201,11 @@ msgstr ""
"using the VP8 codec. %T is used as a placeholder for a guess at the optimal "
"thread count on the system."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "File extension used for storing the screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -220,53 +228,53 @@ msgstr "<b>Extension</b>"
msgid "Select an extension to configure using the combobox above."
msgstr "Select an extension to configure using the combobox above."
#: ../js/gdm/loginDialog.js:624
#: ../js/gdm/loginDialog.js:627
msgid "Session..."
msgstr "Session…"
#: ../js/gdm/loginDialog.js:786
#: ../js/gdm/loginDialog.js:789
msgctxt "title"
msgid "Sign In"
msgstr "Sign In"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/loginDialog.js:831
#: ../js/gdm/loginDialog.js:834
msgid "(or swipe finger)"
msgstr "(or swipe finger)"
#. 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:852
#: ../js/gdm/loginDialog.js:855
msgid "Not listed?"
msgstr "Not listed?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1023 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:400 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Cancel"
#: ../js/gdm/loginDialog.js:1025
#: ../js/gdm/loginDialog.js:1028
msgctxt "button"
msgid "Sign In"
msgstr "Sign In"
#: ../js/gdm/loginDialog.js:1377
#: ../js/gdm/loginDialog.js:1380
msgid "Login Window"
msgstr "Login Window"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Suspend"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Restart"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Power Off"
@ -286,27 +294,27 @@ msgid "Execution of '%s' failed:"
msgstr "Execution of '%s' failed:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "All"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "APPLICATIONS"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "SETTINGS"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "New Window"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Remove from Favourites"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Add to Favourites"
@ -479,28 +487,28 @@ msgstr "This week"
msgid "Next week"
msgstr "Next week"
#: ../js/ui/contactDisplay.js:64 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Unknown"
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Available"
#: ../js/ui/contactDisplay.js:90 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Away"
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Busy"
#: ../js/ui/contactDisplay.js:98
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Offline"
#: ../js/ui/contactDisplay.js:149
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "CONTACTS"
@ -508,58 +516,58 @@ msgstr "CONTACTS"
msgid "Remove"
msgstr "Remove"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Date and Time Settings"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Open Calendar"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %e %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %e %B, %Y"
@ -651,20 +659,21 @@ msgstr[1] "The system will restart automatically in %d seconds."
msgid "Restarting the system."
msgstr "Restarting the system."
#: ../js/ui/extensionSystem.js:403
#: ../js/ui/extensionSystem.js:404
msgid "Install"
msgstr "Install"
#: ../js/ui/extensionSystem.js:407
#: ../js/ui/extensionSystem.js:408
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Download and install '%s' from extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "tray"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/keyboard.js:44
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Keyboard"
@ -676,51 +685,51 @@ msgstr "Password:"
msgid "Type again:"
msgstr "Type again:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "No extensions installed"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s has not emitted any errors."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Hide Errors"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Show Errors"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Enabled"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1082
msgid "Disabled"
msgstr "Disabled"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Error"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Out of date"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Downloading"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "View Source"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Web Page"
@ -742,7 +751,7 @@ msgstr "Unmute"
msgid "Mute"
msgstr "Mute"
#: ../js/ui/messageTray.js:2450
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "System Information"
@ -831,31 +840,35 @@ msgstr "A password is required to connect to '%s'."
msgid "Undo"
msgstr "Undo"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Overview"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Windows"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Applications"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Dash"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Quit"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Activities"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Top Bar"
@ -901,7 +914,7 @@ msgstr "Sorry, that didn't work. Please try again."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@ -909,11 +922,11 @@ msgstr "toggle-switch-us"
msgid "Please enter a command:"
msgstr "Please enter a command:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Searching…"
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:415
msgid "No matching results."
msgstr "No matching results."
@ -1595,51 +1608,51 @@ msgstr "Edit account"
msgid "Unknown reason"
msgstr "Unknown reason"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Hidden"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Idle"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Unavailable"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Power Off…"
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Notifications"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Online Accounts"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "System Settings"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Lock Screen"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Switch User"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Log Out…"
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Your chat status will be set to busy"
#: ../js/ui/userMenu.js:683
#: ../js/ui/userMenu.js:689
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."
@ -1684,7 +1697,7 @@ msgstr "'%s' is ready"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1100
#: ../src/gvc/gvc-mixer-control.c:1089
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1693,14 +1706,14 @@ msgstr[1] "%u Outputs"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1110
#: ../src/gvc/gvc-mixer-control.c:1099
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u Input"
msgstr[1] "%u Inputs"
#: ../src/gvc/gvc-mixer-control.c:1408
#: ../src/gvc/gvc-mixer-control.c:1397
msgid "System Sounds"
msgstr "System Sounds"
@ -1712,7 +1725,7 @@ msgstr "Print version"
msgid "Mode used by GDM for login screen"
msgstr "Mode used by GDM for login screen"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Failed to launch '%s'"

500
po/es.po

File diff suppressed because it is too large Load Diff

View File

@ -13,14 +13,14 @@ 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-03-01 11:29+0000\n"
"PO-Revision-Date: 2012-03-01 13:10+0200\n"
"POT-Creation-Date: 2012-03-21 04:50+0000\n"
"PO-Revision-Date: 2012-03-21 10:34+0200\n"
"Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n"
"Language-Team: Estonian <>\n"
"Language: et\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-Poedit-Language: Estonian\n"
"X-Poedit-Country: Estonia\n"
@ -676,6 +676,9 @@ msgstr "'%s' ühenduse loomiseks on vaja parooli."
msgid "Undo"
msgstr "Võta tagasi"
msgid "Overview"
msgstr "Ülevaade"
msgid "Windows"
msgstr "Aknad"

221
po/fa.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-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-04 20:00+0330\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-03-31 01:45+0330\n"
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@ -99,63 +99,59 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "در صورت تنظیم بر روی «درست»، تاریخ هفتگی ایزو را در تقویم نشان می‌دهد."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "کلید مقید برای باز کردن منو برنامه"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "کلید مقید برای باز کردن منو برنامه."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "استفاده از کدام صفحه‌کلید"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "نوع صفحه‌کلید جهت استفاده"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "نمایش ساعت همراه با ثانیه"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "در صورت تنظیم بر روی «درست»، ثانیه‌ها را در ساعت نشان می‌دهد."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "نمایش تاریخ در ساعت"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "اگر روی «درست» تنظیم شود، تاریخ را در کنار ساعت نشان می‌دهد."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "سرعت فریم استفاده شده در تصویربرداری از صفحه‌نمایش."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
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.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "مجرای ارتباطی gstreamer برای کدگذاری تصویربرداری از صفحه نمایش"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, 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 'videorate ! vp8enc quality=10 speed=2 "
#| "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 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."
msgstr "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."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "پسوند پرونده‌ی قابل استفاده برای ذخیره تصویربرداری از صفحه‌نمایش"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "نام پرونده‌ی ضبط شده برای تصویربرداری از صفحه‌نمایش یکتا و براساس تاریخ جاری خواهد بود و از این افزونه استفاده خواهد کرد. اگر در زمان ضبط از قالب دیگری استفاده کنید باید تغییر کند."
@ -195,8 +191,8 @@ msgid "Not listed?"
msgstr "فهرست نشده؟"
#: ../js/gdm/loginDialog.js:1020
#: ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401
#: ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399
#: ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175
#: ../js/ui/status/bluetooth.js:462
@ -212,18 +208,18 @@ msgstr "ورود"
msgid "Login Window"
msgstr "پنجره‌ی ورود به سیستم"
#: ../js/gdm/powerMenu.js:152
#: ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583
#: ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155
#: ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599
#: ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "تعلیق"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "راه‌اندازی مجدد"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "خاموش کردن"
@ -243,27 +239,27 @@ msgid "Execution of '%s' failed:"
msgstr "اجرای «%s» شکست خورد:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "همه"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "برنامه‌ها"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "تنظیمات"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "پنجره‌ی جدید"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "حذف از مورد پسندها"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "اضافه کردن به مورد پسندها"
@ -436,93 +432,93 @@ msgstr "این هفته"
msgid "Next week"
msgstr "هفته آینده"
#: ../js/ui/contactDisplay.js:63
#: ../js/ui/contactDisplay.js:66
#: ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215
#: ../src/shell-app.c:372
#: ../src/shell-app.c:374
msgid "Unknown"
msgstr "ناشناخته"
#: ../js/ui/contactDisplay.js:84
#: ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89
#: ../js/ui/userMenu.js:129
msgid "Available"
msgstr "در دسترس"
#: ../js/ui/contactDisplay.js:89
#: ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94
#: ../js/ui/userMenu.js:138
msgid "Away"
msgstr "غائب"
#: ../js/ui/contactDisplay.js:93
#: ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98
#: ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "مشغول"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "برون‌خط"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "CONTACTS"
#: ../js/ui/dash.js:229
#: ../js/ui/messageTray.js:1204
#: ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "حذف"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "تنظیمات تاریخ و ساعت"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "بازکردن تقویم"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %Od %b %OH:%OM:%OS"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %Od %b %OH:%OM"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %OH:%OM:%OS"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %OH:%OM"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a Od% %b %OH:%OM:%OS"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %Od %b %OH:%OM"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %OH:%OM:%OS"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %OH:%OM"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %Od %B"
@ -615,20 +611,20 @@ msgstr[1] "سیستم پس از %Id ثانیه به طور خودکار مجدد
msgid "Restarting the system."
msgstr "درحال راه‌اندازی مجدد سیستم."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "نصب"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "بارگیری و نصب «%s» از extensions.gnome.org؟"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "سینی"
#: ../js/ui/keyboard.js:539
#: ../js/ui/keyboard.js:544
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "صفحه‌کلید"
@ -642,75 +638,75 @@ msgstr "گذرواژه"
msgid "Type again:"
msgstr "تلاش مجدد:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "هیچ افزونه‌ای نصب نشده است"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "افزونه %s هیچ خطایی منتشر نکرده است."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "مخفی کردن خطاها"
#: ../js/ui/lookingGlass.js:789
#: ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796
#: ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "نمایش خطاها"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "به کار انداختن"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801
#: ../js/ui/lookingGlass.js:808
#: ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "از کار انداختن"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "خطا"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "قدیمی"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "در حال بارگیری"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "نمایش منبع"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "صفحه‌ی وب"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "ویدئو صفحه‌نمایش %Id %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "بازکردن"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "باصدا"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "بی‌صدا"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "اطلاعات سیستم"
@ -798,31 +794,35 @@ msgstr "برای اتصال به «%s» گذرواژه لازم است."
msgid "Undo"
msgstr "برگردان"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "نمای‌کلی"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "پنجره‌‌ها"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "برنامه‌ها"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "دَش"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "خروج"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "فعالیت‌ها"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "نوار بالا"
@ -868,7 +868,7 @@ msgstr "متاسفتم، تاثیری نداشت! مجددا تلاش کنید."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -876,11 +876,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "لطفا یک فرمان وارد کنید:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "درحال حستجو..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "نتیجه‌ی منطبقی پیدا نشد."
@ -905,7 +905,6 @@ msgid "Wrong password, please try again"
msgstr "گذرواژه‌ی نادرست، لطفا دوباره تلاش کنید"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "دسترسی‌پذیری"
@ -1178,7 +1177,6 @@ msgid "Auto wireless"
msgstr "بیسیم خودکار"
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "شبکه"
@ -1523,7 +1521,6 @@ msgid "Connection has been lost"
msgstr "اتصال از دست رفته است"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "این حساب قبلا به کارگزار متصل شده است"
@ -1552,7 +1549,6 @@ msgid "The length of the server certificate, or the depth of the server certific
msgstr "اندازه گواهینامه کارگزار، یا عمق حلقه‌ی گواهینامه کارگزار، از محدودیت اعمال شده توسط کتابخانه cryptography تجاوز کرد"
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "خطای داخلی"
@ -1575,53 +1571,53 @@ msgstr "ویرایش حساب"
msgid "Unknown reason"
msgstr "دلیل ناشناخته"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "نامرئی"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "بی‌کار"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "خارج از دسترس"
#: ../js/ui/userMenu.js:579
#: ../js/ui/userMenu.js:583
#: ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595
#: ../js/ui/userMenu.js:599
#: ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "خاموش کردن..."
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "اعلان‌ها"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "حساب‌های برخط"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "تنظیمات سیستم"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "قفل کردن صفحه"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "تعویض کاربر"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "خروج از سیستم..."
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "وضعیت گپ شما «مشغول» تنظیم می‌شود"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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 "هم‌اکنون اعلان‌ها، از جمله پیام‌های گپ، غیرفعال هستند. وضعیتِ برخطِ شما به گونه‌ای تنظیم شده است که به دیگران نشان دهد ممکن است شما پیام‌هایشان را نبینید."
@ -1683,21 +1679,20 @@ msgstr[1] "%Iu ورودی"
msgid "System Sounds"
msgstr "صداهای سیستم"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "چاپ نسخه"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "حالت استفاده شده توسط GDM برای صفحه ورود به سیستم"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "راه‌اندازی «%s» شکست خورد"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "گذرواژه‌های منطبق نیستند."

297
po/fi.po
View File

@ -13,29 +13,28 @@
# https://bugzilla.gnome.org/show_bug.cgi?id=647320
# https://bugzilla.gnome.org/show_bug.cgi?id=648678
#
# Timo Jyrinki <timo.jyrinki@iki.fi>, 2009-2011.
# Marko Myllynen <myllynen@redhat.com>, 2011.
# Ville-Pekka Vainio <vpvainio@iki.fi>, 2011.
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
# Gnome 2012-03 Finnish translation sprint participants:
# Jiri Grönroos
# Helsingforce
# Niklas Laxström
# Timo Jyrinki <timo.jyrinki@iki.fi>, 2009-2011.
# Marko Myllynen <myllynen@redhat.com>, 2011.
# Ville-Pekka Vainio <vpvainio@iki.fi>, 2011.
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
msgid ""
msgstr ""
""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-12 09:05:03+0000\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-21 18:14+0200\n"
"PO-Revision-Date: 2012-03-21 13:53+0200\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish <>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: MediaWiki 1.20alpha (r113129); Translate 2012-03-02\n"
"X-Generator: Lokalize 1.4\n"
"X-DamnedLies-Scope: partial\n"
"X-Project-Style: gnome\n"
"X-POT-Import-Date: 2012-03-05 15:06:10+0000\n"
@ -59,34 +58,58 @@ msgstr "Hallitse Gnome Shell -laajennuksia"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Ota käyttöön sisäiset kehittäjiä ja testaajia hyödyttävät työkalut Alt-F2:sta"
msgstr ""
"Ota käyttöön sisäiset kehittäjiä ja testaajia hyödyttävät työkalut Alt-F2:sta"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
msgstr "Salli pääsy sisäiseen vianselvitys- ja monitorointityökaluun Alt-F2-ikkunan kautta."
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Salli pääsy sisäiseen vianselvitys- ja monitorointityökaluun Alt-F2-ikkunan "
"kautta."
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Uuids of extensions to enable"
msgstr "Käyttöön otettavien laajennosten UUID:t"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension DBus methods on org.gnome.Shell."
msgstr "GNOMEn ikkunanhallinnan laajennuksilla on uuid-tunnisteominaisuus, ja tämä avain luettelee laajennukset, jotka ladataan. Niiden laajennosten, jotka halutaan ladata, on oltava tässä luettelossa. Tätä luetteloa voi muokata myös org.gnome.Shell-DBus-metodeilla EnableExtension ja DisableExtension."
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should be loaded. Any extension that wants to be loaded needs to be in this "
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"GNOMEn ikkunanhallinnan laajennuksilla on uuid-tunnisteominaisuus, ja tämä "
"avain luettelee laajennukset, jotka ladataan. Niiden laajennosten, jotka "
"halutaan ladata, on oltava tässä luettelossa. Tätä luetteloa voi muokata "
"myös org.gnome.Shell-DBus-metodeilla EnableExtension ja DisableExtension."
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Whether to collect stats about applications usage"
msgstr "Kerätäänkö sovellusten käytöstä tilastoja"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data."
msgstr "Ikkunanhallinta seuraa normaalisti aktiivisia sovelluksia, jotta eniten käytetyt voidaan esittää (esim. käynnistimissä). Vaikka nämä tiedot pysyvät yksityisinä, voit silti haluta ottaa ominaisuuden pois käytöstä yksityisyyden vuoksi. Huomaa että pois kytkeminen ei poista aiemmin tallennettuja tietoja."
msgid ""
"The shell normally monitors active applications in order to present the most "
"used ones (e.g. in launchers). While this data will be kept private, you may "
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"Ikkunanhallinta seuraa normaalisti aktiivisia sovelluksia, jotta eniten "
"käytetyt voidaan esittää (esim. käynnistimissä). Vaikka nämä tiedot pysyvät "
"yksityisinä, voit silti haluta ottaa ominaisuuden pois käytöstä "
"yksityisyyden vuoksi. Huomaa että pois kytkeminen ei poista aiemmin "
"tallennettuja tietoja."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "List of desktop file IDs for favorite applications"
msgstr "Luettelo työpöytätiedostojen tunnisteista lempisovelluksille"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "Näitä tunnisteita vastaavat sovellukset näytetään suosikkien alueella."
#: ../data/org.gnome.shell.gschema.xml.in.h:9
@ -102,11 +125,15 @@ msgid "History for the looking glass dialog"
msgstr "Historia näyttölasi-ikkunalle"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "Internally used to store the last IM presence explicitly set by the user. The value here is from the TpConnectionPresenceType enumeration."
msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Internally used to store the last session presence status for the user. The value here is from the GsmPresenceStatus enumeration."
msgid ""
"Internally used to store the last session presence status for the user. The "
"value here is from the GsmPresenceStatus enumeration."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:14
@ -146,8 +173,12 @@ msgid "Framerate used for recording screencasts."
msgstr "Ruutunauhoitusten kuvataajuus."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
msgstr "Nauhoituksesta tuloksena saatavan ruutunauhoituksen kuvataajuus kun käytössä on GNOMEn ikkunanhallinnan nauhoitin, kuvaa per sekunti."
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Nauhoituksesta tuloksena saatavan ruutunauhoituksen kuvataajuus kun käytössä "
"on GNOMEn ikkunanhallinnan nauhoitin, kuvaa per sekunti."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "The gstreamer pipeline used to encode the screencast"
@ -155,16 +186,43 @@ msgstr "Gstreamer-liukuhihna jolla ruutunauhoitukset pakataan"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, fuzzy, 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."
msgstr "Asettaa GStreamer-liukuhihnan, jota käytetään nauhoitusten pakkaamiseen. Asetus noudattaa gst-launch-komennon syntaksia. Liukuhihnalla tulee olla yhdistämätön viemärialusta, jonne nauhoitettu video syötetään. Normaalisti sillä on yhdistämätön lähde, jonka tuloste kirjoitetaan tulostetiedostoon. Liukuhihna voi kuitenkin huolehtia itse tulosteesta - tätä voidaan käyttää vaikkapa lähettämään tuloste Icecast-palvelimelle shout2send- tai vastaavalla komponentilla. Jos tätä ei aseteta tai arvona on tyhjää, käytetään oletusliukuhihnaa. Oletusliukuhihna on tällä hetkellä ”videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux” ja nauhoittaa WEBM-muotoon VP8-koodekilla. %T korvautuu arvauksella parhaan suorituskyvyn antavasta säiemäärästä järjestelmässä."
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."
msgstr ""
"Asettaa GStreamer-liukuhihnan, jota käytetään nauhoitusten pakkaamiseen. "
"Asetus noudattaa gst-launch-komennon syntaksia. Liukuhihnalla tulee olla "
"yhdistämätön viemärialusta, jonne nauhoitettu video syötetään. Normaalisti "
"sillä on yhdistämätön lähde, jonka tuloste kirjoitetaan tulostetiedostoon. "
"Liukuhihna voi kuitenkin huolehtia itse tulosteesta - tätä voidaan käyttää "
"vaikkapa lähettämään tuloste Icecast-palvelimelle shout2send- tai "
"vastaavalla komponentilla. Jos tätä ei aseteta tai arvona on tyhjää, "
"käytetään oletusliukuhihnaa. Oletusliukuhihna on tällä hetkellä ”videorate ! "
"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux” ja nauhoittaa WEBM-"
"muotoon VP8-koodekilla. %T korvautuu arvauksella parhaan suorituskyvyn "
"antavasta säiemäärästä järjestelmässä."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "File extension used for storing the screencast"
msgstr "Tiedostopääte ruutunauhoitusten tallentamiseen"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
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 "Nauhoitetuille ruutunauhoituksille valitaan yksikäsitteinen tiedostonimi nykyisen päivämäärän ja tämän tiedostopäätteen mukaisesti. Tiedostopääte tulisi vaihtaa mikäli nauhoitetaan eri tallennusmuotoon."
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 ""
"Nauhoitetuille ruutunauhoituksille valitaan yksikäsitteinen tiedostonimi "
"nykyisen päivämäärän ja tämän tiedostopäätteen mukaisesti. Tiedostopääte "
"tulisi vaihtaa mikäli nauhoitetaan eri tallennusmuotoon."
#: ../js/extensionPrefs/main.js:125
#, c-format
@ -201,7 +259,7 @@ msgstr "(tai pyyhkäise sormella)"
msgid "Not listed?"
msgstr "Ei luettelossa?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
@ -216,16 +274,16 @@ msgstr "Kirjaudu sisään"
msgid "Login Window"
msgstr "Kirjautumisikkuna"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Valmiustila"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Käynnistä uudelleen"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Sammuta"
@ -245,27 +303,27 @@ msgid "Execution of '%s' failed:"
msgstr "”%s” suorittaminen epäonnistui:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Kaikki"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "SOVELLUKSET"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "ASETUKSET"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Uusi ikkuna"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Poista suosikeista"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Lisää suosikkeihin"
@ -294,6 +352,7 @@ msgstr "Poista asemasta"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#.
#: ../js/ui/calendar.js:62
msgctxt "event list time"
msgid "All Day"
@ -315,6 +374,7 @@ msgstr "%l.%M %p"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:114
msgctxt "grid sunday"
msgid "S"
@ -361,6 +421,7 @@ msgstr "L"
#. * NOTE: These list abbreviations are normally not shown together
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
#. * both be 'T').
#.
#: ../js/ui/calendar.js:139
msgctxt "list sunday"
msgid "Su"
@ -435,86 +496,87 @@ msgstr "Tällä viikolla"
msgid "Next week"
msgstr "Ensi viikolla"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Tuntematon"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Tavoitettavissa"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Poissa"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Kiireinen"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Ei linjoilla"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "YHTEYSTIEDOT"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1206
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Poista"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Ajan ja päiväyksen asetukset"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Avaa kalenteri"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %d.%m., %H.%M.%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %d.%m., %H.%M"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %H.%M.%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %H.%M"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %d.%m., %I.%M.%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %d.%m., %I.%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %I.%M.%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %I.%M %p"
#. 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:211
#.
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %d. %Bta %Y"
@ -531,7 +593,9 @@ msgstr "Kirjaudu ulos"
#: ../js/ui/endSessionDialog.js:63
msgid "Click Log Out to quit these applications and log out of the system."
msgstr "Napsauta Kirjaudu ulos poistuaksesi näistä sovelluksista ja kirjautuaksesi ulos järjestelmästä."
msgstr ""
"Napsauta Kirjaudu ulos poistuaksesi näistä sovelluksista ja kirjautuaksesi "
"ulos järjestelmästä."
#: ../js/ui/endSessionDialog.js:65
#, c-format
@ -563,7 +627,9 @@ msgstr "Sammuta"
#: ../js/ui/endSessionDialog.js:82
msgid "Click Power Off to quit these applications and power off the system."
msgstr "Napsauta Sammuta poistuaksesi näistä sovelluksista ja sammuttaaksesi järjestelmän."
msgstr ""
"Napsauta Sammuta poistuaksesi näistä sovelluksista ja sammuttaaksesi "
"järjestelmän."
#: ../js/ui/endSessionDialog.js:84
#, c-format
@ -593,14 +659,18 @@ msgstr "Käynnistä uudelleen"
#: ../js/ui/endSessionDialog.js:99
msgid "Click Restart to quit these applications and restart the system."
msgstr "Napsauta Käynnistä uudelleen poistuaksesi näistä sovelluksista ja käynnistääksesi järjestelmän uudelleen."
msgstr ""
"Napsauta Käynnistä uudelleen poistuaksesi näistä sovelluksista ja "
"käynnistääksesi järjestelmän uudelleen."
#: ../js/ui/endSessionDialog.js:101
#, c-format
msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
msgstr[1] "Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
msgstr[0] ""
"Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
msgstr[1] ""
"Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
#: ../js/ui/endSessionDialog.js:105
msgid "Restarting the system."
@ -615,11 +685,11 @@ msgstr "Asenna"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ilmoitusalue"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Näppäimistö"
@ -680,24 +750,24 @@ msgid "Web Page"
msgstr "WWW-sivu"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr ""
#: ../js/ui/messageTray.js:1199
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Avaa"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Palauta ääni"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Vaimenna"
#: ../js/ui/messageTray.js:2449
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Järjestelmän tiedot"
@ -742,7 +812,9 @@ msgstr "Langaton verkko vaatii tunnistautumisen"
#: ../js/ui/networkAgent.js:330
#, c-format
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr "Langaton verkko %s vaatii salasanan tai salausavaimia."
#: ../js/ui/networkAgent.js:334
@ -782,31 +854,35 @@ msgstr "Salasana vaaditaan kohteeseen %s yhdistämiseksi."
msgid "Undo"
msgstr "Kumoa"
#: ../js/ui/overview.js:199
msgid "Windows"
msgstr "Ikkuna"
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Yleisnäkymä"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Ikkunat"
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Sovellukset"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Pikavalikko"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:591
msgid "Quit"
msgstr "Lopeta"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:623
msgid "Activities"
msgstr "Toiminnot"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:998
msgid "Top Bar"
msgstr "Yläpalkki"
@ -852,7 +928,7 @@ msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -860,11 +936,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Syötä komento:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Haetaan…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Ei tuloksia."
@ -1411,6 +1487,7 @@ msgstr "Vastaa"
#. * the contact's alias and the second one is the
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/telepathyClient.js:1125
#, c-format
msgid "%s is sending you %s"
@ -1491,7 +1568,8 @@ msgid "This account is already connected to the server"
msgstr "Tämä tili on jo yhteydessä palvelimeen"
#: ../js/ui/telepathyClient.js:1321
msgid "Connection has been replaced by a new connection using the same resource"
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Yhteys on korvattu uudella samaa resurssia käyttävällä yhteydellä"
#: ../js/ui/telepathyClient.js:1323
@ -1507,12 +1585,16 @@ msgid "Certificate has been revoked"
msgstr "Varmenne on kumottu"
#: ../js/ui/telepathyClient.js:1329
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr "Varmenne käyttää turvatonta salausmenetelmää"
#: ../js/ui/telepathyClient.js:1331
msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
msgstr "Palvelinvarmenne tai palvelinvarmenneketju on liian pitkä salauskirjastolle"
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
msgstr ""
"Palvelinvarmenne tai palvelinvarmenneketju on liian pitkä salauskirjastolle"
#: ../js/ui/telepathyClient.js:1333
msgid "Internal error"
@ -1537,53 +1619,58 @@ msgstr "Muokkaa tiliä"
msgid "Unknown reason"
msgstr "Tuntematon syy"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Piilotettu"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Jouten"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Ei tavoitettavissa"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Sammuta…"
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Ilmoitukset"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Verkkotilit"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Järjestelmän asetukset"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Lukitse näyttö"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Vaihda käyttäjää"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Kirjaudu ulos…"
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Pikaviestitilaksi asetetaan ”kiireinen”"
#: ../js/ui/userMenu.js:683
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 "Ilmoitukset, kuten keskusteluviestit, ovat nyt poissa käytöstä. Pikaviestitilaasi on muutettu, jotta muut tietävät, että et ehkä näe heidän viestejään."
#: ../js/ui/userMenu.js:689
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 ""
"Ilmoitukset, kuten keskusteluviestit, ovat nyt poissa käytöstä. "
"Pikaviestitilaasi on muutettu, jotta muut tietävät, että et ehkä näe heidän "
"viestejään."
#. Translators: this is the text displayed
#. in the search entry when no search is
@ -1599,8 +1686,12 @@ msgstr "Haku"
#: ../js/ui/wanda.js:124
#, c-format
msgid "Sorry, no wisdom for you today:\n%s"
msgstr "Ei viisauksia tälle päivälle:\n%s"
msgid ""
"Sorry, no wisdom for you today:\n"
"%s"
msgstr ""
"Ei viisauksia tälle päivälle:\n"
"%s"
#: ../js/ui/wanda.js:128
#, c-format
@ -1638,15 +1729,15 @@ msgstr[1] "%u sisääntuloa"
msgid "System Sounds"
msgstr "Järjestelmän äänet"
#: ../src/main.c:253
#: ../src/main.c:255
msgid "Print version"
msgstr "Tulosta versio"
#: ../src/main.c:259
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"
@ -1687,8 +1778,8 @@ msgstr "Tiedostojärjestelmä"
#. * method, and the second string is a path. For
#. * example, "Trash: some-directory". It means that the
#. * directory called "some-directory" is in the trash.
#.
#: ../src/shell-util.c:302
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

184
po/fr.po
View File

@ -15,8 +15,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-03-03 20:39+0000\n"
"PO-Revision-Date: 2012-03-05 20:54+0100\n"
"POT-Creation-Date: 2012-04-03 18:35+0000\n"
"PO-Revision-Date: 2012-03-31 15:56+0300\n"
"Last-Translator: Bruno Brouard <annoa.b@gmail.com>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"MIME-Version: 1.0\n"
@ -141,35 +141,43 @@ 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.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.h:17
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.h:18
msgid "Which keyboard to use"
msgstr "Le clavier utilisé"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Le type de clavier utilisé."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Afficher l'heure avec les secondes"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Si vrai, afficher les secondes dans l'horloge."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Afficher la date dans l'horloge"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Si vrai, afficher la date dans l'horloge, en plus de l'heure."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
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.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -177,11 +185,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.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
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.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -208,11 +216,11 @@ msgstr ""
"VP8. %T est utilisé comme paramètre pour une supposition quant au nombre "
"optimal de threads à utiliser sur le système."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
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.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -261,7 +269,7 @@ msgstr "(ou faites glisser le doigt)"
msgid "Not listed?"
msgstr "Absent de la liste ?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
@ -276,16 +284,16 @@ msgstr "Se connecter"
msgid "Login Window"
msgstr "Fenêtre de connexion"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Mettre en veille"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Redémarrer"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Éteindre"
@ -305,27 +313,27 @@ msgid "Execution of '%s' failed:"
msgstr "Exécution de « %s » impossible :"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Toutes"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "APPLICATIONS"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "PARAMÈTRES"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Nouvelle fenêtre"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Enlever des favoris"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Ajouter aux favoris"
@ -521,80 +529,80 @@ msgstr "Cette semaine"
msgid "Next week"
msgstr "La semaine prochaine"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Inconnu"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Disponible"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Absent"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Occupé"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Déconnecté"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "CONTACTS"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1206
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Enlever"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Paramètres de date et heure"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Ouvrir le calendrier"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %e %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
@ -607,7 +615,7 @@ msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %e %B %Y"
@ -714,11 +722,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:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "zone de notification"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Clavier"
@ -730,73 +738,73 @@ msgstr "Mot de passe :"
msgid "Type again:"
msgstr "Saisissez à nouveau :"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Aucune extension installée"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s n'a émis aucune erreur."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Masquer les erreurs"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Afficher les erreurs"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Activé"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Désactivé"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Erreur"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Périmé"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Téléchargement"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Afficher la source"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Page Web"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Animation d'écran %d %t"
msgstr "Vidéo d'écran %d %t"
#: ../js/ui/messageTray.js:1199
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Ouvrir"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Non muet"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Muet"
#: ../js/ui/messageTray.js:2449
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Informations du système"
@ -885,31 +893,35 @@ msgstr "Un mot de passe est requis pour se connecter à « %s »."
msgid "Undo"
msgstr "Annuler"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Vue d'ensemble"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Fenêtres"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Applications"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Dash"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Quitter"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Activités"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Barre supérieure"
@ -955,7 +967,7 @@ msgstr "Échec de l'authentification. Essayez à nouveau."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -963,11 +975,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Veuillez saisir une commande :"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Recherche en cours..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Aucun résultat correspondant."
@ -1659,51 +1671,51 @@ msgstr "Modifier le compte"
msgid "Unknown reason"
msgstr "Raison inconnue"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Invisible"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Inactif"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Non disponible"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Éteindre..."
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Notifications"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Comptes en ligne"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Paramètres système"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Verrouiller l'écran"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Changer d'utilisateur"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Fermer la session..."
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Votre statut pour les discussions sera défini à occupé"
#: ../js/ui/userMenu.js:683
#: ../js/ui/userMenu.js:689
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."
@ -1769,15 +1781,15 @@ msgstr[1] "%u entrées"
msgid "System Sounds"
msgstr "Sons système"
#: ../src/main.c:253
#: ../src/main.c:255
msgid "Print version"
msgstr "Affiche la version"
#: ../src/main.c:259
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Mode utilisé par GDM pour l'écran de connexion"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Impossible de lancer « %s »"

500
po/gl.po

File diff suppressed because it is too large Load Diff

320
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-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-15 14:01+0530\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-03 11:24+0530\n"
"Last-Translator: \n"
"Language-Team: gu_IN <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
@ -25,20 +25,20 @@ msgstr "GNOME શેલ"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr ""
msgstr "વિન્ડો સંચાલન અને કાર્યક્રમ શરૂઆત"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
#: ../js/extensionPrefs/main.js:153
msgid "GNOME Shell Extension Preferences"
msgstr ""
msgstr "GNOME Shell ઍક્સટેન્શન પસંદગીઓ"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
msgid "Configure GNOME Shell Extensions"
msgstr ""
msgstr "GNOME Shell ઍક્સટેન્શનને રૂપરેખાંકિત કરો"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
msgstr "Alt-F2 માંથી ડેવલપર અને ટેસ્ટર માટે ઉપયોગી આંતરિક સાધનોને સક્રિય કરો"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid ""
@ -47,7 +47,6 @@ msgid ""
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:3
#| msgid "No extensions installed"
msgid "Uuids of extensions to enable"
msgstr "સક્રિય કરવા માટે એક્સટેન્શનનું Uuids"
@ -83,14 +82,13 @@ msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid "disabled OpenSearch providers"
msgstr ""
msgstr "નિષ્ક્રિય થયેલ OpenSearch પ્રબંધક"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid "History for command (Alt-F2) dialog"
msgstr "આદેશ (Alt-F2) સંવાદ માટે ઇતિહાસ"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
#| msgid "History for command (Alt-F2) dialog"
msgid "History for the looking glass dialog"
msgstr "ગ્લાસ સંવાદને જોવા માટે ઇતિહાસ"
@ -112,47 +110,55 @@ msgstr "કૅલેન્ડરમાં અઠવાડિયા તારી
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "If true, display the ISO week date in the calendar."
msgstr ""
msgstr "જો true હોય તો, કૅલેન્ડરમાં ISO અઠવાડિયાની તારીખને દર્શાવો."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Which keyboard to use"
msgstr ""
msgid "Keybinding to open the application menu"
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "The type of keyboard to use."
msgstr ""
msgid "Keybinding to open the application menu."
msgstr "કાર્યક્રમ મેનુને ખોલવા માટે કિબાઇન્ડીંગ."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "ક્યુ કિબોર્ડ વાપરવુ છે"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "વાપરવા માટે કિબોર્ડનો પ્રકાર."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "સેકંડોમાં સમયને બતાવો"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr ""
msgstr "જો true હોય તો, સમયમાં સેકંડ બતાવો."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "ઘડિયાળમાં તારીખને બતાવો"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display date in the clock, in addition to time."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Framerate used for recording screencasts."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "જો true હોય તો, ઘડિયાળમાં તારીખ બતાવો, સમય સાથે વધુમાં."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "રેકોર્ડીંગ સ્ક્રીનકાસ્ટ માટે વાપરેલ ફ્રેમરેટ."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
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.h:24
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "સ્ક્રીનકાસ્ટને એનકોડ કરવા માટે વાપરેલ gstreamer પાઇપલાઇન"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -167,11 +173,11 @@ msgid ""
"thread count on the system."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr ""
msgstr "સ્ક્રીનકાસ્ટને સંગ્રહ કરવા માટે વાપરેલ ફાઇલ ઍક્સટેન્શન"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -181,15 +187,15 @@ msgstr ""
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr ""
msgstr "ત્યાં %s માટે પસંદગી સંવાદને લાવવામાં ભૂલ હતી:"
#: ../js/extensionPrefs/main.js:165
msgid "<b>Extension</b>"
msgstr ""
msgstr "<b>ઍક્સટેન્શન</b>"
#: ../js/extensionPrefs/main.js:189
msgid "Select an extension to configure using the combobox above."
msgstr ""
msgstr "ઉપર કોમ્બોબોક્સની મદદથી રૂપરેખાંકિત કરવા માટે ઍક્સટેન્શનને પસંદ કરો."
#: ../js/gdm/loginDialog.js:624
msgid "Session..."
@ -198,23 +204,23 @@ msgstr "સત્ર..."
#: ../js/gdm/loginDialog.js:786
msgctxt "title"
msgid "Sign In"
msgstr ""
msgstr "પ્રવેશો"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/loginDialog.js:831
msgid "(or swipe finger)"
msgstr ""
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:852
msgid "Not listed?"
msgstr ""
msgstr "શું યાદી થયેલ નથી?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "રદ કરો"
@ -222,23 +228,22 @@ msgstr "રદ કરો"
#: ../js/gdm/loginDialog.js:1025
msgctxt "button"
msgid "Sign In"
msgstr ""
msgstr "પ્રવેશો"
#: ../js/gdm/loginDialog.js:1377
#| msgid "New Window"
msgid "Login Window"
msgstr "પ્રવેશ વિન્ડો"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "અટકાવો"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "પુન:શરૂ કરો"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "પાવર બંધ"
@ -255,30 +260,30 @@ msgstr "આદેશનું પદચ્છેદન કરી શક્યા
#: ../js/misc/util.js:127
#, c-format
msgid "Execution of '%s' failed:"
msgstr ""
msgstr "'%s' ને અમલમાં મૂકવાનુ નિષ્ફળ:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "બધા"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "APPLICATIONS"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "SETTINGS"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "નવી વિન્ડો"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "પસંદીદાઓ માંથી દૂર કરો"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "પસંદીદાને ઉમેરો"
@ -294,15 +299,14 @@ msgstr "%s ને તમારી પસંદીદામાંથી દૂર
#: ../js/ui/autorunManager.js:265
msgid "Removable Devices"
msgstr ""
msgstr "દૂર કરી શકાય તેવા ઉપકરણો"
#: ../js/ui/autorunManager.js:560
#, c-format
msgid "Open with %s"
msgstr ""
msgstr "%s સાથે ખોલો"
#: ../js/ui/autorunManager.js:586
#| msgid "Reject"
msgid "Eject"
msgstr "રદ કરો"
@ -422,7 +426,7 @@ msgstr "S"
#. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:681
msgid "Nothing Scheduled"
msgstr ""
msgstr "અનુસૂચિત કંઇ નથી"
#. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:697
@ -452,99 +456,97 @@ msgstr "આ અઠવાડિયે"
msgid "Next week"
msgstr "આગળનું અઠવાડિયું"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "અજ્ઞાત"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "ઉપલબ્ધ"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr ""
msgstr "દૂર"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "વ્યસ્ત"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "ઓફલાઇન"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr ""
msgstr "સંપર્કો"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "દૂર કરો"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "તારીખ અને સમય સુયોજનો"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "કૅલેન્ડરને ખોલો"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %b %e, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %b %e, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
#: ../js/ui/endSessionDialog.js:61
#, c-format
#| msgid "Log Out %s"
msgctxt "title"
msgid "Log Out %s"
msgstr "%s માંથી બહાર નીકળો"
#: ../js/ui/endSessionDialog.js:62
#| msgid "Log Out"
msgctxt "title"
msgid "Log Out"
msgstr "બહાર નીકળો"
@ -556,7 +558,6 @@ msgstr ""
#: ../js/ui/endSessionDialog.js:65
#, c-format
#| msgid "The system will power off automatically in %d seconds."
msgid "%s will be logged out automatically in %d second."
msgid_plural "%s will be logged out automatically in %d seconds."
msgstr[0] "%s એ %d સેકંડમાં આપમેળે બહાર નીકળી જશે."
@ -564,7 +565,6 @@ msgstr[1] "%s એ %d સેકંડોમાં આપમેળે બહાર
#: ../js/ui/endSessionDialog.js:70
#, c-format
#| msgid "The system will power off automatically in %d seconds."
msgid "You will be logged out automatically in %d second."
msgid_plural "You will be logged out automatically in %d seconds."
msgstr[0] "તમે %d સેકંડમાં આપમેળે બહાર નીકળી જશે."
@ -575,13 +575,11 @@ msgid "Logging out of the system."
msgstr "સિસ્ટમની બહાર નીકળી રહ્યા છે."
#: ../js/ui/endSessionDialog.js:76
#| msgid "Log Out"
msgctxt "button"
msgid "Log Out"
msgstr "બહાર નીકળો"
#: ../js/ui/endSessionDialog.js:81
#| msgid "Power Off"
msgctxt "title"
msgid "Power Off"
msgstr "પાવર બંધ"
@ -593,7 +591,6 @@ msgstr ""
#: ../js/ui/endSessionDialog.js:84
#, c-format
#| msgid "The system will power off automatically in %d seconds."
msgid "The system will power off automatically in %d second."
msgid_plural "The system will power off automatically in %d seconds."
msgstr[0] "સિસ્ટમ %d સેકંડમાં આપમેળે પાવર બંધ થઇ જશે."
@ -604,19 +601,16 @@ msgid "Powering off the system."
msgstr "સિસ્ટમનો પાવર બંધ કરી રહ્યા છે."
#: ../js/ui/endSessionDialog.js:90 ../js/ui/endSessionDialog.js:107
#| msgid "Restart"
msgctxt "button"
msgid "Restart"
msgstr "પુન:શરૂ કરો"
#: ../js/ui/endSessionDialog.js:92
#| msgid "Power Off"
msgctxt "button"
msgid "Power Off"
msgstr "પાવર બંધ"
#: ../js/ui/endSessionDialog.js:98
#| msgid "Restart"
msgctxt "title"
msgid "Restart"
msgstr "પુન:શરૂ કરો"
@ -628,7 +622,6 @@ msgstr ""
#: ../js/ui/endSessionDialog.js:101
#, c-format
#| msgid "The system will restart automatically in %d seconds."
msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "સિસ્ટમ %d સેકંડમાં આપમેળે પુન:શરૂ થઇ જશે."
@ -638,21 +631,20 @@ msgstr[1] "સિસ્ટમ %d સેકંડોમાં આપમેળે
msgid "Restarting the system."
msgstr "સિસ્ટમને પુન:શરૂ કરી રહ્યા છે."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "સ્થાપિત કરો"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org માંથી '%s' ને સ્થાપિત અને ડાઉનલોડ કરો?"
#: ../js/ui/keyboard.js:322
#| msgid "Retry"
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "ટ્રે"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "કિબોર્ડ"
@ -664,78 +656,73 @@ msgstr "પાસવર્ડ:"
msgid "Type again:"
msgstr "ફરીથી પ્રયત્ન કરો:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "એક્સટેન્શનો સ્થાપિત થયેલ નથી"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr ""
msgstr "%s એ કોઇપણ ભૂલોને બહાર કાઢતા નથી."
#: ../js/ui/lookingGlass.js:785
#| msgid "Error"
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "ભૂલો છુપાડો"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#| msgid "Error"
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "ભૂલો બતાવો"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "સક્રિય"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "નિષ્ક્રિય"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "ભૂલ"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "અપ્રચલિત"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "ડાઉનલોડ કરી રહ્યા છે"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "સ્ત્રોત દર્શાવો"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "વેબ પાનું"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "%d %t માંથી સ્ક્રીનકાસ્ટ"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "ખોલો"
#: ../js/ui/messageTray.js:1214
#| msgid "minute"
#| msgid_plural "minutes"
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "અવાજ ચાલુ રાખો"
#: ../js/ui/messageTray.js:1214
#| msgid "Mouse"
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "મૂંગુ"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "સિસ્ટમ જાણકારી"
@ -815,40 +802,42 @@ msgstr "મોબાઇલ બ્રોડબેન્ડ નેટવર્ક
#: ../js/ui/networkAgent.js:357
#, c-format
#| msgid "You're now connected to '%s'"
msgid "A password is required to connect to '%s'."
msgstr "પાસવર્ડ '%s' સાથે જોડાવા માટે જરૂરી છે."
#: ../js/ui/overview.js:90
msgid "Undo"
msgstr ""
msgstr "રદ કરો"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "ઝાંખી"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "વિન્ડો"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "કાર્યક્રમો"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "ડૅશ"
#: ../js/ui/panel.js:583
#| msgid "Quit %s"
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "બહાર નીકળો"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "પ્રવૃત્તિઓ"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "ટોચની પટ્ટી"
@ -867,7 +856,7 @@ msgstr "ની સાથે જોડાવો..."
#: ../js/ui/placeDisplay.js:367
msgid "PLACES & DEVICES"
msgstr ""
msgstr "સ્થાનો અને ઉપકરણો"
#: ../js/ui/polkitAuthenticationAgent.js:71
msgid "Authentication Required"
@ -894,7 +883,7 @@ msgstr "દિલગીર છું, કામ કરતુ નથી. મહ
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@ -902,11 +891,11 @@ msgstr "toggle-switch-us"
msgid "Please enter a command:"
msgstr "મહેરબાની કરીને આદેશને દાખલ કરો:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "શોધી રહ્યા છે..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "પરિણામો બંધબેસતાનથી."
@ -923,7 +912,6 @@ msgid "Show Text"
msgstr "લખાણ બતાવો"
#: ../js/ui/shellEntry.js:79
#| msgid "Large Text"
msgid "Hide Text"
msgstr "લખાણ છુપાડો"
@ -932,7 +920,6 @@ msgid "Wrong password, please try again"
msgstr "ખોટો પાસવર્ડ, મહેરબાની કરીને ફરીથી પ્રયત્ન કરો"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "ઉપલબ્ધતા"
@ -944,13 +931,12 @@ msgstr "નાનુ મોટુ કરો"
#. 'screen-reader-enabled');
#. this.menu.addMenuItem(screenReader);
#: ../js/ui/status/accessibility.js:63
#| msgid "Keyboard"
msgid "Screen Keyboard"
msgstr "સ્ક્રીન કિબોર્ડ"
#: ../js/ui/status/accessibility.js:67
msgid "Visual Alerts"
msgstr ""
msgstr "દેખાતી ચેતવણીઓ"
#: ../js/ui/status/accessibility.js:70
msgid "Sticky Keys"
@ -1013,7 +999,6 @@ msgid "Connection"
msgstr "જોડાણ"
#: ../js/ui/status/bluetooth.js:214 ../js/ui/status/network.js:491
#| msgid "connecting..."
msgid "disconnecting..."
msgstr "જોડાઇ તૂટી રહ્યુ છે..."
@ -1058,7 +1043,7 @@ msgstr "%s માંથી સત્તાધિકરણ માંગણી"
#: ../js/ui/status/bluetooth.js:378
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr ""
msgstr "ઉપકરણ %s એ સેવા %s' માટે પ્રવેશ ઇચ્છે છે"
#: ../js/ui/status/bluetooth.js:380
msgid "Always grant access"
@ -1075,12 +1060,12 @@ msgstr "રદ કરો"
#: ../js/ui/status/bluetooth.js:408
#, c-format
msgid "Pairing confirmation for %s"
msgstr ""
msgstr "%s માટો જોડીની ખાતરી"
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:444
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr ""
msgstr "ઉપકરણ %s આ કમ્પ્યૂટર સાથે જોડી કરવા માંગે છે"
#: ../js/ui/status/bluetooth.js:415
#, c-format
@ -1098,7 +1083,7 @@ msgstr "બંધબેસતુ નથી"
#: ../js/ui/status/bluetooth.js:437
#, c-format
msgid "Pairing request for %s"
msgstr ""
msgstr "%s માટે જોડી માંગણી"
#: ../js/ui/status/bluetooth.js:445
msgid "Please enter the PIN mentioned on the device."
@ -1182,12 +1167,10 @@ msgstr ""
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:879 ../js/ui/status/network.js:1452
#, c-format
#| msgid "Quit %s"
msgid "Auto %s"
msgstr "આપમેળે %s"
#: ../js/ui/status/network.js:881
#| msgid "Bluetooth"
msgid "Auto bluetooth"
msgstr "આપમેળે બ્લુટુથ"
@ -1196,7 +1179,6 @@ msgid "Auto wireless"
msgstr ""
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "નેટવર્ક"
@ -1427,7 +1409,7 @@ msgstr "%s માં આમંત્રણ"
#: ../js/ui/telepathyClient.js:1050
#, c-format
msgid "%s is inviting you to join %s"
msgstr ""
msgstr "%s એ તમને %s માં જોડાવા માટે આમંત્રણ આપી રહ્યા છે"
#: ../js/ui/telepathyClient.js:1052 ../js/ui/telepathyClient.js:1131
#: ../js/ui/telepathyClient.js:1229
@ -1464,13 +1446,13 @@ msgstr "જવાબ"
#: ../js/ui/telepathyClient.js:1125
#, c-format
msgid "%s is sending you %s"
msgstr ""
msgstr "%s એ %s માં મોકલી રહ્યા છે"
#. To translators: The parameter is the contact's alias
#: ../js/ui/telepathyClient.js:1194
#, c-format
msgid "%s would like permission to see when you are online"
msgstr ""
msgstr "%s ને જોવા માટે પરવાનગી આપવાનું ગમે થે જ્યારે તમે ઓનલાઇન હોય"
#: ../js/ui/telepathyClient.js:1287
msgid "Network error"
@ -1502,11 +1484,11 @@ msgstr "પ્રમાણપત્ર સક્રિય થયેલ નથી
#: ../js/ui/telepathyClient.js:1301
msgid "Certificate hostname mismatch"
msgstr ""
msgstr "પ્રમાણપત્ર યજમાનનામ બંધબેસતુ નથી"
#: ../js/ui/telepathyClient.js:1303
msgid "Certificate fingerprint mismatch"
msgstr ""
msgstr "પ્રમાણપજ્ઞ ફિંગરપ્રિન્ટ બંધબેસતુ નથી"
#: ../js/ui/telepathyClient.js:1305
msgid "Certificate self-signed"
@ -1525,7 +1507,6 @@ msgid "Certificate is invalid"
msgstr "પ્રમાણપત્ર અમાન્ય છે"
#: ../js/ui/telepathyClient.js:1313
#| msgid "Connection established"
msgid "Connection has been refused"
msgstr "જોડાણને નામંજૂર કરી દેવામાં આવ્યુ છે"
@ -1538,7 +1519,6 @@ msgid "Connection has been lost"
msgstr "જોડાણ ખોવાઈ ગયેલ છે"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "આ ખાતુ પહેલેથી જ સર્વર સાથે જોડાયેલ છે"
@ -1556,7 +1536,7 @@ msgstr "સર્વર એ જોડાણને સંચાલિત કર
#: ../js/ui/telepathyClient.js:1327
msgid "Certificate has been revoked"
msgstr ""
msgstr "પ્રમાણપત્રને રદ કરી દેવામાં આવ્યુ છે"
#: ../js/ui/telepathyClient.js:1329
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
@ -1569,7 +1549,6 @@ msgid ""
msgstr ""
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "આંતરિક ભૂલ"
@ -1592,51 +1571,51 @@ msgstr "ખાતામાં ફેરફાર કરો"
msgid "Unknown reason"
msgstr "અજ્ઞાત કારણ"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "છુપાયેલ"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr ""
msgstr "નિષ્ક્રિય"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "બિનઉપલબ્ધ"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "પાવર બંધ..."
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "સૂચનાઓ"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "ઓનલાઇન ખાતુ"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "સિસ્ટમ સુયોજનો"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "સ્ક્રીનને તાળુ મારો"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "વપરાશકર્તાને બદલો"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "બહાર નીકળો..."
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr ""
msgstr "તમારી વાર્તાલાપ પરિસ્થિતિ વ્યસ્ત તરીકે સુયોજિત હશે"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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."
@ -1668,7 +1647,7 @@ msgstr ""
#: ../js/ui/wanda.js:168
msgid "Your favorite Easter Egg"
msgstr ""
msgstr "તમારા મનગમતા ઇસ્ટર ઇંડા"
#: ../js/ui/windowAttentionHandler.js:19
#, c-format
@ -1697,28 +1676,26 @@ msgstr[1] "%u ઇનપુટો"
msgid "System Sounds"
msgstr "સિસ્ટમ અવાજો"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "ા"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "લૉગિન સ્ક્રીન માટે GDM દ્દારા વાપરેલ સ્થિતિ"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
#| msgid "Failed to unmount '%s'"
msgid "Failed to launch '%s'"
msgstr "'%s' ને શરૂ કરવામાં નિષ્ફળતા"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "પાસવર્ડ બંધબેસતો નથી"
#: ../src/shell-keyring-prompt.c:716
msgid "Password cannot be blank"
msgstr ""
msgstr "પાસવર્ડને ખાલી રાખી શકાતો નથી"
#: ../src/shell-mobile-providers.c:80
msgid "United Kingdom"
@ -1735,7 +1712,6 @@ msgstr ""
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-util.c:97
#| msgid "Volume"
msgid "Home"
msgstr "ઘર"

709
po/he.po

File diff suppressed because it is too large Load Diff

432
po/hu.po
View File

@ -6,18 +6,17 @@
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-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-07 11:06+0100\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-04 15:45+0200\n"
"PO-Revision-Date: 2012-04-04 15:45+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
"Language-Team: Magyar <gnome-hu-list at gnome dot org>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"
"X-Generator: KBabel 1.11.4\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -28,21 +27,15 @@ msgid "Window management and application launching"
msgstr "Ablakkezelés és alkalmazásindítás"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
msgid "Configure GNOME Shell Extensions"
msgstr "GNOME Shell kiterjesztések beállítása"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
#: ../js/extensionPrefs/main.js:153
msgid "GNOME Shell Extension Preferences"
msgstr "GNOME Shell kiterjesztések beállításai"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
msgid "Configure GNOME Shell Extensions"
msgstr "GNOME Shell kiterjesztések beállítása"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Fejlesztők és tesztelők számára hasznos belső eszközök engedélyezése az Alt-"
"F2 ablakból"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
@ -50,15 +43,21 @@ msgstr ""
"Belső hibakereső és megfigyelő eszközök elérésének engedélyezése az Alt-F2 "
"ablak használatával."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Fejlesztők és tesztelők számára hasznos belső eszközök engedélyezése az Alt-"
"F2 ablakból"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Uuids of extensions to enable"
msgstr "Engedélyezendő kiterjesztések uuid-jei"
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.h:4
#| msgid ""
#| "GNOME Shell extensions have a uuid property; this key lists extensions "
#| "which should be loaded. disabled-extensions overrides this setting for "
#| "extensions that appear in both lists."
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.h:5
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 "
@ -70,47 +69,27 @@ msgstr ""
"kiterjesztésnek szerepelnie kell a listában. A listát az org.gnome.Shell "
"EnableExtension és DisableExtension D-Bus metódusaival is manipulálhatja."
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Whether to collect stats about applications usage"
msgstr "Statisztikák gyűjtése alkalmazások használatáról"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"The shell normally monitors active applications in order to present the most "
"used ones (e.g. in launchers). While this data will be kept private, you may "
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"A Shell általában figyeli az aktív alkalmazásokat a legtöbbet használtak "
"megjelenítése érdekében (például az indítóikonokban). Noha ezek az adatok "
"titkosak maradnak, magánszférájának védelme érdekében letilthatja ezek "
"gyűjtését. Ne feledje, hogy ez nem fogja a már mentett adatokat törölni."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "List of desktop file IDs for favorite applications"
msgstr "A kedvenc alkalmazások asztalifájl-azonosítóinak listája"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Az itt felsorolt azonosítóknak megfelelő alkalmazások jelennek meg a "
"kedvencek területen."
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid "disabled OpenSearch providers"
msgstr "kikapcsolt OpenSearch szolgáltatók"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid "History for command (Alt-F2) dialog"
msgstr "A parancsablak (Alt-F2) előzményei"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for the looking glass dialog"
msgstr "A távcső ablak előzményei"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "If true, display date in the clock, in addition to time."
msgstr "Az idő mellett a dátum is jelenjen meg."
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid "If true, display seconds in time."
msgstr "A másodpercek is jelenjenek meg."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
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.h:11
msgid ""
"Internally used to store the last IM presence explicitly set by the user. "
"The value here is from the TpConnectionPresenceType enumeration."
@ -119,77 +98,28 @@ msgstr ""
"azonnaliüzenő-állapot. Az itteni érték a TpConnectionPresenceType "
"felsorolásból származik."
#: ../data/org.gnome.shell.gschema.xml.in.h:13
#: ../data/org.gnome.shell.gschema.xml.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 ""
"Belső használatra; a felhasználóhoz beállított utolsó "
"munkamenetjelenlét-állapot. Az itteni érték a GsmPresenceStatus "
"felsorolásból származik."
"Belső használatra; a felhasználóhoz beállított utolsó munkamenetjelenlét-"
"állapot. Az itteni érték a GsmPresenceStatus felsorolásból származik."
#: ../data/org.gnome.shell.gschema.xml.in.h:13
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.h:14
msgid "Show the week date in the calendar"
msgstr "Hetek számának megjelenítése a naptárban"
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.h:15
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.h:16
msgid "Which keyboard to use"
msgstr "A használandó billentyűzet"
msgid "List of desktop file IDs for favorite applications"
msgstr "A kedvenc alkalmazások asztalifájl-azonosítóinak listája"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "The type of keyboard to use."
msgstr "Használandó billentyűzet típusa."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Show time with seconds"
msgstr "Másodpercek megjelenítése"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "If true, display seconds in time."
msgstr "A másodpercek is jelenjenek meg."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show date in clock"
msgstr "Dátum megjelenítése az órában"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display date in the clock, in addition to time."
msgstr "Az idő mellett a dátum is jelenjen meg."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
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.h:23
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
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.h:24
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.h:26
#, 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 'videorate ! vp8enc quality=10 speed=2 "
#| "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 "
@ -210,16 +140,32 @@ msgstr ""
"adatcsatorna is kezelheti a saját kimenetét ennek segítségével a kimenet "
"elküldhető egy icecast kiszolgálóra a shout2send vagy hasonló segítségével. "
"Ha nincs beállítva, vagy üres értékre van állítva, akkor az alapértelmezett "
"adatcsatorna kerül felhasználásra. Ez jelenleg: „vp8enc "
"quality=8 speed=6 threads=%T ! queue ! webmmux” é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."
"adatcsatorna kerül felhasználásra. Ez jelenleg: „vp8enc quality=8 speed=6 "
"threads=%T ! queue ! webmmux” é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.h:27
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.h:18
msgid "Show date in clock"
msgstr "Dátum megjelenítése az órában"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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.h:20
msgid "Show time with seconds"
msgstr "Másodpercek megjelenítése"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Az itt felsorolt azonosítóknak megfelelő alkalmazások jelennek meg a "
"kedvencek területen."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
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 "
@ -229,6 +175,50 @@ msgstr ""
"névvel, és ezzel a kiterjesztéssel fog rendelkezni. Más tárolóformátumba "
"való rögzítéskor módosítani kell."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
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.h:24
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.h:25
msgid ""
"The shell normally monitors active applications in order to present the most "
"used ones (e.g. in launchers). While this data will be kept private, you may "
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"A Shell általában figyeli az aktív alkalmazásokat a legtöbbet használtak "
"megjelenítése érdekében (például az indítóikonokban). Noha ezek az adatok "
"titkosak maradnak, magánszférájának védelme érdekében letilthatja ezek "
"gyűjtését. Ne feledje, hogy ez nem fogja a már mentett adatokat törölni."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The type of keyboard to use."
msgstr "Használandó billentyűzet típusa."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Uuids of extensions to enable"
msgstr "Engedélyezendő kiterjesztések uuid-jei"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
msgid "Whether to collect stats about applications usage"
msgstr "Statisztikák gyűjtése alkalmazások használatáról"
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "Which keyboard to use"
msgstr "A használandó billentyűzet"
#: ../data/org.gnome.shell.gschema.xml.in.h:30
msgid "disabled OpenSearch providers"
msgstr "kikapcsolt OpenSearch szolgáltatók"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@ -264,8 +254,8 @@ msgstr "(vagy húzza le az ujját)"
msgid "Not listed?"
msgstr "Nincs a listán?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Mégse"
@ -279,16 +269,16 @@ msgstr "Bejelentkezés"
msgid "Login Window"
msgstr "Bejelentkezési ablak"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Felfüggesztés"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Újraindítás"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Kikapcsolás"
@ -308,27 +298,27 @@ msgid "Execution of '%s' failed:"
msgstr "„%s” végrehajtása meghiúsult:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Összes"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ALKALMAZÁSOK"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "BEÁLLÍTÁSOK"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Új ablak"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Eltávolítás a Kedvencek közül"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Hozzáadás a Kedvencekhez"
@ -501,99 +491,97 @@ msgstr "Ezen a héten"
msgid "Next week"
msgstr "Jövő héten"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Ismeretlen"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Elérhető"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Távol"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Elfoglalt"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Kilépett"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "KAPCSOLATOK"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Eltávolítás"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Dátum- és időbeállítások"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Naptár megnyitása"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %b. %d., %k.%M.%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %b. %d., %k.%M"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %k.%M.%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %k.%M"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %b. %d., %p %l.%M.%S"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a, %b. %d., %p %l.%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a, %p %l.%M.%S"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a, %p %l.%M"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %Y. %B %d."
#: ../js/ui/endSessionDialog.js:61
#, c-format
#| msgid "Log Out %s"
msgctxt "title"
msgid "Log Out %s"
msgstr "%s kijelentkeztetése"
#: ../js/ui/endSessionDialog.js:62
#| msgid "Log Out"
msgctxt "title"
msgid "Log Out"
msgstr "Kijelentkezés"
@ -623,13 +611,11 @@ msgid "Logging out of the system."
msgstr "Kijelentkezés a rendszerből."
#: ../js/ui/endSessionDialog.js:76
#| msgid "Log Out"
msgctxt "button"
msgid "Log Out"
msgstr "Kijelentkezés"
#: ../js/ui/endSessionDialog.js:81
#| msgid "Power Off"
msgctxt "title"
msgid "Power Off"
msgstr "Kikapcsolás"
@ -652,19 +638,16 @@ msgid "Powering off the system."
msgstr "A rendszer kikapcsolása."
#: ../js/ui/endSessionDialog.js:90 ../js/ui/endSessionDialog.js:107
#| msgid "Restart"
msgctxt "button"
msgid "Restart"
msgstr "Újraindítás"
#: ../js/ui/endSessionDialog.js:92
#| msgid "Power Off"
msgctxt "button"
msgid "Power Off"
msgstr "Kikapcsolás"
#: ../js/ui/endSessionDialog.js:98
#| msgid "Restart"
msgctxt "title"
msgid "Restart"
msgstr "Újraindítás"
@ -686,21 +669,20 @@ msgstr[1] "A rendszer automatikusan újraindul %d másodperc múlva."
msgid "Restarting the system."
msgstr "A rendszer újraindítása."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Telepítés"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, 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:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "tálca"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Billentyűzet"
@ -712,78 +694,73 @@ msgstr "Jelszó:"
msgid "Type again:"
msgstr "Írja be újra:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nincsenek kiterjesztések telepítve"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s nem adott hibát."
#: ../js/ui/lookingGlass.js:785
#| msgid "Error"
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Hibák elrejtése"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#| msgid "Error"
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Hibák megjelenítése"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Engedélyezve"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Tiltva"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Hiba"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Elavult"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Letöltés"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Forrás megtekintése"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Weblap"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Képernyővideó ekkor: %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Megnyitás"
#: ../js/ui/messageTray.js:1214
#| msgid "minute"
#| msgid_plural "minutes"
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Visszahangosítás"
#: ../js/ui/messageTray.js:1214
#| msgid "Mouse"
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Némítás"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Rendszerinformációk"
@ -829,8 +806,8 @@ msgstr "A vezeték nélküli hálózat hitelesítést igényel"
#: ../js/ui/networkAgent.js:330
#, 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 ""
"Jelszavak vagy titkosítási kulcsok szükségesek a(z) „%s” vezeték nélküli "
"hálózat eléréséhez."
@ -872,33 +849,36 @@ msgstr "Jelszó szükséges a kapcsolódáshoz a következőhöz: „%s”."
msgid "Undo"
msgstr "Visszavonás"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Áttekintés"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Ablakok"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Alkalmazások"
# FIXME - valami jobbat
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Dash"
#: ../js/ui/panel.js:583
#| msgid "Quit %s"
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Kilépés"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Tevékenységek"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Felső sáv"
@ -944,7 +924,7 @@ msgstr "A hitelesítés sikertelen. Próbálja újra."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -952,11 +932,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Adjon meg egy parancsot:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Keresés…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Nincs találat."
@ -981,7 +961,6 @@ msgid "Wrong password, please try again"
msgstr "Hibás jelszó, próbálja újra"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "Akadálymentesítés"
@ -1241,7 +1220,6 @@ msgid "Auto wireless"
msgstr "Auto vezeték nélküli"
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "Hálózat"
@ -1582,15 +1560,12 @@ msgid "Connection has been lost"
msgstr "A kapcsolat elveszett"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "Ez a fiók már kapcsolódik a kiszolgálóhoz"
#: ../js/ui/telepathyClient.js:1321
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"
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/telepathyClient.js:1323
msgid "The account already exists on the server"
@ -1605,8 +1580,7 @@ msgid "Certificate has been revoked"
msgstr "A tanúsítvány visszavonva"
#: ../js/ui/telepathyClient.js:1329
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
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"
@ -1620,7 +1594,6 @@ msgstr ""
"mélysége túllépi a titkosítási programkönyvtár korlátozásait"
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "Belső hiba"
@ -1643,51 +1616,51 @@ msgstr "Fiók szerkesztése"
msgid "Unknown reason"
msgstr "Ismeretlen ok"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Rejtett"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Ráér"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Nem érhető el"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Kikapcsolás…"
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Értesítések"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Online fiókok"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Rendszerbeállítások"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Képernyő zárolása"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Felhasználóváltás"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Kijelentkezés…"
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Csevegési állapota elfoglaltra lesz állítva"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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."
@ -1720,7 +1693,7 @@ msgstr ""
#: ../js/ui/wanda.js:128
#, c-format
msgid "%s the Oracle says"
msgstr "Az orákulum ezt mondja: %s"
msgstr "%s az orákulum ezt mondja"
#: ../js/ui/wanda.js:168
msgid "Your favorite Easter Egg"
@ -1753,21 +1726,20 @@ msgstr[1] "%u bemenet"
msgid "System Sounds"
msgstr "Rendszerhangok"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "Verzió kiírása"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "A GDM által a bejelentkezési képernyőhöz használt mód"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "„%s” indítása meghiúsult"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "A jelszavak nem egyeznek."
@ -1790,7 +1762,6 @@ msgstr "A hitelesítési ablakot a felhasználó bezárta"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-util.c:97
#| msgid "Volume"
msgid "Home"
msgstr "Saját mappa"
@ -1821,3 +1792,4 @@ msgstr "%1$s: %2$s"
#~ msgid "%s has finished starting"
#~ msgstr "%s indítása befejeződött"

1179
po/id.po

File diff suppressed because it is too large Load Diff

454
po/it.po

File diff suppressed because it is too large Load Diff

715
po/ja.po

File diff suppressed because it is too large Load Diff

1614
po/kn.po

File diff suppressed because it is too large Load Diff

412
po/ko.po

File diff suppressed because it is too large Load Diff

220
po/lt.po
View File

@ -3,19 +3,20 @@
# This file is distributed under the same license as the gnome-shell package.
# Žygimantas Beručka <zygis@gnome.org>, 2010, 2011, 2012.
# Algimantas Margevičius <gymka@mail.ru>, 2011.
# Mantas Kriaučiūnas <mantas@akl.lt>, 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-03-19 14:09+0000\n"
"PO-Revision-Date: 2012-03-20 14:09+0300\n"
"Last-Translator: Žygimantas Beručka <zygis@gnome.org>\n"
"POT-Creation-Date: 2012-05-19 13:58+0000\n"
"PO-Revision-Date: 2012-04-05 15:14+0300\n"
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
"100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.7.0\n"
@ -23,7 +24,7 @@ msgstr ""
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
msgstr "GNOME Shell aplinka"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
@ -79,10 +80,11 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"Apvalkalas paprastai stebi aktyvias programas siekiant pateikti dažniausiai "
"naudojamas (pvz., leistukuose). Nors šie duomenys konfidencialiai saugomi, "
"jei norite, saugumo sumetimais galite šią funkciją išjungti. Atminkite, kad "
"tai padarius jau įrašyti duomenys jau nebus įrašyti."
"Įprastai GNOME aplinka stebi aktyvias programas siekiant pateikti "
"dažniausiai naudojamas (pvz., leistukuose). Nors šie duomenys "
"konfidencialiai saugomi, jei norite, saugumo sumetimais galite šią funkciją "
"išjungti. Atminkite, kad išjungus šią funkciją anksčiau įrašyti duomenys "
"nebus pašalinti."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "List of desktop file IDs for favorite applications"
@ -133,34 +135,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Jeigu reikšmė teigiama, kalendoriuje rodyti ISO savaičių datą."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Klavišų susiejimas, kuriuo atveriamas programų meniu"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Klavišų susiejimas, kuriuo atveriamas programų meniu."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Kurią klaviatūrą naudoti"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Naudotinas klaviatūros tipas."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Rodyti laiką su sekundėmis"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Jeigu reikšmė teigiama, rodyti laike sekundes."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Rodyti datą laikrodyje"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Jei reikšmė teigiama, laikrodyje šalia laiko rodyti ir datą."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Kadrų dažnis, naudojamas norint įrašyti ekrano vaizdo įrašą."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -168,11 +178,11 @@ msgstr ""
"GNOME Shell ekranų įrašymo programa sukurto ekrano įrašo kadrų dažnis "
"kadrais per sekundę."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstreamer konvejeris, naudojamas užkoduojant ekrano vaizdo įrašą."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -197,11 +207,11 @@ msgstr ""
"speed=6 threads=%T ! queue ! webmmux“ ir įrašo į WEBM naudojant VP8 kodeką. %"
"T yra naudojamas kaip žymeklis optimalaus gijų skaičiaus sistemoje spėjimui."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Failų plėtinys, naudojamas įrašyti ekrano vaizdo įrašą"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -214,7 +224,7 @@ msgstr ""
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Kilo klaida įkeliant %s nustatymų dialogą:"
msgstr "Įvyko klaida įkeliant %s nustatymų dialogą:"
#: ../js/extensionPrefs/main.js:165
msgid "<b>Extension</b>"
@ -224,40 +234,40 @@ msgstr "<b>Plėtinys</b>"
msgid "Select an extension to configure using the combobox above."
msgstr "Išskleidžiamajame sąraše pasirinkite konfigūruotiną plėtinį."
#: ../js/gdm/loginDialog.js:624
#: ../js/gdm/loginDialog.js:627
msgid "Session..."
msgstr "Seansas..."
#: ../js/gdm/loginDialog.js:786
#: ../js/gdm/loginDialog.js:789
msgctxt "title"
msgid "Sign In"
msgstr "Prisijungti"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/loginDialog.js:831
#: ../js/gdm/loginDialog.js:834
msgid "(or swipe finger)"
msgstr "(arba perbraukite pirštu)"
#. 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:852
#: ../js/gdm/loginDialog.js:855
msgid "Not listed?"
msgstr "Nėra sąraše?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1023 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:400 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Atšaukti"
msgstr "Atsisakyti"
#: ../js/gdm/loginDialog.js:1025
#: ../js/gdm/loginDialog.js:1028
msgctxt "button"
msgid "Sign In"
msgstr "Prisijungti"
#: ../js/gdm/loginDialog.js:1377
#: ../js/gdm/loginDialog.js:1380
msgid "Login Window"
msgstr "Prisijungimo langas"
@ -665,11 +675,11 @@ msgstr[2] "Sistema bus paleista iš naujo po %d sekundžių."
msgid "Restarting the system."
msgstr "Sistema paleidžiama iš naujo."
#: ../js/ui/extensionSystem.js:403
#: ../js/ui/extensionSystem.js:404
msgid "Install"
msgstr "Įdiegti"
#: ../js/ui/extensionSystem.js:407
#: ../js/ui/extensionSystem.js:408
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Atsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
@ -678,7 +688,8 @@ msgstr "Atsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
msgid "tray"
msgstr "dėklas"
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/keyboard.js:44
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Klaviatūra"
@ -690,51 +701,51 @@ msgstr "Slaptažodis:"
msgid "Type again:"
msgstr "Įveskite dar kartą:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s nepranešė apie jokias klaidas."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Slėpti klaidas"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Rodyti klaidas"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Įjungta"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1082
msgid "Disabled"
msgstr "Išjungta"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Klaida"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Pasenęs"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Atsiunčiama"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Žiūrėti šaltinį"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Tinklalapis"
@ -863,17 +874,17 @@ msgstr "Programos"
msgid "Dash"
msgstr "Paleidimo sritis"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Užverti"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Apžvalga"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Viršutinė juosta"
@ -927,11 +938,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Įveskite komandą:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Ieškoma..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:415
msgid "No matching results."
msgstr "Nerasta atitikmenų."
@ -1089,7 +1100,7 @@ msgstr "Visada leisti prieigą"
msgid "Grant this time only"
msgstr "Leisti tik šį kartą"
#: ../js/ui/status/bluetooth.js:382 ../js/ui/telepathyClient.js:1091
#: ../js/ui/status/bluetooth.js:382 ../js/ui/telepathyClient.js:1093
msgid "Reject"
msgstr "Atmesti"
@ -1166,7 +1177,7 @@ msgstr "Trūksta integruotos programinės įrangos (firmware)"
#. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:517
msgid "cable unplugged"
msgstr "kabelis neįjungtas"
msgstr "atjungtas laidas"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage
@ -1180,7 +1191,7 @@ msgstr "nepavyko prisijungti"
#: ../js/ui/status/network.js:585 ../js/ui/status/network.js:1505
msgid "More..."
msgstr "Daugiau..."
msgstr "Rodyti daugiau tinklų..."
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name)
@ -1377,7 +1388,7 @@ msgstr "Skambutis"
#. We got the TpContact
#: ../js/ui/telepathyClient.js:287
msgid "File Transfer"
msgstr "Failo perdavimas"
msgstr "Failo persiuntimas"
#: ../js/ui/telepathyClient.js:369
msgid "Subscription request"
@ -1410,35 +1421,35 @@ msgstr "%s yra užsiėmęs (-usi)."
#. 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/telepathyClient.js:887
#: ../js/ui/telepathyClient.js:889
#, no-c-format
msgid "Sent at <b>%X</b> on <b>%A</b>"
msgstr "Išsiųsta <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/telepathyClient.js:893
#: ../js/ui/telepathyClient.js:895
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
msgstr "Išsiųsta <b>%B %d</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/telepathyClient.js:898
#: ../js/ui/telepathyClient.js:900
#, no-c-format
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
msgstr "Išsiųsta %Y <b>%B %d</b>, <b>%A</b>"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/telepathyClient.js:940
#: ../js/ui/telepathyClient.js:942
#, c-format
msgid "%s is now known as %s"
msgstr "%s nuo šiol vadinasi %s"
#. translators: argument is a room name like
#. * room@jabber.org for example.
#: ../js/ui/telepathyClient.js:1042
#: ../js/ui/telepathyClient.js:1044
#, c-format
msgid "Invitation to %s"
msgstr "Kvietimas į %s"
@ -1446,35 +1457,35 @@ msgstr "Kvietimas į %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/telepathyClient.js:1050
#: ../js/ui/telepathyClient.js:1052
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s jus kviečia prisijungti prie %s"
#: ../js/ui/telepathyClient.js:1052 ../js/ui/telepathyClient.js:1131
#: ../js/ui/telepathyClient.js:1229
#: ../js/ui/telepathyClient.js:1054 ../js/ui/telepathyClient.js:1133
#: ../js/ui/telepathyClient.js:1231
msgid "Decline"
msgstr "Atmesti"
#: ../js/ui/telepathyClient.js:1053 ../js/ui/telepathyClient.js:1132
#: ../js/ui/telepathyClient.js:1230
#: ../js/ui/telepathyClient.js:1055 ../js/ui/telepathyClient.js:1134
#: ../js/ui/telepathyClient.js:1232
msgid "Accept"
msgstr "Priimti"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/telepathyClient.js:1083
#: ../js/ui/telepathyClient.js:1085
#, c-format
msgid "Video call from %s"
msgstr "Vaizdo skambutis nuo %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/telepathyClient.js:1086
#: ../js/ui/telepathyClient.js:1088
#, c-format
msgid "Call from %s"
msgstr "Skambutis nuo %s"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/telepathyClient.js:1093
#: ../js/ui/telepathyClient.js:1095
msgid "Answer"
msgstr "Atsiliepti"
@ -1483,110 +1494,110 @@ msgstr "Atsiliepti"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/telepathyClient.js:1125
#: ../js/ui/telepathyClient.js:1127
#, c-format
msgid "%s is sending you %s"
msgstr "%s jums siunčia %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/telepathyClient.js:1194
#: ../js/ui/telepathyClient.js:1196
#, c-format
msgid "%s would like permission to see when you are online"
msgstr "%s pageidauja matyti, kai esate prisijungę prie interneto"
#: ../js/ui/telepathyClient.js:1287
#: ../js/ui/telepathyClient.js:1289
msgid "Network error"
msgstr "Tinklo klaida"
#: ../js/ui/telepathyClient.js:1289
#: ../js/ui/telepathyClient.js:1291
msgid "Authentication failed"
msgstr "Nepavyko patvirtinti tapatybės"
#: ../js/ui/telepathyClient.js:1291
#: ../js/ui/telepathyClient.js:1293
msgid "Encryption error"
msgstr "Šifravimo klaida"
#: ../js/ui/telepathyClient.js:1293
#: ../js/ui/telepathyClient.js:1295
msgid "Certificate not provided"
msgstr "Liudijimas nepateiktas"
#: ../js/ui/telepathyClient.js:1295
#: ../js/ui/telepathyClient.js:1297
msgid "Certificate untrusted"
msgstr "Liudijimas nepatikimas"
#: ../js/ui/telepathyClient.js:1297
#: ../js/ui/telepathyClient.js:1299
msgid "Certificate expired"
msgstr "Liudijimo galiojimas pasibaigęs"
#: ../js/ui/telepathyClient.js:1299
#: ../js/ui/telepathyClient.js:1301
msgid "Certificate not activated"
msgstr "Liudijimas neaktyvuotas"
#: ../js/ui/telepathyClient.js:1301
#: ../js/ui/telepathyClient.js:1303
msgid "Certificate hostname mismatch"
msgstr "Liudijimo serverio vardo nesutapimas"
#: ../js/ui/telepathyClient.js:1303
#: ../js/ui/telepathyClient.js:1305
msgid "Certificate fingerprint mismatch"
msgstr "Liudijimo piršto atspaudo nesutapimas"
#: ../js/ui/telepathyClient.js:1305
#: ../js/ui/telepathyClient.js:1307
msgid "Certificate self-signed"
msgstr "Liudijimas pačių pasirašytas"
#: ../js/ui/telepathyClient.js:1307
#: ../js/ui/telepathyClient.js:1309
msgid "Status is set to offline"
msgstr "Nustatyta atsijungimo būsena"
#: ../js/ui/telepathyClient.js:1309
#: ../js/ui/telepathyClient.js:1311
msgid "Encryption is not available"
msgstr "Šifravimas negalimas"
#: ../js/ui/telepathyClient.js:1311
#: ../js/ui/telepathyClient.js:1313
msgid "Certificate is invalid"
msgstr "Liudijimas netinkamas"
#: ../js/ui/telepathyClient.js:1313
#: ../js/ui/telepathyClient.js:1315
msgid "Connection has been refused"
msgstr "Ryšys atmestas"
#: ../js/ui/telepathyClient.js:1315
#: ../js/ui/telepathyClient.js:1317
msgid "Connection can't be established"
msgstr "Nepavyko užmegzti ryšio"
#: ../js/ui/telepathyClient.js:1317
#: ../js/ui/telepathyClient.js:1319
msgid "Connection has been lost"
msgstr "Ryšys nutrūko"
#: ../js/ui/telepathyClient.js:1319
#: ../js/ui/telepathyClient.js:1321
msgid "This account is already connected to the server"
msgstr "Ši paskyra jau prijungta prie serverio"
#: ../js/ui/telepathyClient.js:1321
#: ../js/ui/telepathyClient.js:1323
msgid ""
"Connection has been replaced by a new connection using the same resource"
msgstr "Ryšys pakeistas nauju ryšiu naudojant tą patį išteklių"
#: ../js/ui/telepathyClient.js:1323
#: ../js/ui/telepathyClient.js:1325
msgid "The account already exists on the server"
msgstr "Tokia paskyra serveryje jau yra"
#: ../js/ui/telepathyClient.js:1325
#: ../js/ui/telepathyClient.js:1327
msgid "Server is currently too busy to handle the connection"
msgstr "Šiuo metu serveris per daug užimtas šiai užklausai apdoroti"
#: ../js/ui/telepathyClient.js:1327
#: ../js/ui/telepathyClient.js:1329
msgid "Certificate has been revoked"
msgstr "Liudijimas atšauktas"
#: ../js/ui/telepathyClient.js:1329
#: ../js/ui/telepathyClient.js:1331
msgid ""
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
msgstr ""
"Liudijimui naudojamas nesaugus šifravimo algoritmas arba jis kriptografiškai "
"silpnas"
#: ../js/ui/telepathyClient.js:1331
#: ../js/ui/telepathyClient.js:1333
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -1594,26 +1605,26 @@ msgstr ""
"Serverio liudijimo ilgis arba liudijimų eilės dydis viršija kriptografijos "
"bibliotekos apribojimus"
#: ../js/ui/telepathyClient.js:1333
#: ../js/ui/telepathyClient.js:1335
msgid "Internal error"
msgstr "Vidinė klaida"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/telepathyClient.js:1343
#: ../js/ui/telepathyClient.js:1345
#, c-format
msgid "Connection to %s failed"
msgstr "Nepavyko prisijungti prie %s"
#: ../js/ui/telepathyClient.js:1352
#: ../js/ui/telepathyClient.js:1354
msgid "Reconnect"
msgstr "Prisijungti iš naujo"
#: ../js/ui/telepathyClient.js:1353
#: ../js/ui/telepathyClient.js:1355
msgid "Edit account"
msgstr "Taisyti paskyrą"
#: ../js/ui/telepathyClient.js:1399
#: ../js/ui/telepathyClient.js:1401
msgid "Unknown reason"
msgstr "Nežinoma priežastis"
@ -1639,7 +1650,7 @@ msgstr "Pranešimai"
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Tinklo paskyros"
msgstr "Interneto paskyros"
#: ../js/ui/userMenu.js:643
msgid "System Settings"
@ -1698,7 +1709,7 @@ msgstr "Orakulė sako %s"
#: ../js/ui/wanda.js:168
msgid "Your favorite Easter Egg"
msgstr "Jūsų mėgstamiausias lykinis kiaušinis"
msgstr "Jūsų mėgstamiausias Velykinis kiaušinis"
#: ../js/ui/windowAttentionHandler.js:19
#, c-format
@ -1707,7 +1718,7 @@ msgstr "„%s“ yra pasirengusi"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1100
#: ../src/gvc/gvc-mixer-control.c:1089
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1717,7 +1728,7 @@ msgstr[2] "%u išvestys"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1110
#: ../src/gvc/gvc-mixer-control.c:1099
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1725,15 +1736,15 @@ msgstr[0] "%u įvestis"
msgstr[1] "%u įvestys"
msgstr[2] "%u įvestys"
#: ../src/gvc/gvc-mixer-control.c:1408
#: ../src/gvc/gvc-mixer-control.c:1397
msgid "System Sounds"
msgstr "Sistemos garsai"
#: ../src/main.c:255
#: ../src/main.c:256
msgid "Print version"
msgstr "Išvesti versijos numerį"
#: ../src/main.c:261
#: ../src/main.c:262
msgid "Mode used by GDM for login screen"
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
@ -1743,7 +1754,6 @@ msgid "Failed to launch '%s'"
msgstr "Nepavyko paleisti „%s“"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "Slaptažodžiai nesutampa."
@ -1767,7 +1777,7 @@ msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"
#. * nautilus
#: ../src/shell-util.c:97
msgid "Home"
msgstr "Namai"
msgstr "Namų aplankas"
#. Translators: this is the same string as the one found in
#. * nautilus

245
po/lv.po
View File

@ -2,24 +2,24 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011.
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
# Pēteris Krišjānis <pecisk@gmail.com>, 2011.
msgid ""
msgstr ""
"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: 2012-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-13 14:57+0200\n"
"Last-Translator: Anita Reitere <nitalynx@gmail.com>\n"
"Language-Team: Latviešu <lata-l10n@goglegroups.com>\n"
"Language: lv\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-13 19:12+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l18n@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
"X-Generator: Lokalize 1.2\n"
"X-Generator: Lokalize 1.4\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -49,18 +49,14 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Ļauj piekļūt iekšējiem atkļūdošanas un pārraudzības rīkiem, izmantojot "
"Alt-F2 dialogu."
"Ļauj piekļūt iekšējiem atkļūdošanas un pārraudzības rīkiem, izmantojot Alt-"
"F2 dialogu."
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Uuids of extensions to enable"
msgstr "Uuid paplašinājumiem, kurus aktivēt"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
#| msgid ""
#| "GNOME Shell extensions have a uuid property; this key lists extensions "
#| "which should not be loaded. This setting overrides enabled-extensions for "
#| "extensions that appear in both lists."
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 "
@ -136,34 +132,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Ja patiess, kalendārā rādīt ISO nedēļas datumus."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Taustiņu sasaiste, lai atvērtu lietotnes izvēlni"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Taustiņu sasaiste, lai atvērtu lietotnes izvēlni."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Kuru tastatūru izmantot"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Izmantojamās tastatūras tips."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Rādīt laiku ar sekundēm"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Ja patiess, rādīt pulkstenī arī sekundes."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Pie pulksteņa rādīt arī datumu"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Ja patiess, rādīt pulkstenī arī datumu, ne tikai laiku."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Kadrātrums, ko izmantot, ierakstot ekrānraides."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -171,24 +175,12 @@ msgstr ""
"Iegūtās ekrānraides kadrātrums, ko ieraksta GNOME Shell ekrānraižu "
"ierakstītājs. Norāda kadros sekundē."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstreamer konveijers, ko izmanto ekrānraides iekodēšanai"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, no-c-format, 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 'videorate ! vp8enc quality=10 speed=2 "
#| "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."
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, 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 "
@ -212,11 +204,11 @@ msgstr ""
"threads=%T ! queue ! webmmux' un ieraksta WEBM ar VP8 kodeku. %T tiek "
"izmantots kā vietturis, lai uzminētu optimālo pavedienu skaitu sistēmā."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Failu paplašinājumi, ko izmanto ekrānraižu saglabāšanai"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -261,8 +253,8 @@ msgstr "(vai velciet pirkstu)"
msgid "Not listed?"
msgstr "Nav sarakstā?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Atcelt"
@ -276,16 +268,16 @@ msgstr "Pieteikties"
msgid "Login Window"
msgstr "Pieteikšanās logs"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Iesnaudināt"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Pārstartēt"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Izslēgt"
@ -305,27 +297,27 @@ msgid "Execution of '%s' failed:"
msgstr "'%s' izpilde neizdevās:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Visas"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "LIETOTNES"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "IESTATĪJUMI"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Jauns logs"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Izņemt no izlases"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Pievienot izlasei"
@ -498,99 +490,97 @@ msgstr "Šonedēļ"
msgid "Next week"
msgstr "Nākamnedēļ"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Nezināms"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Pieejams"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Projām"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Aizņemts"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Nesaistē"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "Kontakti"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Izņemt"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Datuma un laika iestatījumi"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Atvērt kalendāru"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %e. %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %e. %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e. %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e. %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %e. %B, %Y."
#: ../js/ui/endSessionDialog.js:61
#, c-format, c-format
#| msgid "Log Out %s"
#, c-format
msgctxt "title"
msgid "Log Out %s"
msgstr "Izrakstīt %s"
#: ../js/ui/endSessionDialog.js:62
#| msgid "Log Out"
msgctxt "title"
msgid "Log Out"
msgstr "Izrakstīties"
@ -622,13 +612,11 @@ msgid "Logging out of the system."
msgstr "Izrakstās no sistēmas."
#: ../js/ui/endSessionDialog.js:76
#| msgid "Log Out"
msgctxt "button"
msgid "Log Out"
msgstr "Izrakstīties"
#: ../js/ui/endSessionDialog.js:81
#| msgid "Power Off"
msgctxt "title"
msgid "Power Off"
msgstr "Izslēgt"
@ -650,19 +638,16 @@ msgid "Powering off the system."
msgstr "Izslēdz sistēmu."
#: ../js/ui/endSessionDialog.js:90 ../js/ui/endSessionDialog.js:107
#| msgid "Restart"
msgctxt "button"
msgid "Restart"
msgstr "Pārstartēt"
#: ../js/ui/endSessionDialog.js:92
#| msgid "Power Off"
msgctxt "button"
msgid "Power Off"
msgstr "Izslēgt"
#: ../js/ui/endSessionDialog.js:98
#| msgid "Restart"
msgctxt "title"
msgid "Restart"
msgstr "Pārstartēt"
@ -684,21 +669,20 @@ msgstr[2] "Sistēma tiks pārstartēta automātiski pēc %d sekundēm."
msgid "Restarting the system."
msgstr "Pārstartē sistēmu."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Instalēt"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Lejupielādēt un instalēt '%s' no extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#| msgid "Retry"
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "tray"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Tastatūra"
@ -710,76 +694,73 @@ msgstr "Parole:"
msgid "Type again:"
msgstr "Ierakstiet vēlreiz:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nav instalētu paplašinājumu"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s nav izdevis nevienu kļūdu."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Slēpt kļūdas"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Rādīt kļūdas"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Aktivēta"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Deaktivēta"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Kļūda"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Nav aktuāls"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Lejupielādē"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Skatīt avotu"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Tīmekļa lapa"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Ekrānieraksts %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Atvērt"
#: ../js/ui/messageTray.js:1214
#| msgid "minute"
#| msgid_plural "minutes"
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Ieslēgt skaņu"
#: ../js/ui/messageTray.js:1214
#| msgid "Mouse"
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Apklusināt"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Sistēmas informācija"
@ -868,32 +849,35 @@ msgstr "Lai savienotos ar '%s', ir nepieciešama parole."
msgid "Undo"
msgstr "Atsaukt"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Pārskats"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Logi"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Lietotnes"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Panelis"
#: ../js/ui/panel.js:583
#| msgid "Quit %s"
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Iziet"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Aktivitātes"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Augšējā josla"
@ -939,7 +923,7 @@ msgstr "Diemžēl tas nenostrādāja. Lūdzu, mēģiniet vēlreiz."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -947,11 +931,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Lūdzu, ievadiet komandu:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Meklē..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Nav rezultātu."
@ -960,7 +944,6 @@ msgid "Copy"
msgstr "Kopēt"
#: ../js/ui/shellEntry.js:31
#| msgid "Panel"
msgid "Paste"
msgstr "Ielīmēt"
@ -969,7 +952,6 @@ msgid "Show Text"
msgstr "Rādīt tekstu"
#: ../js/ui/shellEntry.js:79
#| msgid "Large Text"
msgid "Hide Text"
msgstr "Slēpt tekstu"
@ -978,7 +960,6 @@ msgid "Wrong password, please try again"
msgstr "Nepareiza parole, mēģiniet vēlreiz"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "Pieejamība"
@ -1238,7 +1219,6 @@ msgid "Auto wireless"
msgstr "Automātisks bezvadu"
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "Tīkls"
@ -1583,7 +1563,6 @@ msgid "Connection has been lost"
msgstr "Savienojums pārtrūka"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "Šis konts jau ir pieslēgts serverim"
@ -1622,7 +1601,6 @@ msgstr ""
"ierobežojumus, ko nosaka kriptogrāfijas bibliotēka"
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "Iekšēja kļūda"
@ -1645,51 +1623,51 @@ msgstr "Rediģēt kontu"
msgid "Unknown reason"
msgstr "Nezināms iemesls"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Slēpts"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Dīkstāvē"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Nav pieejams"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Izslēgt..."
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Paziņojumi"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Tiešsaistes konti"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Sistēmas iestatījumi"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Bloķēt ekrānu"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Mainīt lietotāju"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Izrakstīties..."
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Tērzēšanas status tiks iestatīts uz 'aizņemts'"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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."
@ -1757,21 +1735,20 @@ msgstr[2] "%u ievadkanāli"
msgid "System Sounds"
msgstr "Sistēmas skaņas"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "Drukāt versiju"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Režīms, ko izmantot GDM pieteikšanās ekrānam"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Neizdevās palaist '%s'"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "Paroles nesakrīt."
@ -1794,7 +1771,6 @@ msgstr "Lietotājs noraidīja autentifikācijas dialoglodziņu"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-util.c:97
#| msgid "Volume"
msgid "Home"
msgstr "Mājas"
@ -1897,7 +1873,8 @@ msgstr "%1$s: %2$s"
#~ msgstr "Izslēgt"
#~ msgid "Click Shut Down to quit these applications and shut down the system."
#~ msgstr "Spiediet 'Izslēgt', lai izietu no šīm lietotnēm un izslēgtu sistēmu."
#~ msgstr ""
#~ "Spiediet 'Izslēgt', lai izietu no šīm lietotnēm un izslēgtu sistēmu."
#~ msgid "The system will shut down automatically in %d seconds."
#~ msgstr "Sistēma tiks izslēgta automātiski pēc %d sekundēm."

1494
po/mr.po

File diff suppressed because it is too large Load Diff

468
po/nb.po

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-19 18:59+0100\n"
"PO-Revision-Date: 2012-03-19 19:00+0100\n"
"POT-Creation-Date: 2012-03-31 04:10+0200\n"
"PO-Revision-Date: 2012-03-31 04:11+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
@ -137,46 +137,54 @@ msgstr ""
"w kalendarzu."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Skrót do otwarcia menu programu"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Skrót do otwarcia menu programu."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Której klawiatury używać"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Typ używanej klawiatury."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Wyświetlanie czasu z sekundami"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Jeśli jest ustawione na \"true\", to wyświetla sekundy w zegarze."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Wyświetlanie daty w zegarze"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr ""
"Jeśli jest ustawione na \"true\", to wyświetla datę w zegarze, dodatkowo do "
"czasu."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Liczba klatek na sekundę do nagrywania pulpitu."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr "Liczba klatek na sekundę wynikowego nagrania pulpitu."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Potok biblioteki GStreamer używany do zakodowania nagrania pulpitu"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -200,11 +208,11 @@ msgstr ""
"threads=%T ! queue ! webmmux\" i nagrywa do formatu WebM używając kodeka "
"VP8. %T jest zamieniane na odgadniętą optymalną liczbę wątków dla komputera."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Rozszerzenie pliku używane do przechowywania nagrań pulpitu"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -692,51 +700,51 @@ msgstr "Hasło:"
msgid "Type again:"
msgstr "Proszę wpisać ponownie:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nie zainstalowano rozszerzeń"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "Rozszerzenie %s nie wysłało żadnych błędów."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Ukryj błędy"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Wyświetl błędy"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Włączone"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Wyłączone"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Błąd"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Nieaktualne"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Pobieranie"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Wyświetl źródło"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Strona WWW"
@ -865,17 +873,17 @@ msgstr "Programy"
msgid "Dash"
msgstr "Ulubione"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Zakończ"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Podgląd"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Górny pasek"
@ -929,11 +937,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Proszę wprowadzić polecenie:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Wyszukiwanie..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Brak wyników."

View File

@ -14,15 +14,15 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-13 11:56-0300\n"
"PO-Revision-Date: 2012-03-13 11:54-0300\n"
"POT-Creation-Date: 2012-04-28 10:45-0300\n"
"PO-Revision-Date: 2012-04-28 10:45-0300\n"
"Last-Translator: Jonh Wendell <jwendell@gnome.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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -114,11 +114,19 @@ msgstr ""
"valor usado aqui vem da enumeração GsmPresenceStatus."
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Keybinding to open the application menu"
msgstr "Atalho de teclado para abrir o menu aplicativo"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid "Keybinding to open the application menu."
msgstr "Atalho de teclado para abrir o menu aplicativo."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "List of desktop file IDs for favorite applications"
msgstr ""
"Lista dos IDs de arquivo de área de trabalho para os aplicativos favoritos"
#: ../data/org.gnome.shell.gschema.xml.in.h:15
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -144,19 +152,19 @@ msgstr ""
"usando o codec VP8. %T é usado como uma tentativa de descobrir a melhor "
"quantidade de threads a serem usadas."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Show date in clock"
msgstr "Mostrar data no relógio"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Mostrar horário com segundos"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
@ -164,7 +172,7 @@ msgstr ""
"Os aplicativos correspondentes a estes identificadores serão exibidos na "
"área de favoritos."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
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 "
@ -174,7 +182,7 @@ msgstr ""
"baseado na data atual e usará esta extensão. Ele deve ser alterado ao gravar "
"para um contêiner de formato diferente."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -182,11 +190,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.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
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.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The shell normally monitors active applications in order to present the most "
"used ones (e.g. in launchers). While this data will be kept private, you may "
@ -198,23 +206,23 @@ msgstr ""
"segurança, você pode querer desabilitá-los por razões de privacidade. Por "
"favor, note que ao fazer isso não removerá os dados já salvos."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The type of keyboard to use."
msgstr "O tipo do teclado para usar."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Uuids of extensions to enable"
msgstr "Uuids das extensões para habilitar"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
msgid "Whether to collect stats about applications usage"
msgstr "Quando coletar dados sobre uso de aplicativos"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "Which keyboard to use"
msgstr "Qual teclado usar"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
msgid "disabled OpenSearch providers"
msgstr "Provedores OpenSearch desabilitados"
@ -231,53 +239,53 @@ msgstr "<b>Extensão</b>"
msgid "Select an extension to configure using the combobox above."
msgstr "Escolha uma extensão para configurar usando a caixa acima."
#: ../js/gdm/loginDialog.js:624
#: ../js/gdm/loginDialog.js:627
msgid "Session..."
msgstr "Sessão..."
#: ../js/gdm/loginDialog.js:786
#: ../js/gdm/loginDialog.js:789
msgctxt "title"
msgid "Sign In"
msgstr "Iniciar sessão"
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/loginDialog.js:831
#: ../js/gdm/loginDialog.js:834
msgid "(or swipe finger)"
msgstr "(ou deslize o dedo)"
#. 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:852
#: ../js/gdm/loginDialog.js:855
msgid "Not listed?"
msgstr "Não listado?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1023 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:400 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/loginDialog.js:1025
#: ../js/gdm/loginDialog.js:1028
msgctxt "button"
msgid "Sign In"
msgstr "Entrar"
#: ../js/gdm/loginDialog.js:1377
#: ../js/gdm/loginDialog.js:1380
msgid "Login Window"
msgstr "Janela de sessão"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:591
#: ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:662
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Suspender"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Reiniciar"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Desligar"
@ -297,27 +305,27 @@ msgid "Execution of '%s' failed:"
msgstr "A execução de \"%s\" falhou:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Todos"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "APLICATIVOS"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "CONFIGURAÇÕES"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Nova janela"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Remover dos favoritos"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Adicionar aos favoritos"
@ -490,28 +498,28 @@ msgstr "Esta semana"
msgid "Next week"
msgstr "Próxima semana"
#: ../js/ui/contactDisplay.js:64 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Desconhecido"
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Disponível"
#: ../js/ui/contactDisplay.js:90 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Ausente"
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/contactDisplay.js:98
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Desconectado"
#: ../js/ui/contactDisplay.js:149
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "CONTATOS"
@ -519,58 +527,58 @@ msgstr "CONTATOS"
msgid "Remove"
msgstr "Remover"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Configurações de data e hora"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Abrir calendário"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a, %e de %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a, %e de %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e de %b, %H:%M:%S"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a, %e de %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A, %e de %B de %Y"
@ -663,20 +671,21 @@ msgstr[1] "O sistema será reiniciado automaticamente em %d segundos."
msgid "Restarting the system."
msgstr "Reiniciando o sistema."
#: ../js/ui/extensionSystem.js:403
#: ../js/ui/extensionSystem.js:404
msgid "Install"
msgstr "Instalar"
#: ../js/ui/extensionSystem.js:407
#: ../js/ui/extensionSystem.js:408
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "bandeja"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/keyboard.js:44
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Teclado"
@ -688,51 +697,51 @@ msgstr "Senha:"
msgid "Type again:"
msgstr "Digite novamente:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nenhuma extensão instalada"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s não produziu nenhum erro."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Mostrar erros"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Esconder erros"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Habilitada"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1082
msgid "Disabled"
msgstr "Desabilitada"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Erro"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Obsoleta"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Baixando"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Ver fonte"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Página web"
@ -754,7 +763,7 @@ msgstr "Mostrar"
msgid "Mute"
msgstr "Ocultar"
#: ../js/ui/messageTray.js:2450
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Informações do sistema"
@ -843,31 +852,35 @@ msgstr "Uma senha é necessária para se conectar a \"%s\"."
msgid "Undo"
msgstr "Desfazer"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Visão geral"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Janelas"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Aplicativos"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Dash"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Sair"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Atividades"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Barra superior"
@ -913,7 +926,7 @@ msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -921,11 +934,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Por favor, digite um comando:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Pesquisando..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:415
msgid "No matching results."
msgstr "Nenhum resultado encontrado."
@ -1083,7 +1096,7 @@ msgstr "Sempre permitir acesso"
msgid "Grant this time only"
msgstr "Permitir apenas desta vez"
#: ../js/ui/status/bluetooth.js:382 ../js/ui/telepathyClient.js:1091
#: ../js/ui/status/bluetooth.js:382 ../js/ui/telepathyClient.js:1093
msgid "Reject"
msgstr "Rejeitar"
@ -1400,35 +1413,35 @@ msgstr "%s está ocupado."
#. 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/telepathyClient.js:887
#: ../js/ui/telepathyClient.js:889
#, 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/telepathyClient.js:893
#: ../js/ui/telepathyClient.js:895
#, 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/telepathyClient.js:898
#: ../js/ui/telepathyClient.js:900
#, 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/telepathyClient.js:940
#: ../js/ui/telepathyClient.js:942
#, 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/telepathyClient.js:1042
#: ../js/ui/telepathyClient.js:1044
#, c-format
msgid "Invitation to %s"
msgstr "Convite para %s"
@ -1436,35 +1449,35 @@ 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/telepathyClient.js:1050
#: ../js/ui/telepathyClient.js:1052
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s está convidando você para entrar em %s"
#: ../js/ui/telepathyClient.js:1052 ../js/ui/telepathyClient.js:1131
#: ../js/ui/telepathyClient.js:1229
#: ../js/ui/telepathyClient.js:1054 ../js/ui/telepathyClient.js:1133
#: ../js/ui/telepathyClient.js:1231
msgid "Decline"
msgstr "Recusar"
#: ../js/ui/telepathyClient.js:1053 ../js/ui/telepathyClient.js:1132
#: ../js/ui/telepathyClient.js:1230
#: ../js/ui/telepathyClient.js:1055 ../js/ui/telepathyClient.js:1134
#: ../js/ui/telepathyClient.js:1232
msgid "Accept"
msgstr "Aceitar"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/telepathyClient.js:1083
#: ../js/ui/telepathyClient.js:1085
#, c-format
msgid "Video call from %s"
msgstr "Vídeo-chamada de %s"
#. translators: argument is a contact name like Alice for example.
#: ../js/ui/telepathyClient.js:1086
#: ../js/ui/telepathyClient.js:1088
#, c-format
msgid "Call from %s"
msgstr "Chamada de %s"
#. translators: this is a button label (verb), not a noun
#: ../js/ui/telepathyClient.js:1093
#: ../js/ui/telepathyClient.js:1095
msgid "Answer"
msgstr "Atender"
@ -1473,110 +1486,110 @@ msgstr "Atender"
#. * file name. The string will be something
#. * like: "Alice is sending you test.ogg"
#.
#: ../js/ui/telepathyClient.js:1125
#: ../js/ui/telepathyClient.js:1127
#, c-format
msgid "%s is sending you %s"
msgstr "%s está enviando %s"
#. To translators: The parameter is the contact's alias
#: ../js/ui/telepathyClient.js:1194
#: ../js/ui/telepathyClient.js:1196
#, 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/telepathyClient.js:1287
#: ../js/ui/telepathyClient.js:1289
msgid "Network error"
msgstr "Erro de rede"
#: ../js/ui/telepathyClient.js:1289
#: ../js/ui/telepathyClient.js:1291
msgid "Authentication failed"
msgstr "Falha de autenticação"
#: ../js/ui/telepathyClient.js:1291
#: ../js/ui/telepathyClient.js:1293
msgid "Encryption error"
msgstr "Erro de criptografia"
#: ../js/ui/telepathyClient.js:1293
#: ../js/ui/telepathyClient.js:1295
msgid "Certificate not provided"
msgstr "Certificado não fornecido"
#: ../js/ui/telepathyClient.js:1295
#: ../js/ui/telepathyClient.js:1297
msgid "Certificate untrusted"
msgstr "Certificado não confiável"
#: ../js/ui/telepathyClient.js:1297
#: ../js/ui/telepathyClient.js:1299
msgid "Certificate expired"
msgstr "Certificado expirado"
#: ../js/ui/telepathyClient.js:1299
#: ../js/ui/telepathyClient.js:1301
msgid "Certificate not activated"
msgstr "Certificado não ativado"
#: ../js/ui/telepathyClient.js:1301
#: ../js/ui/telepathyClient.js:1303
msgid "Certificate hostname mismatch"
msgstr "Máquina do certificado não confere"
#: ../js/ui/telepathyClient.js:1303
#: ../js/ui/telepathyClient.js:1305
msgid "Certificate fingerprint mismatch"
msgstr "Impressão digital do certificado não confere"
#: ../js/ui/telepathyClient.js:1305
#: ../js/ui/telepathyClient.js:1307
msgid "Certificate self-signed"
msgstr "Certificado auto-assinado"
#: ../js/ui/telepathyClient.js:1307
#: ../js/ui/telepathyClient.js:1309
msgid "Status is set to offline"
msgstr "O status está definido como desconectado."
#: ../js/ui/telepathyClient.js:1309
#: ../js/ui/telepathyClient.js:1311
msgid "Encryption is not available"
msgstr "Criptografia não disponível"
#: ../js/ui/telepathyClient.js:1311
#: ../js/ui/telepathyClient.js:1313
msgid "Certificate is invalid"
msgstr "O certificado é inválido"
#: ../js/ui/telepathyClient.js:1313
#: ../js/ui/telepathyClient.js:1315
msgid "Connection has been refused"
msgstr "A conexão foi recusada"
#: ../js/ui/telepathyClient.js:1315
#: ../js/ui/telepathyClient.js:1317
msgid "Connection can't be established"
msgstr "A conexão não pode ser estabelecida"
#: ../js/ui/telepathyClient.js:1317
#: ../js/ui/telepathyClient.js:1319
msgid "Connection has been lost"
msgstr "Conexão perdida"
#: ../js/ui/telepathyClient.js:1319
#: ../js/ui/telepathyClient.js:1321
msgid "This account is already connected to the server"
msgstr "Esta conta já está conectada ao servidor"
#: ../js/ui/telepathyClient.js:1321
#: ../js/ui/telepathyClient.js:1323
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/telepathyClient.js:1323
#: ../js/ui/telepathyClient.js:1325
msgid "The account already exists on the server"
msgstr "A conta já existe no servidor"
#: ../js/ui/telepathyClient.js:1325
#: ../js/ui/telepathyClient.js:1327
msgid "Server is currently too busy to handle the connection"
msgstr "O servidor está atualmente muito ocupado para controlar a conexão"
#: ../js/ui/telepathyClient.js:1327
#: ../js/ui/telepathyClient.js:1329
msgid "Certificate has been revoked"
msgstr "O certificado foi revogado"
#: ../js/ui/telepathyClient.js:1329
#: ../js/ui/telepathyClient.js:1331
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/telepathyClient.js:1331
#: ../js/ui/telepathyClient.js:1333
msgid ""
"The length of the server certificate, or the depth of the server certificate "
"chain, exceed the limits imposed by the cryptography library"
@ -1584,74 +1597,74 @@ msgstr ""
"O comprimento do certificado do servidor, ou a profundidade da cadeia do "
"certificado excedeu os limites impostos pela biblioteca de criptografia"
#: ../js/ui/telepathyClient.js:1333
#: ../js/ui/telepathyClient.js:1335
msgid "Internal error"
msgstr "Erro interno"
#. translators: argument is the account name, like
#. * name@jabber.org for example.
#: ../js/ui/telepathyClient.js:1343
#: ../js/ui/telepathyClient.js:1345
#, c-format
msgid "Connection to %s failed"
msgstr "A conexão com %s falhou"
#: ../js/ui/telepathyClient.js:1352
#: ../js/ui/telepathyClient.js:1354
msgid "Reconnect"
msgstr "Reconectar"
#: ../js/ui/telepathyClient.js:1353
#: ../js/ui/telepathyClient.js:1355
msgid "Edit account"
msgstr "Editar conta"
#: ../js/ui/telepathyClient.js:1399
#: ../js/ui/telepathyClient.js:1401
msgid "Unknown reason"
msgstr "Razão desconhecida"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Oculto"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Inativo"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Indisponível"
#: ../js/ui/userMenu.js:589 ../js/ui/userMenu.js:593 ../js/ui/userMenu.js:663
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Desligar..."
#: ../js/ui/userMenu.js:625
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Notificações"
#: ../js/ui/userMenu.js:633
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Contas online"
#: ../js/ui/userMenu.js:637
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Configurações do sistema"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Bloquear a tela"
#: ../js/ui/userMenu.js:649
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Alternar usuário"
#: ../js/ui/userMenu.js:654
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Encerrar sessão..."
#: ../js/ui/userMenu.js:682
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Seu status no bate-papo ficará como ocupado"
#: ../js/ui/userMenu.js:683
#: ../js/ui/userMenu.js:689
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."
@ -1697,7 +1710,7 @@ msgstr "\"%s\" está pronto"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1100
#: ../src/gvc/gvc-mixer-control.c:1089
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1706,14 +1719,14 @@ msgstr[1] "%u saídas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1110
#: ../src/gvc/gvc-mixer-control.c:1099
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:1408
#: ../src/gvc/gvc-mixer-control.c:1397
msgid "System Sounds"
msgstr "Sons do sistema"
@ -1725,7 +1738,7 @@ msgstr "Versão de impressão"
msgid "Mode used by GDM for login screen"
msgstr "Modo usado pelo GDM para a tela de início de sessão"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Erro ao executar \"%s\""

235
po/ru.po
View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-15 13:04+0300\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-01 14:01+0300\n"
"Last-Translator: Yuri Myasoedov <omerta13@yandex.ru>\n"
"Language-Team: Russian <gnome-cyr@gnome.org>\n"
"MIME-Version: 1.0\n"
@ -100,63 +100,59 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Если установлено, календарь будет показывать неделю в формате ISO."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Комбинация клавиш для открытия меню приложения"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Комбинация клавиш для открытия меню приложения."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Какую клавиатуру использовать"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Тип используемой клавиатуры."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Показывать секунды"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Если установлено, время будет указано с секундами."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Показывать в часах дату"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Если установлено, в часах будет показана дата."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Частота смены кадров для записи скринкастов."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
msgstr "Частота смены кадров в скринкасте, записанном с помощью GNOME Shell (кадров/сек)."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Конвейер gstreamer, используемый для кодирования скринкастов"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, 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 'videorate ! vp8enc quality=10 speed=2 "
#| "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 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."
msgstr "Устанавливает конвейер GStreamer для кодирования записей. Соответствует синтаксису, используемому для gst-launch. Конвейер должен иметь неподключенный входной коннектор, где происходит запись видео. Выход коннектора обычно отключён, выход с этого коннектора записывается в файл вывода. Однако конвейер также может позаботиться о своём выводе, что можно использовать для отправки вывода на сервер icecast через shout2send или нечто подобное. При сбросе или установке пустого значения будет использоваться конвейер по умолчанию. В данный момент это «vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux»; запись выполняется в WEBM с помощью кодека VP8. %T используется как заполнитель для определения оптимального количества потоков в системе."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Расширение файла, использующееся для хранения скринкастов"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "Имя файла записанного скринкаста будет уникальным именем, основанным на текущей дате, и использует это расширение. Оно должно быть изменено, если запись выполняется в другой контейнерный формат."
@ -196,8 +192,8 @@ msgid "Not listed?"
msgstr "Нет в списке?"
#: ../js/gdm/loginDialog.js:1020
#: ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401
#: ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399
#: ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175
#: ../js/ui/status/bluetooth.js:462
@ -213,18 +209,18 @@ msgstr "Войти"
msgid "Login Window"
msgstr "Окно входа в систему"
#: ../js/gdm/powerMenu.js:152
#: ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583
#: ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155
#: ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599
#: ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Ждущий режим"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Перезапустить"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Выключить"
@ -244,27 +240,27 @@ msgid "Execution of '%s' failed:"
msgstr "Не удалось выполнить «%s»:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Все"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ПРИЛОЖЕНИЯ"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "НАСТРОЙКИ"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Новое окно"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Удалить из избранного"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Добавить в избранное"
@ -437,95 +433,95 @@ msgstr "Эта неделя"
msgid "Next week"
msgstr "Следующая неделя"
#: ../js/ui/contactDisplay.js:63
#: ../js/ui/contactDisplay.js:66
#: ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215
#: ../src/shell-app.c:372
#: ../src/shell-app.c:374
msgid "Unknown"
msgstr "Неизвестно"
#: ../js/ui/contactDisplay.js:84
#: ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89
#: ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Доступен"
#: ../js/ui/contactDisplay.js:89
#: ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94
#: ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Отошёл"
#: ../js/ui/contactDisplay.js:93
#: ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98
#: ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Занят"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Не в сети"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "КОНТАКТЫ"
#: ../js/ui/dash.js:229
#: ../js/ui/messageTray.js:1204
#: ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Удалить"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Настроить дату и время"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Открыть календарь"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
msgstr "%a, %e %b, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %b %e, %R"
msgstr "%a, %e %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %b %e, %l:%M %p"
msgstr "%a, %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
msgstr "%a, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a, %H:%M"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
msgstr "%A, %e %B, %Y"
#: ../js/ui/endSessionDialog.js:61
#, c-format
@ -620,20 +616,20 @@ msgstr[2] "Система будет автоматически перезапу
msgid "Restarting the system."
msgstr "Перезапуск системы."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Установить"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Загрузить и установить расширение «%s» с extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "лоток"
#: ../js/ui/keyboard.js:539
#: ../js/ui/keyboard.js:544
#: ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Клавиатура"
@ -647,75 +643,75 @@ msgstr "Пароль:"
msgid "Type again:"
msgstr "Введите ещё раз:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Расширения не установлены"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s не сообщал о каких-либо ошибках."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Скрыть ошибки"
#: ../js/ui/lookingGlass.js:789
#: ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796
#: ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Показать ошибки"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Включено"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801
#: ../js/ui/lookingGlass.js:808
#: ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Выключено"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Ошибка"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Устарело"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Загрузка"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Показать код"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Веб-страница"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Скринкаст от %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Открыть"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Восстановить громкость"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Приглушить звук"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Системная информация"
@ -803,31 +799,35 @@ msgstr "Для подключения к «%s» требуется пароль.
msgid "Undo"
msgstr "Отменить"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Обзор"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Окна"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Приложения"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Приборная панель"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Закончить"
msgstr "Закрыть"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Обзор"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Верхняя панель"
@ -873,7 +873,7 @@ msgstr "Извините, это не сработало. Попробуйте
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -881,11 +881,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Введите команду:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Поиск…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Нет совпадений."
@ -910,7 +910,6 @@ msgid "Wrong password, please try again"
msgstr "Неверный пароль, попробуйте снова"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "Доступность"
@ -1183,7 +1182,6 @@ msgid "Auto wireless"
msgstr "Автоматическое беспроводное"
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "Сеть"
@ -1532,7 +1530,6 @@ msgid "Connection has been lost"
msgstr "Соединение потеряно"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "Эта учётная запись уже подключена к серверу"
@ -1561,7 +1558,6 @@ msgid "The length of the server certificate, or the depth of the server certific
msgstr "Длина сертификата сервера, или глубина цепочки сертификатов сервера, превышает пределы, установленные библиотекой криптографии"
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "Внутренняя ошибка"
@ -1584,53 +1580,53 @@ msgstr "Изменить учётную запись"
msgid "Unknown reason"
msgstr "Неизвестная причина"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Скрыт"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Бездействует"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Недоступен"
#: ../js/ui/userMenu.js:579
#: ../js/ui/userMenu.js:583
#: ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595
#: ../js/ui/userMenu.js:599
#: ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Выключить…"
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Уведомления"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Учётные записи в сети"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Системные параметры"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Заблокировать экран"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Сменить пользователя"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Завершить сеанс…"
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Будет установлен статус «не беспокоить»"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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,21 +1690,20 @@ msgstr[2] "%u входов"
msgid "System Sounds"
msgstr "Системные звуки"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "Показать номер версии"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Режим, используемый GDM для окна входа в систему"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Не удалось запустить «%s»"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "Пароли не совпадают"

491
po/sl.po

File diff suppressed because it is too large Load Diff

View File

@ -8,16 +8,16 @@ 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-03-20 09:50+0000\n"
"PO-Revision-Date: 2012-02-29 11:26+0200\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-03-31 10:20+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%"
"10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n"
#: ../data/gnome-shell.desktop.in.in.h:1
@ -130,34 +130,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "Ако је изабрано, приказује ИСО дан у недељи у календару."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "Свеза тастера за отварање изборника програма"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Свеза тастера за отварање изборника програма."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Која ће тастатура бити коришћена"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Врста тастатуре за употребу."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Приказује време и секунде"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Ако је изабрано, приказује секунде у времену."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Приказује датум у панелу"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Ако је изабрано, приказује датум у часовнику, као додатак времену."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Учестаност кадрова за видео снимак екрана."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -165,11 +173,11 @@ msgstr ""
"Учестаност кадрова снимка снимљених помоћу Гномове шкољке у кадровима по "
"секунди."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Процесни ланац Гстримера коришћен за кодирање видео снимка екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -195,11 +203,11 @@ msgstr ""
"webmmux“ и записује у „WEBM“ користећи ВП8 кодек. „%T“ се користи као "
"носилац за откривање при оптималном прорачуну нити на систему."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Проширење датотеке за чување видео снимака екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -690,51 +698,51 @@ msgstr "Лозинка:"
msgid "Type again:"
msgstr "Упишите поново:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Нису инсталирана проширења"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s није објавио никакве грешке."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Сакриј грешке"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Сакриј грешке"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Омогућено"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Онемогућено"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Грешка"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Изван датума"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Преузимање"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Погледај извор"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Интернет страница"
@ -862,17 +870,17 @@ msgstr "Програми"
msgid "Dash"
msgstr "Полет"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Изађи"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Активности"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Горња трака"
@ -926,11 +934,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Унесите наредбу:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Тражим..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Нема одговарајућих резултата."
@ -952,7 +960,7 @@ msgstr "Сакриј текст"
#: ../js/ui/shellMountOperation.js:271
msgid "Wrong password, please try again"
msgstr "Погрешна лозинка, покушајте поново:"
msgstr "Погрешна лозинка, покушајте поново"
#: ../js/ui/status/accessibility.js:47
msgid "Accessibility"
@ -1043,7 +1051,7 @@ msgstr "повезујем се..."
#: ../js/ui/status/bluetooth.js:245
msgid "Send Files..."
msgstr "Пошаљи датотеке.."
msgstr "Пошаљи датотеке..."
#: ../js/ui/status/bluetooth.js:250
msgid "Browse Files..."

View File

@ -8,16 +8,16 @@ 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-03-20 09:50+0000\n"
"PO-Revision-Date: 2012-02-29 11:26+0200\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-03-31 10:20+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%"
"10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : "
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n"
#: ../data/gnome-shell.desktop.in.in.h:1
@ -130,34 +130,42 @@ 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.h:16
msgid "Keybinding to open the application menu"
msgstr "Sveza tastera za otvaranje izbornika programa"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "Sveza tastera za otvaranje izbornika programa."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "Koja će tastatura biti korišćena"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "Vrsta tastature za upotrebu."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "Prikazuje vreme i sekunde"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "Ako je izabrano, prikazuje sekunde u vremenu."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "Prikazuje datum u panelu"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "Ako je izabrano, prikazuje datum u časovniku, kao dodatak vremenu."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "Učestanost kadrova za video snimak ekrana."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -165,11 +173,11 @@ msgstr ""
"Učestanost kadrova snimka snimljenih pomoću Gnomove školjke u kadrovima po "
"sekundi."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Procesni lanac Gstrimera korišćen za kodiranje video snimka ekrana"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -195,11 +203,11 @@ msgstr ""
"webmmux“ i zapisuje u „WEBM“ koristeći VP8 kodek. „%T“ se koristi kao "
"nosilac za otkrivanje pri optimalnom proračunu niti na sistemu."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "Proširenje datoteke za čuvanje video snimaka ekrana"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -690,51 +698,51 @@ msgstr "Lozinka:"
msgid "Type again:"
msgstr "Upišite ponovo:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "Nisu instalirana proširenja"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s nije objavio nikakve greške."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "Sakrij greške"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "Sakrij greške"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "Omogućeno"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "Onemogućeno"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "Greška"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "Izvan datuma"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "Preuzimanje"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "Pogledaj izvor"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "Internet stranica"
@ -862,17 +870,17 @@ msgstr "Programi"
msgid "Dash"
msgstr "Polet"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "Izađi"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "Aktivnosti"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "Gornja traka"
@ -926,11 +934,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Unesite naredbu:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Tražim..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Nema odgovarajućih rezultata."
@ -952,7 +960,7 @@ msgstr "Sakrij tekst"
#: ../js/ui/shellMountOperation.js:271
msgid "Wrong password, please try again"
msgstr "Pogrešna lozinka, pokušajte ponovo:"
msgstr "Pogrešna lozinka, pokušajte ponovo"
#: ../js/ui/status/accessibility.js:47
msgid "Accessibility"
@ -1043,7 +1051,7 @@ msgstr "povezujem se..."
#: ../js/ui/status/bluetooth.js:245
msgid "Send Files..."
msgstr "Pošalji datoteke.."
msgstr "Pošalji datoteke..."
#: ../js/ui/status/bluetooth.js:250
msgid "Browse Files..."

1015
po/sv.po

File diff suppressed because it is too large Load Diff

101
po/te.po
View File

@ -1,19 +1,20 @@
# Telugu translation for gnome-shell.
# Copyright (C) 2011, 2012 Swecha telugu translations team
# 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.
# Praveen Illa <mail2ipn@gmail.com>, 2011, 2012.
# 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-03-19 14:09+0000\n"
"PO-Revision-Date: 2012-03-15 12:45+0530\n"
"Last-Translator: Sasi Bhushan Boddepalli <sasi@swecha.net>\n"
"POT-Creation-Date: 2012-03-30 17:59+0000\n"
"PO-Revision-Date: 2012-04-05 09:17+0530\n"
"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
"Language-Team: Telugu <indlinux-telugu@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -33,7 +34,7 @@ msgstr "విండో నిర్వాహణ మరియు అనువర
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
#: ../js/extensionPrefs/main.js:153
msgid "GNOME Shell Extension Preferences"
msgstr "గ్నోమ్ షెల్ పొడిగింతల అభీష్టాలు "
msgstr "గ్నోమ్ షెల్ పొడిగింతల ప్రాధాన్యతలు"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
msgid "Configure GNOME Shell Extensions"
@ -127,34 +128,42 @@ msgid "If true, display the ISO week date in the calendar."
msgstr "ఒకవేళ నిజమైతే, క్యాలెండరులో ISO వారము తేదీని ప్రదర్శిస్తుంది."
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Keybinding to open the application menu"
msgstr "అనువర్తనం మెనూ తెరవడానికి కీ బైండింగ్ "
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Keybinding to open the application menu."
msgstr "అనువర్తనం మెనూ తెరవడానికి కీ బైండింగ్ "
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "Which keyboard to use"
msgstr "ఏ కీబోర్డ్ ఉపయోగించాలి"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "The type of keyboard to use."
msgstr "ఉపయోగించుటకు కీబోర్డ్ రకము."
#: ../data/org.gnome.shell.gschema.xml.in.h:18
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "Show time with seconds"
msgstr "సమయమును సెకన్లతో సహా చూపించు"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "If true, display seconds in time."
msgstr "ఒకవేళ నిజమైతే, సమయము నందు సెకన్లను ప్రదర్శించు"
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Show date in clock"
msgstr "గడియారములో తేదీని చూపించు"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid "If true, display date in the clock, in addition to time."
msgstr "ఒకవేళ నిజమైతే, సమయానికి అదనంగా గడియారము నందు తేదీని ప్రదర్శించు."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "Framerate used for recording screencasts."
msgstr "ఫ్రేమ్‌రేట్ అను దానిని తెరప్రసారాలను రికార్డు చేయుటకు వాడతారు."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
@ -162,11 +171,11 @@ msgstr ""
"ఫలితముగా వచ్చు తెర ప్రసారము యొక్క ఫ్రేమ్ రేటు GNOME షెల్ తెరప్రసార రికార్డర్ ఫ్రేమ్ పర్ సెకనులలో "
"రికార్డుచేయబడుతుంది."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "తెరప్రసారాన్ని ఎన్‌కోడ్ చేయడానికి జి స్ట్రీమర్ పైప్‌లైన్ వాడబడుతుంది"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#, no-c-format
msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
@ -189,11 +198,11 @@ msgstr ""
"quality=8 speed=6 threads=%T ! queue ! webmmux' మరియు VP8 కొడెక్ వాడి WEBMకి "
"రికార్డుచేస్తుంది. %T అనేది వ్యవస్థ పై ఒక ప్లేస్‌హోల్డర్ వలె గ్వెస్ కొరకు ఆప్టిమల్ త్రెడ్ కౌంట్ వాడబడుతుంది."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.h:29
msgid "File extension used for storing the screencast"
msgstr "ఫైల్ పొడిగింతను తెరప్రసారాన్ని భద్రపరుచుటకు వాడతారు"
#: ../data/org.gnome.shell.gschema.xml.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.h:30
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 "
@ -250,7 +259,7 @@ msgstr "ప్రవేశించండి"
#: ../js/gdm/loginDialog.js:1377
msgid "Login Window"
msgstr "ప్రవేశ విండో"
msgstr "ప్రవేశ కిటికీ"
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
@ -671,51 +680,51 @@ msgstr "సంకేతపదం:"
msgid "Type again:"
msgstr "మళ్ళీ టైపు చేయు:"
#: ../js/ui/lookingGlass.js:725
#: ../js/ui/lookingGlass.js:732
msgid "No extensions installed"
msgstr "ఏ పొడిగింతలు స్థాపించబడిలేవు"
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:779
#: ../js/ui/lookingGlass.js:786
#, c-format
msgid "%s has not emitted any errors."
msgstr "%s ఎటువంటి దోషాలను ఉద్గారించలేదు."
#: ../js/ui/lookingGlass.js:785
#: ../js/ui/lookingGlass.js:792
msgid "Hide Errors"
msgstr "దోషాలను దాయి"
#: ../js/ui/lookingGlass.js:789 ../js/ui/lookingGlass.js:840
#: ../js/ui/lookingGlass.js:796 ../js/ui/lookingGlass.js:847
msgid "Show Errors"
msgstr "దోషాలను చూపించు"
#: ../js/ui/lookingGlass.js:798
#: ../js/ui/lookingGlass.js:805
msgid "Enabled"
msgstr "చేతనమైనది"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:801 ../src/gvc/gvc-mixer-control.c:1093
#: ../js/ui/lookingGlass.js:808 ../src/gvc/gvc-mixer-control.c:1093
msgid "Disabled"
msgstr "చేతనమైనది"
#: ../js/ui/lookingGlass.js:803
#: ../js/ui/lookingGlass.js:810
msgid "Error"
msgstr "దోషం"
#: ../js/ui/lookingGlass.js:805
#: ../js/ui/lookingGlass.js:812
msgid "Out of date"
msgstr "కాలం చెల్లినది"
#: ../js/ui/lookingGlass.js:807
#: ../js/ui/lookingGlass.js:814
msgid "Downloading"
msgstr "దింపుకుంటున్నది"
#: ../js/ui/lookingGlass.js:828
#: ../js/ui/lookingGlass.js:835
msgid "View Source"
msgstr "మూలాన్ని చూడు"
#: ../js/ui/lookingGlass.js:834
#: ../js/ui/lookingGlass.js:841
msgid "Web Page"
msgstr "వెబ్ పేజీ"
@ -783,8 +792,8 @@ msgstr "వైర్‌లెస్ నెట్‌వర్క్ చేత ధ
#: ../js/ui/networkAgent.js:330
#, 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 "వైర్‌లెస్ నెట్‌వర్కు '%s' యాక్సెస్ చేయుటకు సంకేతపదాలు లేదా ఎన్క్రిప్షన్ కీలు అవసరం."
#: ../js/ui/networkAgent.js:334
@ -842,17 +851,17 @@ msgstr "అనువర్తనాలు"
msgid "Dash"
msgstr "డాష్"
#: ../js/ui/panel.js:591
#: ../js/ui/panel.js:592
msgid "Quit"
msgstr "నిష్క్రమించు"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:624
msgid "Activities"
msgstr "కార్యకలాపాలు"
#: ../js/ui/panel.js:998
#: ../js/ui/panel.js:999
msgid "Top Bar"
msgstr "పైన పట్టీ"
@ -906,11 +915,11 @@ msgstr "టోగిల్-స్విచ్-అజ్"
msgid "Please enter a command:"
msgstr "దయచేసి ఒక ఆదేశమును ప్రవేశపెట్టండి:"
#: ../js/ui/searchDisplay.js:331
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "అన్వేషిస్తోంది..."
msgstr "వెతుకుతోంది..."
#: ../js/ui/searchDisplay.js:413
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "సరిపోలిన ఫలితాలు లేవు."
@ -1027,7 +1036,7 @@ msgstr "ఫైళ్ళను పంపు..."
#: ../js/ui/status/bluetooth.js:250
msgid "Browse Files..."
msgstr "ఫైళ్ళను అన్వేషించు..."
msgstr "ఫైళ్ళను విహరించు..."
#: ../js/ui/status/bluetooth.js:259
msgid "Error browsing device"
@ -1633,14 +1642,14 @@ msgstr "నిష్క్రమించు..."
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "మీ చాట్ అమరిక వత్తిడిలో వున్నారని వుంచబడును"
msgstr "మీ చాట్ స్థితి రద్దీగా ఉన్నారని అమర్చును"
#: ../js/ui/userMenu.js:689
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 ""
"ప్రకటలను యిప్పుడు అచేతనం చేయబడెను, చాట్ సందేశములతో సహా. మీరు యితరుల సందేశాలను "
"ప్రకటలను ప్పుడు అచేతనం చేయబడెను, చాట్ సందేశములతో సహా. మీరు తరుల సందేశాలను "
"చూసివుండకపోవుచ్చునని వారికి తెలియునట్లు మీ ఆన్‌లైన్ స్థితి అమర్చబడెను."
#. Translators: this is the text displayed
@ -1649,11 +1658,11 @@ msgstr ""
#. characters.
#: ../js/ui/viewSelector.js:113
msgid "Type to search..."
msgstr "అన్వేషించుటకు టైపు చేయండి..."
msgstr "వెతకుటకు టైపు చేయండి..."
#: ../js/ui/viewSelector.js:131 ../src/shell-util.c:252
msgid "Search"
msgstr "అన్వేషించు"
msgstr "వెతుకు"
#: ../js/ui/wanda.js:124
#, c-format
@ -1685,7 +1694,7 @@ msgstr "'%s' సిద్ధంగా ఉంది"
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u అవుట్‌పుట్"
msgstr[1] "%u అవుట్‌పుట్లు"
msgstr[1] "%u అవుట్‌పుట్లు"
#. translators:
#. * The number of sound inputs on a particular device
@ -1694,7 +1703,7 @@ msgstr[1] "%u అవుట్‌పుట్లు"
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u ఇన్‌పుట్"
msgstr[1] "%u ఇన్‌పుట్లు"
msgstr[1] "%u ఇన్‌పుట్లు"
#: ../src/gvc/gvc-mixer-control.c:1408
msgid "System Sounds"
@ -1715,11 +1724,11 @@ msgstr "'%s' ప్రారంభించుటలో విఫలమైంద
#: ../src/shell-keyring-prompt.c:708
msgid "Passwords do not match."
msgstr "రహస్య పదములు సరిపోలడం లేదు"
msgstr "సంకేతపదాలు సరిపోలడంలేదు."
#: ../src/shell-keyring-prompt.c:716
msgid "Password cannot be blank"
msgstr "రహస్య పదము ఖాళీగా ఉండకూడదు."
msgstr "సంకేతపదము ఖాళీగా ఉండకూడదు"
#: ../src/shell-mobile-providers.c:80
msgid "United Kingdom"

130
po/uk.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-02 23:21+0200\n"
"PO-Revision-Date: 2012-03-03 15:47+0300\n"
"POT-Creation-Date: 2012-03-24 09:52+0200\n"
"PO-Revision-Date: 2012-03-24 09:53+0300\n"
"Last-Translator: Korostil Daniel <ted.korostiled@gmail.com>\n"
"Language-Team: translation@linux.org.ua\n"
"Language: uk\n"
@ -248,7 +248,7 @@ msgstr "(або проведіть пальцем)"
msgid "Not listed?"
msgstr "Немає в переліку?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
@ -263,16 +263,16 @@ msgstr "Увійти"
msgid "Login Window"
msgstr "Вікно входу"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Призупинити"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Перезапустити"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Вимкнути"
@ -292,27 +292,27 @@ msgid "Execution of '%s' failed:"
msgstr "Не вдалось виконати «%s»:"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Всі"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ПРОГРАМИ"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "ПАРАМЕТРИ"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Нове вікно"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Вилучити з улюбленого"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Додати до улюбленого"
@ -485,87 +485,87 @@ msgstr "Цей тиждень"
msgid "Next week"
msgstr "Наступний тиждень"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Невідомо"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Доступний"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Відійшов"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Зайнятий"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Поза мережею"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "КОНТАКТИ"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1206
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Вилучити"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Параметри дати і часу"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Відкрити календар"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %b %e, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %b %e, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %B %e, %Y"
@ -671,11 +671,11 @@ msgstr "Встановити"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Звантажити і встановити «%s» з extensions.gnome.org?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "лоток"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Клавіатура"
@ -736,24 +736,24 @@ msgid "Web Page"
msgstr "Веб-сторінка"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Трансляція з екрана від %d %t"
#: ../js/ui/messageTray.js:1199
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Відкрити"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Озвучити"
#: ../js/ui/messageTray.js:1216
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Приглушити"
#: ../js/ui/messageTray.js:2449
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Інформація про систему"
@ -840,31 +840,35 @@ msgstr "Пароль потрібен для з'єднання з «%s»."
msgid "Undo"
msgstr "Повернути"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Огляд"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Вікна"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Програми"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Риска"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:591
msgid "Quit"
msgstr "Вийти"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:623
msgid "Activities"
msgstr "Діяльність"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:998
msgid "Top Bar"
msgstr "Верхня панель"
@ -910,7 +914,7 @@ msgstr "Вибачте, це не працює. Спробуйте ще."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -918,11 +922,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Будь ласка, введіть команду:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:332
msgid "Searching..."
msgstr "Пошук…"
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:414
msgid "No matching results."
msgstr "Нема збігів."
@ -1608,51 +1612,51 @@ msgstr "Редагувати обліковий запис"
msgid "Unknown reason"
msgstr "Невідома причина"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Прихований"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Бездіяльний"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Недоступний"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Вимкнення живлення…"
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Сповіщення"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Мережевий обліковий запис"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Системні параметри"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Заблокувати екран"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Змінити користувача"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Завершити сеанс…"
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Ваш стан балачки буде змінено на «зайнятий»"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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."
@ -1719,15 +1723,15 @@ msgstr[2] "%u входів"
msgid "System Sounds"
msgstr "Системні звуки"
#: ../src/main.c:253
#: ../src/main.c:255
msgid "Print version"
msgstr "Показати версію"
#: ../src/main.c:259
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Використовуваний режим GDM для екрану входу"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Не вдалось запустити «%s»"

157
po/vi.po
View File

@ -9,8 +9,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-02-29 22:27+0000\n"
"PO-Revision-Date: 2012-03-03 22:59+0700\n"
"POT-Creation-Date: 2012-03-19 14:09+0000\n"
"PO-Revision-Date: 2012-03-22 10:42+0700\n"
"Last-Translator: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"MIME-Version: 1.0\n"
@ -168,18 +168,6 @@ msgstr "Ống dẫn gstreamer để thu screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, 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 'videorate ! vp8enc quality=10 speed=2 "
#| "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 "
@ -250,8 +238,8 @@ msgstr "(hoặc quẹt ngón tay)"
msgid "Not listed?"
msgstr "Không có trong danh sách?"
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:419
#: ../js/ui/extensionSystem.js:401 ../js/ui/networkAgent.js:153
#: ../js/gdm/loginDialog.js:1020 ../js/ui/endSessionDialog.js:401
#: ../js/ui/extensionSystem.js:399 ../js/ui/networkAgent.js:153
#: ../js/ui/polkitAuthenticationAgent.js:175 ../js/ui/status/bluetooth.js:462
msgid "Cancel"
msgstr "Thôi"
@ -265,16 +253,16 @@ msgstr "Đăng nhập"
msgid "Login Window"
msgstr "Cửa sổ đặt nhập"
#: ../js/gdm/powerMenu.js:152 ../js/ui/userMenu.js:581
#: ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:652
#: ../js/gdm/powerMenu.js:155 ../js/ui/userMenu.js:597
#: ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:668
msgid "Suspend"
msgstr "Ngưng"
#: ../js/gdm/powerMenu.js:157
#: ../js/gdm/powerMenu.js:160
msgid "Restart"
msgstr "Khởi động lại"
#: ../js/gdm/powerMenu.js:162
#: ../js/gdm/powerMenu.js:165
msgid "Power Off"
msgstr "Tắt máy"
@ -294,27 +282,27 @@ msgid "Execution of '%s' failed:"
msgstr "Lỗi thực hiện '%s':"
#. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:251
#: ../js/ui/appDisplay.js:255
msgid "All"
msgstr "Tất cả"
#: ../js/ui/appDisplay.js:310
#: ../js/ui/appDisplay.js:314
msgid "APPLICATIONS"
msgstr "ỨNG DỤNG"
#: ../js/ui/appDisplay.js:371
#: ../js/ui/appDisplay.js:375
msgid "SETTINGS"
msgstr "THIẾT LẬP"
#: ../js/ui/appDisplay.js:676
#: ../js/ui/appDisplay.js:680
msgid "New Window"
msgstr "Cửa sổ mới"
#: ../js/ui/appDisplay.js:679
#: ../js/ui/appDisplay.js:683
msgid "Remove from Favorites"
msgstr "Bỏ đánh dấu ưa thích"
#: ../js/ui/appDisplay.js:680
#: ../js/ui/appDisplay.js:684
msgid "Add to Favorites"
msgstr "Đánh dấu ưa thích"
@ -487,87 +475,87 @@ msgstr "Tuần này"
msgid "Next week"
msgstr "Tuần tới"
#: ../js/ui/contactDisplay.js:63 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:372
#: ../js/ui/contactDisplay.js:66 ../js/ui/notificationDaemon.js:486
#: ../js/ui/status/power.js:215 ../src/shell-app.c:374
msgid "Unknown"
msgstr "Không biết"
#: ../js/ui/contactDisplay.js:84 ../js/ui/userMenu.js:127
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:129
msgid "Available"
msgstr "Có mặt"
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:136
#: ../js/ui/contactDisplay.js:94 ../js/ui/userMenu.js:138
msgid "Away"
msgstr "Vắng mặt"
#: ../js/ui/contactDisplay.js:93 ../js/ui/userMenu.js:130
#: ../js/ui/contactDisplay.js:98 ../js/ui/userMenu.js:132
msgid "Busy"
msgstr "Bận"
#: ../js/ui/contactDisplay.js:97
#: ../js/ui/contactDisplay.js:102
msgid "Offline"
msgstr "Ngoại tuyến"
#: ../js/ui/contactDisplay.js:148
#: ../js/ui/contactDisplay.js:153
msgid "CONTACTS"
msgstr "LIÊN LẠC"
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1204
#: ../js/ui/dash.js:229 ../js/ui/messageTray.js:1207
msgid "Remove"
msgstr "Loại bỏ"
#: ../js/ui/dateMenu.js:97
#: ../js/ui/dateMenu.js:103
msgid "Date and Time Settings"
msgstr "Thiết lập ngày giờ"
#: ../js/ui/dateMenu.js:123
#: ../js/ui/dateMenu.js:129
msgid "Open Calendar"
msgstr "Mở lịch"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:181
#: ../js/ui/dateMenu.js:187
msgid "%a %b %e, %R:%S"
msgstr "%a %R:%S, %e %b"
#: ../js/ui/dateMenu.js:182
#: ../js/ui/dateMenu.js:188
msgid "%a %b %e, %R"
msgstr "%a %R, %e %b"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/dateMenu.js:186
#: ../js/ui/dateMenu.js:192
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/dateMenu.js:187
#: ../js/ui/dateMenu.js:193
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:194
#: ../js/ui/dateMenu.js:200
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:195
#: ../js/ui/dateMenu.js:201
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e %b, %l:%M %p"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/dateMenu.js:199
#: ../js/ui/dateMenu.js:205
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:200
#: ../js/ui/dateMenu.js:206
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. 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:211
#: ../js/ui/dateMenu.js:217
msgid "%A %B %e, %Y"
msgstr "%A %e %B, %Y"
@ -656,20 +644,20 @@ msgstr[0] "Hệ thống sẽ tự động khởi động lại sau %d giây."
msgid "Restarting the system."
msgstr "Khởi động lại hệ thống."
#: ../js/ui/extensionSystem.js:405
#: ../js/ui/extensionSystem.js:403
msgid "Install"
msgstr "Cài đặt"
#: ../js/ui/extensionSystem.js:409
#: ../js/ui/extensionSystem.js:407
#, c-format
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Tải và cài đặt '%s' từ extensions.gnome.org chứ?"
#: ../js/ui/keyboard.js:322
#: ../js/ui/keyboard.js:327
msgid "tray"
msgstr "khay"
#: ../js/ui/keyboard.js:539 ../js/ui/status/power.js:203
#: ../js/ui/keyboard.js:544 ../js/ui/status/power.js:203
msgid "Keyboard"
msgstr "Bàn phím"
@ -730,24 +718,24 @@ msgid "Web Page"
msgstr "Trang Web"
#. Translators: this is a filename used for screencast recording
#: ../js/ui/main.js:116
#: ../js/ui/main.js:118
#, no-c-format
msgid "Screencast from %d %t"
msgstr "Screencast from %d %t"
#: ../js/ui/messageTray.js:1197
#: ../js/ui/messageTray.js:1200
msgid "Open"
msgstr "Mở"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Unmute"
msgstr "Ngừng im lặng"
#: ../js/ui/messageTray.js:1214
#: ../js/ui/messageTray.js:1217
msgid "Mute"
msgstr "Im lặng"
#: ../js/ui/messageTray.js:2447
#: ../js/ui/messageTray.js:2490
msgid "System Information"
msgstr "Thông tin hệ thống"
@ -793,8 +781,8 @@ msgstr "Mạng không dây cần xác thực"
#: ../js/ui/networkAgent.js:330
#, 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 "Cần mật mã hoặc khoá mã để truy cập mạng không dây '%s'"
#: ../js/ui/networkAgent.js:334
@ -834,31 +822,35 @@ msgstr "Cần mật khẩu để kết nối đến '%s'."
msgid "Undo"
msgstr "Hoàn lại"
#: ../js/ui/overview.js:199
#: ../js/ui/overview.js:132
msgid "Overview"
msgstr "Tổng quan"
#: ../js/ui/overview.js:202
msgid "Windows"
msgstr "Cửa sổ"
#: ../js/ui/overview.js:202
#: ../js/ui/overview.js:205
msgid "Applications"
msgstr "Ứng dụng"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/overview.js:228
#: ../js/ui/overview.js:231
msgid "Dash"
msgstr "Neo ứng dụng"
#: ../js/ui/panel.js:583
#: ../js/ui/panel.js:591
msgid "Quit"
msgstr "Thoát"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:614
#: ../js/ui/panel.js:623
msgid "Activities"
msgstr "Hoạt động"
#: ../js/ui/panel.js:987
#: ../js/ui/panel.js:998
msgid "Top Bar"
msgstr "Thanh đỉnh"
@ -904,7 +896,7 @@ msgstr "Rất tiếc, không được. Vui lòng thử lại."
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:720
#: ../js/ui/popupMenu.js:724
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -912,11 +904,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Vui lòng nhập lệnh:"
#: ../js/ui/searchDisplay.js:349
#: ../js/ui/searchDisplay.js:331
msgid "Searching..."
msgstr "Đang tìm..."
#: ../js/ui/searchDisplay.js:417
#: ../js/ui/searchDisplay.js:413
msgid "No matching results."
msgstr "Không tìm thấy."
@ -941,7 +933,6 @@ msgid "Wrong password, please try again"
msgstr "Nhập sai mật khẩu, xin hãy thử lại"
#: ../js/ui/status/accessibility.js:47
#| msgid "Visibility"
msgid "Accessibility"
msgstr "Khả năng truy cập"
@ -1201,7 +1192,6 @@ msgid "Auto wireless"
msgstr "Mạng không dây tự động"
#: ../js/ui/status/network.js:1541
#| msgid "Network error"
msgid "Network"
msgstr "Mạng"
@ -1538,7 +1528,6 @@ msgid "Connection has been lost"
msgstr "Mất kết nối"
#: ../js/ui/telepathyClient.js:1319
#| msgid "This resource is already connected to the server"
msgid "This account is already connected to the server"
msgstr "Tài khoản này đã kết nối đến máy chủ"
@ -1573,7 +1562,6 @@ msgstr ""
"giới hạn của thư viện mật mã"
#: ../js/ui/telepathyClient.js:1333
#| msgid "Connection error"
msgid "Internal error"
msgstr "Lỗi nội bộ"
@ -1596,51 +1584,51 @@ msgstr "Sửa tài khoản"
msgid "Unknown reason"
msgstr "Lý do không biết"
#: ../js/ui/userMenu.js:133
#: ../js/ui/userMenu.js:135
msgid "Hidden"
msgstr "Ẩn"
#: ../js/ui/userMenu.js:139
#: ../js/ui/userMenu.js:141
msgid "Idle"
msgstr "Nhàn rỗi"
#: ../js/ui/userMenu.js:142
#: ../js/ui/userMenu.js:144
msgid "Unavailable"
msgstr "Không có mặt"
#: ../js/ui/userMenu.js:579 ../js/ui/userMenu.js:583 ../js/ui/userMenu.js:653
#: ../js/ui/userMenu.js:595 ../js/ui/userMenu.js:599 ../js/ui/userMenu.js:669
msgid "Power Off..."
msgstr "Tắt máy..."
#: ../js/ui/userMenu.js:615
#: ../js/ui/userMenu.js:631
msgid "Notifications"
msgstr "Thông báo"
#: ../js/ui/userMenu.js:623
#: ../js/ui/userMenu.js:639
msgid "Online Accounts"
msgstr "Tài khoản trực tuyến"
#: ../js/ui/userMenu.js:627
#: ../js/ui/userMenu.js:643
msgid "System Settings"
msgstr "Thiết lập hệ thống"
#: ../js/ui/userMenu.js:634
#: ../js/ui/userMenu.js:650
msgid "Lock Screen"
msgstr "Khoá màn hình"
#: ../js/ui/userMenu.js:639
#: ../js/ui/userMenu.js:655
msgid "Switch User"
msgstr "Chuyển người dùng"
#: ../js/ui/userMenu.js:644
#: ../js/ui/userMenu.js:660
msgid "Log Out..."
msgstr "Đăng xuất..."
#: ../js/ui/userMenu.js:672
#: ../js/ui/userMenu.js:688
msgid "Your chat status will be set to busy"
msgstr "Trạng thái nhắn tin của bạn sẽ được đặt là bận"
#: ../js/ui/userMenu.js:673
#: ../js/ui/userMenu.js:689
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,21 +1691,20 @@ msgstr[0] "%u đầu vào"
msgid "System Sounds"
msgstr "Âm thanh hệ thống"
#: ../src/main.c:262
#: ../src/main.c:255
msgid "Print version"
msgstr "In phiên bản"
#: ../src/main.c:268
#: ../src/main.c:261
msgid "Mode used by GDM for login screen"
msgstr "Chể độ dùng bởi GDM cho màn hình đăng nhập"
#: ../src/shell-app.c:617
#: ../src/shell-app.c:619
#, c-format
msgid "Failed to launch '%s'"
msgstr "Lỗi chạy '%s'"
#: ../src/shell-keyring-prompt.c:708
#| msgid "Does not match"
msgid "Passwords do not match."
msgstr "Mật khẩu không khớp"

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